The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

NetBSD: Часто задаваемые вопросы и HOWTO (netbsd howto faq)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: netbsd, howto, faq,  (найти похожие документы)
From: Михаил Сгибнев <mixa(@).dreamcatcher.ru> Date: 2006-09-13 11:30:30 Subject: NetBSD: Часто задаваемые вопросы и HOWTO
Перевод: Сгибнев Михаил

Общие вопросы о NetBSD Пользовательская конфигурация Печать и сканирование Использование сменных носителей Обычные (и менее обычные) проблемы Диски и файловые системы Вопросы, связанные с начальной загрузкой Конфигурация памяти/файла подкачки Другие вопросы

Общие вопросы о NetBSD

Что изменилось между выпусками NetBSD?
Список изменений доступен в файле CHANGES в корне каждого релиза или на сайте NetBSD
Действительно ли NetBSD - операционная система на 64 бита?
NetBSD выполняется на центральных процессорах на 64 бита и на 32 бита. На alpha CPU ядро и пользовательское окружение работают в режиме, известном как LP64, где ints - 32 бита, а longs и указатели (и адресное пространство) - 64 бита. sparc64 порт выполняется и в 32-разрядных конфигурациях и в конфигурациях на 64 бита. Ядро на 64 бита (LP64) поддерживает 32-разрядные приложения в режиме на 64 бита. Ядро на 32 бита, которое использует 32 бита для всех целых чисел, указателей и длинных целых чисел (IPL32), не может выполнить программы на 64 бита.

На других центральных процессорах на 64 бита, типа R4000 и более нового MIPS, NetBSD выполняется в режиме на 32 бита, хотя ведется работа на переход к 64 битам.

Все порты NetBSD поддерживают арифметику на 64 бита, и в ядре и в программах. В ядре это используется для различных счетчиков и для FFS, которая является 64 битной 'Fast File System'.
Действительно ли NetBSD можно экспортировать?
Глупь какая-то, связаная с америкосовскими законами на экспорт систем шифрования и криптографии...
Для чего используется NetBSD?
В словах Крис Г. Деметрайоу ([email protected]): См. нашу features page для вызревания идеи относительно того, какими возможностями NetBSD обеспечит именно Вас!

Пользовательская конфигурация

Добавление нового пользователя
Вы можете сделать это вручную, прочитав useradd(8) manpage, или использовать пакет 'user' из коллекции портов, который входит в состав системы, начиная с NetBSD 1.4.2.
Проблемы с входом в систему или использованием 'su'
Эта ситуация может возникнуть по нескольким причинам:

Невозможно войти под логином root:

NetBSD позволит войти в систему пользователю root только с терминала, отмеченному в файле /etc/ttys(ttys(5)) как 'secure'. Чтобы иметь возможность зайти суперпользователем из сети (не рекомендуется) вы должны добавить 'secure' к каждому сетевому терминалу. Также можно сделать следующее(как root): Невозможно выполнить команду 'su' для root:

NetBSD проверяет содержимое файла /etc/group для определения права пользователя использовать команду su(1). Если значение пусто (wheel:*:0:), то любой пользователь, введя правильный пароль, может получить права root. Если требуется предоставить доступ только определенным пользователям, то укажите их учетные записи, разделяя запятыми(без пробелов).

Невозможно выполнить команду 'su' для непривилегированных ползователей:

Выполните "ls-l/usr/bin/su". Первым 'словом' на выводе должно быть '-r-sr-xr-x'. Если вывод другой, то как root выполните "chmod 4555/usr/bin/su". Флаг 's' (setuid) позволяет работать команде 'su' с правами пользователя root.

Эта проблема может быть вызвана тем, что не указывался флаг '-p' (сохранить разрешения) при распаковке архива. Если это имело место, то повторите операцию извлечения из архива tarfiles (кроме etc.tar.gz) , так как остальные утилиты также будут иметь неправильные права доступа.
Добавление путей к переменной path
Для примера, добавим каталог /usr/X11R6/bin к Вашей переменной path, для чего отредактируем файл .login в домашнем каталоге: Это будет работать только для C-shell csh(1), и аналогичной tcsh. Для sh(1) и аналогичных (таких как bash2) корректной будет запись:
Установка настроек для всех пользователей
Для пользователей, использующих csh(1) или tcsh могут быть созданы следующие файлы:
Редактирование клавишами курсора или завершение имени файла в shell
Это зависит от оболочки, в которой Вы работаете:
Определение языка для сообщений
NetBSD использует переменную среды 'LANG', для определения языка вывода об ошибках и вывода системной информации. Это может быть установлено в csh или tcsh командой 'setenv LANG XX', где XX - двухбуквенный код страны. Для вывода списка поддерживаемых типов кодов, выполните'ls /usr/share/nls'.

Пожалуйста обратите внимание: Только некоторые сообщения были оттранслированы. Для проверки, установите 'LANG' и выполните 'cd /каталог_который_не_существует'.
Как изменить информацию, отображаемую через finger?
Используйте команду chfn(1) или используйте vipw(8) для ручного редактирования /etc/master.passwd.

Печать и сканирование

Печать manpages как PostScript
Страницы руководства man представлены в формате nroff(1) и находятся в /usr/share/man/manX/manpage.X, где X - номер раздела. Для конвертации в формат PostScript используйте команду: Для примера, отконвертируем справку для команды ls(1) в PostScript и отправим на печать, используя lpr(1): Если Вы желаете печатать на другом типе принтера, Вы можете использовать пакет ghostscript из pkgsrc.
Конфигурирование Hewlett-Packard JetDirect через DHCP
Если Вы имеете JetDirect сервер печати типа JetDirect EX Plus, Вы можете использовать dhcpd(8) для его настройки. Порядок действий следующий:

