NetBSD Документация: Другие часто задаваемые вопросы и HOWTOs
Общие вопросы о 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?
В словах Крис Г. Деметрайоу (cgd@NetBSD.org):
NetBSD, вообще, создавалась как "устойчивая исследовательская платформа" - то есть система, которая может использоваться для работы, дома, для исследовательской работы ..., Для чего она нужна - решать Вам. Вообще, мы, работая над NetBSD пробуем улучшить систему любым способом, которым мы только можем - поддержка большего количества аппаратных средств, стабильность работы, документация...
См. нашу features page для вызревания идеи относительно того, какими возможностями NetBSD обеспечит именно Вас!
Пользовательская конфигурация
Добавление нового пользователя
Вы можете сделать это вручную, прочитав useradd(8) manpage, или использовать пакет 'user' из коллекции портов, который входит в состав системы, начиная с NetBSD 1.4.2.
Проблемы с входом в систему или использованием 'su'
Эта ситуация может возникнуть по нескольким причинам:
Невозможно войти под логином root:
NetBSD позволит войти в систему пользователю root только с терминала, отмеченному в файле /etc/ttys(ttys(5)) как 'secure'. Чтобы иметь возможность зайти суперпользователем из сети (не рекомендуется) вы должны добавить 'secure' к каждому сетевому терминалу. Также можно сделать следующее(как root):
cd /etc
cp ttys ttys.orig
cat ttys.orig | sed 's/network$/network secure/' > ttys
Невозможно выполнить команду '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 в домашнем каталоге:
set path = ( /usr/X11R6/bin $path )
Это будет работать только для C-shell csh(1), и аналогичной tcsh. Для sh(1) и аналогичных (таких как bash2) корректной будет запись:
PATH=/usr/X11R6/bin:$PATH
export PATH
Установка настроек для всех пользователей
Для пользователей, использующих csh(1) или tcsh могут быть созданы следующие файлы:
/etc/csh.cshrc - будет выполняться перед каждым входом пользователя в систему, перед .cshrc в основном каталоге пользователя.
/etc/csh.login - то же, но перед login в основном каталоге пользователя.
/etc/csh.logout - выполняется когда пользователь выходит из системы, перед .logout в основном каталоге пользователя.
Редактирование клавишами курсора или завершение имени файла в shell
Это зависит от оболочки, в которой Вы работаете:
bash (GNU Bourne Again Shell) 'bash' - это расширенная версия оболочки 'sh', обладающая расширенным набором команд. Установить ее можно из системы портов (shells/bash2).
csh(1) ('C' shell) Это - стандартная пользовательская оболочка. Поддерживает завершение имени файла ('set filec' и используйте ESCAPE key), но не поддерживает редактирование командной строки.
ksh(1) (Korn Shell) Также известна как pdksh. Она поддерживает редактирование командной строки в режимах Emacs или Vi ('set -o {emacs,vi}'). В режиме Emacs, используйте два Escape для завершения файла (используйте команду 'bind "^I"=complete' для использования TAB). Используйте 'set -o vi-tabcomplete' или 'set -o vi-esccomplete' для использования в режиме Vi TAB или ESC соответственно. Доступна из системы портов (shells/pdksh) или, для KSH-93 - shells/ast-ksh.
tcsh (an extended 'C' shell) Расширенная версия csh, обладающая множеством возможностей, включая завершение имени файла (используйте TAB) и редактирование командной строки. Доступна из системы портов (shells/tcsh).
sh(1) (Bourne shell) Эта оболочка используется в однопользовательском режиме, и допускает редактирование командной строки ('set -E'). Вы можете внести эту команду в /.profile для того, чтобы иметь возможность редактировать командную троку, находясь в однопользовательском режиме.
Other shells Все в тумане. Используйте документацию на каждую конкретную оболочку. Можно воспользоваться системой портов.
Определение языка для сообщений
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 используйте команду:
groff -Tps -mandoc /usr/share/man/manX/manpage.X
Для примера, отконвертируем справку для команды ls(1) в PostScript и отправим на печать, используя lpr(1):
groff -Tps -mandoc /usr/share/man/man1/ls.1 |lpr
Если Вы желаете печатать на другом типе принтера, Вы можете использовать пакет ghostscript из pkgsrc.
Конфигурирование Hewlett-Packard JetDirect через DHCP
Если Вы имеете JetDirect сервер печати типа JetDirect EX Plus, Вы можете использовать dhcpd(8) для его настройки. Порядок действий следующий:
Создайте в /etc/dhcpd.conf запись для JetDirect server:
options jd-tftp-cfgcode 144 = string;
options jd-tftp-servercode 150 = string;
allowbootp;
# [...]
host hp690c {
fixed-addresshp690c;# set to the DNS name or address of the JetDirect
hardware ethernet00:60:b0:00:11:22;# set to the MAC address of the JetDirect
optionlog-serversservername;# set to the DNS name or address of log server
optionjd-tftp-serverservername;# set to the DNS name or address of tftp server
optionjd-tftp-cfg"hpnp/hp690c.cfg";# name of the JetDirect config file
}
Смотрите 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. Он должен содержать что-то вроде этого:
name: printer name
location: Location of the Printer
contact: Contact Person
idle-timeout: 1800
banner: 0
После того как Вы сделали изменения в 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 Кб сначала надо отформатировать ее:
fdformat -f /dev/rfd0a
Затем создадим единственный раздел:
disklabel -rw /dev/rfd0a floppy3
И создадим файловую систему, оптимизированную для малой емкости:
newfs -m 0 -o space -i 16384 -c 80 /dev/rfd0a
Теперь диск может быть примонтирован подобно любому другому устройству. При монтировании диска с файловой системой MS-DOS, необходимо указать тип файловой системы:
mount -t msdos /dev/fd0a /mnt
Однако, иногда, вместо использования дискет подобно большим дискам, бывает удобно обойти файловую систему и записывать архивы непосредственно на неподготовленное устройство:
tar cvfz /dev/rfd0a file1 file2 ...
С дискетами MS-DOS можно сделать это используя пакет mtools, при использовании которого не происходит обращений к буферному кэшу ядра, вследствии чего пропадают опасности, связанные с извлечением дискеты без отмонтирования.
Как использовать ZIP диск?
Посмотрим, есть ли ZIP диск?
yui# dmesg | grep -i zip
sd0 at atapibus0 drive 1: type 0 direct removable
Data CD могут содержать различную информацию, такую как программы, звуковые файлы (mp3, wav), кино (mp3, quicktime) и т.д. Перед доступом к этим файлам, компакт-диск должен быть примонтирован к системе, подобно разделам на жестких дисках. Также, как жесткие диски могут использовать различные файловые системы, так и для компакт-дисков есть своя файловая система - "cd9660". NetBSD может работать с файловой системой cd9660 с Rockridge и Joliet расширениями. Устройства чтения компакт-дисков обозначаются как /dev/cd0a и для SCSI и для IDE .
Зная все это мы можем выполнить:
Убедимся, что 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.
Вставьте компакт-диск
Вручную примонтируем диск:
# mount -t cd9660 /dev/cd0a /mnt
Эта команда не выводит на экран никакой информации. Эта команда говорит системе примонтировать компакт-диск, найденный на /dev/cd0a к каталогу /mnt, используя файловую систему "cd9660". Точка монтирования "/mnt" должна быть существующим каталогом.
Все выглядит прекрасно! Это установочный диск NetBSD , конечно :-)
Отмонтируем:
# umount /mnt
Если к компакт-диску все еще обращается система (например Вы находитесь в каталоге, размещенном на CD), то отмонтирование не произойдет. Если Вы выключаете систему, от отмонтирование произойдет автоматически, не волнуйтесь.
Создание записи в /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) для некоторых других полезных вариантов.
Выдвинуть каретку:
# eject cd0
Разрешение пользователям обращаться к компакт-дискам
NetBSD позволяет монтировать файловые системы только пользователю root. Если Вы хотите, чтобы любой пользователь был способен сделать это, у Вас есть следующие варианты:
Дать права доступа к устройству для "группы" и "другие"
Для того, чтобы наслаждаться всей красотой MPEG Видео на NetBSD, примонтируйте компакт-диск в обычном порядке и затем воспользуйтесь пакетом mtv для проигрывания файлов.
Использование аудио компакт-дисков в NetBSD
Есть два способа обработать аудио компакт-диски:
Запустить проигрывание диска на наушники или через звуковую плату, к которой привод обычно подсоединен шлейфом. Используйте такие программы как xmcd, kscd из пакета kdemultimedia, xmix, xmmix и т.д
Это обычно работает хорошо и на SCSI, ATAPI и на CDRW и на DVD.
Читать ("rip") аудиотреки, делая цифро-аналоговое преобразование и обратно.
Есть несколько программ, чтобы сделать это:
Для ATAPI или SCSI CD-ROM - cdd. Чтобы извлечь дорожку 2 с cdd
# cdd -t 2 `pwd`
Буден вызван трек 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 образа и последующая запись его на диск.
Чтение уже готового ISO образа:
# dd if=/dev/rcd0a of=filename.iso bs=2k
Вы можете создать ISO образ самостоятельно.
Создание 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".
Запись ISO образа на диск:
Делается это с помощью утилиты cdrecord одноименного пакета cdrecord. Вставьте чистый компакт диск в привод и:
# cdrecord -v dev=/dev/rcd0d data.iso
...
#
После старта команды, 'cdrecord' показывает Вам много информации о вашем диске, диске и образе, который Вы собираетесь записать. Тогда же Вы увидите последний отсчет, когда еще есть возможность остановиться, нажав ^C. Обратите внимание, что cdrecord(8) работает как на SCSI так и на IDE (ATAPI) приводах.
Проверяем: просто примонтируйте записанный диск и попробуйте с него что-нибудь прочитать.
Использование CD-R для создание аудио компакт-дисков
Если Вы хотите делать резервную копию одного из ваших аудио компакт-дисков, Вы можете сделать "ripping" аудио дорожек с компакт-диска и потом записать их обратно на пустой CD. Это прекрасно работает, если Вы хотите сохранить различные треки с разных компакт дисков, в последствии обьединив их на одном диске.
Для этого необходимо сделать:
Процесс извлечения аудио дорожек и сохранения их в .wav файлах описан выше.
Записываем , используя cdrecord:
# cdrecord -v dev=/dev/rcd0d -audio -pad *.wav
Создание аудио CD из mp3
Для этого необходимо сделать:
Создаем .wav из .mp3
$ mpg123 -w foo.wav foo.mp3
Сделайте это для всех mp3 файлов, которые Вы хотите иметь на вашем аудио компакт-диске. .wav имена файла, которые Вы используете, не имеют значения.
Процесс записи всего этого безобразия, также описан выше.
Копирование аудио компакт-диска
Копировать аудио компакт-диск без пауз, как это определяется стандартом CDDA Вы можете используя утилиту cdrdao.
Если у Вас на машине установлен и CD-R и CD-ROM, то Вы можете скопировать диск следующей командой:
# cdrecord dev=/dev/rcd1d /dev/rcd0d
Здесь CD-ROM (cd0) содержит компакт-диск, который Вы хотите копировать и CD-R (cd1) содержит чистый диск. Обратите внимание, что это работает только с компьютерными дисками, которые содержат некоторый вид данных, и не работает с аудио компакт-дисками! На практике Вы можете захотеть добавить такой параметр, как "speed=8" дабы ускорить процесс.
Использование CD-RW rewritables
Вы можете работать с приводом CD-RW точно так же, как и с приводом CD-R, создавая образы с помощью mkisofs(8) и записывая их с помощью cdrecord(8). Если Вы хотите очистить диск, Вы можете выбрать опцию "blank".
# cdrecord dev=/dev/rcd0d blank=fast
Есть еще несколько способов стереть CD-RW диск, их можно посмотреть вызвав cdrecord(8) с опцией "blank=help". Смотрите руководство cdrecord(8) для получения дополнительной информации.
Поддержка DVD
В настоящее время NetBSD поддерживает DVD через ISO 9660, используемую для приводов CD-ROM. Новая файловая система UDF, представленная на DVD, в настоящее время не поддерживается. DVDs, DivX и другие avi файлы можно просмотреть с помощью ogle или gmplayer.
Вам необходимо установить набор 'text' . Смотрите base install notes.
'Unable to lock mailbox: Permission denied' при чтении почты
Проверьте текущие разрешения на каталоге /var/mail. Они должны быть 'drwxrwxrwt':
% ls -ld /var/mail
drwxrwxrwt 2 root wheel 512 Nov 6 08:21 /var/mail
Если права другие, то выполните от 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 прежде, чем Вы будете восстанавливать все остальное.
Благодаря Джону Виттковскому (jpw@netscape.com) имеется список большинства программ (помимо/bin/ps), которые зависят от libkvm (все они находятся в/usr/bin):
fstat
gdb
ipcs
netstat
nfsstat
systat
uptime
vmstat
w
После смены ядра 'ps' говорит "proc size mismatch"
Подобно предыдущим трем вопросам по этой теме, наиболее вероятно, что ваш libkvm - не синхронизирован с вашим ядром или бинарниками. Для решения этой проблемы можно или получить набор бинарных файлов, соответствующий Вашему ядру или можете сделать все сами, руководствуясь следующими инструкциями:Если Вы получаете ошибку "proc size mismatch" и решили, что необходимо обновить библиотеки то:
Необходимо получить полный исходный текст. Если Вы не желаете этого делать и потом заниматься перекомпиляцией, то найдите кого - то, кто сделает это для Вас, и Вы сможете пробовать установить все вручную.
Убедитесь, что include актуальны. Для этого выполните:
cd /usr/src
make includes
Наверняка придется немного подождать. У меня было несколько проблем, связанных с тем, то в некотороых Makefiles не была определена переменная INSTALL. После нескольких "make includes" я пошел в последний перечисленный и добавил следующую строку в Makefile:
INSTALL=/usr/bin/install
Так пришлось делать для нескольких Makefile. (Если Вы уверены, что /usr/bin/make и все файлы в /usr/share/mk современны , вышеупомянутых трудностей вероятно можно избежать)
Пересобрать и установить libkvm:
cd /usr/src/lib/libkvm
make
make install
Обратите внимание, что, чтобы откомпилировать libkvm, на моей системе я должен был добавить следующую ссылку:
cd /usr/include/machine
ln -s ../m68k/kcore.h kcore.h
Это, возможно, был причудой моей системы, так что пробуйте компилировать без этого.
Пересоберите бинарники СТАТИЧЕСКИ связанными с libkvm. Для пересборки ps выполните следующее:
cd /usr/src/bin/ps
make
make install
У Вас может и не получиться восстановить бинарники, динамически связанные с libkvm. Я так думаю, что это происходит из-за того, что программы ожидают увидеть старый номер версии библиотек и могут не захотеть работать с более новой версией. Например, мой старый libkvm был libkvm.so.4.0. Новый был libkvm.so.5.0. Не перетранслируя динамически бинарники жалобы на "proc size mismatch" продолжались. Возможно, при обновлении библиотек в пределах старшей версии (с 4.0 на 4.1) все будет работать нормально.
Динамически слинкованные бинарники, о которых я знаю:
За это разьяснение огромное спасибо Джону Виттковскому (jpw@netscape.com)
'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.
*.notice;auth.debug root
Это отключит вывод сообщений типа "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".
Диски и файловые системы
Добавление диска к существующей системе
Остановите систему
Подключите диск
Если ваша машина имеет ППЗУ или базовую систему ввода-вывода, которая может определять диски, проверьте, что диск опознан:
Свеженький sparc: нажмите [STOP][A] перед загрузкой, когда получите приглашение "ok",введите probe-scsi.
i386 с adaptec BIOS: Нажмите [CTRL][A] перед загрузкой, для выхода в BIOS.
другой: расскажите, это интересно:)
Начальная загрузка
Проверьте dmesg (8) вывод, чтобы убедиться, что диск распознан
Запишите метку диска, используя 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) Вы можете ввести ? для получения справки.
Для каждой добавляемой файловой системы выполните newfs filesystem (где filesystem - /dev/rsd1e, /dev/rwd1f, ...)
Frank van der Linden (frank@wins.uva.nl) добавил в основное дерево системы код sync + FFS soft update, написанный Kirk McKusick'. Пока soft updates все еще считается экспериментальной функцией из-за авторского права и не используется по умолчанию.
Чтобы использовать это, сделайте следующее:
Обновите систему до NetBSD 1.5 и выше, так как soft updates включены в систему, начиная с этой версии
Компилируйте новое ядро с опцией "options SOFTDEP" в файле конфигурации
Установите новое ядро
Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
Вы можете использовать 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
Выкинуто мной, так как действительно для систем младше 1.5, тот кто их использует, сможет обратиться к официальному документу.
Перезагрузка
Все здорово!
Что лучше - FFS, FFS с softdeps или ext2fs относительно некорректных завершений?
(Пр. п. - здесь у меня возникли сложности с переводом, поэтому даю только то, что понял сам) FFS заботится о том чтобы правильно провести все операции над метаданными, так же как и гарантировать, что все операции с метаданными предшествуют операциям на данных, к которым они обращаются, сделано это для того, чтобы файловая система могла гарантировать, чтобы будет восстанавливаемой после аварийного отказа. Возможна потеря некоторого количества данных, количество которых зависит от интервала синхронизации.
При работе с softdeps, Вы имеете почти ту же самую гарантию. С softdeps, Вы имеете гарантию того, что у Вас будет непротиворечивый снимок файловой системы перед аварийным отказом.
ext2fs, работающая в NetBSD, дает туже самую гарантию сохранности метаданных (в отличие от работы в Linux), так что можете доверять этой файловой системе больше, чем если бы она работала в Linux. Недостатком является замедление скорости работы.
Перемещение /usr из корня в другой раздел
Убедитесь, что выделяемое пространство (например /dev/sd0e), не принадлежит ни одному существующему разделу. Проверьте вывод команды disklabel(8).
Если раздел не содержит файловой системы, выполнить:
# newfs /dev/sd0e
Монтируем и переносим данные:
# mount /dev/sd0e /mnt
# cd /usr
# pax -rw -pe . /mnt
# umount /mnt
Отредактируйте /etc/fstab, внеся в него запись типа '/dev/sd0e /usr ffs rw 1 2'(/dev/sd0e замените на соответствующий раздел в Вашей системе)
Перейдите в single user mode и создайте новую точку монтирования:
# shutdown now
# mv /usr /usr.old
# mkdir /usr
После того, как Вы проверите, что система функционирует нормально, удалите старый раздел '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', для того чтобы избежать синхронизации дисков.
Это используется чтобы установить файловую систему 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 устройства созданы с disklabel содержащий только один сектор, отмеченный как 4.2BSD, который не является подходящим для подкачки.
Реальный пример. Наш swap wd0b будет сконфигурирован как cgd1, используя 256 битный ключ aes-cbc.
Пошаговые инструкции:
Генерировать файл конфигурации для cgd устройства. заданный по умолчанию файл назывался бы /etc/cgd/wd0b, но я буду использовать/etc/cgd/swap для большей наглядности:
Установить cgd устройство, которое будет конфигурировано автоматически при начальной загрузке. добавьте следующую строку в ваш /etc/cgd/cgd.conf:
cgd1 /dev/wd0b /etc/cgd/swap
Теперь мы должны восстановить метку диска, отображаемую во время загрузки, для недавно созданного 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
}
Добавьте устройство cgd в /etc/fstab в качестве файла подкачки.
/dev/cgd1a none swap sw 0 0
Вот и все. Вы можете активировать раздел подкачки командой 'swapctl -a /dev/cgd1a' или выполнить перезагрузку.
'single-user' режим - то, когда ядро загрузилось, но возможно выполнение одной единственной оболочки в консоли. В single-user режиме монтируется только корневая файловая система и монтируется она в режиме "только для чтения". Этот режим применяется в следующих целях:
Проверка файловых систем fsck
Редактирование поврежденных файлов конфигурации в каталоге /etc
Установки новых бинарных файлов после скачивания или компиляции
Резервное копирование файловой системы, не волнуясь о вмешательстве других пользователей
Находясь в однопользовательском режиме, Вы можете использовать одну из следующих полезных команд:
fsck -p ; mount -va Проверяет файловые системы с последующим их монтированием.
set -E Допускает редактирование командной строки.
TERM=vt220 ; export TERM Устанавливает тип терминала. Обратите внимание - тип терминала может зависеть от типа используемой Вами консоли.
sh /etc/rc.d/network start Поднимает сетевые интерфейсы. Это может быть полезным, если у Вас есть файловые системы nfs. В NetBSD до версии 1.5 используйте sh /etc/netstart.
Выход из однопользовательского режима осуществляется по команде "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) для более полной информации.
Vixie cron(8) (Используемый в NetBSD) использует переменную времени @reboot для запуска программ во время загрузки. Это также позволит обычным пользователям запускать программы во время начальной загрузки без использования привилегий пользователя root.
На старых машинах UNIX обычно рекомендовалось определять размер раздела подкачки как удвоенный размер оперативной памяти. Так было потому, что ОЗУ копировалось в облась подкачки и таким образом общий размер памяти определялся как ОЗУ + свободное место в разделе подкачки. Для NetBSD это уже не актуально, так что общий обьем виртуальной памяти равен ОЗУ + размер раздела подкачки.
В NetBSD есть три способа использования раздела подкачки:
Расширение доступной виртуальной памяти, куда могут переноситься страницы с данными, не часто изменяемыми, что позволит освободить ОЗУ для часто меняющихся данных.
Область хранения дампов ядра. Это происходит при чтении savecore(8) на этапе начальной загрузки. Это требует наличие раздела подкачки, чуть большего, чем размер ОЗУ.
Для файовых систем mfs(8). Классическим примером является размещение раздела /tmp в виртуальной памяти для увеличения быстродействия програм, использующих этот раздел. Запись в /etc/fstab будет выглядеть так:
swap /tmp mfs rw,-s=SIZE 0 0
Где SIZE - блоки по 512 кб.
"Правильным" путем подсчета размера раздела подкачки будет:
Размер ОЗУ + полный размер всех файловых систем mfs
При использовании Х - добавьте еще 1/2 ОЗУ
Всегда пробуйте разнести раздел подкачки на несколько дисков, дабы увеличить скорость доступа.
Предполагайте, что раздел подкачки будет высоко загружен, иначе нехватка места приведет к килянию запущенных процессов.
Добавление места к файлу подкачки
Система должна быть сконфигурирована с достаточным объемом раздела подкачки. При необходимости увеличить размер можно так:
Переконвертировать диск, отдав под область подкачки больше места. Это может вызвать проблемы.
Добавить еще один раздел подкачки, используя новый жесткий диск. Это делается довольно просто: Добавьте в /etc/fstab следующую запись:
/dev/DISKb none swap sw 0 0
Для автоматического мантирования при загрузке. (Где DISK - это имя 'sd1' или 'wd2')
Создать файл подкачки. Самое быстрое и самое простое - создать файл в уже существующей файловой системе и использовать его как раздел подкачки. Время доступа будет несколько больше из-за фрагментации и использования файловой системы, но это оптимальный вариант для временного увеличения раздела подкачки.
Добавить 10 Мб к разделу подкачки, используя существующую файловую систему можно слеующим образом:
Команда `dd(1)' создаст файл /somefilesystem/swap размером 10 Мб. Права доступа 600 необходимы для предотвращения чтения этого файла обычными пользователями. Команда swapctl(8) добавляет файл к разделу подкачки, а приоритет 1 выставляется для того, чтобы использовать файл только по исчерпании основного раздела подкачки, ввиду того, что доступ к файлу осуществляется медленнее.
Для осуществления автоматического добавления файла к разделу подкачки добавьте следующую запись к /etc/fstab:
somefilesystem/swap none swap sw,priority=1 0 0
Настройка Виртуальной Памяти, чтобы улучшить работу машин с малым обьемом памяти
Настоятельно рекомендуем прочесть post by Simon Burge, посвященный этому вопросу.
каталог /dev содержит файлы устройств, необходимые для доступа к оборудованию и певдо-устройствам. При поврежедении этого каталога могут возникнуть странности в работе. Для восстановления каталога необходимо перейти в однопользовательский режим (можно и в многопользовательским, но не рекомендуется) и выполнить:
mkdir /newdev
cd /newdev
cp /dev/M* .
sh MAKEDEV all
cd /
mv dev olddev; mv newdev dev
rm -r olddev
После изменения /etc/motd он принимает значение по умолчанию
Если Вы удалите заголовок в файле /etc/motd, то после перезагрузки он вновь будет перезаписан. Чтобы решить эту проблему добавьте в /etc/rc.conf строку 'update_motd=NO'.
Создание MP3 (MPEG layer 3) файлов из audio CD
Пожалуйста обратите внимание: эти команды были проверены только проверены с cdd, а не пакетами cdparanoia и tosha.
Результат может быть проигран с помощью пакетов maplay, mpg123 или splay.
Монтирование ISO-образа
Весьма вероятно, что Вы захотите просмотреть содержимое ISO образа, перед тем как записать его на компакт-диск. Если Вы пользователь Linux, то можете использовать специальную файловую систему loop. В NetBSD для этих целей используется псевдо-диск vnode.
Приведем пример, в котором мы будем ковырять mycd.iso:
Создаем новый vnode, указывая на файл ISO образа
# vnconfig -c vnd0 ~/mycd.iso
Монтируем vnode
# mount -t cd9660 /dev/vnd0c /mnt
Все, теперь ISO образ примонтирован к каталогу /mnt, делаем все, что хотим(почти).
Поддерживаю РФ: Кириллические домены должны поддерживаться в российском ПО и сервисах
Поддержка российским ПО и отечественными сервисами кириллических доменов и адресов электронной почты станет ключевой задачей проекта Поддерживаю.РФ в 2021 году. По словам директора Координационного центра доменов .RU/.РФ Андрея Воробьева, национальный дом
В этой статье мы расскажем о пошаговой установке и конфигурировании Apache 2.0, чтобы снизить риск неавторизованного доступа или успешного взлома в случае применения новой уязвимости, обнаруженной в Apache Web сервере. В результате, можно будет пользовать
В этом цикле статей я хочу рассказать об операционной системе, родившейся прямо на наших глазах - летом 2004 года. Имя ей - DragonFlyBSD, и являет она собой представителя славного племени BSD-систем. В сущности, исходно это fork (порождение) FreeBSD 4-й в