Июнь, 2008
Русский перевод: Михаил Сгибнев
Содержание
- 11.1. Активация демона печати
- 11.2. Конфигурирование
/etc/printcap
- 11.3. Конфигурирование Ghostscript
- 11.4. Команды управления принтером
- 11.5. Удаленная печать
В этой главе мы рассмотрим настройку печати для принтера HP Deskjet 690C, подключенного к первому параллельному порту, используя систему печати lpd, входящей в состав NetBSD. Сперва система должна быть сконфигурирована для печати текстовых документов, затем последует настройка печати документов PostScript, используя программу Ghostscript. Пожалуйста, обратите внимание на то, что в коллекции пакетов доступны альтернативные системы печати, такие как lprng и Common Unix Printing System (CUPS). Они не будут рассматриваться в этой главе.
11.1. Активация демона печати
Сразу после завершения установки печать невозможна, так как не активирован демон печати lpd. Для его активации необходимо изменить в /etc/rc.conf следующую строку:
lpd=NO
на
lpd=YES
Изменения вступят в силу после следующей перезагрузки, хотя можно запустить демон вручную:
# sh /etc/rc.d/lpd start
Проверить, запущен ли lpd можно следующей командой:
# ps ax | grep lpd
179 ?? Is 0:00.01 lpd
Если вы не увидели строку для lpd в выводе предыдущей команды, то демон не активен.
Конфигурирование lpd происходит с помощью /etc/printcap. Перед началом конфигурирования будет хорошей идеей провести тест принтера, в ходе которого будет возможность проверить правильность физического соединения и работоспособность самого принтера. В этом тесте на принтер посылаются некие данные. В нашем примере используется принтер, подключенный к параллельному порту, поэтому мы будем использовать устройство /dev/lpt0; в случае работы с USB-принтером, необходимо обращаться к устройству /dev/ulpt0. Пожалуйста, проверьте страницы руководства man для этих устройств (lpt(4), ulpt(4)) для получения более полной информации.
Выполним проверку:
# lptest 70 5 > /dev/lpt0
Увидеть, что должно появиться на принтере, можно выполнив эту команду без перенаправления ее на принтер:
# lptest 70 5
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef
"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg
#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh
$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi
%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij
Часто встречающейся проблемой является то, что принтер некорректно выводит столбцы, это обычно означает то, что принтер сконфигурирован начинать новую строку после получения символов <CR> (carriage return, ASCII 13) и <LF> (line feed, ASCII 10). NetBSD посылает только символ <LF>. Для устранения этой проблемы есть два пути:
- изменить конфигурацию принтера
- использовать фильтр (описано ниже)
Замечание
В предыдущем примере не используется спулер lpd, потому что программа посылает данные непосредственно на устройство принтера (/dev/lpt0) и не ставится в очередь.
11.2. Конфигурирование /etc/printcap
В этом разделе мы сконфигурируем принтер для печати текстовых документов.
Принтер должен иметь запись в файле /etc/printcap; она содержит идентификатор (имя) и описание принтера. По умолчанию, многими программами используется идентификатор lp. Рассмотрим пример:
Пример 11.1. /etc/printcap
lp|local printer|HP DeskJet 690C:\
:lp=/dev/lpa0:sd=/var/spool/lpd/lp:lf=/var/log/lpd-errs:\
:sh:pl#66:pw#80:if=/usr/local/libexec/lpfilter:
Формат файла и доступные опции подробно описаны в printcap(5). Пожалуйста, обратите внимание на то, чтобы был определен input filter (с опцией if), который будет бороться с проблемой ступенчатости:
if=/usr/local/libexec/lpfilter
Драйвер принтера и принтеры HP
Для обозначения принтера в Пример 11.1, «/etc/printcap» использует устройство lpa0 (polled driver) вместо lpd0 (interrupt driven driver). Использование прерываний вызывает проблемы на некоторых принтерах и HP Deskjet 690C из их числа, то есть печать идет очень медленно и печать одной страницы в формате PostScript может занять часы. Для решения этой проблемы и предназначен драйвер lpa. Этот драйвер также может быть включен в состав ядра.
в записи для принтера также определяется каталог очереди, который должен быть предварительно создан. Этот каталог будет использоваться демоном lpd для сбора заданий, поступающих на печать:
# cd /var/spool/lpd
# mkdir lp
# chown daemon:daemon lp
# chmod 770 lp
Единственная отсутствующая у нас часть — это фильтр lpfilter, который еще предстоит написать. Этот фильтр предназначен для конфигурирования принтера, чтобы устранить проблему ступенчатой печати.Принтер, используемый в этом примере требует следующей строки инициализации: «<ESC>&k2G».
Пример 11.2. /usr/local/libexec/lpfilter
#!/bin/sh
# Treat LF as CR+LF
printf "\033&k2G" && cat && exit 0
exit 2
После того, как вы сохраните этот скрипт, убедитесь, что он выполним:
# chmod 755 /usr/local/libexec/lpfilter*
Замечание
Есть другой фильтр, который может использоваться:
if=/usr/libexec/lpr/lpf:
Этот фильтр намного сложнее предыдущего. Он написан для обработки вывода утилиты nroff, отображения подчеркивания и сноски, символов табуляции и конвертации LF в CR + LF. Исходный текст этой программы может быть найден в /usr/src/usr.sbin/lpr/filters/lpf.c.
После выполнения вышеуказанных действий можно снова запустить утилиту lptest, на сей раз используя команду lpr, которая сначала пошлет данные в очередь печати lpd, а затем выполнит фильтр и отошлет данные на принтер:
# lptest 70 5 | lpr -h
Программа lpr печатает текст, используя спулер для посылки данных на принтер; опция -h отключает печать титульного листа (не является необходимой в виду наличия опции sh в /etc/printcap). Пользователи, больше знакомые с системой печати System V могут использовать в качестве альтернативы команду lp(1) вместо lpr(1).
11.3. Конфигурирование Ghostscript
Теперь, когда настроены начальные функции печати, можно добавить возможность печатать файлы PostScript. Принтер, используемый в этом примере, достаточно примитивен и не обладает встроенной поддержкой печати файлов PostScript, поэтому мы должны обеспечить конвертацию команд документа PostScript в последовательность команд, понимаемых принтером. Программа Ghostscript может быть найдена в коллекции портов (смотри Глава 30, Коллекция пакетов). В этом разделе мы рассматриваем конфигурирование lpd для использования Ghostscript, с помощью которой осуществляется печать документов PostScript на принтер HP Deskjet 690C.
Необходимо создать второй идентификатор принтера в /etc/printcap: он будет использовать другой входящий фильтр, который будет вызывать Ghostscript для непосредственной печати документов PostScript. Поэтому, текстовые документы будут печататься на принтере lp, а документы PostScript на принтере ps, то есть используется один физический принтер с разными фильтрами.
Тотже самый результат может быть достигнут при использовании разных конфигураций. Для примера, может быть использован одна запись с одним фильтром, но сам фильтр в этом случае должен быть способен распознавать формат входящего документа. Этот подход требует более сложного фильтра, для его реализации стоит рассмотреть программу magicfilter из коллекции портов.
Для нашего случая, файл /etc/printcap будет выглядеть так:
Пример 11.3. /etc/printcap
lp|local printer|HP DeskJet 690C:\
:lp=/dev/lpa0:sd=/var/spool/lpd/lp:lf=/var/log/lpd-errs:\
:sh:pl#66:pw#80:if=/usr/local/libexec/lpfilter:
ps|Ghostscript driver:\
:lp=/dev/lpa0:sd=/var/spool/lpd/ps:lf=/var/log/lpd-errs:\
:mx#0:sh:if=/usr/local/libexec/lpfilter-ps:
Опция mx#0 очень важна для печати документов PostScript, так как устраняет ограничения на размер входящего файла, так как такие документы могут быть очень большими. Опция if указывает на новый фильтр, так же указывается новый каталог очереди печати.
Следующим шагом мы создадим каталог очереди печати и программу-фильтр. Порядок создания каталога представлен ниже:
# cd /var/spool/lpd
# mkdir ps
# chown daemon:daemon ps
# chmod 770 ps
Фильтр для PostScript более сложен, чем фильтр обработки текста: печатаемый файл должен сперва быть конвертирован в последовательность команд, понимаемых принтером, после чего будет послан на принтер. Итак, мы вплотную подошли к тому, чтобы превратить дешевенький принтер в устройство, понимающее язык PostScript, используя при этом операционную систему NetBSD и несколько свободно распространяемых пакетов. Опции для конфигурации Ghostscript подробно описаны в документации: cdj550, поскольку именно это устройство обычно используется для управления принтерами HP.
Пример 11.4. /usr/local/libexec/lpfilter-ps
#!/bin/sh
# Treat LF as CR+LF
printf "\033&k2G" || exit 2
# Print the postscript file
/usr/pkg/bin/gs -dSAFER -dBATCH -dQUIET -dNOPAUSE -q -sDEVICE=cdj550 \
-sOutputFile=- -sPAPERSIZE=a4 - && exit 0
exit 2
Подведем итоги: мы создали два различных описания одного физического принтера, использующего разные опции, фильтры и каталоги очереди печати. Могут печататься текстовые файлы и файлы PostScript. Печать файлов PostScript осуществляется с помощью установленного нами пакета Ghostscript, входящего в коллекцию пакетов.
11.4. Команды управления принтером
В этом разделе приведен список наиболее распространенных команд BSD для управления принтером и заданиями печати. Помимо уже упомянутых нами команд lpr и lpd у нас имеются:
- lpq
- выводит список заданий на печать.
- lprm
- удалает задание из очереди принтера.
- lpc
- проверяет систему печати, включает/отключает принтеры и их дополнительные функции.
11.5. Удаленная печать
Система печати может быть настроена для посылки документов на принтер, подключенный к удаленному хосту. Для примера, пусть мы работаем за компьютером с именем wotan, а принтер подключен к компьютеру loge. Файл /etc/printcap на хосте loge соответствует файлу Пример 11.3, «/etc/printcap». Возможность печати с хоста wotan мы будем реализовывать с помощью Ghostscript на loge.
Первый наш шаг будет заключаться в том, что мы должны указать хосту loge принимать задания на печать, посланные с wotan. Для этого мы должны добавить строку с именем wotan в файл /etc/hosts.lpd на loge:
# hostname
loge
# cat /etc/hosts.lpd
wotan
Формат этого файла предельно прост: в каждой строке указывается имя машины, которой разрешено печатать на локальном принтере. По умолчанию, демон lpd прослушивает только локальные сокеты UNIX и не принимает сетевых подключений. Для прослушивания сетевого трафика так же необходимо добавить параметр в /etc/rc.conf:
lpd_flags=""
Затем необходимо отредактировать файл /etc/printcap на машине wotan, чтобы тот посылал задания на loge. Для примера:
lp|line printer on loge:\
:lp=:sd=/var/spool/lpd/lp:lf=/var/log/lp-errs:\
:rm=loge:rp=lp
ps|Ghostscript driver on loge:\
:lp=:sd=/var/spool/lpd/ps:lf=/var/log/lp-errs:\
:mx#0:\
:rm=loge:rp=ps
Есть четыре основных отличия этой конфигурации от представленной на Пример 11.3, «/etc/printcap».
- Отсутствует определение «lp».
- Запись «rm» (удаленная машина) определяет имя хоста, к которому подключен принтер.
- Запись «rp» (удаленный принтер) определяет имя принтера, подключенного к удаленной машине.
- Нет необходимости определять фильтры, так как они уже определены на машине loge.
- Каталог очереди печати должен быть определен на хосте wotan:
# cd /var/spool/lpd
# mkdir lp
# chown daemon:daemon lp
# chmod 770 lp
# mkdir ps
# chown daemon:daemon ps
# chmod 770 ps
Теперь задания на печать для очередей «lp» и «ps» с хоста wotan будут автоматически посылаться на принтер, подключенный к loge.
Русский перевод: Михаил Сгибнев
Содержание
- 10.1. Введение в аппаратную часть
- 10.2. Настройка BIOS
- 10.3. Конфигурирование устройства
- 10.4. Конфигурирование аудиокарты в ядре
- 10.5. Дополнительные команды
-
- 10.5.1. audioctl(1)
- 10.5.2. mixerctl(1)
- 10.5.3. audioplay(1)
- 10.5.4. audiorecord(1)
В этой главе коротко рассказывается об использовании звуковых устройств в NetBSD (кому нужен глухой компьютер?)
10.1. Введение в аппаратную часть
Для того, чтобы появился звук, как минимум, необходимо наличие звуковой карты. Как это не печально, но достаточно часто не удается точно узнать производителя или модель звуковой карты, поэтому необходимо хотя бы знание чипсета. Ядро NetBSD способно распознать довольно много чипсетов, вы можете взглянуть на вывод команды dmesg и, возможно, Ваша карта напишет пару строк о себе.
Сделать это можно так:
# dmesg | more
Поищите в выводе упоминание о звуковой карте или чипсете.
Иногда так бывает, что карта не работает из-за того, что не обнаружена или не настроена. Поскольку звуковые карты сейчас довольно дешевы, можно рассмотреть вопрос о покупке карты, точно поддерживаемой NetBSD, но перед этим давайте попробуем выполнить несколько простых шагов.
10.2. Настройка BIOS
В этой части мы рассмотрим метод, применимый только к платформам i386, на других он просто не будет работать, поскольку они не обладают такими возможностями. В первую очередь необходимо определиться с типом шины, используемой картой.
Интерфейсы ISA и PCI.
Звуковые карты ISA Plug and Play настраиваются несколько более хитро из-за особенностей взаимодействия с BIOS компьютера.
На более новых материнских платах (произведенных после 1997) есть опция BIOS, которая может причинить много головной боли при настройке устройств ISA Plug and Play (не только звуковых карт): Эта опция называется «PNP OS Installed» и находится обычно в меню «PNP/PCI Configuration» (может отличатся для различных версий BIOS). При работе с NetBSD эту опцию лучше всего отключить. Попробуйте поменять номера используемых прерываний таким образом, чтобы на прерывании, используемым звуковой картой ничего другого не было.
Замечание
Но на многих системах все превосходно работает и с включенной опцией «PNP OS Installed». Это сугубо индивидуально для каждой системы.
10.3. Конфигурирование устройства
При установке NetBSD создаются файлы устройств в каталоге /dev. Нам интересны сейчас следующие:
/dev/audio
/dev/sound
/dev/mixer
Если их нет, придется создать:
# cd /dev
# ./MAKEDEV all
С помощью этой команды создадутся все устройства, включая и аудио.
Теперь аудио-карта, скорее всего, готова к использованию.
Вы можете устроить маленькую проверку и послать аудиофайл на устройство (такие файлы обычно имеют расширение .au). Если такого файла под рукой нет, то пошлите туда текстовый или бинарный файл, хотя ничего приятного для слуха в этом случае вы не услышите. Используйте /dev/audio или /dev/sound:
# cat filename > /dev/audio
или
# cat filename > /dev/sound
Если вы хоть что-то услышали, то карта поддерживается ядром, она обнаружена и сконфигурирована при загрузке. В противном случае Вам придется конфигурировать переменные ядра для поддержки аудиокарты, установленной в Вашей системе (в случае, если карта/чипсет поддерживается).
10.4. Конфигурирование аудиокарты в ядре
Как уже упоминалось, NetBSD поддерживает широкий диапазон звуковых карт. В ядре GENERIC они уже прописаны, но порой бывает необходимо вручную прописать IRQ и DMA для ISA карт, не поддерживающих стандарт PnP.
Замечание
Когда вы редактируете файл конфигурации ядра, для работы звуковой карты необходимо скопировать соответствующие строки из файла конфигурации GENERIC, для получения более полной информации смотрите Глава 28, Компиляция ядра.
Если звуковая карта не работает, стоит попробовать реализовать режим эмуляции других карт, так как некоторые карты работают только в таком режиме.
Многие чипсеты используют режим совместимости с SoundBlaster и OPL, так же достаточно большое число звуковых карт поддерживает эмуляцию WSS.
OPL является MIDI синтезатором производства Yamaha; есть несколько реализаций этого стандарта (OPL2, OPL3SA, OPL3SA2 и другие). Многие карты имеют этот или совместимый компонент. Для примера, чипы производства Crystal (среди них довольно распространенный CS423x) реализуют в себе эту технологию и хорошо работают с NetBSD.
Аббревиатура WSS является сокращением от Windows Sound System. WSS является драйвером ядра NetBSD, реализующем поддержку аудио системы Microsoft Windows. Многие карты работают с Windows придерживаясь именно этого стандарта, в NetBSD этот стандарт также реализован.
Для работы с NetBSD было протестировано много звуковых карт, довольно большое их число работает, только если в ядре имеется поддержка opl* и wss*.
У Вас не должно возникнуть никаких проблем при работе со звуковыми картами Creative SoundBlaster, поддерживаются все модели, включая Sound Blaster Live 1024!
Когда Вы добились работы звука, Вы можете убрать лишние устройства из ядра.
10.5. Дополнительные команды
В состав NetBSD входит множество команд, имеющих дело со звуковой картой:
audioctl(1) появилась в NetBSD 1.3 и используется для ручной установки некоторых переменных ввода/вывода, таких как дискретность записи и проигрывания. Просмотреть доступные параметры можно следующей командой:
# audioctl -a | more
Например, чтобы установить качество воспроизведения музыки, аналогичное CD, необходимо использовать следующую команду:
# audioctl -w play=44100,2,16,slinear_le
Эта команда установит дискретность 44100Hz, 2 аудио канала, 16 бит, декодирование slinear_le.
Вы можете просмотреть доступные кодеки командой:
# audioctl encodings
Эта команда отобразит все доступные для вашей аудиокарты кодеки.
Эта команда используется для формирования микширования аудио и имеет интерфейс, подобный audioctl(1).
С помощью этой команды Вы можете воспроизвести аудио файл в простом формате, таком как ULAW и WAV. Если Вам необходимо воспроизводить другие, более сложные форматы, Вы можете воспользоваться системой пакетов и установить то, что Вам необходимо (например, для декодирования mp3).
Как следует из названия, это команда используется для записи аудио файлов.
Русский перевод: Михаил Сгибнев
Содержание
- 9.1. Установка поддержки эмуляции
-
- 9.1.1. Конфигурирование ядра
- 9.1.2. Установка библиотек Linux
- 9.1.3. Установка Acrobat Reader
- 9.2. Структура каталогов
- 9.3. Эмуляция /proc
В реализации NetBSD для процессоров alpha, mac68k, macppc и некоторых других, число которых постоянно увеличивается, вожможно выполнение бинарных файлов Linux с помощью эмулятора Linux. Осуществляется это с помощью режима эмуляции Linux. Обычно режим эмуляции связывают с чем-то большим, медленным и неэффективным. Это связано с необходимостью эмулировать команды процессора. В нашем же случае ситуация кардинально отличается – необходимо эмулировать только системные вызовы, которые и так весьма похожи друг на друга. Вследствие этого работа эмулятора практически не заметна и скорость работы приложения такова, что неотличима от работы родного приложения NetBSD.
В данной главе мы рассмотрим работу эмулятора Linux на примере приложения Acrobat Reader version 4.
9.1. Установка поддержки эмуляции
Установка эмулятора подробно расписана в странице руководства compat_linux(8). При установке из системы пакетов необходимо выполнить только три шага:
- Конфигурирование ядра.
- Установка библиотек Linux.
- Установка приложения Linux, такого как Acrobat Reader
9.1.1. Конфигурирование ядра
При использовании ядра GENERIC ничего делать не надо, так как совместимость с Linux уже установлена.
В случае использования собственного ядра, проверьте, что в нем имеются следующие строки:
option COMPAT_LINUX
option EXEC_ELF32
Если это условие выполнено, то можно приступать к установке необходимого программного обеспечения.
9.1.2. Установка библиотек Linux
Получить необходимые библиотеки можно из любого дистрибутива Linux, если только они не слишком старые, но поскольку мы используем для установки систему портов, то установлены будут библиотеки Suse. В процессе установки произойдут следующие события:
- Будет создана вторая корневая директория, необходимая для запуска Linux-программ, находящаяся в
/emul/linux/. Linux-программы в режиме эмуляции требуют, чтобы этот каталог был установлен для них в качестве корневого и используют файлы из него. Если требуемый файл не найден, то буден произведен поиск в /, как в корневой директории.
Для примера, если приложение Linux открывает файл /etc/ld.so.conf, то сперва он ищется в каталоге /emul/linux/etc/ld.so.conf и если не будет там найден, то ищется в /etc/ld.so.conf.
- Будут установлены библиотеки Linux. Так как большинство приложений слинковано динамически, то наличие библиотек просто необходимо. Например, в случае Acrobat Reader, если перейти в каталог
/usr/pkgsrc/print/acroread и выполнить команду make depends, то мы получим следующее сообщение:
===> acroread-4.0 requires Linux glibc2 libraries - see compat_linux(8).
В идеальном случае оба пункта будут выполнены программой установки без необходимости ручного вмешательства. (я предполагаю, что к этому времени Вы уже начали любить систему портов …) В следующем разделе мы рассмотрим ручную установку библиотек Linux.
Для установки библиотек используется RPM-формат. Вследствие чего, нам необходимо выполнить make и make install в каталоге /usr/pkgsrc/misc/rpm/ для компиляции и установки утилиты rpm.
Затем установим пакет suse_base. Файлы Suse RPM должны быть скачаны с помощью системы портов или с Suse CD и положены в каталог /usr/pkgsrc/distfiles/suse. Для установки необходимо из каталога /usr/pkgsrc/emulators/suse_base выполнить команды make и make install.
Аналогично устанавливаем suse_compat, suse_libc5 and suse_x11. В итоге имеем:
# pkg_info -a | grep suse
suse_base-7.3nb5 Linux compatibility package
suse_x11-7.3nb2 Linux compatibility package for X11 binaries
suse_compat-7.3 Linux compatibility package with old shared libraries
9.1.3. Установка Acrobat Reader
Теперь все готово для установки Acrobat Reader (или любой другой Linux программы). Переходим в каталог /usr/pkgsrc/print/acroread и выполняем:
# make
# make install
Замечание
при установке Acrobat Reader необходимо добавить строку «ACCEPTABLE_LICENSES+=adobe-acrobat-license» в файл /etc/mk.conf чтобы принять лицензию и выполнить команду make.
9.2. Структура каталогов
Если мы исследуем процесс установки эмуляции Linux, то обнаружим, что /emul/linux – символическая ссылка на каталог /usr/pkg/emul/linux, где была развернута следующая структура:
bin/
boot/
cdrom/
dev/
etc/
floppy/
home/
lib/
mnt/
opt/
proc/
root/
sbin/
usr/
Замечание
Всегда обращайтесь к /emul/linux, а не к /usr/pkg/emul/linux, так как этот кактлог может быть изменен в будущем.
Как много свободного места требуется для эмулятора? На своей системе я получил следующее значение:
# cd /usr/pkg/emul
# du -k linux
...
214049 linux/
Сама же программа Acrobat Reader была установлена в традиционном для бинарных файлов каталоге /usr/pkg/bin.
$ acroread netbsd.pdf
9.3. Эмуляция /proc
Некоторые Linux программы используют в своей работе Linux-like файловую систему /proc. Файловая система /proc, используемая в NetBSD может эмулировать /proc, которая содержит специфические для Linux псевдофайлы. Этого можно достичь с помощью опции «linux»:
# mount_procfs -o linux procfs /emul/linux/proc
В этом примере файловая система proc была смонтирована в каталог /emul/linux/proc. Вы также можете указать NetBSD монтировать ее автоматически при каждой загрузке с помощью следующей записи в /etc/fstab:
procfs /emul/linux/proc procfs ro,linux
Русский перевод: Михаил Сгибнев
Содержание
- 8.1. Что такое X?
- 8.2. Конфигурирование
- 8.3. Мышь
- 8.4. Клавиатура
- 8.5. The monitor
- 8.6. Видеокарта
-
- 8.6.1. XFree 3.x
- 8.6.2. XFree86 4.x
- 8.7. Запуск X
- 8.8. Персональная настройка X
- 8.9. Другие менеджеры окон
- 8.10. Графический вход в систему с xdm
8.1. Что такое X?
X Window System является графической средой, доступной для NetBSD и других Unix (и не только Unix)систем. На самом деле, это даже немножко больше, за счет использования протокола X. X Window System является «прозрачной» для сети и позволяет выполнять распределенные (клиент-серверные) приложения. В довольно грубом приближении это означает, что Вы можете запустить приложение на одной машине (клиент), а графический вывод будет производиться на другой машине (сервер), при этом нет необходимости модифицировать само приложение. Разработкой и поддержкой X Window System занимается X Consortium, и текущим релизом является X11R6. X, используемой в NetBSD является XFree86, свободно распространяемая версия X Window System.
Примите во внимание то, что X Window System является только базовой основой для таких современных графических систем управления рабочим столом, как GNOME, KDE или XFCE, не входящих в состав X Windows System, и поэтому в NetBSD они не входят в состав дистрибутива. При необходимости Вы можете легко их добавить, используя систему портов pkgsrc.
Если Вы захотите использовать X, то столкнетесь с множеством непонятных и запутанных на первый взгляд терминов. Вот несколько основных из них, необходимых для понимания и использования Х:
- Оборудование работы с видеосигналом поддерживаемое XFree86, такое как Ваша видеокарта.
- X сервер выполняющийся на определенных аппаратных средствах. X server обеспечивает стандартный способ открытия окон, рисования графики (включая шрифты) и обработку ввода от клавиатуры, мыши или прочих устройств. X является программным продуктом, прозрачным для сети, поэтому Вы можете выполнять клиентов Х на одной машине, а сервер Х на другой машине (имея дисплей и видеокарту).
- Оконный менеджер, запущенный под управлением Х сервера. Оконный менеджер по сути своей – специальный клиент, которому позволяют управлять размещением окон. Также он добавляет такие удобные вещи, как изменение размера окна, перемещение его по рабочему пространству, возможность свернуть, отобразить иконки, закрывать окна и т.д.
- Менеджер рабочего стола такой, как KDE или GNOME. Такие менеджеры представляют собой набор более или менее интегрированного программного обеспечения, с общим интерфейсом (что тоже весьма условно). Они включают в себя интегрированную справочную систему, замену стандартному xterm, среды программирования, средства проигрывания аудио/видео и т.д.
- Все прочие приложения, которые Вы используете. Они общаются с сервером Х через оконный менеджер и обычно приложения не оказывают какого-либо влияния на оконный менеджер, хотя, бывают и исключения (Например, GNOME может определить, что Вы установили GIMP, и добавит соответствующий пункт в меню запуска).
Подведем итоги: для использования графического режима необходимо:
- XFree86 system
- Оконный менеджер (в составе XFree86 идет оконный менеджер twm, обеспечивающий начальные функции).
- Если Вы предпочитаете более сложную среду, возможно Вы захотите установить такой программный продукт, как KDE или GNOME. Системы управления рабочим столом могут быть полезны для тех пользователей, которые привыкли работать с MS Windows или Macintosh (Например, KDE очень похож в использовании на MS Windows.
Замечание
Вы должны себе четко представлять, что в настоящее время ни GNOME ни KDE не содержат в своем составе Х сервер. Данные менеджеры рабочего стола работают под управлением Х сервера от XFree86. KDE и GNOME могут использовать свой собственный оконный менеджер или менеджер стороннего производителя.
Обычно вы можете запустить один оконный менеджер одновременно на одном X-сервере (Конечно, Вы можете запустить несколько серверов X на одном компьютере). Если оконный менеджер не запущен, а Вы стартуете KDE/GNOME, то данные системы запустят оконный менеджер самостоятельно.
8.2. Конфигурирование
Если Вы не выбрали минимальную конфигурацию при инсталляции системы, X уже установлен и готов работать на вашем компьютере. В зависимости от используемой платформы, Вам может потребоваться сконфигурировать X сервер. На некоторых рабочих станциях (sparc, pmax, …) возможна работа без конфигурации X-сервера, достаточно просто запустить /usr/X11R6/bin/X.
На PC (i386, amd64), Shark и некоторых других платформах, Вам необходимо настроить X-сервер, создав перед первым запуском файл конфигурации /etc/X11/XF86Config. Для того, чтобы получить представление о том, как должен выглядеть этот файл, советуем посмотреть /usr/X11R6/lib/X11/XF86Config.eg. Структура конфигурационного файла формально описана в справке XF86Config(5) и может быть просмотрена командой:
# man XF86Config
Перед конфигурированием системы желательно тщательно прочитать документацию, найденную в /usr/X11R6/lib/X11/doc: там находится довольно много README, связанных с работой видеокарт, мышей и специфических для NetBSD устройств (помечены как (README.NetBSD). Для начала, рекомендуется изучить QuickStart.doc. У вас может возникнуть ощущение, что другие системы позволят Вам получить желаемое, затрачивая меньше усилий, но время, проведенное за изучением документации не будет потрачено впустую: знание X окажется очень полезным в последующем и поднимет Ваш профессиональный уровень на недосягаемую высоту в плане конфигурирования Х.
Вы можете создать /etc/X11/XF86Config вручную, используя текстовый редактор, или сгенерировать в автоматическом режиме, используя интерактивные программы конфигурирования. Самыми лучшими известными программами являются xf86config, XF86Setup (XFree86 3.x) и xf86cfg (XFree86 4.x). xf86config и xf86cfg по умолчанию устанавливаются вместе с X; XF86Setup графическая утилита конфигурирования и может быть установлена с помощью системы портов pkgsrc.
Как Вы сможете заметить, лучше всего окажется смешанный подход: создайте XF86Config с помощью одной из двух утилит, а потом проверьте и отредактируйте с помощью редактора. xf86cfg:
# xf86cfg
# сконфигурируйте и сохраните в /etc/X11/XF86Config
# vi /etc/X11/XF86Config
или утилита командной строки xf86config:
# xf86config
# сконфигурируйте и сохраните в /etc/X11/XF86Config
# vi /etc/X11/XF86Config
Интерфейс этих программ отличается, но требует знания следующих параметров:
- тип мыши и имя используемого устройства
- раскладку и тип клавиатуры
- тип видеокарты
- тип монитора
Перед конфигурированием системы убедитесь, что обладаете всей необходимой информацией.
8.3. Мышь
Сперва проверьте, какой тип мыши у Вас используется (для серийного порта, PS/2 или иной) и устройство (для примера, wsmouse требует другой протокол). Если Вы используете мышь для параллельного порта, то установите требуемый протокол и используемый порт.
для примера, PS/2 и USB мыши добавляют устройство wsmouse и поэтому Вы должны использовать:
Section "Pointer"
Protocol "wsmouse"
Device "/dev/wsmouse0"
EndSection
Для мыши на последовательном порту, должен быть указан номер порта:
Section "Pointer"
Protocol "Microsoft"
Device "/dev/tty00"
EndSection
/dev/tty00 является первым последовательным портом и /dev/tty01 соответственно вторым. Протокол может быть различен для различных моделей мышей, смотрите файл XF86Config.eg.
8.4. Клавиатура
Даже если Вы уже конфигурировали вашу клавиатуру для wscons, Вы должны сконфигурировать ее для Х, дабы установить раскладку, отличную от американской.
Самое простое решение состоит в том, чтобы использовать протокол XKB для определения раскладки и типа клавиатуры.
Это одно из слабых мест программ конфигурации. Вы можете выбрать стандартную раскладку, а потом отредактировать файл конфигурации вручную:
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc102"
Option "XkbLayout" "us,ru"
Option "XkbOptions" "ctrl:nocaps"
EndSection
Если Вы хотите использовать «Windows» клавиши на Вашей клавиатуре, используйте «pc105» вместо «pc102» для XkbModel.
8.5. The monitor
Очень важно правильно определить частоту кадровой и строчной развертки монитора, что позволит уберечь от поломки монитор в следствие выбора неправильного режима. Эта информация может быть найдена в руководстве на монитор. В каталоге документации X есть файл, содержащий параметры настройки многих мониторов; эта информация может использоваться, как отправная точка для настройки индивидуальных параметров.
8.6. Видеокарта
Видеокарта может быть выбрана из базы данных программ конфигурации; программа сама позаботится обо всех необходимых установках. Поддержка видеокарт в XFree86 3.x и 4.x сильно отличается.
XFree86 3.x имеет несколько серверов для работы на различных чипсетах. XFree86 4.x имеет только один сервер. Различные видеокарты поддерживаются за счет платформо-независимых модулей драйверов, находящихся в /usr/X11R6/lib/modules/drivers.
8.6.1. XFree 3.x
Когда Вы выбрали правильную видеокарту, Вы должны выбрать сервер X для платы. Обычно программы конфигурации могут автоматически определить правильный сервер, но некоторые видеокарты могут управляться больше чем одним сервером (например, S3 Virge поддерживается серверами SVGA И S3V); в этом случае изучите документацию серверов, чтобы решить, какой подойдет Вам больше всего: различные серверы обычно имеют различные возможности и различную степень поддержки видеокарты.
8.6.2. XFree86 4.x
После выбора видеокарты из списка, программа конфигурации автоматически выберет соответствующий драйвер. Если Вы не выбрали видеокарту, Вы можете конфигурировать ее, выбрав требуемый модуль.
8.7. Запуск X
Когда Вы выйдете из программы конфигурации, будет создан файл /etc/X11/XF86Config, который в будущем необходимо проверить и модифицировать вручную.
Перед запуском X Вам необходимо:
Теперь можно запускать X следующей командой:
# startx
Если X не запускается, значит есть ошибка в файле конфигурации.
Если Х запустился, но работает совсем не так, как ожидалось (например не работает мышь), то Вы можете выйти с использованием комбинации Ctrl-Alt-Backspace (работает не на всех платформах). Если все сработало правильно, то Вы окажетесь в оконном менеджере, установленном по умолчанию (twm). Несмотря на ограниченные возможности, есть достаточно много пользователей, которым вполне хватает twm для работы. Если Вы хотите больше красоты, настраиваемости и удобства, то в коллекции портов есть достаточный выбор оконных менеджеров, смотрите Раздел 8.9, «Другие менеджеры окон».
В качестве начала настройки X под себя, давайте с помощью xterm изменим цвет фона:
# xsetroot -solid DarkSeaGreen
8.8. Персональная настройка X
Для настройки среды X есть несколько способов. Самый простой метод состоит в том, чтобы копировать файл .xinitrc со значениями по умолчанию в Ваш домашний каталог и изменить его под себя. Для примера:
# cp /usr/X11R6/lib/X11/xinit/xinitrc ~/.xinitrc
# vi .xinitrc
В следующем примере будет использоваться оконный менеджер twm, xclock будут находиться в нижней правой части экрана и будут запущены две xterm консоли. Цвет «Bisque4» используется в качестве фона.
the first part of the file is the same
...
# start some nice programs
twm &
xclock -geometry 50x50-1-1 &
xterm -geometry 80x34-1+1 -bg OldLace &
xsetroot -solid Bisque4 &
exec xterm -geometry 80x44+0+0 -bg AntiqueWhite -name login
В этом примере, для выхода из Х необходимо просто закрыть xterm, обозначенный как «login».
Даже с этой простой конфигурацией X зачительно красивее выглядит. Для облегчения такого рода настроек советуем установить программы из коллекции портов, например:
- xcolorsel
- отображает все цвета, определенные в файле
rgb.txt. Используйте для смены цвета фона или окон.
- xpmroot
- Позволяет использовать рисунок в качестве фонового.
- xscreensaver
- Хранители экрана
- xdaemon
- Ни один рабочий стол не может обойтись без демоненка BSD, шныряющего по экрану :-)
8.9. Другие менеджеры окон
Если Вам не нравится twm, оконный менеджер без излишеств и не очень настраиваемый, то Вы можете выбрать любой другой из коллекции портов. Наиболее популярными являются: fvwm2, olwm/olvwm (Open Look Window Manager), WindowMaker, Enlightenment, AfterStep.
Ниже описана в качестве примера инсталляция WindowMaker. WindowMaker – приятный взору и хорошо конфигурируемый оконный менеджер. Для установки программы будем использовать прекомпилированный пакет windowmaker-0.60.tgz, с установкой всех зависимостей. Как обычно, будем использовать pkg_add и make install для автоматической загрузки зависимостей.
# cd /usr/pkgsrc/x11/windowmaker
# make depends-list
xpm-3.4k
jpeg-6b
pkglibtool-1.2p2
giflib-3.0
libproplist-0.9.1
tiff-3.5.2
Замечание
Также для построения списка зависимостей можно использовать команду:
# pkg_info -f windowmaker-0.61.0.tgz | grep depends
После добавления требуемых пакетов, может быть добавлен WindowMaker и некоторые преконфигурированные темы:
# pkg_add windowmaker-0.61.0.tgz
wmthemes-0.6x.tgz
WindowMaker установлен; для его запуска необходимо модифицировать файлы .xinitrc и/или .xsession: заменить вызов twm на wmaker. Для примера:
# start some nice programs
# start WindowMaker
wmaker &
xclock -geometry 50x50-1-1 &
xdaemon2 -geometry +0-70 &
...
В этом примере программа xdaemon стартует автоматически.
Перед запуском WindowMaker должна быть запущена конфигурационная программа:
$ wmaker.inst
$ startx
8.10. Графический вход в систему с xdm
Если Вы всегда в работе используете X, и первым делом после входа в систему выполняете startx, то Вы можете установить графический вход в систему для вашей рабочей станции. Это очень просто.
- Создайте файл
.xsession в Вашем домашнем каталоге. Он подобен ~/.xinitrc и может, фактически, быть ссылкой на него.
# cd $HOME
# ln -s .xinitrc .xsession
- Модифицируйте файл
/etc/rc.conf:
xdm=YES xdm_flags="" # x11 display manager
Если Вы предпочитаете, то можете добавить в конец файла /etc/rc.local следующую строку:
/usr/X11R6/bin/xdm
Этот метод может использоваться для запуска, например, kdm или gdm вместо xdm.
Конфигурационный файл xdm находится в каталоге /usr/X11R6/lib/X11/xdm. В файле Xservers X указано стартовать на консоли «vt05», попасть на нее Вы можете, нажав «CTRL+ALT+F5»; если есть желание использовать другой терминал – исправьте это значение. Чтобы избежать конфликта между getty и xdm, желательно запустить xdm на виртуальном терминале, где getty заблокирован. Например, если в Xservers установлено:
:0 local /usr/X11R6/bin/X :0 vt04
в /etc/ttys должно быть
ttyE3 "/usr/libexec/getty Pc" vt220 off secure
(пожалуйста, обратите внимание, что vt04 соответствует ttyE3, потому что символ vt начинается с 1, а ttyE начинается с 0)
Если Вы желаете изменить приглашение xdm, то возможно изменение файла конфигурации. Например, для изменения цвета фона, Вы можете добавить следующую строку в файл Xsetup_0:
xsetroot -solid SeaGreen
Если Вы хотите использовать фоновое изображение, то воспользуйтесь программой xpmroot: Для примера:
xpmroot /path_to_xpm/netbsd.xpm
Если вы начнете экспериментировать с файлом конфигурации, Вы можете достичь впечатляющих результатов и оформить приятный экран входа в систему. Отметьте, что другие оконные менеджеры, такие как gdm и kdm имеют различную конфигурацию.
Русский перевод: Вадим Лопатюк
Содержание
- 7.1. Введение в vi
-
- 7.1.1. Интерфейс vi
- 7.1.2. Переключение в режим редактирования
- 7.1.3. Переключение режимов и сохранение буфера в файл
- 7.1.4. Копирование и вставка
- 7.1.5. Навигация в тексте
- 7.1.6. Поиск по файлу, альтернативное управление
- 7.1.7. Пример сессии
- 7.2. Конфигурирование vi
-
- 7.2.1. Расширения для
.exrc
- 7.2.2. Документация
- 7.3. Использование тэгов в vi
7.1. Введение в vi
Данное введение в редактор vi не нужно бывалым пользователям UNIX. Редактор vi, изначально разработан Биллом Джой (Bill Joy) из Sun Microsystems, как бесконечно расширяемый, простой в использовании легкий ASCII редактор и бич новичков. Этот раздел должен ввести новичков в редактор vi и, возможно, подкинуть несколько хороших идей бывалым пользователям.
В первой половине этого раздела будет рассмотрено редактирование, сохранение, копирование/вставка и навигация по файлу во время сессии vi. Во второй половине будет пошагово рассмотрен пример сессии vi в помощь начинающим.
Этот текст позиционируется как учебник для начинающих пользователей редактора vi, это ни в коем случае не исчерпывающее руководство. Этот текст предназначен для того, чтобы пользователь впервые запустил и использовал vi с умением, достаточным для внесения изменений и создания файлов.
7.1.1. Интерфейс vi
Использование редактора vi в действительности не сильно отличается от остального терминального программного обеспечения за одним исключением – он не использует вкладочный (или вынужденный, если Вам угодно) стиль интерфейса, хотя многие версии vi принудительно его используют не предоставляя какой-либо видимости или ощущения типичного обязывающего интерфейса. Вместо этого он работает в двух режимах: командном и редактирования. Сейчас это может показаться странным, но это не сильно отличается от windows-основанного редактирования, если Вы об этом подумали. Примите это как пример, если Вы используете графические функции в редактировании и выделяете какой-либо текст, выбираете вырезать, а затем вставить, все время, пока Вы пользуетесь мышью, Вы не редактируете (даже если бы и могли). В vi, имеются такие функции, как простое удаление всей строки командой dd в командном режиме, перемещение строки по вашему желанию в другое место и ее вставка p в командном режиме. Можно говорить об аналогии с «режим мыши против командного режима» (хотя она не в полной мере отражает концепцию идеи).
Для начала сессии vi есть один простой способ, который может работать со всем терминальным программным обеспечением:
$ vi filename
Стоит запомнить один важный факт: когда файл редактируется, он загружается в буфер памяти. Остальная часть текста сделает ссылку на буфер и файл в их надлежащем контексте. Файл изменится только тогда, когда пользователь сохранит изменения с помощью одной из команд записи.
7.1.2. Переключение в режим редактирования
Редактор vi поддерживает набор опций, предоставляемых при загрузке. Пока мы посмотрим просто загрузку по умолчанию. Если его вызвать, как указано выше, то редактор по умолчанию загружается в командном режиме. В сущности, Вы не можете начинать набор в буфер. Вместо этого Вы можете выйти из командного режима для ввода текста. Следующий текст описывает режимы начала редактирования:
a Добавить после курсора.
A Добавить в конец строки.
C Изменить содержание текущей строки.
cw Изменить текущее слово.
i Вставить перед курсором.
I Вставить перед первой непустой строкой.
o Открыть строку ниже для вставки.
O Открыть строку выше для вставки.
7.1.3. Переключение режимов и сохранение буфера в файл
Конечно, знание команд редактирования не очень полезно, если Вы не можете переключиться обратно в командный режим и сохранить файл. Для переключения обратно просто нажмите клавишу ESC. Для введения определенных команд должно использоваться двоеточие. Набирайте команды одним блоком. Чтобы сделать это, просто введите :.
Ведите двоеточие и затем команды в левом нижнем углу экрана. Давайте посмотрим на команды сохранения:
:w Записать буфер в файл.
:wq Записать буфер в файл и выйти.
7.1.4. Копирование и вставка
Что хорошего в редакторе, если Вы не можете манипулировать блоками текста? Конечно vi очень хорошо поддерживает эту функцию и большинство команд vi достаточно интуитивны. Чтобы скопировать строку, но не удалять ее, просто нажмите yy или Y в командном режиме и текущая строка будет скопирована в буфер. Для вставки строки переместитесь в необходимое место текста и нажмите клавишу p для выполнения команды «вставка». Для перемещения строки удалите всю строку командой dd, после чего переместитесь в новое место и вставьте ее с помощью команды p.
7.1.4.1. Ой, я не хотел этого делать!
Функция отмены очень проста, u отменяет последнее действие, а U отменяет удаление последней строки или изменения, сделанные в ней.
7.1.5. Навигация в тексте
Большинство руководств или инструкций по vi начинаются без навигации, который, тем не менее, не схож с большинством редакторов в порядке навигации по файлу, который должен иметь что-нибудь по чему перемещаться. В зависимости от Ваших вкусов в vi Вы можете перемещаться в обоих режимах, как в командном, так и в редактирования.
Для начала я рекомендую переключиться в командный режим и тогда перемещаться. Это немного безопаснее, пока нет большой практики. Если терминал не имеет или не поддерживает использование клавиш курсора, используйте следующее:
k Переместить курсор на одну строку выше.
j Переместить курсор на одну строку ниже.
l Переместить курсор на один символ вправо.
h Переместить курсор на один символ влево.
Если терминал имеет и поддерживает их, клавиши управления курсором могут использоваться для навигации по тексту в командном режиме.
В дополнение к навигации «в одно касание» vi поддерживает переход на строку простым набором ее номера в командной строке. Например, если Вам необходимо перейти на 223-ю строку команда для редактора будет выглядеть так:
ESC
:223
7.1.6. Поиск по файлу, альтернативное управление
Редактор vi поддерживает поиск с использованием синтаксиса регулярных выражений, тем не менее, в командном режиме это немного отличается. Просто нажмите клавишу / в командном режиме и введите то, что Вам нужно найти, как например, скажем нам необходимо найти выражение foo:
/foo
Теперь проиллюстрируем немного другой пример, скажем нам нужно найти выражение foo bar:
/foo bar
7.1.6.1. Дополнительные команды навигации
Поиск и прокрутка – не единственные способы навигации по буферу vi. Далее список коротких команд навигации, доступных в vi:
0 Переместиться в начало строки.
$ Переместиться в конец строки.
b Переместиться назад на слово.
w Переместиться вперед на слово.
G Переместиться в конец буфера.
H Переместиться в верхнюю строку на экране.
L Переместиться к последней строке на экране.
M Переместить курсор в середину экрана.
N Искать следующее совпадение, но в обратном направлении.
n Искать следующее совпадение в том же направлении.
7.1.7. Пример сессии
Теперь, когда мы ознакомились с основами, давайте начнем пробную сессию, используя все полученные знания. Сначала мы откроем пустой файл командой:
# vi foo.txt
Далее мы переключимся в режим редактирования и введем две строки, разделенные пустой строкой. Помните, наш буфер пуст, итак мы нажимаем клавишу i для ввода за курсором и вводим следующий текст:
This is some text
there we skipped a line
~
~
~
~
Теперь нажимаем клавишу ESC для переключения обратно в командный режим.
Теперь, когда мы находимся в командном режиме, давайте сохраним файл. Сначала нажмите клавишу :, курсор должен разместиться в нижнем левом углу, сразу после приглашения. За приглашением : введите w и нажмите клавишу ENTER или ВВОД. Файл будет сохранен. Здесь должно появится сообщение о выполнении команды, некоторые редакторы vi также скажут Вам название файла, количество строк и объем сохраненного.
Пришло время навигации, курсор должен находится там же, где он был, во время сохранения файла. Попробуйте использовать клавиши курсора для перемещения на один символ. Если они не работают (или из чистого любопытства), попробуйте использовать клавиши hjkl, чтобы увидеть как они работают.
В конце, давайте сделаем еще две вещи: сначала перейдем к первой строке, затем к первому символу. Испытайте некоторые клавиши навигации командного режима в этой строке, попеременно понажимайте следующие клавиши:
$
0
$
0
Курсор должен перескочить к концу строки, назад к началу и затем вновь в конец.
Далее, поиск выражения по нажатию клавиши / и выражению, вот так:
/we
Курсор должен перескочить к первому совпадению с «we».
Теперь сохраните файл и выйдите:
:wq
7.2. Конфигурирование vi
Не нужно говорить, что стандартный редактор, включаемый в NetBSD это vi, самый обожаемый и ненавидимый редактор в мире. Если Вы не используете vi, пропустите этот раздел, в противном случае прочитайте его перед установкой другой версии vi. NetBSD-шный vi (nvi) написан Кейт Бостик (Keith Bostic) из UCB с целью получить наиболее свободно распространяемую версию этого редактора и более расширяемую, стоящую изучения, остающуюся максимально совместимой с оригинальным vi. Nvi стал стандартной версией vi для BSD.
Среди большинства расширений, интересны:
- Расширение регулярных выражений (стиль egrep), добавляется опцией
extended.
- Стэки тэгов.
- Бесконечная отмена(для отмены, нажатьu; для продолжения отмен – .).
- Нарастающий поиск подключается опцией
searchincr.
- Прокрутка строк влево-вправо подключается опцией
leftright; количество символов для прокрутки определяется опцией sidescroll.
- Редактирование истории командной строки подключается опцией
cedit.
- Автозавершение имен файлов подключается опцией
filec.
- Фоновые экраны.
- Редактирование с разделением экрана.
7.2.1. Расширения для .exrc
Следующий пример показывает файл .exrc file с некоторыми включенными расширенными функциями.
set showmode ruler
set filec=^[
set cedit=^[
Первое подключает отображение позиции курсора (строки и столбцы) и текущего режима (Command, Insert, Append) в строке статуса. Вторая строка (где ^[ это символ ESC) подключает автозавершение имен файлов по ESC. Третья строка подключает редактирование истории командной строки (также по ESC.) Например, напишите «:» и нажатие ESC откроет окно со списком предыдущих команд, которые можно редактировать и исполнять (нажатие Enter на команде запустит ее.)
7.2.2. Документация
Архивы исходных текстов (src.tgz) содержат массу пользовательской документации по (n)vi и расширениям в каталоге /usr/src/usr.bin/vi/docs. Например:
- Edit: A tutorial
- Ex Reference Manual
- Vi man page
- An Introduction to Display Editing with Vi by William Joy and Mark Horton
- Ex/Vi Reference Manual by Keith Bostic
- Vi Command & Function Reference
- Vi tutorial (beginner and advanced)
Если Вы никогда не пользовались vi, «Vi tutorial» - хорошая отправная точка. Он рассказывает об использовании vi и постепенно знакомит читателя со всеми командами vi, которые можно тестировать по мере прочтения. An Introduction to Display Editing with Vi от Вильяма Джой (William Joy) и Марка Хорнона (Mark Horton) также очень хорошая отправная точка.
Если Вы желаете больше прочесть о vi и расширении nvi, Вам необходимо прочесть Ex/Vi Reference Manual от Кейт Бостик (Keith Bostic) в котором задокументированы все опции и команды редактора.
7.3. Использование тэгов в vi
Эта тема напрямую не относится к NetBSD но может быть полезна, например, для изучения исходных текстов ядра.
Когда Вы изучаете наборы исходных текстов в дереве каталогов и подкаталогов, Вы можете упростить свою работу, используя свойство тэгов в vi. Метод заключается в следующем:
- cd в головной каталог исходных текстов.
$ cd /path
- Введите следующие команды:
$ find . -name "*.[ch]" > filelist
$ cat filelist | xargs ctags
- Добавьте следующую строку в
.exrc
set tags=/path/tags
(пропишите необходимый путь вместо path.)
Русский перевод: Вадим Лопатюк
Содержание
- 6.1. Конфигурация rc.d
- 6.2. Сценарии rc.d
- 6.3. Роль rcorder и rc сценариев
- 6.4. Дополнительно к прочтению
Начиная с версии NetBSD 1.5 загрузка системы была изменена на использования rc-сценариев (скриптов), для контроля за сервисами, используемых в некоторых системах инициализации (init-system) System V и Linux, но без уровней запуска (runlevels). Эта глава – обзор rc- системы и ее конфигурации в NetBSD.
6.1. Конфигурация rc.d
Загрузочные файлы системы располагаются в каталоге /etc и называются:
/etc/rc
/etc/rc.conf
/etc/rc.d/*
/etc/rc.lkm
/etc/rc.local
/etc/rc.shutdown
/etc/rc.subr
/etc/defaults/*
/etc/rc.conf.d/*
Сначала посмотрите как управляются и поддерживаются сценарии, подробная информация содержится в rc(8):
- Когда ядро инициализирует все устройства при загрузке – оно обычно запускает init(8), который, в свою очередь, производит запуск
/etc/rc.d
/etc/rc сортирует сценарии в /etc/rc.d используя rcorder(8), и запускает их в этом порядке. См. rcorder(8) страницу руководства для ознакомления с правилами определяется очередности /etc/rc.d сценариев.
/etc/rc.subr содержит общие функции используемые большинством сценариев /etc/rc.d/*.
- Когда система отключается командой shutdown(8), то
/etc/shutdown запускает скрипты из /etc/rc.d в обратном порядке (определенном в rcorder(8)) с ключом останова сервиса.
Дополнительные скрипты, находящиеся вне директории rc.d:
/etc/rc.lkm загрузка или выгрузка Загружаемых Модулей Ядра (Loadable Kernel Modules), см. modload(8) и /etc/rc.d/lkm[123].
/etc/rc.local это едва ли не последний сценарий, вызываемый при загрузке. Этот сценарий может редактироваться администратором для запуска локальных демонов (daemons), он не соответствует концепции rc.
Например, пакеты установленные pkgsrc обычно добавляют в него загрузочные файлы из/usr/pkg/etc/rc.d, и оставляют системному администратору принимать решение о их подключении любым способом: ручное копирование/ссылка на них в /etc/rc.d, или включение их в /etc/rc.local. Далее пример из системы с установленным web-сервером apache, запуск которого прописан в /etc/rc.local:
if [ -f /usr/pkg/etc/rc.d/apache ]; then
/usr/pkg/etc/rc.d/apache start
fi
Основным конфигурационным файлом для загрузочных сценариев является rc.conf(5), который располагается в /etc/rc.conf. /etc/rc.conf загружает настройки «по умолчанию» из /etc/defaults/rc.conf, к которому не нужно прикасаться. При необходимости вернуться к старым настройкам «по умолчанию», им можно подменить установленный в /etc/rc.conf.
Например, если вам нужно подключить демон SSH (Secure Shell Daemon):
# cd /etc; grep ssh defaults/rc.conf
sshd=NO sshd_flags=""
# echo "sshd=YES" >> rc.conf
Или просто отредактируйте /etc/rc.conf вашим любимым редактором. Таким же образом можно поступить с любыми настройками «по умолчанию», которые необходимо изменить. Общая последовательность команд, часто выполняемая после установки свежей системы NetBSD:
# cat /etc/defaults/rc.conf >>/etc/rc.conf
# vi /etc/rc.conf
Будте внимательны! Используйте «>>», а не «>» в противном случае вы можете уничтожить предыдущее содержание /etc/rc.conf. Учтите, в этом файле находятся необходимые для работы системы параметры! После того, как вы скопируете установки этим способом, модифицируйте все что вам необходимо в /etc/rc.conf. Проконсультируйтесь со страницей руководства rc.conf(5) для получения более подробной информации.
Последний каталог по списку но не по значению: /etc/rc.conf.d/, который может быть использован для хранения скриптов стороннего программного обеспечения, позволяя устанавливать одну или несколько настроек на каждый файл.
6.2. Сценарии rc.d
Актуальные сценарии управления сервисами располагаются в /etc/rc.d. Каждый сервис должен быть единожды активирован или не активирован в /etc/rc.conf, который также может быть модифицирован для вызова rc сценариев из командной строки, например, если администратору необходимо запустить демон SSH:
# /etc/rc.d/sshd start
Starting sshd.
Сценарии rc могут принимать один из следующих аргументов:
Например, когда должна быть добавлена новая запись в базу данных named сервера:
# /etc/rc.d/named restart
Stopping named.
Starting named.
Немного более комплексный пример – когда было изменено несколько настроек.правил брандмауэра ipfilter, конфигурации ipnat и изменен тип криптования SSH сервера:
# sh /etc/rc.d/ipfilter restart
# sh /etc/rc.d/ipnat restart
# sh /etc/rc.d/sshd restart
6.3. Роль rcorder и rc сценариев
Загрузка системы во всех Unix системах основывается на определении последовательности в которой будут запускаться сервисы в том или ином случае. На некоторых Unix системах это реализуется определенным порядком именования файлов и/или помещении их в отдельные директории запуска (Solaris полагается на маски, такие как – /etc/rc[23].d/S*, осуществляя сортировку по цифровому расширению), или просто размещая все команды, которые должны запускаться при системной загрузке в один монолитный сценарий (который использовался в старых BSD и NetBSD до rc-системы). Но он будет очень запутан. В NetBSD это выполняется rc-сценариями и их содержанием. Обратите внимание NetBSD не имеет многих уровней запуска, какие можно найти в системах System V, таких как Solaris или Linux.
В начале каждого из rc-сценариев в /etc/rc.d/*, там где серия строк-коментариев, имеется одна из следующих составляющих:
- REQUIRE
- PROVIDE
- BEFORE
- KEYWORD
Здесь устанавливаются зависимости данного rc сценария и отсюда rcorder может легко работать «вверх» или «вниз» в зависимости от требований ситуации. Следующий пример /etc/rc.d/nfsd сценария:
...
PROVIDE: nfsd
REQUIRE: mountd
. /etc/rc.subr
...
Здесь мы можем увидеть, что этот сценарий необходим для «nfsd» и он требует, чтобы «mountd» был запущен раньше. Утилита rcorder(8) должна использоваться во время системной загрузки для сковозного прочтения всех rc-сценариев, и определения корректной последовательности их запуска (индивидульно по имени).
6.4. Дополнительно к прочтению
Это дополнительно доступные ресурсы, относящиеся к rc.d system:
- Один из главных создателей rc.d, Luke Mewburn, сделал презентацию системы на USENIX 2001. Она доступна в PDF формате.
- Will Andrews написал в Daemonnews статью, названную The NetBSD rc.d System.
Русский перевод: Михаил Сгибнев
Содержание
- 5.1. dmesg
- 5.2. Монтируем CD-ROM
- 5.3. Монтируем флоппи-диск
- 5.4. Получаем доступ к разделу DOS/Windows
- 5.5. Добавляем пользователей
- 5.6. «Теневые» пароли
- 5.7. Остановка и перезагрузка системы
Во время первой загрузки, вы выполнили базовую конфигурацию системы. В этой главе мы опишем набор общих команд и действий.
5.1. dmesg
При запуске системы ядро печатает длинную последовательность сообщений, эти сообщения информируют состоянии ядра (например, об объеме доступной памяти) и внешних устройствах, обнаруженных в системе. Эта информация необходима при диагностике проблем с аппаратными устройствами или их конфигурацией, а также при определении наименований устройств системы, соответствующих оборудованию (например, возможно, что ваша сетевая карта обнаружена как устройство ne0 или ne1. Обычно при загрузке эти сообщения прокручиваются на экране слишком быстро, чтобы извлечь из них какую-либо пользу, однако команда dmesg(8) позволяет их просмотреть:
# dmesg | more
Если что-то в вашей системе работает не корректно и вы обращаетесь за помощью в один из списков рассылки NetBSD, не забывайте вместе с информацией о возникшей проблеме привести также и сообщения dmesg /var/run/dmesg.out, это поможет другим лучше понять вашу проблему.
5.2. Монтируем CD-ROM
Новички часто бывают удивлены тем, что, несмотря на успешное обнаружение и монтирование CDROM программой установки, установленная система как будто «забыла» как пользоваться CDROM. В использовании CDROM нет особой премудрости — вы можете монтировать его как и любую другую файловую систему, необходимо знать только имя устройства и набор необходимых параметров для команды mount(8). Имя устройства вы можете узнать при помощи уже вышеупомянутой команды dmesg(8). Например, dmesg(8) говорит нам:
# dmesg | grep ^cd
cd0 at atapibus0 drive 1: <ASUS CD-S400/A, , V2.1H> type 5 cdrom removable
Устройство называется cd0 и вы можете примонтировать CD-ROM следующей командой:
# mkdir /cdrom
# mount -t cd9660 -o ro /dev/cd0a /cdrom
Для облегчения этого действия можно добавить следующую строку в /etc/fstab:
/dev/cd0a /cdrom cd9660 ro,noauto 0 0
Перезагрузки не потребуется. После этого вы можете примонтировать CD-ROM следующей командой:
# mount /cdrom
Однако стоит помнить, что когда CDROM смонтирован, система не позволяет извлечь его вручную и чтобы это сделать, следует сперва отмонтировать CDROM:
# umount /cdrom
Есть также способ программно отмонтировать и извлечь CDROM:
# eject /dev/cd0a
5.3. Монтируем флоппи-диск
Чтобы монтировать флоппи-диск необходимо знать наименование устройства и тип файловой системы на диске. См. также страницу man fdc(4). Например, флоппи-диск с файловой системой FAT(или FAT32) монтируется следующей командой:
# mount -t msdos /dev/fd0a /mnt
Вместо /mnt можно пользоваться любым другим каталогом на ваше усмотрение. Например, можно создать каталог /floppy и использовать его для монтирования флоппи-диска. Если вы много работаете с флоппи-дисками, вам, возможно, пригодится пакет mtools, с помощью которого можно обращаться к флоппи-дискам или к разделам на жестком диске, форматированными в FAT/FAT32 без необходимости их монтировать. Это достаточно удобно, когда необходимо быстро скопировать файл на флоппи-диск или скопировать с флоппи-диска:
# mcopy foo bar a:
# mcopy a:baz.txt baz
# mcopy a:\*.jpg .
5.4. Получаем доступ к разделу DOS/Windows
Если NetBSD установлена совместно с MS-DOS или Windows, можно модифицировать метку диска и, таким образом, сделать разделы DOS/Windows «видимыми» для NetBSD. Для этого сперва необходимо определить геометрию диска, например, с помощью fdisk(8).
# fdisk wd0
NetBSD disklabel disk geometry:
cylinders: 77520, heads: 16, sectors/track: 63 (1008 sectors/cylinder)
...
Partition table:
0: OS/2 HPFS or NTFS or QNX2 or Advanced UNIX (sysid 7)
bootmenu: WinXP
start 63, size 20643462 (10080 MB, Cyls 0-1285), Active
1: NetBSD (sysid 169)
start 20643525, size 57496635 (28075 MB, Cyls 1285-4864)
2: <UNUSED>
3: <UNUSED>
Замечание
В этом примере используется жесткий диск wd0, в вашем конкретном случае, возможно, это будет другой диск.
Результаты работы fdisk показывают, что имеется раздел NTFS («OS/2 HPFS или NTFS или QNX2 или Advanced UNIX (sysid 7)»). Если имеется раздел FAT, то он будет обозначен «Primary ‘big’ DOS, 16-bit FAT (>32MB) (sysid 6)».
Раздел Windows в настоящий момент обозначен только в таблице разделов MBR, но для монтирования его в NetBSD, так же необходимо указать и разметку дисков NetBSD. Есть два пути сделать это: отредактировать метку диска вручную используя команду disklabel -e, или использовать команду mbrlabel(8).
Когда запущена mbrlabel(8) необходимо указать диск, на котором производится поиск разделов, обозначенных в MBR и которые впоследствии добавляются к разметке диска:
# disklabel wd0
...
d: 78140160 0 unused 0 0 # (Cyl. 0 - 77519)
#
# mbrlabel -rw wd0
Found NTFS partition; size 20643462 (10079 MB), offset 63
adding NTFS partition to slot e.
Found 4.2BSD partition; size 57496572 (28074 MB), offset 20643588
skipping existing unused partition at slot c.
16 partitions:
# size offset fstype [fsize bsize cpg/sgs]
a: 57236256 20643588 4.2BSD 1024 8192 46920 # (Cyl. 20479*- 77261*)
b: 260316 77879844 swap # (Cyl. 77261*- 77519)
c: 57496572 20643588 unused 0 0 # (Cyl. 20479*- 77519)
d: 78140160 0 unused 0 0 # (Cyl. 0 - 77519)
e: 20643462 63 NTFS # (Cyl. 0*- 20479*)
Updating in-core and on-disk disk label.
#
# disklabel wd0
...
d: 78140160 0 unused 0 0 # (Cyl. 0 - 77519)
e: 20643462 63 NTFS # (Cyl. 0*- 20479*)
Если вы не хотите или не можете использовать mbrlabel(8) для решения этой проблемы, то вы можете редактировать метку диска вручную, используя данные команды fdisk. Раздел с файловой системой NTFS начинается с сектора 63 и имеет размер в 20643462 сектора. Раздел NetBSD начинается с сектора 20643525 (20643525 = 20643462 + 63). Вы можете использовать эти данные для модификации метки диска BSD: необходимо просто добавить одну строку с определением позиции и типа NTFS раздела, воспользовавшись для этого идентификатором любого незанятого раздела. Используйте для этого команду disklabel. Для примера:
# disklabel -e wd0
...
# size offset fstype [fsize bsize cpg]
...
d: 78140160 0 unused 0 0 # (Cyl. 0 - 77519)
e: 20643462 63 NTFS
Разделы с «a» до «d» уже используются, и первым доступным идентификатором будет «e». Поля «size» и «offset» должны быть заполнены значениями, вычесленными ранее. Затем, должна быть создана точка монтирования. Для примера:
# mkdir /c
В заключение, добавим строку в файл /etc/fstab:
/dev/wd0e /c ntfs ro,noauto 1 3
Если вы хотите монтировать раздел MS-DOS «FAT» вместо NTFS, то используйте MSDOS в качестве «fstype» в метке диска и «msdos» в качестве файловой системы (3-я колонка) в /etc/fstab. Вы можете монтировать файловые системы FAT в режиме чтения/записи, то есть использовать «rw» вместо «ro» в /etc/fstab. Для получения более подробной информации обратитесь к страницам руководства mount_msdos(8) and mount_ntfs(8).
Теперь разделы Windows могут быть примонтированы простой командой:
# mount /c
Используя этот метод, вы можете монтировать разделы NFS, FAT и FAT32. Если вы хотите монтировать раздел(ы) автоматически при запуске системы, удалите опцию noauto из файла /etc/fstab.
/dev/wd0e /c ntfs ro 1 3
5.5. Добавляем пользователей
Теперь самое время добавить в систему новых пользователей, так как использовать учетную запись суперпользователя для ежедневной работы небезопасно. В NetBSD для создания пользовательских учетных записей используется утилита useradd(8). Для примера, добавление нового пользователя будет выглядеть так:
# useradd -m joe
Применяемые по умолчанию значения для команды useradd(8) могут быть изменены, смотрите справочное руководство useradd(8).
Для использования утилиты su(1) с целью работы с правами учетной записи пользователя root необходима принадлежность пользователя к группе «wheel». Это можно сделать указанием дополнительной группы при создании учетной записи:
# useradd -m -G wheel joe
В качестве альтернативного варианта может быть использована команда usermod(8) для добавления пользователя в существующую группу:
# usermod -G wheel joe
Замечание
Вы можете редактировать файл /etc/group для присоединения пользователя к какой-либо группе, но не пытайтесь редактировать напрямую файл /etc/passwd! все изменения будут утеряны, смотрите Раздел 5.6, « «Теневые» пароли».
Замечание
Если в системе используется ssh, то по умолчанию доступ пользователя root через этот протокол запрещен. Читайте страницу руководства sshd_config(5) и редактируйте файл конфигурации /etc/ssh/sshd_config, если желаете изменить это.
5.6. «Теневые» пароли
«Теневые» пароли используются в NetBSD по умолчанию. Это означает, что все пароли в /etc/passwd содержат «*», а пароли в зашифрованной форме находятся в файле /etc/master.passwd, который может быть прочитан только пользователем root. Для редактирования файла паролей используется программа vipw(8), которая создает копию /etc/master.passwd. При выходе vipw(8) проверяет корректность копии, создает новый /etc/passwd и устанавливает новый /etc/master.passwd. Далее, vipw(8) запускает pwd_mkdb(8), который создает файлы /etc/pwd.db и /etc/spwd.db, две базы данных, эквивалентных /etc/passwd и /etc/master.passwd, но более быстрых в обработке.
Как можно видеть, пароли управляются NetBSD автоматически. Если вы используете vipw(8) для редактирования файла паролей, вам практически не нужна какая-либо другая специальная процедура администрирования.
Очень важно всегда использовать vipw и другие утилиты администрирования (chfn(1), chsh(1), chpass(1), passwd(1)) и никогда не модифицировать напрямую /etc/master.passwd или /etc/passwd.
5.7. Остановка и перезагрузка системы
Используйте единственную команду shutdown(8) для остановки и/или перезагрузки системы:
# shutdown -h now
# shutdown -r now
Две другие команды для тех же целей:
# halt
# reboot
Команды halt(8), reboot(8) и shutdown(8) не являются синонимами: использование последней будет более верным. В системе с несколькими пользователями вам следует пользоваться shutdown(8), так как вы сможете планировать выключение по расписанию, уведомлять пользователей и т.п. Для получения более подробной информации смотрите страницы руководства shutdown(8), halt(8) and reboot(8).
Русский перевод: Михаил Сгибнев
Содержание
- 4.1. Если что-то пошло не так
- 4.2. Вход в систему
- 4.3. Изменение раскладки клавиатуры
- 4.4. Справочное руководство man
- 4.5. Смена пароля пользователя
root
- 4.6. Смена командной оболочки
- 4.7. Системное время
- 4.8. Начальная конфигурация
/etc/rc.conf
- 4.9. Включение FFS soft-dependencies
- 4.10. Перезагрузка системы
После установки и перезагрузки компьютер загрузится с жесткого диска: если все прошло хорошо, то вы увидите приглашение на ввод логина/пароля буквально через несколько секунд (или минут, в зависимости от используемого оборудования). Система еще не настроена, но не стоит волноваться, это довольно легкий процесс. В ходе настройки вы будете учиться работать с системой и в случае возникновения проблемы сможете быстро ее локализовать.
4.1. Если что-то пошло не так
Если система не загружается, то возможно есть проблема с менеджером загрузки или с MBR (Master Boot Record). В этом случае загрузите машину с дискеты и после того, как увидите строку:
booting fd0a:netbsd - starting in ...
Нажмите пробел в течении 5 секунд обратного отсчета; загрузка остановится и будет отображена командная строка. Вы можете получить краткую справку с помощью команды «?» или «help».
type "?" or "help" for help.
> ?
commands are:
boot [xdNx:][filename] [-adrs]
(ex. "sd0a:netbsd.old -s")
ls [path]
dev xd[N[x]]:
help|?
quit
> boot wd0a:netbsd
Теперь система должна грузиться с жесткого диска вместо дискеты. Если NetBSD нормально загружается, то проблема, скорее всего, в MBR: вы можете установить менеджер загрузки или модифицировать его конфигурацию командой fdisk -B. Смотрите Раздел 19.4, «Установка менеджера загрузки» для дополнительной информации.
4.2. Вход в систему
Для первого входа в систему используйте учетную запись root, пароль для которой мы определили в ходе установки.
NetBSD/i386 (Amnesiac) (ttyE0)
login: root
password
...
We recommend creating a non-root account and using su(1) for root access.
#
4.3. Изменение раскладки клавиатуры
По умолчанию установлена US раскладка клавиатуры, но вы можете сменить используемую раскладку перед тем как начать конфигурировать систему. В качестве примера, будем использовать итальянскую раскладку клавиатуры:
# wsconsctl -k -w encoding=it
encoding -> it
Смотрите Раздел 29.1.3, «Раскладка клавиатуры» для получения списка доступных раскладок и получения дополнительной информации по настройке раскладок.
4.4. Справочное руководство man
Если вы никогда ранее не использовали Unix(-like) операционные системы, то вашим лучшим другом станет команда man, которая поможет вам получить подробную и исчерпывающую справку по интересующему вас вопросу.
man name покажет справочную страницу руководства man для команды «name» и man -k name покажет список связанных страниц (также вы можете использовать команду apropos).
Для начального изучения команды man введите:
# man man
Руководство разделено на девять разделов, содержажих не только основную информацию относительно команд но также и описаний некоторых особенностей и структуры NetBSD. Для примера, посмотрите hier(7), в которой описывается используемая NetBSD файловая система.
# man hier
Другие подобные страницы – release(7) и packages(7). Каждая секция руководства содержит intro(8), описывающее содержание. Для примера, попробуйте:
# man 8 intro
Пример 4.1. Секции руководства
- основные команды (инструменты и утилиты)
- системные вызовы и номера ошибок
- библиотеки C
- специальные файлы и поддержка оборудования
- форматы файлов
- игры
- различные информационные страницы
- системное техническое обслуживание
- ядро
Тема может появиться более, чем в одном разделе руководства; для просмотра специфических страниц используйте номер секции в качестве аргумента команды man. Для примера, time имеется и в секции 1 (пользовательская команда), в секции 3 (функция библиотеки C) и в секции 9 (системная переменная):
# man 3 time
Для просмотра всех доступных страниц:
# man -w time
# man -a time
4.5. Смена пароля пользователя root
В ходе установки вы уже определили пароль пользователя root, изменить его вы можете с помощью команды passwd.
# passwd
Changing local password for root.
New password:
Retype new password:
Пароль не отображается на экране при вводе. Позднее вы также сможете добавить дополнительные учетные записи пользователей в систему.
4.6. Смена командной оболочки
Командная оболочка по умолчанию для пользователя root выбирается в момент установки, обычно это csh. Если это название вам ни о чем не говорит, то вы можете начать изучать ее с помощью csh(1): это неплохая интерактивная оболочка, хотя и довольно старая. Если вы хотите сменить оболочку, воспользуйтесь командой chsh(1). Доступные после установки системы оболочки:
Новая оболочка будет загружена при следующем вашем входе в систему. Тем временем, вы можете выполнить следующую команду, если используете csh:
# set filec
что позволит использовать автодополнение команд (с клавишей ESC, используйте Ctrl+D для просмотра всех возможных дополнений).
Вы можете установить и другие оболочки, например tcsh, bash, zsh, воспользовавшись коллекцией портов (мы рассмотрим этот вопрос позже).
Если вы имеет опыт работы с оболочкой, то сейчас самое время создать файлы инициализации (.chsrc, .login, …)
4.7. Системное время
NetBSD, как и все Unix системы использует системные часы, базирующиеся на Greenwich time (GMT) и поэтому их необходимо установить на это время. Если вы хотите использовать в качестве системного локальное время (например, в случае использования нескольких ОС на одной машине), то вам необходимо указать это NetBSD, модифицируя sysctl-переменную kern.rtc_offset.
# echo kern.rtc_offset=-60 >>/etc/sysctl.conf
# sh /etc/rc.d/sysctl restart
Где установленное значение (-60) число минут к западу от GMT.
Для отображения текущего значения переменной kern.rtc_offset:
# sysctl kern.rtc_offset
kern.rtc_offset = -60
Теперь ядро знает, как переконвертировать время часов машины в системное время GMT, но вы все еще должны сконфигурировать систему для указания часового пояса (обозначения которых вы можете посмотреть в /usr/share/zoneinfo). Если вы уже сделали это в ходе инсталляции, то можете пропустить этот шаг. Например, для Италии:
# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime
Как только вы все правильно установили, можно изменить текущее время следующей командой:
# date [[[[[cc]yy]mm]dd]hh]mm
4.8. Начальная конфигурация /etc/rc.conf
NetBSD использует файл /etc/rc.conf для конфигурации системы в процессе начального запуска: в этом файле определяются запускаемые сервисы и начальные настройки. Понимание этого файла черезвычайно важно.
В файле /etc/defaults/rc.conf содержатся значения по умолчанию для большого числа параметров начальной настройки. Для изменения значения по умолчанию внесите новое значение в /etc/rc.conf: определенные в нем переменные перезапишут установки по умолчанию из /etc/defaults/rc.conf (не стоит их изменять).
Понимание /etc/rc.conf очень важно. Страница руководства rc.conf(5) содержит детальную информацию по всем возможным опциям.
# man rc.conf
Сперва модифицируем:
- Установим «
rc_configured=yes» (эта строка уже могла быть после установки)
- Установим «
dhclient=yes» для конфигурирования сети через DHCP.
- Установим «
sshd=yes» для запуска демона Secure Shell при старте системы.
- Определим имя машины через параметр hostname (используйте полностью определенное имя, т.е. включая домен). Для машины без сети, вы можете использовать любое имя (например,
woody.toys.net), если же машина подключениа к сети, то вы должны использовать корректное сетевое имя.
Замечание
Убедитесь, что имя машины можно разрешить, используя DNS или /etc/hosts, так как некоторые программы не работают с неразрешаемыми именами машин.
4.9. Включение FFS soft-dependencies
Сейчас довольно хороший повод включить soft-dependencies для файловой системы FFS. По умолчанию, в NetBSD FFS записывает мета-данные немедленно, в синхронном режиме. Механизм soft-dependencies позволяет не записывать данные сразу, а организовывать их и сохраняет их способом, не конфликтующим с FFS. Это обеспечивает быстродействие на уровне асинхронной системы без особого риска. Soft-dependencies может быть определено добавлением опции softdep в /etc/fstab. Рассмотрим типичный файл /etc/fstab:
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /var ffs rw 1 2
/dev/wd0f /tmp ffs rw 1 2
/dev/wd0g /usr ffs rw 1 2
Предположим, что мы хотим включить soft-dependencies для всех файловых систем, за исключением раздела /. Произведем соответствующие изменения (они подчеркнуты):
/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /var ffs rw,softdep 1 2
/dev/wd0f /tmp ffs rw,softdep 1 2
/dev/wd0g /usr ffs rw,softdep 1 2
Вот некоторые ссылки на дополнительную информацию по файловым системам и soft-dependencies:
4.10. Перезагрузка системы
В этот раз мы сделали:
- Сконфигурировали клавиатуру
- Изменили пароль пользователя
root(по желанию)
- Изменили командную оболочку пользователя
root (по желанию)
- Изменили системное время и смещение RTC
- Опредилили локальное время
- Сконфигурировали
/etc/rc.conf
Теперь, когда подошло время перезагрузки, выполним команду:
# reboot
Русский перевод: Вадим Лопатюк
Содержание
- 3.1. Введение
- 3.2. Подготовка к установке
- 3.3. Создание установочной дискеты
- 3.4. Последние приготовления
- 3.5. Начало установки
- 3.6. Разделы
- 3.7. Метка диска
- 3.8. Создание метки диска
- 3.9. Процесс подготовки диска
- 3.10. Выбор источника данных
- 3.11. Установка с CD-ROM и DVD
- 3.12. Установка через FTP
- 3.13. Распаковка файлов
- 3.14. Конфигурация системы
3.1. Введение
Эта глава содержит пример установки двумя популярными способами: установка с CD-ROM и через FTP. Принцип одинаков для обоих типов установки – единственное различие заключается в пути к набору бинарных файлов, необходимых sysinst. Обратите внимание, что некоторые детали установки отличаются в зависимости от версии NetBSD: данный пример описывает установку версии 2.0.
Такая широта выбора создает ощущение, что установка очень сложна и требует массы усилий: запомните, если Вы соглашаетесь с настройками «по умолчанию», то все очень просто. С другой стороны, руководство, объясняющее лишь «простую» сторону, не очень полезно (за исключением управленческой точки зрения).
3.2. Подготовка к установке
Перед установкой неплохо будет составить детальный план выполняемых действий. Сначала изучите файл INSTALL (обещаю, это последний раз, когда я это сказал) прочтите описание установки и проверьте аппаратную совместимость. Далее, если на жестком диске уже что-то есть, продумайте как освободить место для NetBSD. Если NetBSD должна разделять диск с другими операционными системами – Вам, вероятно, понадобится создать новый раздел (который можно создать с помощью sysinst) и, возможно, изменить размер существующего. Невозможно изменить размер существующего раздела с помощью sysinst, но это возможно в некоторых коммерческих продуктах (например Partition Magic) и некоторых бесплатных приложениях (FIPS, pfdisk).
Установка, логически, разделяется на два шага. В первой части Вы создаете раздел для NetBSD и прописываете метку диска для этого раздела. Во второй части Вы выбираете, какие наборы бинарных файлов Вам необходимо устанавливать, и распаковываете файлы в снова созданные разделы. Первая часть не зависит от метода установки (CD-ROM, ftp, NFS, …), по окончании которой еще ничего не записано на жесткий диск и Вам будет выведено сообщение для согласия с продолжением установки. Если Вы согласитесь – установка продолжится, в противном случае Вы вернетесь обратно в главное меню и жесткий диск останется неизменным.
3.3. Создание установочной дискеты
Замечание
Если у Вас есть загрузочный CD-ROM NetBSD вам не нужно создавать установочные дискеты: включите «загрузку с CD-ROM» в настройках BIOS, вставьте CD и перезагрузите машину. Эта опция может быть не доступна на старых машинах.
Перед установкой Вам необходимо создать установочные дискеты, т.е. скопировать образы дискет с CD-ROM на сами дискеты. Чтобы сделать это в DOS Вы можете использовать программу rawrite из каталога i386/installation/misc, версия для Windows находится в rawr32.zip. Файлы образов i386/installation/floppy/boot1.fs и i386/installation/floppy/boot2.fs для установки на «обычном» PC, и i386/installation/floppy/bootlap1.fs и i386/installation/floppy/bootlap2.fs для лэптопов. Остальные дискеты, имеющиеся здесь, более подробно описаны в документе INSTALL.*.
Замечание
Перед созданием установочных дискет всегда проверяйте их исправность: этот шаг часто игнорируется, но может уберечь Вас от массы проблем!
Процедура записи дискет:
- Отформатируйте дискету.
- Перейдите в каталог
I386\INSTALLATION\FLOPPY CD-ROM.
- Запустите программу
..\MISC\RAWRITE (или распакуйте ..\MISC\RAWR32.ZIP если Вы находитесь в системе Windows, и запустите RAWRITE32 из этого архива). «Файлы источники»: BOOT1.FS и BOOT2.FS (и т.п., см. выше), и «целевой привод» A:
Если Вы создаете загрузочные дискеты в окружении Unix, Вы можете использовать команду dd. Например:
# cd i386/installation/floppy
# dd if=boot.fs of=/dev/fd0a bs=36b
dd копирует блоки по 512 байт: опция bs=36b копирует 36 блоков за раз, что эффективно повышает скорость операции.
Замечание
дискета на 1440K содержит 1474560 байт и состоит из 80 цилиндров, 2 дорожек, 18 секторов с 512 байтами на сектор, т.е. 80 * 2 * 18 = 2880 блоков. Таким образом, bs=36b копирует один цилиндр (18 * 2 блоков) за раз и повторяет эту операцию 80 раз вместо 2880.
3.4. Последние приготовления
Теперь все готово к установке, но перед началом лучше собрать немного информации об аппаратном обеспечении ПК.
Самое главное проверить тип жесткого диска (IDE, SCSI) и его геометрию. Вы можете найти эту информацию в руководстве к жесткому диску или использовать диагностическую программу. Некоторые жесткие диски имеют наклейку, на которой написаны эти данные. Другой способ – зайти на сайт производителя Вашего диска и посмотреть информацию о продукте.
Если Вы производите установку через ftp или NFS, не забудьте проверить настройки Вашей сетевой карты: если установочное ядро ожидает увидеть Вашу карту на определенном IRQ, но настройки карты отличаются от тех, что у Вас установлены. Например, установленное ядро распознает NE2000 совместимые сетевые карты с одной из двух следующих настроек:
ne0 at isa? port 0x280 irq 9 # NE[12]000 ethernet cards
ne1 at isa? port 0x300 irq 10
Если Ваша сетевая карта NE2000 имеет другие настройки – она не будет определена. (После установки у Вас будет возможность скомпилировать ядро вручную с вашими собственными настройками.)
Пока Вы не начали, Вам необходимо проверить еще несколько настроек аппаратного обеспечения, такие как: например, номера последовательных и параллельных портов, и т.д..; это не понадобится при установке, но будет полезно позднее. Проверьте Ваши настройки (IRQ, порты I/O, …) сравнив их с записанными в файле INSTALL.
Замечание
Вы можете начинать установку даже не зная точную геометрию жесткого диска и любых других деталей. В таком случае Вам необходимо доверится sysinst, который автоматически определит геометрию и (обычно) сделает это правильно.
3.5. Начало установки
Вставьте созданные установочные дискеты в привод A: и перезагрузите компьютер (или загрузитесь с CD-ROM). Начнется загрузка ядра с дискеты, во время которой будет выводиться на экран масса сообщений, большинство из которых говорят что-либо об аппаратном обеспечении, которое не было найдено или не было сконфигурировано. Это нормально – ядро на дискете пытается найти как можно больше устройств, поддерживаемых NetBSD; У Вас, возможно(!), нет всех этих устройств.
Рисунок 3.1. Выбор языка

Когда процедура загрузки завершится, вы окажетесь в установочной программе NetBSD sysinst, показанной на Рисунок 3.1, «Выбор языка». Не обманывайтесь спартанским видом sysinst: это довольно мощная и гибкая программа. Теперь Вам необходимо следовать инструкциям, отображаемым на экране, используя документ INSTALL.* как руководство. Экраны sysinst состоят из нескольких частей: верхняя часть экрана отображает короткое описание текущей операции или короткое вспомогательное сообщение, центральная часть экрана отображает текущие настройки, определенные для NetBSD, в нижней части отображается меню с выбором доступных настроек. Чтобы сделать выбор, используйте клавиши курсора, «Ctrl+N» (следующий) и «Ctrl+P» (предыдущий) клавиши, или нажмите клавишу с одной из букв, отображаемых слева от каждого пункта. Подтверждение Вашего выбора совершается нажатием клавиши «ввод (enter)».
Теперь Вы можете двигаться вперед и выбрать язык, на котором будет производиться установка.
Рисунок 3.2. Главное меню установочной программы

Это приведет Вас в главное меню программы установки, как показано в (Рисунок 3.2, «Главное меню установочной программы». Выбор опции установки приведет Вас к следующему экрану (Рисунок 3.3, «Подтверждение установки NetBSD»), где Вы сможете подтвердить операцию.
Рисунок 3.3. Подтверждение установки NetBSD

После того, как Вы определитесь, выберите «Yes». Теперь пришло время назначить диск, на который будет устанавливаться NetBSD. Если имеется более одного диска, sysinst отобразит список дисков из которого Вы сможете выбрать один. На примере из рисунка Рисунок 3.4, «Выбор жесткого диска», видно два диска, и NetBSD будет установлена на «wd0», первый найденный диск IDE. Если у Вас диски SCSI, они будут называться «sd0», «sd1» и т.д.
Замечание
информация на данном экране может отличаться, в зависимости от типа и количества жестких дисков, установленных в системе.
Рисунок 3.4. Выбор жесткого диска

Sysinst спросит, какую тип установки Вы желаете выполнять: полную установку или установку вручную. NetBSD разбита на коллекцию наборов дистрибутивов. «Full installation» установит все наборы, если Вы выберете «Custom installation», Вы сможете определить, какие наборы Вы хотите установить. Этот шаг показан на Рисунок 3.5, «Полная или ручная установка».
Рисунок 3.5. Полная или ручная установка

Если Вы выбрали установку вручную, sysinst позволит Вам определить, какие наборы дистрибутивов устанавливать, как показано на Рисунок 3.6, «Выбор наборов дистрибутивов». Наименьший необходимый набор, чтобы система функционировала, это ядро, «Base» и «System (/etc)».
Рисунок 3.6. Выбор наборов дистрибутивов

3.6. Разделы
Наступает первый важный шаг установки – разбиение жесткого диска. Сначала Вам необходимо определить: NetBSD будет использовать раздел диска (предполагаемый выбор) или весь диск («опасный» выбор). В последнем случае остается возможность создания раздела, использующего весь жесткий диск (Рисунок 3.7, «Выбор схемы разбиения»). Так что мы рекомендуем выбрать эту опцию, чтобы оставить таблицу разбиения BIOS в формате, совместимом с другими операционными системами.
Рисунок 3.7. Выбор схемы разбиения

Следующий шаг, изображенный на Рисунок 3.8, «Выбор единицы измерения», это выбор единицы измерения, используемой при разбиении: сектора предоставляют большую гибкость и точность (заметьте, это обычно лучший способ выровнять разделы по границам цилиндров в целях увеличения производительности, особенно на старых жестких дисках.) Мегабайты легче в использовании, поскольку не требуют ручного расчета и более «интуитивны».
Рисунок 3.8. Выбор единицы измерения

Для большинства людей, «Megabytes» будет наиболее логичным выбором, потому как эта единица характеризует объем раздела. После определения Вы окажитесь в интерфейсном экране fdisk.
Рисунок 3.9. fdisk

Рисунок 3.9, «fdisk» отображает текущую ситуацию с жестким диском перед установкой NetBSD; здесь имеется четыре основных раздела и, как Вы видите, этот диск пуст. Если у Вас имеются другие разделы, Вы можете оставить эту утилиту и установить NetBSD в раздел, который на данный момент не используется или Вы можете очистить раздел для NetBSD.
Удалить раздел просто – после выбора раздела появится меню с опциями для него (Рисунок 3.10, «Опции раздела»), измените тип раздела на «Delete partition» для удаления раздела. Конечно, если Вам необходимо использовать раздел для NetBSD – Вам нужно выставить тип раздела в «NetBSD».
Вы можете создать раздел для NetBSD также выбором раздела, в который Вы хотите установить NetBSD. Разделы с именами от «a» до «d» соответствуют четырем основным разделам в других операционных системах. После выбора раздела, меню с настройками данного раздела будет выглядеть, как показано на Рисунок 3.10, «Опции раздела».
Рисунок 3.10. Опции раздела

Для создания нового раздела необходимы следующие данные:
- тип (kind) нового раздела
- первый (start) сектор нового раздела
- размер (size) нового раздела
Выберите тип раздела «NetBSD» для нового раздела (опция «Kind»). Программа установки должна автоматически определить опцию «Start», расположив начало сразу за предыдущим разделом. Измените это, если необходимо. Есть несколько подходов к определению опции «Size»: программа установки использует все доступное пространство до следующего раздела или конца диска (в зависимости что идет раньше). Измените это значение, если оно неверно, или если Вас не устраивает предложенный NetBSD объем.
После того, как Вы зададите тип раздела, начало и конец, также неплохо будет задать имя, которое будет использоваться в меню при загрузке. Вы можете сделать это, выбрав опцию «bootmenu» и заполнив как NetBSD должна будет отображаться в загрузочном меню, т.е. «NetBSD». Можно повторить данное действие для остальных загрузочных разделов: так Вы сможете загружать обе NetBSD и Windows, используя выбор загрузчика NetBSD. Если Вы удовлетворены опциями разделов, Вам необходимо подтвердить их, выбрав «Partition OK». Вы можете выбрать некоторые опции в интерфейсе fdisk, когда закончите разбивать Ваш диск.
Если у Вас возникла ошибка при разбиении (например вы создали перекрывающиеся разделы) – sysinst выведет соответствующее сообщение и предложение вернуться в меню fdisk (Вы также можете продолжить). Если данные верны, но раздел NetBSD лежит за пределами секторов, загружаемых из BIOS, sysinst предупредит Вас и спросит, согласны ли Вы в любом случае продолжить. Это может привести к проблемам на старых ПК: ПК, использованный в данном примере, вывел эту ошибку, но прекрасно загрузился. Но это не является общим правилом (это зависит от BIOS) и если ПК не очень старый – я рекомендую игнорировать предупреждение и продолжать.
Замечание
это не ограничивается NetBSD; некоторые старые BIOS не могут загружать разделы, находящиеся за пределами первых 1024 цилиндров. Для полного понимания проблемы Вам нужно изучить различные типы BIOS и множество используемых схем адресации (физическая CHS, логическая CHS, LBA, …). Эта тема не рассматривается в данном руководстве.
С самой последней BIOS, поддерживающей расширение int13, возможно установить NetBSD в раздел лежащий за пределами первых 8 гигабайт жесткого диска, предполагается, что установлен загрузчик NetBSD.
Если данные верны, sysinst предложит установить загрузчик на жесткий диск. Этот экран показан на Рисунок 3.11, «Установка загрузчика».
Рисунок 3.11. Установка загрузчика

На данном этапе, первая часть установки, так называемое «разбиение диска», закончена.
Теперь будут созданы разделы BIOS, также называемые в BSD слайсы (slice). Пришло время определить разделы BSD.
3.7. Метка диска
Некоторые платформы, такие как системы ПК (i386), используют (стиль DOS) разделы MBR для разделения файловых систем. В NetBSD раздел MBR, который вы создали раньше в процессе установки, служит для того, чтобы не позволить другим операционным системам перезаписывать дисковое пространство, выделенное под NetBSD. NetBSD использует собственную схему разбиения, называемую «метка диска», которая располагается в начале раздела MBR NetBSD. За следующие несколько шагов Вы научитесь создавать метку диска и устанавливать размеры разделов NetBSD, или использовать существующие размеры разделов, как показано на Рисунок 3.12, «Когда необходимо редактировать раздел».
Рисунок 3.12. Когда необходимо редактировать раздел

Если выбрать задание размеров разделов NetBSD, и перед редактированием метки диска Вы можете предопределить разделы, которые Вам необходимо создать. Программа установки сгенерирует метку диска, основанную на данных установках. Этот установочный экран показан на Рисунок 3.13, «Задание размеров раздела».
Рисунок 3.13. Задание размеров раздела

По умолчанию схема разделов просто использует одну большую / (корневую) файловую систему (плюс раздел подкачки), отлично работающую с NetBSD, и здесь нужно внести небольшие изменения. Изменить /tmp для расположения в нем RAM диска (mfs) для увеличения скорости, может быть неплохой идеей. Остальные схемы разбиения могут использовать отдельные разделы для /var, /usr и/или /home, но Вы можете положиться на Ваш опыт, чтобы решить что нужно вам.
3.8. Создание метки диска
Следующий шаг – создание метки диска, как показано на Рисунок 3.14, «Редактор disklabel». Если Вы определили размеры раздела в предыдущем шаге, результирующая метка диска, вероятно, установит все по вашему желанию. В таком случае Вы можете немедленно завершить процесс, выбрав «Partition sizes ok».
Рисунок 3.14. Редактор disklabel

Как Вы можете видеть на Рисунок 3.14, «Редактор disklabel», здесь два зарезервированных раздела, «c» (представляет раздел NetBSD), и «d» (представляет весь диск). Вы можете редактировать все остальные разделы, выбирая их с помощью клавиш управления курсором и последующим нажатием клавиши «ввод». Вы можете добавлять разделы, выбрав неиспользуемый (unused) слот, и задав параметры для этого раздела. Экран редактора разделов отображен на Рисунок 3.15, «Редактор метки диска»
Рисунок 3.15. Редактор метки диска

После определения всех параметров новой метки диска последним шагом будет ввод названия для диска NetBSD, как показано на Рисунок 3.16, «Назначение имени NetBSD диску». Это сможет использоваться позже, чтобы отличать метку диска от остальных идентичных дисков.
Рисунок 3.16. Назначение имени NetBSD диску

Установщик NetBSD теперь имеет все данные для подготовки диска к установке. В данный момент еще ничего не записано на диск и это последний шанс прервать процесс установки перед действительной записью изменений на диск, как показано на Рисунок 3.17, «Последний шанс перед изменением диска». Выберите «no» для прерывания процесса установки и возвращения в главное меню, или храбро шагайте вперед, выбрав «yes».
Рисунок 3.17. Последний шанс перед изменением диска

3.9. Процесс подготовки диска
После подтверждения этого, sysinst должен подготовить диск. Он запустит disklabel(8) для определения структуры раздела NetBSD и newfs(8) для создания файловой системы на диске, как показано на Рисунок 3.18, «Создание файловой системы».
Рисунок 3.18. Создание файловой системы

После подготовки разделов и файловых систем, следующим вопросом, показанным на Рисунок 3.19, «Выбор загрузочного блока», будет – желаемый для установки загрузочный блок. Скорее всего Вы выберете использование консоли BIOS, т.е. отображать загрузочные сообщения на мониторе ПК.
Если Вы запускаете парк машин без мониторов, более удачным выбором может быть последовательная консоль, запущенная на одном из последовательных портов. Меню также позволяет изменить скорость последовательного порта, по умолчанию настроенного на 9600 бод, 8 бит данных, без проверки четности и одним стоповым битом.
Рисунок 3.19. Выбор загрузочного блока

3.10. Выбор источника данных
Половина пути – Вы закончили первую и самую сложную часть установки!
Вторая половина установочного процесса состоит в копировании операционной системы NetBSD в файловую систему, и распаковка выбранных Вами «наборов» (base, etc, comp, и т.д.). sysinst спросит, какую информацию Вы хотите видеть во время этого процесса, что отображено на рисунке (Рисунок 3.20, «Выбор многословности процесса распаковки»). Вы можете выбрать, отображать ли sysinst строку прогресса, не отображать ничего или показывать название каждого распаковываемого файла.
Рисунок 3.20. Выбор многословности процесса распаковки

Теперь необходимо указать sysinst, где искать наборы NetBSD (файлы .tgz) и Вам необходимо предоставить эту информацию. Меню предлагает несколько вариантов выбора, показанных на Рисунок 3.21, «Источник установочных файлов».
Рисунок 3.21. Источник установочных файлов

Опции детально описаны в документе INSTALL.*.
Возможна установка с непримонтированных файловых систем (предоставляется, если тип опознан загрузочным ядром). Так, например, возможно скопировать все наборы на существующий раздел MS-DOS и устанавливать операционную систему с него.
3.11. Установка с CD-ROM и DVD
Если выбраны «CD-ROM / DVD», sysinst спросит имя устройства CD-ROM или DVD и каталог в котором расположены наборы файлов, см Рисунок 3.22, «CD-ROM/DVD установка». Обычно это устройство cd0 для первого CD-ROM или DVD привода, учитывая, что они на шине IDE или SCSI.
Рисунок 3.22. CD-ROM/DVD установка

Замечание
если Вы используете клавиатуру не US – будьте внимательны при наборе символа «/». См. Раздел 2.3.1, «Клавиатура».
Имя CD-ROM / DVD устройства
если Вам неизвестно имя CD-ROM / DVD устройства, Вы можете его найти следующим способом:
- Нажмите Ctrl-Z чтобы приостановить sysinst и перейдите к приглашению оболочки (это приятное свойство!)
- Наберите команду:
# cat /kern/msgbuf
Это отобразит загрузочные сообщения ядра, включая имя устройства CD-ROM например: cd0.
- Если экран прокручивается слишком быстро, Вы также можете использовать more:
# more /kern/msgbuf
- Вернитесь к установочной программе командой:
# fg
3.12. Установка через FTP
Если Вы выбрали установку через FTP, sysinst сконфигурирует системное сетевое подключение, скачает выбранные наборы файлов во временный каталог и распакует их.
NetBSD 2.0 на данный момент поддерживает установку через локальную сеть (ethernet), ethernet через USB и беспроводное LAN. Установка через DSL (PPP через Ethernet) не поддерживается и нуждается в ручной настройке.
Первый шаг показан на Рисунок 3.23, «Какой сетевой интерфейс конфигурировать» и состоит из выбора конфигурируемой сетевой карты. sysinst определит список доступных сетевых интерфейсов в вашем аппаратном обеспечении, отобразит их и спросит, какой из них должен использоваться.
Замечание
Точные наименования Ваших сетевых интерфейсов зависят от используемого аппаратного обеспечения, например, интерфейс «fxp0» для сетевых карт, основанных на Intel i8255x, «tlp0» для сетевых карт, основанных на TULIP, «wi0» для Lucent WaveLAN и «ath0» для беспроводных сетевых карт, основанных на Atheros. Это неполный список и NetBSD поддерживает намного больше сетевых устройств.
Чтобы получить список сетевых интерфейсов, доступных на Вашей системе (или, лучше, список всех сетевых интерфейсов определенных NetBSD), приостановите установочный процесс нажатием «Ctrl+Z», затем введите
# ifconfig -a
fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
address: 00:06:0d:c6:73:d5
media: Ethernet autoselect (10baseT)
status: active
inet 0.0.0.0 netmask 0xffffff00 broadcast 0.0.0.0
inet6 fe80::206:dff:fec6:73d5%fxp0 prefixlen 64 scopeid 0x1
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 33196
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
strip0: flags=0 mtu 1100
strip1: flags=0 mtu 1100
для получения списка всех сетевых интерфейсов (fxp0, lo0, ppp0, …), и их актуального состояния (которые, возможно, полностью не сконфигурированы на данный момент). Чтобы получить больше информации обо всех устройствах, найденных в процессе загрузки, включая сетевые устройства, введите
# more /kern/msgbuf
Для получения информации лишь об одном устройстве, например «fxp0», выполните:
# grep ^fxp0 /kern/msgbuf
fxp0 at pci1 dev 8 function 0: Intel PRO/100 VE (MOB) Network Controller, rev 131
fxp0: interrupting at irq 11
fxp0: Ethernet address 00:06:0d:c6:73:d5
Вы можете вернуться к установке NetBSD набрав и выполнив:
# fg
Рисунок 3.23. Какой сетевой интерфейс конфигурировать

Далее здесь показана возможность опции конфигурирования Вашего сетевого интерфейса Рисунок 3.24, «Изменение настроек сетевого подключения», такие как установка дуплексного режима для локальной сети и различные настройки для беспроводных карт LAN.
Замечание
Не стоит вводить здесь ничего, кроме настроек по умолчанию. Если у Вас возникнут проблемы, такие как очень медленное скачивание или прерывистость, Вы можете испробовать различные установки дуплексного режима для сетевых карт. Чтобы получить список поддерживаемых носителей и их опций для имеющегося сетевого устройства (скажем: «fxp0»), выйдите из sysinst, нажав «Ctrl+Z», затем выполните:
# ifconfig -m fxp0
fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
address: 00:03:0d:c6:73:d5
media: Ethernet autoselect (10baseT)
status: active
supported Ethernet media:
media 10baseT
media 10baseT mediaopt full-duplex
media 100baseTX
media 100baseTX mediaopt full-duplex
media autoselect
inet 0.0.0.0 netmask 0xffffff00 broadcast 0.0.0.0
inet6 fe80::206:dff:fec6:73d5%fxp0 prefixlen 64 scopeid 0x1
Значения переменных, полученные после «media», самая интересная часть здесь, включая ключевые слова, такие как «autoselect», а также значения настроек «mediaopt».
Вернитесь к процедуре установки, выполнив:
# fg
Рисунок 3.24. Изменение настроек сетевого подключения

Следующим заданием будет выполнить автоконфигурацию DHCP, как показано на Рисунок 3.25, «Использование DHCP конфигурирования сети». Ответьте «Yes», если у Вас имеется сервер протокола динамического конфигурирования хостов (DHCP), запущенный где-нибудь в Вашей сети, и sysinst получит с него номер по умолчанию. Отвечайте «No», и Вы введете все значения вручную.
Чтобы прояснить идею, нам нужно принять, что Вы ответили «No» и рассмотрим все задаваемые вопросы в деталях.
Рисунок 3.25. Использование DHCP конфигурирования сети

Рисунок 3.26, «Ввод и конфигурирование сетевых данных» показаны вопросы, задаваемые для конфигурирования сетевого окружения. Запрашиваемые значения:
- Your DNS Domain:
- Это имя Вашего домена в WRT доменной системы имен (DNS) (и которое не имеет ничего общего ни с какими NIS/YP доменами, в которых Вы можете находиться!).
- Your host name:
- Имя, по которому другие машины обычно могут адресовать ваш компьютер, в реальности не используется в процессе установки.
- Your IPv4 number:
- Введите ваш цифровой адрес IP «четырехчисловой с точками» (примечание ниже.)
- IPv4 Netmask:
- Сетевая маска Вашей сети, любое значение, как шестнадцатеричное («0xffffff00») так и четырехчисловое с точками («255.255.255.0»).
- IPv4 gateway:
- IP адрес Вашего шлюза. Не используйте имя хоста.
- IPv4 name server:
- IP адрес Вашего (первого) сервера DNS. Опять же, нельзя использовать имя хоста, во избежание некоторых удручающих проблем.
Замечание
Запомните, большинство параметров сетевой конфигурации не не сохранятся в системе, которую Вы установите. Можно утверждать, что это должно происходить, но NetBSD создана не для этого. Конфигурирование настроек сети производится совместно с остальными настройками, необходимыми для работы NetBSD после установки, см. Глава 4, Первая загрузка, Глава 5, Вторая загрузка и в основном все окончание данного руководства. Да, NetBSD предоставляет Вам массу выборов!
Рисунок 3.26. Ввод и конфигурирование сетевых данных

После ответа на все вопросы по конфигурации сети, данные будут снова отображены, и предоставлена возможность вернуться назад и ввести их опять, см. Рисунок 3.27, «Подтверждение параметров сети», если выбрать «No». Выберите «Yes» для продолжения установки, если Вы удовлетворены Вашими настройками.
Рисунок 3.27. Подтверждение параметров сети

Теперь sysinst запустит несколько команд (подробно здесь не показанных) для конфигурации сети: обнулит таблицу маршрутизации, установит маршрутизатор по умолчанию и проверит работоспособность сети.
Следующим заданным вопросом будет: «где расположить скачиваемые файлы?», см. Рисунок 3.28, «Какой каталог использовать для скачиваемого». Обычно подходит каталог по умолчанию, он располагается в файловой системе NetBSD.
Рисунок 3.28. Какой каталог использовать для скачиваемого

После того, как программа установки узнает, куда скачивать файлы, какое сетевое соединение использовать для этого и в какой раздел и файловую систему это распаковывать, остается только указать, откуда скачивать установочные наборы. Отображенный на Рисунок 3.29, «Определение расположения источника установочных наборов» диалог позволяет это настроить. Вы можете установить хост, с которого будут получены наборы, основной каталог версии NetBSD которую вы хотите установить и каталог с установочными наборами (относительно основного каталога), который обычно содержит необходимую архитектуру. Вы также можете изменить имя пользователя FTP («user») и пароль, если необходимо. Если Вы хотите использовать для скачивания FTP-прокси, введите его URL как он есть.
Если Вы удовлетворены вашими настройками (настройки по умолчанию подходят в большинстве случаев), для продолжения выберите «Get Distribution».
Рисунок 3.29. Определение расположения источника установочных наборов

Если вы совершили ошибку и sysinst не может найти файлы, он сообщит Вам об этом, как показано на Рисунок 3.30, «В процессе скачивания произошла ошибка» и у Вас будет шанс вернуться и снова установить место, откуда будет возможно скачать установочные наборы.
Рисунок 3.30. В процессе скачивания произошла ошибка

Если данные для скачивания верны, набор файлов будет скачан и сохранен в назначенном ранее каталоге, как показано на Рисунок 3.31, «Скачивание установочных наборов».
Рисунок 3.31. Скачивание установочных наборов

3.13. Распаковка файлов
После того, как все установочные наборы доступны, из любого места, как с CD-ROM/DVD так и из каталога, в который они были скачаны, они будут распакованы в новую файловую систему NetBSD. Рисунок 3.32, «Распаковка файлов» показывает пример процесса распаковки со строкой прогресса, выбранной ранее.
Рисунок 3.32. Распаковка файлов

После распаковки всех выбранных наборов, sysinst в каталоге /dev создадутся узлы устройств и затем появится сообщение об удачном завершении процедуры.
Если наборы файлов скачивались из сети, Вы можете удалить их после распаковки, или оставить. sysinst спросит и сделает как Вы скажете – выберете «No», чтобы сохранить файлы или «Yes», чтобы удалить их, как показано на Рисунок 3.33, «Удалять наборы после распаковки?».
Рисунок 3.33. Удалять наборы после распаковки?

Очередное сообщение (см. Рисунок 3.34, «Распаковка наборов завершена») уведомит Вас, что распаковка наборов завершена и у Вас есть возможность настроить несколько существенных параметров перед завершением установки NetBSD.
Рисунок 3.34. Распаковка наборов завершена

3.14. Конфигурация системы
Сначала Вы можете установить временную зону, в которой расположена система. По умолчанию это универсальные временные координаты (UTC), но Вы можете использовать двухуровневое меню Рисунок 3.35, «Выбор Вашей временной зоны» из континентов/стран и городов для определения Вашей временной зоны. Если Вы определились с выбором, нажмите клавишу «ввод» чтобы обновить отображение Вашего локального времени. Нажмите «x» после «ввода», чтобы выйти из выбора временной зоны.
Рисунок 3.35. Выбор Вашей временной зоны

Далее нужно будет выбрать алгоритм для шифрования файла паролей (Рисунок 3.36, «Выбор алгоритма шифрования паролей»). Пока что DES – это стандартный алгоритм, используемый большинством систем Unix. MD5 и Blowfish позволяют использовать более длинные пароли чем DES, который может использовать лишь первые восемь символов введенного пароля. DES применяется для сохранения возможности взаимодейсвия с другими операционными системами (например с NIS).
Рисунок 3.36. Выбор алгоритма шифрования паролей

После этого Вам будет предложено установить пароль пользователя root, см. Рисунок 3.37, «Задать пароль пользователя root сейчас или позже?». NetBSD не запускает ни один сервис, когда загружается после установки, однако рекомендуется задать пароль пользователя root прямо здесь, из соображений безопасности.
Рисунок 3.37. Задать пароль пользователя root сейчас или позже?

Если Вы согласны задать пароль пользователя root, sysinst запустит для Вас утилиту passwd(1) и Вам будет необходимо ввести Ваш новый пароль пользователя root (дважды). Учтите, что этот пароль не будет отображаться в процессе набора, но, если Вы введете очень простой пароль, система предупредит Вас об этом, см. Рисунок 3.38, «Установка пароля пользователя root». Если Вы повторите введение данного простого пароля снова, NetBSD примет его и предоставит вам то, чего вы хотите, обеспечивая Ваши руки всеми необходимыми веревочками (образно выражаясь, конечно).
Рисунок 3.38. Установка пароля пользователя root

Далее Вы перейдете к выбору интерпретатора командной строки, также известного в Unix, как «оболочка (shell)», для использования во время сеанса суперпользователя root. Что отображено на Рисунок 3.39, «Выбор оболочки для сеанса root», оболочка по умолчанию – C shell (csh), остальные: Korn shell (ksh) и classic Bourne shell (sh). Пока что системы BSD используют «csh» для входа в систему системного администратора, в современных ситемах появилась тенденция к использованию Bourne shell (или его вариаций, таких как ksh или bash), и, может быть, удобнее выбрать их, если у Вас есть опыт работы с этими системами. В противном случае, выбор по умолчанию тоже неплох и он может быть изменен в любое время (см. Раздел 4.6, «Смена командной оболочки»).
Рисунок 3.39. Выбор оболочки для сеанса root

Теперь установка завершена , см. Рисунок 3.40, «Поздравляем».
Рисунок 3.40. Поздравляем

После прохождения диалога, подтверждающего установку, sysinst вернется в главное меню sysinst. Удалите все установочные носители (дискету, CDROM) из Ваших приводов и выберите «Reboot the computer» для загрузки Вашей установленной NetBSD, как показано на Рисунок 3.41, «Перезагрузка системы для завершения установки».
Рисунок 3.41. Перезагрузка системы для завершения установки

2.1. Документация
Документация по NetBSD в основном находится в формате страниц руководства man и предоставляет превосходное техническое описание системы. Не стану отрицать, что это не подходит для учебного пособия (не говоря о том, что Вы не сможете прочитать их без установки NetBSD); это повод для существования этого руководства.
Замечание
Конечно, Вы можете изучать страницы руководства через вэб интерфейс, но я не думаю, что это подходящий способ для изучения системы.
После установки Вы сможете найти некоторые руководства BSD в каталоге /usr/share/doc. Они разделены на три основных секции, psd (Дополнительная документация UNIX программиста), smm (Руководство системного администратора UNIX) и usd (Дополнительная документация пользователя UNIX). Вы можете читать текст на терминале с помощью, например:
$ cd /usr/share/doc/smm/09.sendmail
$ nroff -me 09.sendmail/intro.me | more
или Вы можете сгенерировать вывод Postscript, используя Makefiles.
Неоспоримо, что этого недостаточно и поэтому Вам необходимо использовать максимум из имеющихся возможностей; релиз NetBSD содержит некоторые документы в текстовом формате и на сайте NetBSD Вы можете найти дополнительную информацию и коллекцию FAQ.
Оригинальная документация
Сайт NetBSD содержит документацию и руководства двух типов: общие и платформно-зависимые. Эта информация написана просто и обычно легка для понимания; например, Вы можете найти:
- как получить доступ к DOS/Windows разделам из NetBSD
- как запустить NetBSD из загрузчика Windows NT
- …
Все версии NetBSD содержат следующие файлы:
INSTALL.txt, INSTALL.ps, INSTALL.html
- Замечания по установке. Это самый важный документ и Вы должны внимательно прочитать (и перечитать его). Он содержит описание системы NetBSD, список поддерживаемого аппаратного обеспечения и, самое главное, инструкцию по установке.
- Страница руководства release(7)
- описание структуры NetBSD, выпуск которой Вы установили.
На вэб сайте NetBSD Вы можете найти, среди прочего, следующую документацию:
- NetBSD FAQ
- основная информация и ссылки на другие FAQ.
- NetBSD/i386 FAQ
- NetBSD/i386 специфичный FAQ.
- NetBSD основы работы в сети
- руководство по сети и конфигурации PPP.
2.2. Схема установки NetBSD
Структура файлов установки NetBSD описана в вышеупомянутых файлах INSTALL.*. Например, для платформы i386 бинарные файлы располагаются в каталоге i386/binary/sets и исходные тексты в source/sets. Каталог source/patches содержит патчи к основному релизу, которые часто исправляют ошибки или проблемы безопасности, обнаруженные после выпуска.
2.3. Установка
Первое, что нужно сделать перед установкой NetBSD – прочитать информацию о релизе и замечания по установке в одном из файлов INSTALL.*: это официальное описание процедуры установки.
Далее, Вам необходимо решить какой носитель вы будете использовать. Вы можете выбрать следующее:
- FTP
- NFS
- CD-ROM/DVD
- floppy disk (гибкий диск)
- Unmounted filesystem (размонтированная файловая система)
- local directory (локальный каталог)
2.3.1. Клавиатура
Установочная программа NetBSD sysinst позволит вам сменить раскладку клавиатуры в процессе установки. Если по каким-либо причинам у Вас это не сработает, можно использовать схему из следующей таблицы.
| US |
IT |
DE |
FR |
| - |
‘ |
? |
) |
| / |
- |
- |
! |
| = |
? |
‘ |
- |
| : |
? |
? |
M |
| ; |
? |
? |
m |
| # |
? |
§ |
3 |
| « |
° |
? |
% |
| * |
( |
( |
8 |
| ( |
) |
) |
9 |
| ) |
= |
= |
0 |
| ‘ |
? |
? |
? |
| ` |
\ |
^ |
@ |
| \ |
? |
# |
` |
Если вы используете клавиатуру не US, Вы должны сменить раскладку клавиатуры после установки.
2.3.2. Геометрия дисков
В установочной программе упоминается два типа геометрии жесткого диска. Вам необходимо понимать, что имеется ввиду:
- real geometry (реальная геометрия)
- BIOS geometry (геометрия BIOS)
real geometry это реальная геометрия жесткого диска, определенная системой. BIOS geometry это геометрия, используемая BIOS, и она может отличаться от реальной (например, BIOS может перепланировать диск с использованием LBA).
Диск, используемый в установочном примере, – IDE диск со следующей геометрией:
real: 6232 cyl, 16 heads, 63 sec
BIOS: 779 cyl, 128 heads, 63 sec (LBA)
Как Вы можете видеть, BIOS перепланировала диск, используя LBA, эффективное снижение количества цилиндров и увеличение количества дорожек (но результат один: 6232 * 16 = 779 * 128 = 99712). Сектор содержит 512 байт, которые определяют размер диска в 6232 * 16 * 63 * 512 = 3 GB. NetBSD нет необходимости перепланировать геометрию диска (и, в сущности, она не хочет этого делать). В процессе установки возможно изменение геометрии вручную, если sysinst делает это неправильно.
2.3.3. Разделы
Терминология, используемая в NetBSD для разбиения, отличается от типичной терминологии DOS/Windows. Фактически здесь имеется две схемы разбиения: NetBSD устанавливается в один из первичных разделов BIOS (разделы определяются в таблице разделов жесткого диска).
Внутри этого BIOS раздела (также называемого slice (англ.; часть, доля)) NetBSD определяет BSD разделы, используя disklabel: эти разделы можно увидеть только из NetBSD и они идентифицируются буквами в нижнем регистре (начиная с «a»). Например, wd0a указывает на раздел «a» первого диска IDE (wd0) и sd0a указывает на раздел «a» первого диска SCSI. В Рисунок 2.1, «Разделы», где имеется два первичных BIOS раздела, один используется DOS, а другой NetBSD. NetBSD описывает структуру диска через метки диска.
Рисунок 2.1. Разделы

Замечание
Смысл раздела «c» и «d» типичен для реализации платформы i386. Другие реализации используют отличные от данного соглашения (т.е. «c» обозначает весь диск.)
Замечание
Если NetBSD разделяет жесткий диск с другими ОС (как в предыдущем примере) Вам, вероятно, необходимо установить загрузочный менеджер, т.е. программу, позволяющую Вам выбирать ОС во время загрузки. sysinst может это для Вас сделать и сконфигурировать простой, но эффективный менеджер загрузки.
2.3.4. Требования к размеру жесткого диска
Объем, необходимый для установки NetBSD, зависит от того, какую установку Вы планируете выполнять (т.е. сервер или рабочую станцию). Например, рассмотрим домашний компьютер с жестким диском на 420 MB (несколько маловат по сегодняшним меркам) с системой X, исходными текстами ядра и несколькими приложениями (Netscape, …). Раздел swap – 32 MB. df покажет следующее:
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/wd1a 31887 16848 13444 56% /
/dev/wd1e 363507 173202 172129 50% /usr
Как Вы видите, в NetBSD 225 MB свободного места всего, из них 120 MB в файловой системе /usr для Вас и Ваших файлов.
2.3.5. Повторим
Когда Вы устанавливаете ОС впервые, то успех редок и NetBSD не исключение. Даже если все идет хорошо, так скоро, как Вы начнете использовать систему, Вы, скорее всего, поймете то, (например) что Вам необходимо выбрать лучшую схему для Вашего раздела. Главное не отказаться от этого, если Вы попробуете снова реализовать то, что так сложно для понимания в первый раз. Мало-помалу придет прояснение достоинств за счет накопления опыта и количества перечитываний документа INSTALL.*.
В процессе первой инсталляции разумнее одобрить предложения по умолчанию sysinst и избегать, например, изменения разметки дисков.