Создайте в /etc/dhcpd.conf запись для JetDirect server: Смотрите dhcpd.conf(5) для более подробной информации. Удостоверьтесь, что tftpd запускается из /etc/inetd.conf, обратите внимание на параметр "-s" в строке tftp /etc/inetd.conf, им устанавливается корневой каталог tftpd(8). Для примера, установите в качестве корневого каталога /tftpboot (он должен существовать).

Включите запуск dhcpd в /etc/rc.conf.

Затем создайте файл конфигурации Network Printer Inferface (NPI). Для примера /tftpboot/hpnp/hp690c.cfg. Он должен содержать что-то вроде этого: После того как Вы сделали изменения в inetd(8), перезагрузите inetd.conf(5), послав сигнал kill -HUP `cat /var/run/inetd.pid`. После перезагрузки JetDirect print server (или принтера с установленной HP JetDirect card) сервер должен конфигурироваться по DHCP. На некоторых принтерах, Вам, вероятно, придется явно указать BOOTP/DHCP с лицевой панели.
Сканирование в NetBSD
NetBSD поддерживает различные различные SCSI сканеры, используя пакет для сканирования sane-backends. Внешние интерфейсы для обращений к API находятся в пакете sane-frontends или могут быть вызваны непосредственно из программ типа GIMP.

Использование сменных носителей

Инициализация и использование гибких дисков
Гибкие диски на Pc работают таким же образом, как и другие дисковые устройства, за исключением того, что перед первым использованием требуют низкоуровнего форматирования.

Для использования обычной дискеты на 1440 Кб сначала надо отформатировать ее: Затем создадим единственный раздел: И создадим файловую систему, оптимизированную для малой емкости: Теперь диск может быть примонтирован подобно любому другому устройству. При монтировании диска с файловой системой MS-DOS, необходимо указать тип файловой системы: Однако, иногда, вместо использования дискет подобно большим дискам, бывает удобно обойти файловую систему и записывать архивы непосредственно на неподготовленное устройство: С дискетами MS-DOS можно сделать это используя пакет mtools, при использовании которого не происходит обращений к буферному кэшу ядра, вследствии чего пропадают опасности, связанные с извлечением дискеты без отмонтирования.
Как использовать ZIP диск?
  1. Посмотрим, есть ли ZIP диск?
      
      yui# dmesg | grep -i zip
      sd0 at atapibus0 drive 1:  type 0 direct removable
      
      
  2. Вставьте ZIP диск
  3. Проверьте, какие разделы находятся на диске:
      
      yui# disklabel sd0
      # /dev/rsd0d:
      type: ATAPI
       ...
      8 partitions:
      #        size   offset     fstype   [fsize bsize   cpg]
        d:   196608        0     unused        0     0         # (Cyl.    0 - 95)
        h:   196576       32      MSDOS                        # (Cyl.    0*- 95)
      disklabel: boot block size 0
      disklabel: super block size 0
      
      
    "d" это весь диск, как это бывает на i386.
    "h" то, что Вам и нужно - раздел msdos.
    Следовательно, используйте/dev/sd0h, чтобы обратиться к ZIP диску.
  4. Монтируем:
      
      yui# mount -t msdos /dev/sd0h /mnt
      yui# 
      
      
  5. Обращаемся к файлам:
      
      yui# ls -la /mnt
      total 40809
      drwxr-xr-x   1 root  wheel     16384 Dec 31  1979 .
      drwxr-xr-x  28 root  wheel      1024 Aug  2 22:06 ..
      -rwxr-xr-x   1 root  wheel   1474560 Feb 23  1999 boot1.fs
      -rwxr-xr-x   1 root  wheel   1474560 Feb 23  1999 boot2.fs
      -rwxr-xr-x   1 root  wheel    548864 Feb 23  1999 boot3.fs
      -rwxr-xr-x   1 root  wheel  38271173 Feb 23  1999 netbsd19990223.tar.gz
      
      
  6. Отмонтируем:
      
      yui# umount /mnt
      yui#
      
      
  7. Выкидываем:
      
      yui# eject sd0
      yui#
      
      
Чтение компакт-дисков в NetBSD
Data CD могут содержать различную информацию, такую как программы, звуковые файлы (mp3, wav), кино (mp3, quicktime) и т.д. Перед доступом к этим файлам, компакт-диск должен быть примонтирован к системе, подобно разделам на жестких дисках. Также, как жесткие диски могут использовать различные файловые системы, так и для компакт-дисков есть своя файловая система - "cd9660". NetBSD может работать с файловой системой cd9660 с Rockridge и Joliet расширениями. Устройства чтения компакт-дисков обозначаются как /dev/cd0a и для SCSI и для IDE .

