Однопользовательский режим


На сайте http://www.englishforbusiness.ru/training/ записывайтесь на курсы бизнес английского.

Минимальная начальная загрузка, так называемый  однопользовательский режим, подразумевает загрузку ядра и нахождение  устройств. При этом не происходит автоматического монтирования  диска, подключения к сети, активизации защиты системы и запуска стандартных служб UNIX. Однопользовательский режим — это первый рубеж, на котором система способна дать вам доступ к командной строке (command prompt). Отсюда можно активизировать любые службы, которые не были запущены автоматически.

При запуске в однопользовательском режиме вы увидите привычный поток системных сообщений. Однако перед запуском каких-либо программ ядро предложит вам выбрать командную оболочку. Вы можете выбрать любую оболочку, интерпретатор которой находится в  корневом разделе диска. Я обычно выбираю оболочку по умолчанию — /bin/sh, но вы можете выбрать оболочку, исходя из своих предпочтений, например /bin/tcsh.

Диски в однопользовательском режиме

В однопользовательском режиме монтируется только корневой  раздел, причем в режиме только для чтения. Остальные диски не  монтируются. (Подробнее диски и файловые системы будут обсуждаться в главе 8, а пока просто читайте дальше.)

Многие программы, которые могут вам потребоваться, находятся в разделах, отличных от корневого, поэтому все разделы должны быть доступны в режиме чтения/записи. Чтобы убедиться, что эти файловые системы находятся в исправном состоянии, запустите следующие  команды:

# fsck -p
# mount -a

Программа fsck(8) «почистит» файловые системы, подтвердит их внутреннюю целостность и действительное наличие файлов раздела на  диске. Доступ к файловой системе открывается командой mount(8).

Ключ говорит о необходимости выполнить монтирование всех  файловых систем, перечисленных в файле /etc/fstab (глава 8), но если  какая-либо из этих файловых систем вызывает проблемы, можно смонтировать требуемые файловые системы по отдельности, указав в  командной строке путь к точке монтирования (например, mount /usr).  Если вы обладаете опытом настройки сетевых файловых систем (глава 8), вы увидите сообщения об ошибке монтирования этих файловых  систем, поскольку в этот момент сеть еще не была запущена.

Если монтирование по имени каталога не получилось, попробуйте  вместо него использовать имя устройства. Имя устройства корневого  раздела, скорее всего, будет либо /dev/ad0s1a (для дисков IDE), либо /dev/da0s1a (для дисков SCSI). При этом вам также потребуется указать имя точки монтирования этого раздела. Например, чтобы смонтировать первый раздел диска IDE как корневую файловую систему, введите  команду:

# mount /dev/ad0s1a /

Если на вашем сервере имеются сетевые файловые системы, а сеть еще не запущена, тогда смонтируйте все локальные файловые системы, указав тип файловой системы. Следующая команда монтирует все  локальные файловые системы типа UFS, которая по умолчанию  используется системой FreeBSD:

# mount -a -t ufs

Программы, доступные в однопользовательском режиме

Круг команд, доступных в однопользовательском режиме, зависит от того, какие разделы были смонтированы. Некоторые основные  команды находятся в каталогах /bin и /sbin, расположенных в корневом  разделе, и доступны, даже если корневой раздел смонтировать в режиме только для чтения. Другие команды находятся в каталоге /usr и будут недоступны, пока вы не смонтируете этот раздел. (Загляните в  каталоги /bin и /sbin, чтобы получить представление, чем вы сможете  воспользоваться, когда что-то пойдет не так.)

Примечание
Если системные библиотеки находятся в шифруемом разделе (глава 12), ни  одна из этих программ работать не будет. Для таких случаев FreeBSD предоставляет версии многих базовых утилит, связанных с библиотеками статически, в каталоге /rescue.

Сеть в однопользовательском режиме

Если в однопользовательском режиме необходимо подключиться к  сети, используйте сценарий на языке командной оболочки /etc/netstart. Этот сценарий вызовет другие сценарии, необходимые для запуска сетевой подсистемы, настройки сетевых интерфейсов, а также механизмов фильтрации пакетов и маршрутизации. Если вам нужно запустить не все службы, а только некоторые из них, вам необходимо  ознакомиться с текстом этого сценария и выполнить соответствующие команды вручную.

Работа в однопользовательском режиме

В однопользовательском режиме доступ к системе ограничен только вашими познаниями FreeBSD и UNIX.

Например, если вы забыли пароль root, его можно переопределить, находясь в однопользовательском режиме:

# passwd
Changing local password for root
New Password:
Retype New Password:
#

Примечание Обратите внимание: система не требует ввода старого пароля пользователя root. Загрузившись в однопользовательский режим, вы автоматически  становитесь пользователем root поэтому passwd(8) не просит ввести старый пароль.

Или, если вы допустили опечатку в файле /etc/fstab, которая сбивает систему с толку и препятствует нормальной загрузке, вы можете смонтировать корневой раздел, используя имя устройства, отредактировать файл /etc/fstab и тем самым ликвидировать проблему.

Или, если вы используете программу, которая вызывает у системы  панику на этапе загрузки и вам необходимо предотвратить запуск этой программы во время загрузки, вы можете либо отредактировать файл /etc/rc.conf, запретив запуск программы, либо переопределить права файла сценария, сделав его неисполняемым.

# chmod 444 /usr/local/etc/rc.d/program.sh

Подробнее о программах сторонних производителей (порты и пакеты) мы поговорим в главе 11.

Примечание
Во всех этих примерах описываются ошибки, допущенные человеком. Отказы аппаратуры встречаются довольно редко, еще реже — отказы самой системы FreeBSD. Если бы человеку не было свойственно ошибаться, наши компьютеры практически всегда работали бы без перебоев. По мере расширения ваших  познаний о FreeBSD будут расширяться и ваши возможности в  однопользовательском режиме.

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

Комментарии запрещены.