[FAQ-Index] [Глава 3 - Начинаем работать с OpenBSD] [Глава 5 - Сборка системы из исходников]
OpenBSD давно пользуется уважением за простой процесс установки, одинаковый для всех платформ.
На большинстве платформ процедура установки одинакова, однако, на некоторых из них все же встречаются незначительные отличия. В любом случае, мы рекомендуем вам ознакомиться с файлом INSTALL, расположенным в каталоге требуемой платформы на CD-ROM или FTP (например, i386/INSTALL.i386, macppc/INSTALL.macppc или sparc/INSTALL.sparc).
Программа установки OpenBSD представляет собой специальное ядро с набором утилит и установочных скриптов, включенных в предварительно загружаемый RAM диск. После загрузки этого ядра, операционная система распаковывается из нескольких сжатых tar(1) (.tgz) файлов, расположенных не на RAM диске. Есть несколько различных способов загрузить установочное ядро:
Предоставляемые образы могут быть использованы для создания установочной дискеты на другой UNIX- или Windows-системе. Обычно, этот файл называется floppy52.fs, хотя для некоторых платформ может быть несколько образов.
После загрузки установочного ядра вы сможете выбрать откуда будет получен набор установочных файлов. Опять же, не все платформы поддерживают все предлагаемые варианты.
Перед началом установки, вам необходимо иметь некоторое представление о том, что вы хотите получить в итоге. По крайней мере, вам понадобится следующая информация:
В качестве примера мы рассмотрим установочные образы, доступные для платформ i386 и sparc.
Для платформы i386 существует шесть различных образов установочных дисков:
Для платформы sparc предлагается четыре различных образа установочного диска:
Для создания CD-ROM можно использовать файлы образов cd52.iso или install52.iso. Детали по созданию CD приводятся здесь, выбор же инструментов для этого, оставляем читателям.
В OpenBSD можно создать CD из ISO образа с помощью cdio(1):
# cdio tao cd52.iso |
К большинству пишущих приводов CD, продающихся для Windows и Macintosh систем, прилагается программное обеспечение для записи ISO-образов. Если у вас его нет, существуют различные бесплатные приложения, которые можно использовать для записи.
Другие UNIX-подобные системы используют такие приложения, как: cdrkit.
Конкретные детали и имена устройств могут отличаться в разных UNIX-системах; используйте то, что подходит для вашей системы.
Для форматирования дискеты и проверки плохих секторов можно воспользоваться коммандой fdformat(1).
# fdformat /dev/rfd0c Format 1440K floppy `/dev/rfd0c'? (y/n): y Processing VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV done. |
Если на экране вы увидите вывод комманды, похожий на приведенный выше, значит с дискетой все в порядке. Однако, если вы не увидите ВСЕ "V", значит дискета, скорее всего, повреждена и ее необходимо заменить.
Для записи файла образа на диск, используйте dd(1). Пример использования dd(1) приведен ниже:
# dd if=floppy52.fs of=/dev/rfd0c bs=32k |
После того, как образ будет записан, проверьте идентичность записанного образа оригиналу с помощью команды cmp(1). Если, в результате выполнения команды вы просто увидите командную строку, значит дискета идентична образу.
# cmp /dev/rfd0c floppy52.fs |
Чтобы подготовить дискету в Windows, сначала её следует отформатировать. Следует также убедиться, что диск не имеет плохих секторов.
Для записи установочного образа на подготовленную дискету можно использовать программу ntrw.exe, которую можно загрузить из каталога tools на любом из FTP-зеркал.
Пример использования ntrw:
C:\> ntrw floppy52.fs a: 3.5", 1.44MB, 512 bytes/sector bufsize is 9216 1474560 bytes written |
Так же, можно установить операционную систему, загрузив bsd.rd из существующего раздела OpenBSD, или по сети, используя процесс загрузки PXE.
Необходимо, чтобы система на мониторе отобразила ROM-строку, которая обычно выглядит, как "ok". Если вы используете клавиатуру Sun, нажмите и удерживайте "STOP", в то же время, нажав "А". При использовании последовательной консоли, нажатие BREAK вернет вас к строке монитора.
Для загрузки с дискеты используйте следующую команду:
ok boot floppy |
Обычно, на системе Sun можно загрузиться с CDROM из командной строки, если ввести 'boot cdrom':
ok boot cdrom |
Программа инсталляции предложит схему разделов на жестком диске, исходя из его размера. Хотя эта схема может и не подойти вам, она послужит хорошей отправной точкой и хорошей общей стратегией для создания того, что вам нужно.
Мы начнем с очень простой установки, кратко поясняя возможные варианты, а использование приводящихся в тексте гиперссылок, позволит вам получить дополнительную информацию по интересующим вас деталям.
Замечания по установке для каждой платформы находятся на установочных CD и FTP-серверах в файле INSTALL.<плат>, где <плат> это ваша платформа, например, i386.
В любой момент процесса установки OpenBSD, вы можете, нажав CTRL-C, завершить текущую попытку установки, а, выполнив install в командной строке оболочки, перезапустить установку без перезагрузки. Вы также можете ввести "!" в большинстве мест в установке, чтобы получить доступ к командной строке, а затем выйти из оболочки и вернуться к программе установки.
При успешой загрузке вы увидите много выводимых на экран текстовых сообщений. На большинстве архитектур это текст белого цвета на синем фоне, являющися ни чем иным, как dmesg выводом ядра с информацией о том, какие устройства были обнаружены. Копия этих текстовых сообщений сохраняется как /var/run/dmesg.boot.
Далее вы увидите следующее:
... root on rd0a swap on rd0b dump on rd0b erase ^?, werase ^W, kill ^U, intr ^C, status ^T Welcome to the OpenBSD/i386 5.2 installation program. (I)nstall, (U)pgrade or (S)hell? i |
И вот, мы приходим к первому вопросу. Вы увидите три варианта для выбора:
At any prompt except password prompts you can escape to a shell by
typing '!'. Default answers are shown in []'s and are selected by
pressing RETURN. You can exit this program at any time by pressing
Control-C, but this can leave your system in an inconsistent state.
Choose your keyboard layout ('?' or 'L' for list) [default] Enter
|
Если вы не выберете раскладку клавиатуры (или тип терминала, если установлена последовательная консоль), будет использоваться раскладка US.
System hostname? (short form, e.g. 'foo') puffy |
Это значение, наряду с именем DNS (определяется ниже), будет сохранено в файл /etc/myname, который используется в процессе обычной загрузки для установки имени хоста системы. Если не установить доменное имя, будет использовано значение "my.domain".
Available network interfaces are: fxp0 vlan0. Which one do you wish to configure? (or 'done') [fxp0] Enter |
vlan0 представляет собой виртуальный интерфейс VLAN. Сейчас мы пропустим этот вариант и сконцентрируемся на физических интерфейсах. Если у вас их несколько, они будут здесь перечислены. Обратите внимание, что они идентифицируются по имени драйвера, а не как общие устройства Ethernet. В данном случае, "fxp0" является первым устройством, использующим драйвер fxp(4), fxp1 будет вторым устройством и т.д. Подробнее об именах устройств можно узнать в FAQ 6.
После выбора устройства, сразу же переходим к его настройке. В большинстве случаев, вам нужно будет выбрать настройку с использованием DHCP:
IPv4 address for fxp0? (or 'dhcp' or 'none') [dhcp] Enter Issuing hostname-associated DHCP request for fxp0. DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 1 DHCPOFFER from 192.168.1.250 (08:00:20:94:0b:c8) DHCPREQUEST on fxp0 to 255.255.255.255 port 67 DHCPACK from 192.168.1.250 (08:00:20:94:0b:c8) bound to 192.168.1.199 -- renewal in 43200 seconds. |
DHCP сконфигурирует IP адрес, маску подсети, шлюз и DNS. Если вы не используете DHCP, необходимо будет указать все эти настройки вручную; более детально смотрите обсуждение ниже.
Если вам необходимы какие-либо IPv6 настройки или нужно настроить другие интерфейсы (или вам не нравиться, как настроен предыдущий интерфейс), вы можете это сделать прямо сейчас, но в данном случае мы делаем следующее:
IPv6 address for fxp0? (or 'rtsol' or 'none') [none] Enter Available network interfaces are: fxp0 vlan0. Which one do you wish to configure? (or 'done') [done] Enter Using DNS domainname example.org Using DNS nameservers at 192.168.1.252 Do you want to do any manual network configuration? [no] Enter |
Если вы ответите "yes" на последний вопрос, то попадете в консоль, где сможете настроить все, что считаете необходимым. Затем введите "exit" для возврата в программу установки.
Password for root account? (will not echo) PaSsWoRd Password for root account? (again) PaSsWoRd |
Для учетной записи root используйте надежный пароль. Помните, что на ваш компьютер можно будет зайти из сети. Для этого надо будет лишь подобрать верный пароль.
Позже вы сможете создать административную учетную запись и отключить удаленный доступ (SSH) к root аккаунту, но надежный пароль для учетной записи root все равно необходим.
Start sshd(8) by default? [yes] Enter |
sshd(8) можно запускать при старте системы, но, если он вам не нужен, то его отключение даст небольшое теоретическое преимущество для безопасности.
Start ntpd(8) by default? [no] y NTP server? (hostname or 'default') [default] Enter |
Здесь вам предоставляется возможность разрешить запуск OpenNTPD - реализация NTP в OpenBSD. OpenNTPD является низкозатратным способом поддерживать часы вашего компьютера точно синхронизированными. В конфигурации по умолчанию используется pool.ntp.org, который используют большинство общедоступных серверов времени по всему миру.
Одной из причин, по которой не стоит запускать ntpd(8), является использование мультизагрузки. В этом случае используется другая ОС, которая не использует GMT в аппаратных часах, и вы не хотели бы, чтобы OpenBSD изменяла время другой ОС.
Do you expect to run the X Window System? [yes] Enter |
Не на всех платформах будет задан вопрос о запуске X Window System, а только на тех, которым требуется установка sysctl для использования X. Ответ "yes" повлечет за собой изменение /etc/sysctl.conf, в который будет добавлена строка machdep.allowaperture=1 или machdep.allowaperture=2 (в зависимости от вашей платформы).
Если вы не планируете запускать Х на вашей системе или не уверены, ответьте здесь 'N'. Эти настройки можно будет изменить позже, отредактировав /etc/sysctl.conf. Оставляя драйвер xf86(4) отключенным, вы потенциально улучшаете безопасность системы, так как графический движок для современной видео карты потенциально может быть использован для изменения памяти в обход контроля со стороны процессора. Обратите внимание, что "неграфические" приложения, которые используют для работы библиотеки и утилиты Х, НЕ требуют установки sysctl.
Do you want the X Window System to be started by xdm(1)? [no] y |
xdm(1) запускает X-окружение при загрузке системы. Мы рекомендуем его использовать, если вы уверены, что Х будет работать на вашей системе. В противном случае, настройте X перед использованием xdm(1).
Setup a user? (enter a lower-case loginname, or 'no') [no] Enter |
Тут вы можете создать обычного пользователя (ОТЛИЧНОГО от root). Этот пользователь будет входить в группу "wheel", т.е. сможет использовать su(1) и получать почту, адресованную root.
Если вы хотите создать пользователя, введите имя пользователя, а не "y" или "yes".
Правильная разметка диска, пожалуй, самая трудная часть установки OpenBSD.
Настройка дисков в OpenBSD немного отличается между платформами. Для i386, amd64, macppc, zaurus и armish, настройка дисков происходит в два этапа. Сначала, используя fdisk(8), на жестком диске выделяется слайс для OpenBSD, затем этот слайс при помощи disklabel(8) разбивается на разделы OpenBSD.
Некоторых пользователей может несколько смутить данная терминология. Вы заметите, что мы будем использовать термин "раздел" в двух различных смыслах. Да, это так. Для перечисленных выше платформ в OpenBSD есть два уровня партиционирования. Первый можно назвать уровнем ОС, т.е. методом разметки своего пространства для каждой ОС. Второй определяет разбиение раздела OpenBSD на подразделы с отдельными файловыми системами. Результат первого уровня мы сможем увидеть из DOS, Windows и любой другой ОС, понимающей такую схему партиционирования. Второй уровень виден только из OpenBSD и тех ОС, которые понимают и могут напрямую работать с файловой системой OpenBSD. (Стоит отметить, что именно для избежания такой путаницы, когда требуется одновременно обсуждать разделы обоих уровней, разделы первого уровня называются слайсами, и лишь разделы второго уровня собственно разделами - прим. пер.)
Программа установки OpenBSD старается упростить процесс создания разделов на диске, используя установки по умолчанию, которые подходят для "общих" задач. Следует отметить, что несмотря на то, что каждый может создать свою собственную таблицу разделов, новичкам все же стоит начать с использования настроек по умолчанию. Во всяком случа до того, пока они не будут четко представлять почему это им не подходит. Отметим так же, что структура разметки по умолчанию будет меняться в зависимости от размера вашего диска.
Предположим, на данный момент, у нас есть диск размером 40 Гб.
Available disks are: wd0.
Which one is the root disk? (or 'done') [wd0] Enter
Use DUIDs rather than device names in fstab? [yes] Enter
Disk: wd0 geometry: 5221/255/63 [40960 Megabytes]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 06 0 1 1 - 521 254 63 [ 63: 8385867 ] DOS > 32MB
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Use (W)hole disk or (E)dit the MBR? [whole] Enter
Setting OpenBSD MBR partition to whole wd0...done.
|
Обратите внимание, что на этом диске уже есть раздел и, при выборе "using whole disk" (использовать весь диск), он будет удален!
Использование всего диска повлечет за собой:
Дополнительную информацию об использовании fdisk для работы с разделами можно найти ниже.
Итак, приступим, используя disklabel(8), к созданию разделов внутри слайса, созданного до этого при помощи fdisk:
Setting OpenBSD MBR partition to whole wd0...done.
The auto-allocated layout for wd0 is:
# size offset fstype [fsize bsize cpg]
a: 1024.0M 64 4.2BSD 2048 16384 1 # /
b: 199.0M 2097216 swap
c: 40960.0M 0 unused
d: 2822.9M 2504768 4.2BSD 2048 16384 1 # /tmp
e: 4295.0M 8286112 4.2BSD 2048 16384 1 # /var
f: 2048.0M 17082240 4.2BSD 2048 16384 1 # /usr
g: 1024.0M 21276544 4.2BSD 2048 16384 1 # /usr/X11R6
h: 5426.7M 23373696 4.2BSD 2048 16384 1 # /usr/local
i: 1699.7M 34487520 4.2BSD 2048 16384 1 # /usr/src
j: 2048.0M 37968576 4.2BSD 2048 16384 1 # /usr/obj
k: 20367.4M 42162880 4.2BSD 2048 16384 1 # /home
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] Enter
|
Программа установки предлагает использовать для раздела OpenBSD настройки по умолчанию ("Auto layout"), с чем мы соглашаемся.
Если предлагаемая схема вам не подходит, вы, конечно же, можете её отредактировать или изменить полностью. Более подробно о создании разделов можно узнать ниже.
ЗАМЕЧАНИЯ для переустановки: Новый инсталлятор при выборе "(C)ustom Layout" не будет очищать имеющуюся разметку раздела, но вам нужно будет повторно указать точки монтирования, используя в disklabel(8) опцию 'm'.
Сейчас программа установки создаст эти разделы и, с помощью newfs(8), файловые системы на них, а также, примонтирует разделы для установки:
/dev/rwd0a: 1024.0MB in 2097152 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0k: 20367.4MB in 41712448 sectors of 512 bytes 101 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0d: 2822.9MB in 5781344 sectors of 512 bytes 14 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0f: 2048.0MB in 4194304 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0g: 1024.0MB in 2097152 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0h: 5426.7MB in 11113824 sectors of 512 bytes 27 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0j: 2048.0MB in 4194304 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0i: 1699.7MB in 3481056 sectors of 512 bytes 9 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0e: 4295.0MB in 8796128 sectors of 512 bytes 22 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/wd0a on /mnt type ffs (rw, asynchronous, local) /dev/wd0k on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0d on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0f on /mnt/usr type ffs (rw, asynchronous, local, nodev) /dev/wd0g on /mnt/usr/X11R6 type ffs (rw, asynchronous, local, nodev) /dev/wd0h on /mnt/usr/local type ffs (rw, asynchronous, local, nodev) /dev/wd0j on /mnt/usr/obj type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0i on /mnt/usr/src type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0e on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid) |
Обратили внимание, что раздел "c" нами не использован? Этот раздел - весь наш диск; не пытайтесь его использовать.
Location of sets? (cd disk ftp http or 'done') [cd] ftp HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] Enter Server? (hostname, list#, 'done' or '?') [mirror.example.org] obsd.cec.mtu.edu |
Если вы не можете вспомнить имя зеркала (предпочитаемое вами или любое другое), программа установки будет использовать зеркало по умолчанию. В противном случае, нажмите "?" для получения списка зеркал и выберите номер зеркала, которое хотите использовать.
Server directory? [pub/OpenBSD/5.2/i386] Enter Login? [anonymous] Enter |
Все общедоступные FTP-зеркала поддерживают анонимный доступ, но у вас может быть и локальная машина, которая требует авторизации (т.е. использование логина и пароля).
Теперь вы можете настроить список набора файлов.
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-' to the set name, file name pattern or 'all'. Selected
sets are labelled '[X]'.
[X] bsd [X] etc52.tgz [X] xbase52.tgz [X] xserv52.tgz
[X] bsd.rd [X] comp52.tgz [X] xetc52.tgz
[ ] bsd.mp [X] man52.tgz [X] xshare52.tgz
[X] base52.tgz [X] game52.tgz [X] xfont52.tgz
Set name(s)? (or 'abort' or 'done') [done] Enter
|
Как минимум, вам необходимо ядро (bsd), наборы файлов base52.tgz и etc52.tgz. Если вы не знаете, что делать, используйте наборы файлов, предложенные по умолчанию. Вы можете добавлять и удалять наборы файлов, используя символы "+" и "-" перед именем набора, можно также использовать шаблоны:
И вот настал этап, к которому готовил нас установщик OpenBSD! Самое время установить выбранные выше компоненты в соответствии с произведенными настройками.
bsd 100% |*************************************| 8810 KB 00:05 bsd.rd 100% |*************************************| 6271 KB 00:03 base52.tgz 100% |*************************************| 55415 KB 00:26 etc52.tgz 100% |*************************************| 519 KB 00:00 comp52.tgz 100% |*************************************| 60165 KB 00:28 man52.tgz 100% |*************************************| 9497 KB 00:06 game52.tgz 100% |*************************************| 2567 KB 00:02 xbase52.tgz 100% |*************************************| 11028 KB 00:06 xetc52.tgz 100% |*************************************| 63902 00:00 xshare52.tgz 100% |*************************************| 4511 KB 00:04 xfont52.tgz 100% |*************************************| 38869 KB 00:17 xserv52.tgz 100% |*************************************| 25113 KB 00:15 Location of sets? (cd disk ftp http or 'done') [done] Enter |
Да, вопрос о том, откуда вы хотите их установить, задается еще раз. Это сделано для того, чтобы можно было переустановить какой-либо набор файлов, если вы что-то пропустили, забыли или не смогли установить, а также для установки пользовательских наборов файлов.
Мы используем наборы по умолчанию и завершаем установку.
What timezone are you in? ('?' for list) [Canada/Mountain] US/Michigan US/Michigan
|
OpenBSD предполагает, что часы реального времени вашего компьютера (RTC) установлены в GMT, но вы также должны указать в каком часовом поясе вы находитесь. Там может быть несколько вариантов, отвечающих вашему физическому расположению. Используйте "?" для просмотра списка всех часовых поясов.
Обратите внимание, что программа установки часто правильно определяет ваш часовой пояс, и вам останется только нажать "Enter".
Если вы ранее активировали OpenNTPD, то, вероятно, увидите нечто подобное:
Time appears wrong. Set to 'Thu Nov 1 19:50:15 EDT 2012'? [yes] Enter |
Это позволить установить точное время на вашем компьютере.
Дополнительно о настройках часового пояса здесь.
Saving configuration files...done. Generating initial host.random file...done. Making all device nodes...done. CONGRATULATIONS! Your OpenBSD install has been successfully completed! To boot the new system, enter 'reboot' at the command prompt. When you login to your new system the first time, please read your mail using the 'mail' command. # |
После перезагрузки стоит сразу ознакомиться с afterboot(8).
Также могут показаться полезными следующие ссылки:
Which one do you wish to configure? (or 'done') [xl0] Enter IPv4 address for xl0? (or 'dhcp' or 'none') [dhcp] 192.168.1.37 Netmask? [255.255.255.0] 255.255.254.0 IPv6 address for xl0? (or 'rtsol' or 'none') [none] Enter |
После настройки (по средствам заданных вопросов) одной сетевой карты или адаптера у вас будет возможность настроить остальные, имеющиеся в вашей системе. Если вы укажете имя другой сетевой карты, вопросы естественно будут заданы снова.
Available network interfaces are: xl0 vlan0. Which one do you wish to configure? (or 'done') [done] |
Сейчас нужно будет указать адрес шлюза и DNS сервера - компонентов сети, влияющих на всю сетевую систему ОС:
Default IPv4 route? (IPv4 address, 'dhcp' or 'none') 192.168.1.1 add net default: gateway 192.168.1.1 DNS domain name? (e.g. 'bar.com') [my.domain] example.org DNS nameservers? (IP address list or 'none') [none] 192.168.1.250 192.168.1.251 |
Обратите внимание, что можно перечислить несколько DNS, разделяя их адреса пробелами.
Иногда вам может понадобиться сделать нечто большее, чем, например, просто настроить доступ к беспроводной сети или установить дуплексный режим или скорость передачи данных (не делайте этого, если в этом нет абсолютной НЕОБХОДИМОСТИ, исправление конфигурации свича будет лучшей идеей!). Сейчас предоставляется возможность с помощью интерпретатора shell вручную настроить все, что вам необходимо.
Do you want to do any manual network configuration? [no] y
Type 'exit' to return to install.
# ifconfig xl0 media
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:08:74:2c:df:9c
groups: egress
media: Ethernet autoselect (100baseTX full-duplex)
status: active
supported media:
media 10baseT
media 10baseT mediaopt full-duplex
media 100baseTX
media 100baseTX mediaopt full-duplex
media autoselect
inet 192.168.1.37 netmask 0xfffffe00 broadcast 192.168.1.255
# ifconfig xl0 media 100baseTX mediaopt full-duplex
# ifconfig xl0
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:08:74:2c:df:9c
groups: egress
media: Ethernet 100baseTX full-duplex
status: active
inet6 fe80::208:74ff:fe2c:df9c%xl0 prefixlen 64 scopeid 0x1
inet 192.168.1.37 netmask 0xfffffe00 broadcast 192.168.1.255
# exit
...setup resumes...
|
(туда, где мы, возможно, были)
Множественные файлы описания часового пояса иногда дают одинаковое текущее время, однако, могут иметь различную историю. Например, EST5EDT и US/Michigan сейчас используют одинаковое время, но в 1975 году правила были разными. Таким образом, если выполняются какие-либо действия с датами и временем, вы должны будете позаботиться об этих различиях. Вы должны использовать наиболее конкретный и точный файл часового пояса, доступный для вашего региона, а не тот, который дает только точное время в данный момент.
Если вы сомневаетесь, программа установки OpenBSD поможет вам найти подходящий файл часового пояса. Просто введите "?" в каждой строке и программа установки покажет вам возможные варианты. Если первый уровень ответов не подходит, выберите страну и посмотрите варианты:
What timezone are you in? ('?' for list) [right/EST5EDT] ?
Africa/ Chile/ GB-Eire Israel NZ-CHAT UCT
America/ Cuba GMT Jamaica Navajo US/
Antarctica/ EET GMT+0 Japan PRC UTC
Arctic/ EST GMT-0 Kwajalein PST8PDT Universal
Asia/ EST5EDT GMT0 Libya Pacific/ W-SU
Atlantic/ Egypt Greenwich MET Poland WET
Australia/ Eire HST MST Portugal Zulu
Brazil/ Etc/ Hongkong MST7MDT ROC posix/
CET Europe/ Iceland Mexico/ ROK posixrules
CST6CDT Factory Indian/ Mideast/ Singapore right/
Canada/ GB Iran NZ Turkey
What timezone are you in? ('?' for list) [right/EST5EDT] US
What sub-timezone of 'US' are you in? ('?' for list) ?
Alaska Central Hawaii Mountain Samoa
Aleutian East-Indiana Indiana-Starke Pacific
Arizona Eastern Michigan Pacific-New
What sub-timezone of 'US' are you in? ('?' for list) Michigan
|
Мы сейчас установили время "US/Michigan". Это создаст символическую ссылку в /etc, указывающую на соответствующий файл временной зоны в /usr/share/zoneinfo, примерно так:
Обратите внимание на каталог "right/". Он включает в себя вторую часть настроек, но иначе дублирует стандартный выбор временной зоны. Подробнее здесь./etc/localtime -> /usr/share/zoneinfo/US/Michigan
(туда, где мы, возможно, были)
fdisk(8) используется для работы с разделами OpenBSD на вашем жестком диске. Это помогает отличать раздел OpenBSD от разделов, используемых другими ОС.
Если на вашем жестком диске есть раздел, который вы хотите оставить, НЕ выбирайте "(W)hole disk". Да, в этом случае вам придется редактировать таблицу разделов при помощи fdisk(8). Дополнительную информацию об использовании fdisk(8) можно найти здесь. Перед началом работы с системой, содержащей данные, которые вы не хотите потерять, убедитесь, что имеете резервную копию. В процессе создании таблицы разделов очень легко уничтожить важные данные, поэтому убедитесь, что (при необходимости) вы готовы к их восстановлению.
Если вы устанавливаете OpenBSD на машину с другими ОС, вам, перед установкой, понадобится выделить место на диске. Обычно, это удаление или уменьшение размера уже существующих разделов. Программа gparted может оказаться полезной для работы с разделами многих популярных ОС, давая возможность установить OpenBSD на освободившееся место.
В данном примере мы будем считать, что начинаем с пустого 40 Гб диска и хотим создать мультизагрузочную систему, оставив 5 Гб вначале диска для Windows, а остальное отдаем OpenBSD. Обратите внимание, что пустой диск должен иметь правильный загрузочный сектор MBR и подпись, которые, в свою очередь, должны быть записанны на диск прежде, чем с него что-то будет загружено.
Этот процесс точно такой же, как для работы с существующим разделом. Необходимо только пропустить этап создания раздела для Windows и заняться установкой загрузочного сектора MBR.
Available disks are: wd0. Which one is the root disk? (or 'done') [wd0] Enter MBR has invalid signature; not showing it. |
Если на диске обнаружена верная MBR, то будет показана существующая таблица разделов.
Use (W)hole disk or (E)dit the MBR? [whole] e
You will now create a single MBR partition to contain your OpenBSD data. This
partition must have an id of 'A6'; must *NOT* overlap other partitions; and
must be marked as the only active partition. Inside the fdisk command, the
'manual' command describes all the fdisk commands in detail.
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Enter 'help' for information
fdisk: 1>
|
Прежде всего, обратите внимание на командную строку fdisk. Цифра "1" указывает на первый уровень таблицы разделов, если бы вы редактировали расширенный раздел, это была бы цифра 2 (или больше). Расширенные разделы представляют собой разделы, включающие в себя свои подразделы, что позволило обойти ограничение в четыре раздела IBM AT. Здесь расширенные разделы рассматриваться не будут.
Сначала мы должны создать раздел "0" - раздел Windows 5 Гб (используя NTFS) и раздел "1" на оставшемся месте диска для OpenBSD.
fdisk: 1> e 0
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Partition id ('0' to disable) [0 - FF]: [0] (? for help)
|
Так как мы не знаем какой ID раздела соответствует NTFS, можно ввести "?" для просмотра списка поддерживаемых ФС.
Partition id ('0' to disable) [0 - FF]: [0] (? for help) ?
Choose from the following Partition id values:
00 unused 20 Willowsoft 66 NetWare 386 A9 NetBSD
01 DOS FAT-12 24 NEC DOS 67 Novell AB MacOS X boot
02 XENIX / 27 Win Recovery 68 Novell AF MacOS X HFS+
03 XENIX /usr 38 Theos 69 Novell B7 BSDI filesy*
04 DOS FAT-16 39 Plan 9 70 DiskSecure B8 BSDI swap
05 Extended DOS 40 VENIX 286 75 PCIX BF Solaris
06 DOS > 32MB 41 Lin/Minux DR 80 Minix (old) C0 CTOS
07 NTFS 42 LinuxSwap DR 81 Minix (new) C1 DRDOSs FAT12
08 AIX fs 43 Linux DR 82 Linux swap C4 DRDOSs < 32M
09 AIX/Coherent 4D QNX 4.2 Pri 83 Linux files* C6 DRDOSs >=32M
0A OS/2 Bootmgr 4E QNX 4.2 Sec 84 OS/2 hidden C7 HPFS Disbled
0B Win95 FAT-32 4F QNX 4.2 Ter 85 Linux ext. DB CPM/C.DOS/C*
0C Win95 FAT32L 50 DM 86 NT FAT VS DE Dell Maint
0E DOS FAT-16 51 DM 87 NTFS VS E1 SpeedStor
0F Extended LBA 52 CP/M or SysV 8E Linux LVM E3 SpeedStor
10 OPUS 53 DM 93 Amoeba FS E4 SpeedStor
11 OS/2 hidden 54 Ontrack 94 Amoeba BBT EB BeOS/i386
12 Compaq Diag. 55 EZ-Drive 99 Mylex EE EFI GPT
14 OS/2 hidden 56 Golden Bow 9F BSDI EF EFI Sys
16 OS/2 hidden 5C Priam A0 NotebookSave F1 SpeedStor
17 OS/2 hidden 61 SpeedStor A5 FreeBSD F2 DOS 3.3+ Sec
18 AST swap 63 ISC, HURD, * A6 OpenBSD F4 SpeedStor
19 Willowtech 64 NetWare 2.xx A7 NEXTSTEP FF Xenix BBT
1C ThinkPad Rec 65 NetWare 3.xx A8 MacOS X
Partition id ('0' to disable) [0 - FF]: [0] (? for help) 07
|
Сейчас мы определим значения начала и завершения раздела:
Do you wish to edit in CHS mode? [n] |
Режим CHS позволяет указывать дисковое пространство в формате: цилиндр - головка - сектор (CHS). Имейте в виду, что для современных жестких дисков CHS номера полностью фиктивны; всего три номера, которые транслируются в секторы на диске, будут переведены в физическую геометрию ваших дисков (которая, вероятно, изменяется по диску в любом случае).
Если вы ответили здесь "y", вам будет предложено указать начало и конец цилиндра, головки и сектора. Если вы ответите "no", вам будет предложено указать начало сектора и размер. Редактирование CHS часто бывает проще при работе вблизи существующих разделов, т.к. указать начальный сектор и размер проще, если вы хотите быстро создать раздел заданного размера.
offset: [0] 64 |
Стоит сказать, что fdisk оставляет немного места перед первым разделом. На современных машинах точный размер не имеет значения, OpenBSD использует по умолчанию 64 сектора. Этот отступ создается по соображениям производительности.
size: [0] 5g Rounding to nearest cylinder: 10490382 |
Значением "Size" может быть количество секторов (по 512 байт каждый) или желаемый объем со следующими обозначениями "k", "m" или "g". При редактировании с использованием смещения и размера, fdisk будет округлять разделы так, что бы они заканчивались на границе цилиндра.
Теперь, давайте посмотрим на наш новый раздел:
fdisk:*1> p
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 07 0 1 1 - 652 254 63 [ 63: 10490382 ] NTFS
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
fdisk:*1>
|
Обратите внимание, что командная строка теперь включает в себя "*". Это означает, что есть несохраненные изменения.
Мы выделили место для нашего будущего раздела Windows. Обратите внимание, что этот раздел пока не создан. Мы просто зарезервировали место на диске (раздел не отформатирован, файловая система не создана). Дальнейшие операции над этим разделом вы можете проделать во время установки самой Windows.
Сейчас мы создадим раздел OpenBSD. В этом случае, идентификатор раздела будет "A6".
fdisk:*1> e 1
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Partition id ('0' to disable) [0 - FF]: [0] (? for help) a6
Do you wish to edit in CHS mode? [n] Enter
offset: [0]
|
Оп-па... Что с нашим смещением? Все просто - смещение предыдущего раздела плюс размер раздела, в данном случае, 63 +10490382 = 10490445.
offset: [0] 10490445 size: [0] * fdisk:*1> |
Обратите внимание, что здесь мы ввели "*", как размер, что означает "остальная часть диска". Опять же, мы могли бы ввести размер в секторах, "m" или "g", если мы захотели оставить свободное место для чего-то ещё.
Теперь мы посмотрим на нашу таблицу разделов:
fdisk:*1> p
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0x0
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 07 0 1 1 - 652 254 63 [ 63: 10490382 ] NTFS
1: A6 653 0 1 - 4998 5 63 [ 10490445: 69802803 ] OpenBSD
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
fdisk:*1>
|
МЫ ЕЩЕ НЕ ЗАКОНЧИЛИ!
Этот диск все еще не загрузочный!
Поскольку это был новый диск,
MBR диска была совершенно пустой.
Сообщение: "Signature: 0x0" показывает, что отсутствует
действительная подпись (0xAA55), а это значит, что отсутствует действительный
код загрузки. Конечно, у вас могла бы быть действительная подпись без
корректного загрузочного кода при случайном невезении или повреждении
существующего загрузочного кода, но наличие недействительной подписи
указывает на то, что отсутствует загрузочный код, и, таким образом, мы сейчас
его установим при помощи команды "update":
fdisk:*1> update Machine code updated. fdisk:*1> |
Мы также должны установить "flag" раздела как "active", для того, чтобы загрузочная ROM знала из какого раздела грузиться:
fdisk:*1> f 1 Partition 1 marked active. |
Теперь давайте посмотрим, что у нас в итоге получилось:
fdisk:*1> p
Disk: wd0 geometry: 4998/255/63 [80293248 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 07 0 1 1 - 652 254 63 [ 63: 10490382 ] NTFS
*1: A6 653 0 1 - 4998 5 63 [ 10490445: 69802803 ] OpenBSD
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
fdisk:*1>
|
Вот контрольный список того, что вы должны проверить перед выходом из fdisk(8):
(туда, где мы, возможно, были)
Все разделы, которые включают FFS, должны находиться в пределах OpenBSD fdisk(8) раздела, однако, не-OpenBSD разделы могут (и обычно должны) быть вне этого раздела.
Более подробную информацию об использовании disklabel можно найти здесь.
Более подробную информацию о создании разделов, а также несколько советов касательно их размеров можно найти ниже.
Программа установки OpenBSD разметит диск автоматически в удобной конфигурации "общего назначения", основанной на размере вашего диска. Если ваш диск достаточно большой, неиспользуемое пространство будет выделено под раздел /home. Иногда это помогает и бывает весьма полезно, однако это не может удовлетворить потребности всех пользователей.
Предположим, что мы создаем web-сервер для использования нашими друзьями. У нас есть подключенная к Интернету машина, с 40Гб диском, при этом мы будем использовать, в основном, OpenBSD (с тем же 5Гб разделом Windows, как в примере выше). Почему? Возможно, эта система имеет RAID-контроллер, поддерживаемый OpenBSD, но управляемый только из Windows. Однако, скорее всего, потому, что редактор FAQ не испытывает симпатии к поддержке многих различных систем.
Страницы web-сервера в OpenBSD будут находиться в /var/www, и, совсем немного, в /home. Это указывает на необходимость сделать определенные изменения в схеме по умолчанию. В целях обсуждения, мы также считаем, что нам не понадобится пересобирать операционную систему из исходников на этой машине (мы сделаем это в другом месте). Мы не будем запускать X, однако, учитывая, что некоторые web-приложения требуют установленный X, мы его установим. Наша машина не слишком мощная и не может иметь более 1Гб оперативной памяти, но вряд ли нашему приложению понадобится больше.
Таким образом, после некоторого размышления, наш план разметки диска состоит в следующем:
The auto-allocated layout for wd0 is:
# size offset fstype [fsize bsize cpg]
a: 1024.0M 10490445 4.2BSD 2048 16384 1 # /
b: 252.1M 12587597 swap
c: 39205.7M 0 unused
d: 2319.3M 13103933 4.2BSD 2048 16384 1 # /tmp
e: 3653.9M 17853877 4.2BSD 2048 16384 1 # /var
f: 1149.8M 25337016 4.2BSD 2048 16384 1 # /usr
g: 1024.0M 27691862 4.2BSD 2048 16384 1 # /usr/X11R6
h: 3422.6M 29789014 4.2BSD 2048 16384 1 # /usr/local
i: 5122.3M 63 NTFS
j: 1848.7M 36798433 4.2BSD 2048 16384 1 # /usr/src
k: 1848.7M 40584654 4.2BSD 2048 16384 1 # /usr/obj
l: 17540.2M 44370875 4.2BSD 2048 16384 1 # /home
Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] c
|
Если бы мы хотели сделать только незначительные изменения, мы бы, вероятно, решили "Редактировать" предложенную автоматическую разбивку, а не начинать с чистого листа, но мы собираемся выбрать сложный вариант.
You will now create an OpenBSD disklabel inside the OpenBSD MBR
partition. The disklabel defines how OpenBSD splits up the MBR partition
into OpenBSD partitions in which filesystems and swap space are created.
You must provide each filesystem's mountpoint in this program.
The offsets used in the disklabel are ABSOLUTE, i.e. relative to the
start of the disk, NOT the start of the OpenBSD MBR partition.
Label editor (enter '?' for help at any prompt)
> p
OpenBSD area: 10490445-80293248; size: 69802803; free: 69802803
# size offset fstype [fsize bsize cpg]
c: 80293248 0 unused
i: 10490382 63 NTFS
>
|
Обратите внимание, что уже есть два существующих раздела, -- раздел "с", который всегда существует и создан автоматически, но disklabel(8) также сообщает, о существующем разделе NTFS и назначенной ему метке раздела, таким образом, этот раздел потенциально может быть доступен из OpenBSD (обратите внимание, в настоящее время поддержка NTFS является экспериментальной и требует собственного ядра, но поддержка FAT/FAT32 реализована довольно хорошо).
Теперь мы создадим наши разделы. Мы начнем с нашего корневого раздела "a":
> a a offset: [10490445] Enter size: [69802803] 100m Rounding to cylinder: 208845 FS type: [4.2BSD] Enter mount point: [none] / > |
Обратите внимание, что по умолчанию disklabel использует первый доступный сектор OpenBSD на диске, это, как раз то, что мы хотим. Кроме того, по умолчанию в размер раздела включается все доступное пространство, что нас НЕ устраивает. Здесь мы использовали необходимый нам размер, который может быть указан в секторах, "M" или "G".
Вы, скорее всего, захотите использовать файловую систему по умолчанию "4.2BSD" для раздела FFS (Fast File System) или FFS2, хотя могут быть использованы другие полезные типы, включая "swap" и "RAID".
Наконец, указывается точка монтирования. Наш раздел "а" является корневым разделом по определению.
Теперь мы создаем swap, который является нашим разделом «b» (опять же, установлено, что раздел "b" на загрузочном диске - это swap):
> a b offset: [10699290] Enter size: [69593958] 1g Rounding to cylinder: 2104515 FS type: [swap] Enter > |
Итак, disklabel правильно рассчитал наш начальный сектор, и предложил нам использовать размер "всего оставшегося пространства", которое мы снова установили сами. Поскольку это раздел «b», disklabel предположил, что он должен использоваться для подкачки, и, когда мы это подтвердили, вопрос о точке монтирования не задавался.
Теперь мы готовы создать остальные разделы.
> a d offset: [12803805] Enter size: [67489443] 2g Rounding to cylinder: 4209030 FS type: [4.2BSD] Enter mount point: [none] /usr > a e offset: [17012835] Enter size: [63280413] 100m Rounding to cylinder: 208845 FS type: [4.2BSD] Enter mount point: [none] /tmp > a f offset: [17221680] Enter size: [63071568] 2g Rounding to cylinder: 4209030 FS type: [4.2BSD] Enter mount point: [none] /usr/local > a g offset: [21430710] Enter size: [58862538] 1g Rounding to cylinder: 2104515 FS type: [4.2BSD] Enter mount point: [none] /usr/X11R6 > a h offset: [23535225] Enter size: [56758023] 1g Rounding to cylinder: 2104515 FS type: [4.2BSD] Enter mount point: [none] /home > a j offset: [25639740] Enter size: [54653508] 1g Rounding to cylinder: 2104515 FS type: [4.2BSD] Enter mount point: [none] /var > a k offset: [27744255] Enter size: [52548993] Enter FS type: [4.2BSD] Enter mount point: [none] /var/www > |
Отметим, что на разделе /var/www ("k"), мы просто взяли значение по умолчанию, чтобы использовать все оставшееся свободное место на диске. С современными чудовищно огромными дисками, обычно это плохая идея. При наличии опыта, вы никогда не будете использовать его целиком, не выделяйте его и сохраните его для использования в будущем.
Теперь, давайте посмотрим на наши результаты, используя команды "р" и "p m":
> p
OpenBSD area: 10490445-80293248; size: 69802803; free: 0
# size offset fstype [fsize bsize cpg]
a: 208845 10490445 4.2BSD 2048 16384 1 # /
b: 2104515 10699290 swap
c: 80293248 0 unused
d: 4209030 12803805 4.2BSD 2048 16384 1 # /usr
e: 208845 17012835 4.2BSD 2048 16384 1 # /tmp
f: 4209030 17221680 4.2BSD 2048 16384 1 # /usr/local
g: 2104515 21430710 4.2BSD 2048 16384 1 # /usr/X11R6
h: 2104515 23535225 4.2BSD 2048 16384 1 # /home
i: 10490382 63 NTFS
j: 2104515 25639740 4.2BSD 2048 16384 1 # /var
k: 52548993 27744255 4.2BSD 2048 16384 1 # /var/www
> p m
OpenBSD area: 10490445-80293248; size: 34083.4M; free: 0.0M
# size offset fstype [fsize bsize cpg]
a: 102.0M 10490445 4.2BSD 2048 16384 1 # /
b: 1027.6M 10699290 swap
c: 39205.7M 0 unused
d: 2055.2M 12803805 4.2BSD 2048 16384 1 # /usr
e: 102.0M 17012835 4.2BSD 2048 16384 1 # /tmp
f: 2055.2M 17221680 4.2BSD 2048 16384 1 # /usr/local
g: 1027.6M 21430710 4.2BSD 2048 16384 1 # /usr/X11R6
h: 1027.6M 23535225 4.2BSD 2048 16384 1 # /home
i: 5122.3M 63 NTFS
j: 1027.6M 25639740 4.2BSD 2048 16384 1 # /var
k: 25658.7M 27744255 4.2BSD 2048 16384 1 # /var/www
>
|
Как и с fdisk, ваши подразделы раздела OpenBSD не должны перекрываться (кроме раздела 'c', который перекрывает все разделы).
Запишите ваши изменения и выйдите из disklabel:
> w > q No label changes. newfs: reduced number of fragments per cylinder group from 13048 to 12992 to enlarge last cylinder group /dev/rwd0a: 102.0MB in 208844 sectors of 512 bytes 5 cylinder groups of 25.38MB, 1624 blocks, 3328 inodes each /dev/rwd0h: 1027.6MB in 2104512 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each newfs: reduced number of fragments per cylinder group from 13048 to 12992 to enlarge last cylinder group /dev/rwd0e: 102.0MB in 208844 sectors of 512 bytes 5 cylinder groups of 25.38MB, 1624 blocks, 3328 inodes each /dev/rwd0d: 2055.2MB in 4209028 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0g: 1027.6MB in 2104512 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0f: 2055.2MB in 4209028 sectors of 512 bytes 11 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0j: 1027.6MB in 2104512 sectors of 512 bytes 6 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/rwd0k: 25658.7MB in 52548992 sectors of 512 bytes 127 cylinder groups of 202.47MB, 12958 blocks, 25984 inodes each /dev/wd0a on /mnt type ffs (rw, asynchronous, local) /dev/wd0h on /mnt/home type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0e on /mnt/tmp type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0d on /mnt/usr type ffs (rw, asynchronous, local, nodev) /dev/wd0g on /mnt/usr/X11R6 type ffs (rw, asynchronous, local, nodev) /dev/wd0f on /mnt/usr/local type ffs (rw, asynchronous, local, nodev) /dev/wd0j on /mnt/var type ffs (rw, asynchronous, local, nodev, nosuid) /dev/wd0k on /mnt/var/www type ffs (rw, asynchronous, local, nodev, nosuid) Let's install the sets! ... |
(туда, где мы, возможно, были)
Полная установка OpenBSD разбита на некоторое количество компонентов. Не каждое приложение требует наличия всех компонентов. Вот краткое их описание:
Если вам нужен X, просто установите его. Это не повредит больше, чем нужное вам какое-либо приложение.
Если вы решили не устанавливать компилятор, возможно, вам понадобится другая система для сборки обновлений программного обеспечения. Существует гораздо больше систем, которые были скомпрометированы из-за неправильного обслуживания, чем из-за установки компилятора.
Очевидно, что ответ на этот вопрос в значительной степини зависит от того, как вы планируете использовать систему. OpenBSD может быть установлена на диск всего в 512 Мб, но установка на таком малом устройстве дело для продвинутых пользователей. До тех пор, пока у вас не появится некоторый опыт, рекомендуется начинать с диска объемом от 4Гб до 8Гб.
В отличие от многих других операционных систем, OpenBSD рекомендует пользователям вместо того, чтобы использовать только один или два больших раздела, разбивать диск на несколько разделов. Есть ряд причин, для использования такой разбивки:
Некоторые дополнительные мысли о разбивке диска:
Для загрузки OpenBSD предпочтительно использовать один из четырех основных разделов MBR (то есть, на расширенных разделах это может не работать).
Обратите внимание, что в Windows 7 и Vista можно изменить размер своих системных разделов: нужно перейти в Панель управления, найти "разбивка", и запустить соответствующие системные инструменты. Щелкните правой кнопкой мыши на раздел и вы увидите, что можете уменьшить его. Его основным ограничением является то, что файл Windows Exchange не может быть перемещен, так что, если вам понадобится больше свободного места, вам придется переместить/отключить его.
Вот несколько вариантов настройки мультизагрузки:
boot hd0a:/bsd
для того, чтобы система загружала файл ядра /bsd с жесткого диска
0, раздела 'а' OpenBSD. Вы можете также загрузиться и с другого диска, например:
"boot hd2a:/bsd" для загрузки с третьего жесткого диска. Для загрузки
OpenBSD вставьте дискету и перезагрузитесь. Для загрузки другой ОС - извлеките
дискету и перегрузитесь (можно, конечно, использовать эту дискету, и для
создания загрузочного CD).
В этом случае программа boot(8) загружается с гибкого диска, находит и считывает файл /etc/boot.conf. Команда "boot hd0a:/bsd" указывает boot(8) откуда загружать ядро — в данном случае с первого жесткого диска, согласно настройкам BIOS. С дискеты загружается только маленький файл (/boot) — сама система, включая ядро, загружается с жесткого диска, так что процесс загрузки увеличится всего секунд на пять.
# dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1Внимание! Это хороший момент напомнить вам о том, что исполнение команд в командной строке методом перепечатывания, без понимания их смысла, весьма плохая затея. Эта команда не будет работать сходу на большинстве компьютеров. Читателю оставляется возможность адаптировать ее к своему компьютеру.
Теперь загружайте NT и разместите openbsd.pbr в корень C:. Добавьте строку следующего вида в конец файла C:\BOOT.INI:
c:\openbsd.pbr="OpenBSD"
После перезагрузки у вас появится возможность выбора OpenBSD из меню загрузчика NT. Дополнительную информацию о NTLDR можно найти в NTLDR Hacking Guide.
В Windows XP вы можете изменить загрузочную информацию из графической оболочки; смотрите XP Boot.ini HOWTO.
Есть программы, которые сделают все за вас, к примеру, BootPart. Эту программу можно запустить в NT/2000/XP, а она сама извлечет OpenBSD PBR, разместит его в разделе NT/2000/XP, и добавит запись в C:\BOOT.INI.
Внимание! Загрузчик Windows NT/2000/XP может загрузить ОС только с основного жесткого диска системы. Вам не удастся загрузить с его помощью OpenBSD, установленную на второй диск.
Начиная с Vista, Microsoft отказалась от поддержки NTLDR в пользу своего нового, используемого для управления загрузкой, Boot Configuration Data (BCD). С тех пор BOOT.INI больше не доступен для настройки, утилиты командной строки, bcdedit заняли его место.
После того, как PBR OpenBSD будет скопирован в системный раздел Vista, следующие три команды необходимы для выбора и загрузки OpenBSD после перезагрузки системы:
C:\Windows\system32> bcdedit /create /d "OpenBSD/i386" /application bootsector
The entry {05a763ce-d81b-11db-b3ec-000000000000} was successfully created.
C:\Windows\System32>
В данном случае программой возвращен GUID 05a763ce-d81b-11dB-b3ec-000000000000 и приводится здесь для иллюстрации. Обратите внимание, что GUID отображенный при запуске этой команды, нужно будет скопировать в следующие команды. Простое копирование GUID, показанного выше, не сработает.
Следующие две команды также обязательны:
C:\Windows\system32> bcdedit /set {05a763ce-d81b-11db-b3ec-000000000000} device boot
The operation completed successfully.
C:\Windows\system32> bcdedit /set {05a763ce-d81b-11db-b3ec-000000000000} path \openbsd.pbr
The operation completed successfully.
C:\Windows\system32>
Эти команды должны быть запущены в оболочке с правами администратора. После того как вы определите расположение cmd.exe, щелкните на нем правой кнопкой мыши для выбора "запуск от имени администратора".
Обратите внимание на использование абсолютного пути к импортированному файлу PBR. Не добавляйте буквенных обозначений дисков, так как предполагается, что файл находится в системном разделе. bcdedit не будет ругаться на явное указание спецификации дисков, однако, менеджер загрузки будет задумываться, утверждая, что не не может разрешить указанный путь.
После перезагрузки, Vista будет первой в списке менеджера загрузки затем следует OpenBSD. Согласно вашего выбора, будет загружена соответствующая операционная система.
Если ничего не происходит, посмотрите в Панели управления информацию о загрузке. Скорее всего, загрузка Windows установлена без задержки, так что вы не видите меню загрузки. Вы также можете установить загрузку OpenBSD по умолчанию.
Для получения дополнительной информации обратитесь к функции помощи bcdedit, используя следующую команду:
C:\Windows\system32> bcdedit /?
или путем поиска документации Microsoft на веб-сайте. Хорошее описание можно найти в этой TechNet статье Часто задаваемые вопросы.
Для тех, кому ручная настройка показалась сложной, можно воспользоваться альтернативным графическим интерфейсом EasyBCD.
С момента выпуска Vista Microsoft расширила BCD для того, чтобы можно было с помощью bcdedit загрузить несколько версий Windows. В связи с этим, появилось больше возможностей и используется пять команд, необходимых для настройки мультизагрузочной среды с OpenBSD.
После копирования PBR OpenBSD в системный раздел Windows 7, используем следующую команду для инициализации реестра:
C:\Windows\system32> bcdedit /create /d "OpenBSD/i386" /application bootsector
The entry {0154a872-3d41-11de-bd67-a7060316bbb1} was successfully created.
C:\Windows\system32>
Как было указано выше, {0154a872-3d41-11de-bd67-a7060316bbb1 GUID} является системно зависимым. Обратите внимание на значение, которое вы получаете при выполнении этой команды, и скопируйте его в следующие команды:
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device boot
The operation completed successfully.
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} path \openbsd.pbr
The operation completed successfully.
C:\Windows\system32> bcdedit /set {0154a872-3d41-11de-bd67-a7060316bbb1} device partition=c:
The operation completed successfully.
C:\Windows\system32> bcdedit /displayorder {0154a872-3d41-11de-bd67-7060316bbb1} /addlast
The operation completed successfully.
C:\Windows\system32>
Многие пользователи OpenBSD успешно используют GAG, The Ranish Partition Manager, rEFIt, и GRUB.
Ознакомьтесь, пожалуйста, с INSTALL.linux, в котором приведены основательные инструкции по работе OpenBSD с Linux.
Еще раз хотим напомнить, что разработчикам OpenBSD очень важно знать, какая аппаратура работает, а какая нет, включая показания аппаратных датчиков, находящися в машинах.
Вот цитата из /usr/src/etc/root/root.mail:
Если вы хотите, чтобы OpenBSD работала лучше на ваших машинах, пожалуйста,
окажите нам любезность (после того, как ваша почтовая система будет настроена!)
и введите что-то вроде:
# (dmesg; sysctl hw.sensors) | \
mail -s "Sony VAIO 505R laptop, apm works OK" dmesg@openbsd.org
таким образом, мы сможем увидеть, на машинах каких конфигураций люди работают.
Как видно, немного информации о вашей машине, содержащейся в теме или теле письма,
может помочь нам еще больше. Мы будем использовать эту информацию для улучшения
поддержки драйверов устройств в будущих выпусках. (Используйте, пожалуйста, для
генерации dmesg прилагаемое ядро GENERIC, а не для собранное пользовательское ядро,
за исключением случая, если вы не в состоянии загрузить ядро GENERIC.
Если у Вас многопроцессорная машина, будет приветствоваться отправка результатов
dmesg для двух ядер: GENERIC.MP и GENERIC.) Из этого файла мы получим информацию
о драйвере устройства, что поможет нам исправить существующие драйверы. Спасибо!
Убедитесь, что вы посылаете письмо с аккаунта, на который также можно получать электронную почту, это нужно для того, чтобы разработчики могли связаться с вами, если нужно будет что-то протестировать, изменить или получить ваши рабочие настройки. Не важно, если письмо будет отправлено не с той же машины, на которой работает OpenBSD, так что, если машина не в состоянии получать электронную почту, просто используйте:
$ (dmesg; sysctl hw.sensors) | mail your-account@yourmail.domа затем перенаправьте сообщение на
dmesg@openbsd.orgгде your-account@yourmail.dom является вашей учетной записью электронной почты.
ПРИМЕЧАНИЯ
Описанный выше метод очень прост, однако, если вы решили не настраивать почту на вашей системе OpenBSD, постарайтесь все равно отправить dmesg разработчикам. Вы можете сохранить вывод dmesg в текстовый файл.
$ (dmesg; sysctl hw.sensors) > ~/dmesg.txtЗатем передать этот файл (с использованием FTP/scp/дискеты/почтового голубя/ ...), в систему, на которой вы обычно пользуетесь электронной почтой. Отправляемый вами вывод dmesg, обрабатывается автоматически, поэтому убедитесь в следующем при использовании альтернативных почтовых клиентов/систем:
Бывают случаи, когда вы понимаете, что вам действительно нужен comp52.tgz (или любой другой из компонентов системы), но вы не можете сейчас его установить, т.к. система уже установлена. Можем обрадовать: есть два простых способа добавления компонентов после установки:
# cd / # tar xzvphf comp52.tgz |
НЕ забывайте использовать в приведенной выше команде опцию 'р', которая необходима для установления правильных прав доступа к файлам!
Одной из распространенных ошибок является уверенность в том, что вы можете использовать pkg_add(1) для добавления недостающих наборов файлов. Это не сработает. pkg_add (1) является инструментом управления пакетами для установки стороннего программного обеспечения. Эта программа обрабатывает файлы пакета, а не обычные tar файлы, которыми являются установочные наборы.
Если вы устанавливаете на вашей системе набор файлов xbase в первый раз, используя tar(1) и без перезагрузки, необходимо будет после установки обновить кэш общих библиотек при помощи ldconfig(8) для добавления всех библиотек X в кэш:
Вместо этого, вы можете просто перезагрузить систему, и это будет сделано автоматически сценариями запуска rc(8).# ldconfig -m /usr/X11R6/lib
Название "ядро RAM диска" означает корневую файловую систему ядра, а не физического диска, а также утилиты, доступные после загрузки bsd.rd, которые хранятся в ядре и выполняются из файловой системы, расположенной в оперативной памяти. bsd.rd также включает в себя множество утилит, позволяющих вам обслуживать и устанавливать систему.
На некоторых платформах использование bsd.rd на самом деле является предпочтительной техникой установки - вы помещаете это ядро в существующую файловую систему, загружаете его и запускаете установку. На большинстве платформ, если у вас работает старая версия OpenBSD, вы можете загрузить по FTP новую версию bsd.rd, перезагрузится с ним и установить новую версию OpenBSD вообще без использования каких-либо съемных носителей.
Вот пример загрузки bsd.rd на i386 системе:
Using Drive: 0 Partition: 3 reading boot..... probing: pc0 com0 com1 apm mem[639k 255M a20=on] disk: fd0 hd0+ >> OpenBSD/i386 BOOT 3.18 boot> boot hd0a:/bsd.rd . . . normal boot to install . . . |
Как показано выше, вы окажетесь в программе установки, но вы также сможете попасть в оболочку (shell), чтобы сделать обслуживание вашей системы.
Общее правило при загрузке bsd.rd, заключается в том, чтобы изменить загружаемое ядро с /bsd на bsd.rd с помощью средств, используемых на вашей платформе.
machine mem +0x3000000@0x1000000
для добавления 48Мб (0x3000000) после первых 16Mб
(0x1000000). Обычно, если у вас машина с этой проблемой,
вы должны ввести вышеприведенную команду сначала в строке
boot> при загрузке с дискеты/CD-ROM', затем загрузить систему,
перезагрузиться и создать файл /etc/boot.conf с указанной выше
командой в нем, и при всех последующих загрузках будет распознаваться
весь доступный объем оперативной памяти.
Было также сообщение, что в обновлениях на ROM для некоторых систем это будет исправлено.
# fdisk -u wd0
Примечание: функция "обновление" в интерактивном ("-e") режиме fdisk не
запишет байты подписи, необходимые, для того, чтобы сделать диск загрузочным.
Пользователи очень медленных машин могут генерировать свои ключи на другом компьютере, а затем, поместить их в файл site52.tgz и установить его вместе с остальными наборами файлов.
Display the list of known ftp servers? [no] yes Getting the list from 192.128.5.191 (ftp.openbsd.org)... FAILED Failed to change directory. Server IP address or hostname? |
Это нормальное и ожидаемое поведение при использовании предварительной версии цикла. Программа установки ищет список FTP на основном FTP сервере в каталоге, который не доступен до даты выхода версии, именно поэтому, вы получите вышеприведенное сообщение.
Просто используйте список FTP серверов-зеркал, чтобы найти подходящее вам FTP-зеркало и вручную введите его имя при запросе.
Примечание: При использовании -release или CD-ROM, указанное сообщение не должно появляться.
Хотя эта конфигурация может работать, однако, могут возникнуть проблемы при обслуживании системы и поэтому ошибка должна быть исправлена. Чтобы исправить ситуацию, файловая система диска должна быть воссоздана с нуля (хотя, если вы точно знаете, что делаете, можете восстановить только disklabel и MBR, и тогда вы потеряете только первый OpenBSD раздел на диске, который нужно будет восстановить).
В действительности, наборы файлов в -release должны полностью соответствовать своим контрольным суммам.
Время от времени, snapshot может не содержать в установочном ядре соответствующих контрольных сумм. Это может случиться по различным причинам при сборке и не является причиной для паники. Если для вас это важно, дождитесь следующего snapshot.
Этот набор файлов позволяет пользователям добавлять и/или переопределять файлы, установленные в «нормальных» наборах и, таким образом, настроить установку или обновление.
Вы также можете создавать и использовать системно-зависимые наборы файлов, которые будут называться siteXX-<hostname>.tgz, например, "site52-puffy.tgz". Это позволяет использовать предназначенные для конкретного хоста настройки установки, обновления или аварийного восстановления.
Вот некоторые примеры использования файла siteXX.tgz:
Обратите внимание, что сценарий install.site должен находиться в файле siteXX.tgz file, в то время, как сценарий upgrade.site может быть помещен в корневой каталог до обновления или в файл siteXX.tgz.
Сценарии могут быть использованы для многих вещей:
Сочетание siteXX.tgz и файлов install.site/upgrade.site предназначено для того, чтобы предоставить пользователям широкие возможности настройки без необходимости создавать свои собственные пользовательские установочные наборы.
Примечание: если вы будете осуществлять установку с HTTP-сервера, вам будет нужно добавить ваш site*.tgz файл(ы) в index.txt, расположенный в исходном каталоге, для того, чтобы они были видны как опции во время установки. Это не является необходимым при использовании FTP или других способов установки.
Если эта ситуация приемлема в вашем случае, тогда вам подойдет команда dd, позволяющая скопировать один диск на другой, сектор в сектор. Это позволяет обеспечить такую же функциональность, как у коммерческих программ без каких-либо затрат.
mount -t msdos /dev/fd0a /mnt
dmesg >/mnt/dmesg.txt
umount /mnt
Если у вас есть другая система OpenBSD, вы также можете записать его на
OpenBSD совместимую дискету - часто, загрузочная дискета имеет достаточно
места для сохранения dmesg. В этом случае, нужно в команде выше
убрать "-t msdos".
Общая информация о настройке последовательной консоли приведена в другом месте FAQ; для того, чтобы захватить вывод журнала установки, обычно, достаточно следующих команд.
i386
В строке приглашения загрузчика, введите
boot> set tty com0
Это укажет OpenBSD использовать первый последовательный порт (часто называемый в документации PC COM1 или COMA) в качестве последовательной консоли. По умолчанию используется скорость 9600 бод.
Sparc/Sparc64
Эти машины будут автоматически использовать последовательную консоль, если были запущены без клавиатуры. Если у вас подключены клавиатура и монитор, вы все равно можете заставить систему использовать последовательную консоль с помощью следующего вызова в строке ok.
ok setenv input-device ttya ok setenv output-device ttya ok reset
[FAQ-Index] [Глава 3 - Начинаем работать с OpenBSD] [Глава 5 - Сборка системы из исходников]