Зная все это мы можем выполнить:

  1. Убедимся, что CD имеет место быть:
      
      # dmesg | grep ^cd
      cd0 at atapibus0 drive 0:  type 5 cdrom removable
      cd0: 32-bit data port
      cd0: drive supports PIO mode 4, DMA mode 0
      cd0(pciide0:1:0): using PIO mode 0, DMA mode 0 (using DMA data transfers)
      
      
    Мы имеем один диск, "cd0". Это - диск IDE/ATAPI, поскольку устройство найдено на atapibus0.
  2. Вставьте компакт-диск
  3. Вручную примонтируем диск:
      
      # mount -t cd9660 /dev/cd0a /mnt
      
      
    Эта команда не выводит на экран никакой информации. Эта команда говорит системе примонтировать компакт-диск, найденный на /dev/cd0a к каталогу /mnt, используя файловую систему "cd9660". Точка монтирования "/mnt" должна быть существующим каталогом.
  4. Проверьте содержимое диска:
      
      # ls /mnt
      INSTALL.html INSTALL.ps   TRANS.TBL    boot.catalog
      INSTALL.more INSTALL.txt  binary       installation
      
      
    Все выглядит прекрасно! Это установочный диск NetBSD , конечно :-)
  5. Отмонтируем:
      
      # umount /mnt
      
      
    Если к компакт-диску все еще обращается система (например Вы находитесь в каталоге, размещенном на CD), то отмонтирование не произойдет. Если Вы выключаете систему, от отмонтирование произойдет автоматически, не волнуйтесь.
  6. Создание записи в /etc/fstab: Если Вы не хотите проходить процедуру монтирования каждый раз при смене компакт-диска, то Вы можете поместить большинство значений в строку в/etc/fstab:
      
      # Device        mountpoint      filesystem  mount options 
      /dev/cd0a       /cdrom          cd9660      rw,noauto    
      
      
    Убедитесь, что точка монтирования (в данном примере - "/cdrom"), существует.
      
       # mkdir /cdrom
      
      
    Теперь Вы можете просто выполнить команду:
      
       # mount /cdrom
      
      
    чтобы получить доступ к компакт диску. Отмонтирование осуществляется как и прежде. Опция монтирования "noauto" установлена потому, что вы скорее всего, не будете иметь компакт диск в приводе все время. См. mount(8) и mount_cd9660(8) для некоторых других полезных вариантов.
  7. Выдвинуть каретку:
      
      # eject cd0
      
      
Разрешение пользователям обращаться к компакт-дискам
NetBSD позволяет монтировать файловые системы только пользователю root. Если Вы хотите, чтобы любой пользователь был способен сделать это, у Вас есть следующие варианты: Обратите внимание: пользователь должен иметь точку монтирования! Для примера: Пожалуйста также см. mount(8) и, как альтернативу, amd (8).
Использование видео компакт-дисков в NetBSD
Для того, чтобы наслаждатся всей красотой MPEG Видео на NetBSD, примонтируйте компакт-диск в обычном порядке и затем воспользуйтесь пакетом mtv для проигрывания файлов.
Использование аудио компакт-дисков в NetBSD
Есть два способа обработать аудио компакт-диски:
  1. Запустить проигрывание диска на наушники или через звуковую плату, к которой привод обычно подсоединен шлейфом. Используйте такие программы как xmcd, kscd из пакета kdemultimedia, xmix, xmmix и т.д

    Это обычно работает хорошо и на SCSI, ATAPI и на CDRW и на DVD.
  2. Читать ("rip") аудиотреки, делая цифро-аналоговое преобразование и обратно.

    Есть несколько программ, чтобы сделать это:
    • Для ATAPI или SCSI CD-ROM - cdd. Чтобы извлечь дорожку 2 с cdd
        
        # cdd -t 2 `pwd`
        
        
      Буден вызван трек track-02.cda из текущего каталога.
    • Для SCSI CD-ROM можно воспользоваться tosha
    • . Чтобы извлечь дорожку 2 с cdd
        
        # tosha -d CD-ROM-device -t 2 -o track-02.cda
        
        
    • Для ATAPI, SCSI и нескольких других частных стандартов CDROM может быть использован пакет cdparanoia. При использовании cdparanoia данные могут быть сохранены в файле стандарта WAV, AIFF, AIFF-C или в формате потокового звука. В текущей версии cdparanoia для NetBSD требуется использовать ключь -g. Пример того, как сохранить дорожку в WAV формате:
        
        $ cdparanoia -g /dev/rcd0d 2 track-02.wav
        
        
      Если вы хотите грабить весь диск, то:
        
        $ cdparanoia -g /dev/rcd0d -B
        
        
Использование CD-R с data CD
Процесс записи CD разбивается на два этапа: это создание ISO образа и последующая запись его на диск.
  1. Чтение уже готового ISO образа:
      
      # dd if=/dev/rcd0a of=filename.iso bs=2k
      
      
    Вы можете создать ISO образ самостоятельно.
  2. Создание ISO образа:

    Поместите все данные, которые хотите поместить на компакт диск в один каталог. Образ содержит данные в таком виде, в каком они будут храниться на CD, используя формат ISO 9660. Стандарт ISO9660 изначально поддерживал только 8+3 символов в имени файла (8 - имя и 3 - расширение). Так как это не практикуется в UNIX-системах, возможно придется вызвать расширение "Rockridge Extension", чтобы иметь возможность записывать длинные имена файлов (Для Microsoft таким расширением стандарта будет файловая система Joliet).

    ISO образ мы будем генерировать утилитой mkisofs из пакета cdrecord. Для примера, наши данные лежат в /usr/tmp/data, тогда ISO образ /usr/tmp/data.iso будет создан после следующих действий:
      
      $ cd /usr/tmp
      $ mkisofs -o data.iso -r data
      Using NETBS000.GZ;1 for  data/binary/kernel/netbsd.INSTALL.gz (netbsd.INSTALL_TINY.gz)
      Using NETBS001.GZ;1 for  data/binary/kernel/netbsd.GENERIC.gz (netbsd.GENERIC_TINY.gz)
      5.92% done, estimate finish Wed Sep 13 21:28:11 2000
      11.83% done, estimate finish Wed Sep 13 21:28:03 2000
      17.74% done, estimate finish Wed Sep 13 21:28:00 2000
      23.64% done, estimate finish Wed Sep 13 21:28:03 2000
       ...
      88.64% done, estimate finish Wed Sep 13 21:27:55 2000
      94.53% done, estimate finish Wed Sep 13 21:27:55 2000
      Total translation table size: 0
      Total rockridge attributes bytes: 5395
      Total directory bytes: 16384
      Path table size(bytes): 110
      Max brk space used 153c4
      84625 extents written (165 Mb)
      $
      
      
    Пожалуйста, изучите самым внимательным образом mkisofs(8). Так же, для создания загрузочных CD рекомендуется прочесть "Bootable CD ROM How-To".
  3. Запись ISO образа на диск:

    Делается это с помощью утилиты cdrecord одноименного пакета cdrecord. Вставьте чистый компакт диск в привод и:
      
      # cdrecord -v dev=/dev/rcd0d data.iso
      ...
      #
      
      
    После старта команды, 'cdrecord' показывает Вам много информации о вашем диске, диске и образе, который Вы собираетесь записать. Тогда же Вы увидите последний отсчет, когда еще есть возможность остановиться, нажав ^C. Обратите внимание, что cdrecord(8) работает как на SCSI так и на IDE (ATAPI) приводах.
  4. Проверяем: просто примонтируйте записанный диск и попробуйте с него что-нибудь прочитать.
Использование CD-R для создание аудио компакт-дисков
Если Вы хотите делать резервную копию одного из ваших аудио компакт-дисков, Вы можете сделать "ripping" аудио дорожек с компакт-диска и потом записать их обратно на пустой CD. Это прекрасно работает, если Вы хотите сохранить различные треки с разных компакт дисков, в последствии обьединив их на одном диске.

Для этого необходимо сделать:
  1. Процесс извлечения аудио дорожек и сохранения их в .wav файлах описан выше.
  2. Записываем , используя cdrecord:
      
      # cdrecord -v dev=/dev/rcd0d -audio -pad *.wav 
      
      
Создание аудио CD из mp3
Для этого необходимо сделать:
  1. Создаем .wav из .mp3
      
      $ mpg123 -w foo.wav foo.mp3 
      
      
    Сделайте это для всех mp3 файлов, которые Вы хотите иметь на вашем аудио компакт-диске. .wav имена файла, которые Вы используете, не имеют значения.
  2. Процесс записи всего этого безобразия, также описан выше.
Копирование аудио компакт-диска
Копировать аудио компакт-диск без пауз, как это определяется стандартом CDDA Вы можете используя утилиту cdrdao.
Копирование CD, имея два привода
Если у Вас на машине установлен и CD-R и CD-ROM, то Вы можете скопировать диск следующей командой: Здесь CD-ROM (cd0) содержит компакт-диск, который Вы хотите копировать и CD-R (cd1) содержит чистый диск. Обратите внимание, что это работает только с компьютерными дисками, которые содержат некоторый вид данных, и не работает с аудио компакт-дисками! На практике Вы можете захотеть добавить такой параметр, как "speed=8" дабы ускорить поцесс.
Использование CD-RW rewritables
Вы можете работать с приводом CD-RW точно так же, как и с приводом CD-R, создавая образы с помощью mkisofs(8) и записывая их с помощью cdrecord(8). Если Вы хотите очистить диск, Вы можете выбрать опцию "blank". Есть еще нескольпо способов стереть CD-RW диск, их можно посмотреть вызвав cdrecord(8) с опцией "blank=help". Смотрите руководство cdrecord(8) для получения дополнительной информации.
Поддержка DVD
В настоящее время NetBSD поддерживает DVD через ISO 9660, используемую для приводов CD-ROM. Новая файловая система UDF, представленная на DVD, в настоящее время не поддерживается. DVDs, DivX и другие avi файлы можно просмотреть с помощью ogle или gmplayer.

Для некоторых подсказок при создании DVD смотри postings about growisofs.

Обычные (и менее обычные) проблемы

/usr/bin/nroff: not found при запуске man
Вам необходимо установить набор 'text' . Смотрите base install notes.
'Unable to lock mailbox: Permission denied' при чтении почты
Проверьте текущие разрешения на каталоге /var/mail. Они должны быть 'drwxrwxrwt': Если права другие, то выполните от root 'chmod 1777/var/mail'.
netstat: kvm_read kvm_read: Bad address при запуске 'netstat -r'
Не волнуйтесь! В основном это происходит тогда, когда файл /netbsd - не Ваше текущее ядро. Множество программ (такие ка ps, who, systat etc.) и libkvm (kvm(3)), обращается к /netbsd, чтобы изучить то, что происходит в ядре. Просто переименуйте Ваше текущее ядро в /netbsd и ошибки пропадут. Удостоверьтесь, что Вы не записываете поверх рабочего ядра.
Когда я запускаю 'netstat-r', я получаю бесконечный поток вопросительных знаков. Что случилось?
Это - несоответствие между libkvm/netstat и /netbsd. Или Вы запускаете ядро названное не /netbsd. Другие признаки этой проблемы, вероятно будут в отказе работать таких утилит как ps, ifconfig, who и systat. Если в этот момент вы обновляете ядро и бинарники, то это нормально, после обновления все должно быть хорошо.
w, ps, и netstat не работают после апгрейда ядра
Тут два варианта: или ваше текущее ядро называется /netbsd, или нет. Если нет, то смотри выше. Во втором случае, динамически слинкованные бинарники обычно устанавливаются, модернизируя libkvm, чтобы соответствовать вашему новому ядру. Статически собранные бинарные файлы должны быть овновлены до последних версий. Так как они собраны статически, то Вы должны восстановить libkvm.a прежде, чем Вы будете восстанавливать все остальное.

Благодаря Джону Виттковскому ([email protected]) имеется список большинства программ (помимо/bin/ps), которые зависят от libkvm (все они находятся в/usr/bin):
После смены ядра 'ps' говорит "proc size mismatch"
Подобно предыдущим трем вопросам по этой теме, наиболее вероятно, что ваш libkvm - не синхронизирован с вашим ядром или бинарниками. Для решения этой проблемы можно или получить набор бинарных файлов, соответствующий Вашему ядру или можете сделать все сами, руководствуясь следующими инструкциями:
    Если Вы получаете ошибку "proc size mismatch" и решили, что необходимо обновить библиотеки то:
  1. Необходимо получить полный исходный текст. Если Вы не желаете этого делать и потом заниматься перекомпиляцией, то найдите кого - то, кто сделает это для Вас, и Вы сможете пробовать установить все вручную.
  2. Убедитесь, что include актуальны. Для этого выполните:
      
      cd /usr/src
      make includes
      
      
    Наверняка придется немного подождать. У меня было несколько проблем, связанных с тем, то в некотороых Makefiles не была определена переменная INSTALL. После нескольких "make includes" я пошел в последний перечисленный и добавил следующую строку в Makefile:
      
      INSTALL=/usr/bin/install
      
      
    Так пришлось делать для нескольких Makefile. (Если Вы уверены, что /usr/bin/make и все файлы в /usr/share/mk современны , вышеупомянутых трудностей вероятно можно избежать)
  3. Пересобрать и установить libkvm:
      
      cd /usr/src/lib/libkvm
      make
      make install
      
      
    Обратите внимание, что, чтобы откомпилировать libkvm, на моей системе я должен был добавить следующую ссылку:
      
      cd /usr/include/machine
      ln -s ../m68k/kcore.h kcore.h
      
      
    Это, возможно, был причудой моей системы, так что пробуйте компилировать без этого.
  4. Пересоберите бинарники СТАТИЧЕСКИ связанными с libkvm. Для пересборки ps выполните следующее:
      
      cd /usr/src/bin/ps
      make
      make install
      
      
  5. У Вас может и не получиться восстановить бинарники, динамически связанные с libkvm. Я так думаю, что это происходит из-за того, что программы ожидают увидеть старый номер версии библиотек и могут не захотеть работать с более новой версией. Например, мой старый libkvm был libkvm.so.4.0. Новый был libkvm.so.5.0. Не перетранслируя динамически бинарники жалобы на "proc size mismatch" продолжались. Возможно, при обновлении библиотек в пределах старшей версии (с 4.0 на 4.1) все будет работать нормально.

    Динамически слинкованные бинарники, о которых я знаю:
      
      /usr/bin/fstat
      /usr/bin/gdb
      /usr/bin/ipcs
      /usr/bin/netstat
      /usr/bin/nfsstat
      /usr/bin/systat
      /usr/bin/uptime (linked to /usr/bin/w)
      /usr/bin/vmstat
      /usr/bin/w
      
      
    Чтобы перетранслировать их, сделайте следующее:
      
      cd /usr/src/usr.bin/
      make 
      make install
      
      
    Для примера, перекомпилируем /usr/bin/vmstat:
      
      cd /usr/src/usr.bin/vmstat
      make
      make install
      
      
    За это разьяснение огромное спасибо Джону Виттковскому ([email protected])
'hash map "Alias0":unsafe map file /etc/aliases: No such file or directory'
Это можно исправить используя 'newaliases'. Sendmail выдает эту ошибку, когда не установлены файлы aliases(5). Обратите внимание, что sendmail (8) фактически использует /etc/aliases.db, этот файл является хэшем (hash(3) сформированный из/etc/aliases). Такая ошибка может встретиться только в NetBSD 1.3 - 1.4, более поздние версии /etc/sendmail.cf инструктируют sendmail автоматически восстанавливать /etc/aliases.db при необходимости. Советуем обновить систему.
Как заблокировать сообщения portmap, когда я вхожу в систему как пользователь root?
Используйте sudo и никогда не входите как пользователь root. Если Вы вынуждены воспользоваться логином root, отредактируйте /etc/syslog.conf, чтобы отключить все раздражающие сообщения. В большинстве случаев, достаточно отключить auth.debug. Это отключит вывод сообщений типа "portmap [pid]: connect from some.other.host ... ". Для того, чтобы изменения вступили в силу, необходимо подать сигнал kill -HUP демону syslogd.

Так же Вы можете посмотреть FAQ entry, чтобы использовать xconsole.
Как отобразить умлаут и другие символы локальных шрифтов?
В по умолчанию, NetBSD 1.6 имеет уже многочисленные установленные языки. Вы можете найти их в /usr/share/locales. Выберите язык, наиболее Вам подходящий и установите переменную среды LC_ALL. Обратите внимание, что не достаточно установить LC_ALL в, скажем, "de_DE", Вы должны использовать полное обозначение языка, типа "de_DE.ISO8859-15".

Диски и файловые системы

Добавление диска к существующей системе
  1. Остановите систему
  2. Подключите диск
  3. Если ваша машина имеет ППЗУ или базовую систему ввода-вывода, которая может определять диски, проверьте, что диск опознан:
    • Свеженький sparc: нажмите [STOP][A] перед загрузкой, когда получите приглашение "ok",введите probe-scsi.
    • i386 с adaptec BIOS: Нажмите [CTRL][A] перед загрузкой, для выхода в BIOS.
    • другой: расскажите, это интересно:)
  4. Начальная загрузка
  5. Проверьте dmesg (8) вывод, чтобы убедиться, что диск распознан
  6. Запишите метку диска, используя disklabel(8) (если диск не принимает метки, сделайте так: disklabel -i -I sd1 # это позволит проигнорировать отсутствие метки). Раздел 'c' зарезервирован под запись о всем отведенном под NetBSD дисковом пространстве, 'd' зарезервирован для всего диска. Следующий пример создаст файловую систему в разделе 'e':
      
      partition> e
      Filesystem type [?] [unused]: 4.2BSD
      Start offset [0c, 0s, 0M]: 
      Partition size ('$' for all remaining) [0c, 0s, 0M]: $
       e: 234375000         0     4.2BSD      0     0     0   # (Cyl.    0 - 232514*)
      partition> W
      Label disk [n]? y
      partition> Q
      
      
    Находясь в интерактивном режиме disklabel ( disklabel -i) Вы можете ввести ? для получения справки.
  7. Для каждой добавляемой файловой системы выполните newfs filesystem (где filesystem - /dev/rsd1e, /dev/rwd1f, ...)
  8. Внесите соответствующую запись в /etc/fstab
  9. Затем fsck(8): fsck -f
  10. Затем mount(8): mount -va
Как использовать softdeps?
Frank van der Linden ([email protected]) добавил в основное дерево системы код sync + FFS soft update, написанный Kirk McKusick'. Пока soft updates все еще считается экспериментальной функцией из-за авторского права и не используется по умолчанию.

Чтобы использовать это, сделайте следующее:
  1. Обновите систему до NetBSD 1.5 и выше, так как soft updates включены в систему, начиная с этой версии
  2. Компилируйте новое ядро с опцией "options SOFTDEP" в файле конфигурации
  3. Установите новое ядро
  4. Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
  5. Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
  6. Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
  7. Вы можете использовать tunefs(8)? перед тем как включить softdeps, перезагрузитесь в singleuser mode и затем выполните "tunefs -n disable /dev/rXd0x". Softdeps также можно включить с использованием опций утилиты mount(8). Этот шаг необязателен для NetBSD 1.5 и систем позже 20000616. В /etc/fstab, добавьте опцию "softdep" ко всем файловым системам, на которых Вы хотите использовать soft updates. Для примера:
      
      /dev/wd0e    /usr    ffs     rw                      1 2
      
      
    Замените на
      
      /dev/wd0e    /usr    ffs     rw,softdep              1 2
      
      
  8. Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
  9. Перезагрузка
  10. Все здорово!
Что лучше - FFS, FFS с softdeps или ext2fs относительно некорректных завершений?
(Пр. п. - здесь у меня возникли сложности с переводом, поэтому даю только то, что понял сам) FFS заботится о том чтобы правильно провести все операции над метаданными, так же как и гарантировать, что все операции с метаданными предшествуют операциям на данных, к которым они обращаются, сделано это для того, чтобы файловая система могла гарантировать, чтобы будет восстанавливаемой после аварийного отказа. Возможна потеря некоторого количества данных, количество которых зависит от интервала синхронизации.

При работе с softdeps, Вы имеете почти ту же самую гарантию. С softdeps, Вы имеете гарантию того, что у Вас будет непротиворечивый снимок файловой системы перед аварийным отказом.

ext2fs, работающая в NetBSD, дает туже самую гарантию сохранности метаданных (в отличие от работы в Linux), так что можете доверять этой файловой системе больше, чем еслибы она работала в Linux. Недостатком является замедление скорости работы.
Перемещение /usr из корня в другой раздел
  1. Убедитесь, что выделяемое пространство (например /dev/sd0e), не принадлежит ни одному существующему разделу. Проверьте вывод команды disklabel(8).
  2. Если раздел не содержит файловой системы, выполнить:
      
      # newfs /dev/sd0e
      
      
  3. Монтируем и переносим данные:
      
      # mount /dev/sd0e /mnt
      # cd /usr
      # pax -rw -pe . /mnt
      # umount /mnt
      
      
  4. Отредактиируйте /etc/fstab, внеся в него запись типа '/dev/sd0e /usr ffs rw 1 2'(/dev/sd0e замените на соответствующий раздел в Вашей системе)
  5. Перейдите в single user mode и создайте новую точку монтирования:
      
      # shutdown now
      # mv /usr /usr.old
      # mkdir /usr
      
      
  6. После того, как Вы проверите, что система функционирует нормально, удалите старый раздел 'rm -rf /usr.old'.
Как раздел rw сделать ro?
Используйте mount(8) с ключом -u (update) : 'mount -u /'. Более чем вероятно, что когда Вы находитесь в single user mode, файловые системы примонтированы в режиме только для чтения. Это дает Вам шанс выполнить fsck вручную перед переходом системы в многопользовательский режим. Другой путь - примонтировать все файловые системы из /etc/fstab для чтения-записи , используя утилиту 'mount -a'.

Однако, лучший способ сделать это состоит в том, чтобы войти в многопользовательский режим, выходя от вашей однопользовательской оболочки и установить любую файловую систему из в/etc/fstab в любом режиме, который возможен.
Когда безопасно использовать fsck?
Используйте fsck(8) только на непримонтированной файловой системе или системе только для чтения. Запуск fsck(8) на файловой системе доступной для записи потенциально опасно и может привести к разрушению данных. Если Вы поднимаете систему в однопользовательский режим, система будет установлена только для чтения. Оттуда Вы можете сделать 'fsck-p', чтобы проверить все файловые системы перед переводом системы в многопользовательский режим. Если файловая система была предварительно отмечена "clean", и Вы все еще хотите проверить ее, Вы можете использовать флажок -f к fsck(8).

Если Вы внесли изменения в файловую систему во время работы fsck, лучшим выходом будет 'reboot -n', для того чтобы избежать синхронизации дисков.
Для чего используется /kern?
Это используется чтобы установить файловую систему kernfs. См. mount_kernfs(8) для более подробной информации.
Для чего используется /proc?
Это используется чтобы установить файловую систему procfs. Обратитесь за консультацией к "The Design and Implementation of the 4.3BSD UNIX Operating System by Leffler, McKusick, et al., p. 104-5, 436.". Также можно почитать страницу руководства mount_procfs(8).
Шифрование раздела подкачки с использованием cgd(4)
Этот раздел будет интересен людям, которые хотят шифровать раздел подкачки, но не знают как это сделать. В настоящее время есть одно ограничение - cgd устройства созданы с disklabel содержащий только один сектор, отмеченный как 4.2BSD, который не является подходящим для подкачки.

Реальный пример. Наш swap wd0b будет сконфигурирован как cgd1, используя 256 битный ключ aes-cbc.

Пошаговые инструкции:
  1. Генерировать файл конфигурации для cgd устройства. заданный по умолчанию файл назывался бы /etc/cgd/wd0b, но я буду использовать/etc/cgd/swap для большей наглядности:
      
      # cgdconfig -g -V none -k randomkey aes-cbc > /etc/cgd/swap
      
      
  2. Конфигурируем устройство cgd поверх wd0b (Вы должны быть уверены, что wd0b не используется как область подкачки в данный момент).
      
      # cgdconfig cgd1 /dev/wd0b /etc/cgd/swap
      
      
  3. Редактирование метки диска для cgd1 необходимо для правильного создания слайса. Сохраняем метку в файл.
      
      # disklabel -e -I cgd1
      
      # /dev/rcgd1d:
      type: cgd
      disk: cgd
      label: default label
      flags:
      bytes/sector: 512
      sectors/track: 2048
      tracks/cylinder: 1
      sectors/cylinder: 2048
      cylinders: 128
      total sectors: 263655
      rpm: 3600
      interleave: 1
      trackskew: 0
      cylinderskew: 0
      headswitch: 0           # microseconds
      track-to-track seek: 0  # microseconds
      drivedata: 0
      
      4 partitions:
      #        size    offset     fstype  [fsize bsize cpg/sgs]
      d:    263655         0     4.2BSD      0     0     0   # (Cyl.    0 - 128*)
      
      
    Создаем слайс раздела подкачки и метку изменений (она необязательна).
      
      # /dev/rcgd1d:
      type: cgd
      disk: cgd
      label: swap
      flags:
      bytes/sector: 512
      sectors/track: 2048
      tracks/cylinder: 1
      sectors/cylinder: 2048
      cylinders: 128
      total sectors: 263655
      rpm: 3600
      interleave: 1
      trackskew: 0
      cylinderskew: 0
      headswitch: 0           # microseconds
      track-to-track seek: 0  # microseconds
      drivedata: 0
      
      4 partitions:
      #        size    offset     fstype  [fsize bsize cpg/sgs]
      a:    263655         0       swap                      # (Cyl.    0 - 128*)
      
      
    И сохраняем в файл.
      
      # disklabel cgd1 > /etc/cgd/swap.disklabel
      
      
  4. Установить cgd устройство, которое будет конфигурировано автоматически при начальной загрузке. добавьте следующую строку в ваш /etc/cgd/cgd.conf:
      
      cgd1 /dev/wd0b /etc/cgd/swap
      
      
  5. Теперь мы должны восстановить метку диска, отображаемую во время загрузки, для недавно созданного cgd устройства. Создайте /etc/rc.conf.d/cgd следующего содержания:
      
      swap_device="cgd1"
      swap_disklabel="/etc/cgd/swap.disklabel"
      start_postcmd="cgd_swap"
      
      cgd_swap()
      {
              if [ -f $swap_disklabel ]; then
                      disklabel -R -r $swap_device $swap_disklabel
              fi
      }
      
      
  6. Добавьте устройство cgd в /etc/fstab в качестве файла подкачки.
      
      /dev/cgd1a none swap sw 0 0
      
      
Вот и все. Вы можете активировать раздел подкачки командой 'swapctl -a /dev/cgd1a' или выполнить перезагрузку.

Вот как это выглядит на моем ноутбуке:

Вопросы, связанные с начальной загрузкой

Что является однопользовательским режимом? Почему и как его использовать?
'single-user' режим - то, когда ядро загрузилось, но возможно выполнение одной единственной оболочки в консоли. В single-user режиме монтируется только корневая файловая система и монтируется она в режиме "только для чтения". Этот режим применяется в следующих целях: Находясь в однопользовательском режиме, Вы можете использовать одну из следующих полезных команд:
Как переключать однопользовательский режим в многопользовательский?
Выход из однопользовательского режима осуществляется по команде "exit" или нажатии ctrl-D.

Система загрузится до многопользовательского режима, запуская сервисы и службы. Обратите внимание, что диски не будут проверяться при переходе из однопользовательского в многопользовательский.
Как читать загрузочные сообщения?
Вывод загрузочных сообщений осуществляет команда dmesg(8). Эти сообщения обычно (в 1.4 и позже) автоматически сохраняются в /var/run/dmesg.boot после каждой загрузки. Если включена kernfs (смотри mount_kernfs(8)) в ядре, то можно посмотреть так - more /kern/msgbuf.
Как выключить машину?
Для перехода в однопользовательский режим используйте 'shutdown now'. Для останова машины используйте 'shutdown -h now'. Если это возможно, то 'shutdown -p now'выключит питание машины. Смотрите shutdown(8) для более полной информации.
Как перезагрузить машину?
Используйте 'shutdown -r now' or 'reboot'
Старт программы во время загрузки
Vixie cron(8) (Используемый в NetBSD) использует переменную времени @reboot для запуска программ во время загрузки. Это также позволит обычным пользователям запускать программы во время начальной загрузки без использования привилегий пользователя root.

Конфигурация памяти/файла подкачки

Сколько выделить места?
На старых машинах UNIX обычно рекомендовалось определять размер раздела подкачки как удвоенный размер оперативной памяти. Так было потому, что ОЗУ копировалось в облась подкачки и таким образом общий размер памяти определялся как ОЗУ + свободное место в разделе подкачки. Для NetBSD это уже не актуально, так что общий обьем виртуальной памяти равен ОЗУ + размер раздела подкачки.

В NetBSD есть три способа использования раздела подкачки:
  1. Расширение доступной виртуальной памяти, куда могут переноситься страницы с данными, не часто изменяемыми, что позволит освободить ОЗУ для часто меняющихся данных.
  2. Область хранения дампов ядра. Это происходит при чтении savecore(8) на этапе начальной загрузки. Это требует наличие раздела подкачки, чуть большего, чем размер ОЗУ.
  3. Для файовых систем mfs(8). Классическим примером является размещение раздела /tmp в виртуальной памяти для увеличения быстродействия програм, использующих этот раздел. Запись в /etc/fstab будет выглядеть так:
      
      swap  /tmp  mfs  rw,-s=SIZE 0 0
      
      
    Где SIZE - блоки по 512 кб.

    "Правильным" путем подсчета размера раздела подкачки будет:
    • Размер ОЗУ + полный размер всех файловых систем mfs
    • При использовании Х - добавьте еще 1/2 ОЗУ
    • Всегда пробуйте разнести раздел подкачки на несколько дисков, дабы увеличить скорость доступа.
    • Предполагайте, что раздел подкачки будет высоко загружен, иначе нехватка места приведет к килянию запущенных процессов.
Добавление места к файлу подкачки
Система должна быть сконфигурирована с достаточным объемом раздела подкачки. При необходимости увеличить размер можно так:
Настройка Виртуальной Памяти, чтобы улучшить работу машин с малым обьемом памяти
Настоятельно рекомендуем прочесть post by Simon Burge, посвященный этому вопросу.

Другие вопросы

Восстановление /dev
каталог /dev содержит файлы устройств, необходимые для доступа к оборудованию и певдо-устройствам. При поврежедении этого каталога могут возникнуть странности в работе. Для восстановления каталога необходимо перейти в однопользовательский режим (можно и в многопользовательским, но не рекомендуется) и выполнить:
После изменения /etc/motd он принимает значение по умолчанию
Если Вы удалите заголовок в файле /etc/motd, то после перезагрузки он вновь будет перезаписан. Чтобы решить эту проблему добавьте в /etc/rc.conf строку 'update_motd=NO'.
Создание MP3 (MPEG layer 3) файлов из audio CD
Пожалуйста обратите внимание: эти команды были проверены только проверены с cdd, а не пакетами cdparanoia и tosha.
  1. Сделайте 'rip' адудио треков. Как это сделать смотри в "Использование аудио компакт-дисков в NetBSD".
  2. Конвертируйте файл формата аудио CD в формату WAV, если риппер (cdparanoia или tosha) не сделала этого за Вас.
    • Используя пакет bladeenc выполните:
        
        bladeenc -128 -QUIT track-02.wav
        
        
      Это конвертирует track-02.wav в track-02.mp3 с битрейтом 128kBit/sec
    • Используя пакет lame выполните:
        
        lame -p -o -v -V 5 -h track-02.wav track-02.mp3
        
        
    • Результат может быть проигран с помощью пакетов maplay, mpg123 или splay.
Монтирование ISO-образа
Весьма вероятно, что Вы захотите просмотреть содержимое ISO образа, перед тем как записать его на компакт-диск. Если Вы пользователь Linux, то можете использовать специальную файловую систему loop. В NetBSD для этих целей используется псевдо-диск vnode.

Приведем пример, в котором мы будем ковырять mycd.iso:
  1. Создаем новый vnode, указывая на файл ISO образа
      
      # vnconfig -c vnd0 ~/mycd.iso
      
      
  2. Монтируем vnode
      
      # mount -t cd9660 /dev/vnd0c /mnt
      
      
  3. Все, теперь ISO образ примонтирован к каталогу /mnt, делаем все, что хотим(почти).
  4. Отмонтируем vnode
      
      # umount /mnt
      
      
  5. Деконфигурируем vnode
      
      # vnconfig -u vnd0
      
      

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, noname (??), 00:44, 13/02/2007 [ответить]  
  • +/
    Можно-ли поменять шрифт в motd? Ато есть рисуночек, но он грамосткий. Хочется его в приветствии видеть. Чего нада в rc.conf прописать?
     
  • 2, PhoeniX (??), 13:09, 06/03/2012 [ответить]  
  • +/
    перед монтированием лучше просмотреть список разделов:
    disklabel vnd0

    потому что раздел может быть не vnd0c, а, напр., vnd0d или другой.
    который и можно посмотреть.

     
  • 3, PhoeniX (??), 13:13, 06/03/2012 [ответить]  
  • +/
    а вообще, пользуясь случаем, хочу поблагодарить Мишу  Сгибнева (не сочтите за фамильярность) за его труды - переводы и статьи.
    приятно читать и образовываться по материалам таких авторов.
    не побоюсь даже вспомнить, что его статьи мне напоминают чем-то журнал "Компьютерра" в 90-х, на котором собственно я и вырос ))
    спассибо всем вам и спасибо opennet.ru
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру