Как выключить freebsd
Перейти к содержимому

Как выключить freebsd

  • автор:

Глава 30. Процедура Выключения FreeBSD — Shutdown

Очень важно правильно завершать работу Операционной системы. Эта процедура называется shutdown. Нельзя просто выключать питание компьютера! Во-первых, необходимо стать суперпользователем используя команду «su», правильно введя пароль root’а на приглашение. Эти действия правомочны лишь для пользователей включенных в группу «wheel». После того как вы стали суперпользователем используя команду «su» или просто зайдя в систему как пользователь root, необходимо выполнить команду shutdown -h now.

bash-2.02$ su Password: Jan 21 22:31:48 k6-2 su: rpratt to root on /dev/ttyv0 k6-2# shutdown -h now Shutdown NOW! shutdown: [pid 261] k6-2# *** FINAL System shutdown message from rpratt@k6-2.weeble.com *** System going down immediately Jan 21 22:33:13 k6-2 shutdown: halt by rpratt: System shutdown time has arrived Shutting down daemon processes:. . Jan 21 22:33:15 k6-2 syslogd: exiting on signal 15 Waiting (max 60 seconds) for system process 'bufdaemon' to stop. stopped Waiting (max 60 seconds) for system process 'syncer' to stop. stopped syncing disks. done Uptime: 1h6m11s The operating system has halted. Please press any key to reboot.

Теперь система подготовлена к выключению питания или перезагрузке. О чем и сообщают последние строки сообщения на экране выданные командой «shutdown -h now».

Предыдущая Оглавление
Процедура Загрузки FreeBSD

Глава 13. Процесс загрузки FreeBSD

Этот перевод может быть устаревшим. Для того, чтобы помочь с переводом, пожалуйста, обратитесь к Сервер переводов FreeBSD.

13.1. Описание

Процесс включения компьютера и загрузки операционной системы называется «процессом первоначальной загрузки», или просто «загрузкой». Процесс загрузки FreeBSD предоставляет большие возможности по гибкой настройке того, что происходит при запуске системы, позволяя вам выбирать из различных операционных систем, установленных на одном и том же компьютере, или даже из различных версий той же самой операционной системы или установленного ядра.

Эта глава подробно описывает параметры, которые вы можете изменить для настройки процесса загрузки FreeBSD. Под этим подразумевается все, что происходит до начала работы ядра FreeBSD, обнаружения устройств и запуска init(8). Если вы не совсем уверены, то это происходит, когда выводимый текст меняет цвет с ярко-белого на серый.

После чтения этой главы вы будете знать:

  • Из каких частей состоит система начальной загрузки FreeBSD, и как эти части взаимодействуют.
  • Параметры, которые вы можете передать компонентам начальной загрузки FreeBSD для управления этим процессом.
  • Основы работы device.hints(5)

Только для x86

Эта глава описывает процесс загрузки FreeBSD только для систем на основе архитектуры Intel x86.

13.2. Проблема загрузки

Включение компьютера и запуск операционной системы приводят к интересной дилемме. По определению до запуска операционной системы компьютер не умеет ничего. В том числе и не знает, как запускать программы с диска. Так что компьютер не может запустить программу с диска без операционной системы, но программы операционной системы находятся на диске, но как запустить операционную систему?

Эта проблема имеет параллели с одной проблемой из книги Приключения барона Мюнхгаузена. Герой провалился в болото, и вытащил сам себя, ухватив за волосы и потянув. В эпоху начала компьютеризации термин начальная загрузка применялся к механизму, используемому для загрузки операционной системы, и затем был сокращен до просто «загрузки».

На оборудовании архитектуры x86 за загрузку операционной системы отвечает BIOS (Basic Input/Output System). Для этого BIOS ищет на жестком диске MBR (Master Boot Record), которая должна располагаться в определенном месте на диске. BIOS может загрузить и запустить MBR, и предполагается, что MBR может взять на себя остальную работу, связанную с загрузкой операционной системы.

Выполняемую часть MBR обычно называют менеджером загрузки (boot manager), в особенности если она взаимодействует с пользователем. В этом случае менеджер загрузки, как правило, занимает большее пространство на первом треке диска или внутри файловой системы ОС. (Менеджер загрузки иногда называют загрузчиком (boot loader), но во FreeBSD этот термин используется для описания более поздней фазы загрузки). Среди популярных менеджеров загрузки стоит отметить boot0 (он же Boot Easy, стандартный менеджер загрузки FreeBSD), Grub, GAG и LILO. Из перечисленных менеджеров загрузки в MBR помещается только boot0.

Если на вашем диске установлена только одна операционная система, то стандартной MBR будет достаточно. Такая MBR выполняет поиск на диске первого загрузочного (активного) слайса, после чего запускает с этого слайса код загрузки оставшейся части операционной системы. Утилита fdisk(8) по умолчанию устанавливает именно такую MBR, на основе файла /boot/mbr .

Если на ваших дисках установлено несколько операционных систем, то вы можете установить другой менеджер загрузки, который может выдать список различных операционных систем и позволит вам выбрать одну из них для загрузки. Два варианта менеджеров загрузки будут описаны чуть ниже.

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

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

13.3. Менеджер загрузки и этапы загрузки

13.3.1. Менеджер загрузки

Код MBR или менеджера загрузки время от времени называют нулевой стадией процесса загрузки. В этом разделе мы обсудим два из упомянутых ранее менеджеров загрузки: boot0 и LILO.

MBR для FreeBSD находится в /boot/boot0 . Это копия MBR, так как настоящая MBR должна располагаться в специальном месте диска, вне области FreeBSD.

boot0 очень прост, так как программа в может иметь размер, не превышающий 512 байт. Если вы установили MBR FreeBSD и несколько операционных систем на ваш жесткий диск, то во время загрузки вы увидите нечто похожее на следующее:

Менеджер загрузки boot0: MBR, устанавливаемый программой установки FreeBSD или утилитой boot0cfg(8), основан на /boot/boot0 . ( boot0 очень прост, так как программа в может иметь размер, не превышающий 446 байт, так как часть первого сектора диска занята таблицей слайсов и сигнатурой 0x55AA ). Если вы установили boot0 и несколько операционных систем на ваш жесткий диск, то во время загрузки вы увидите нечто похожее на следующее:

Пример 1. Образец экрана boot0

F1 DOS F2 FreeBSD F3 Linux F4 ?? F5 Drive 1 Default: F2

Известно, что другие операционные системы, в частности, Windows® 95, записывают поверх существующей MBR свою собственную. Если так случилось в вашем случае, или же вы хотите заменить существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей командой:

Здесь device является устройством, с которого вы загружаетесь, таким, как ad0 в случае первого диска IDE, ad2 в случае первого диска IDE на втором контроллере IDE, da0 для первого диска SCSI и так далее. Если вы используете MBR нестандартного вида, воспользуйтесь boot0cfg(8).

Менеджер загрузки LILO: Для того, чтобы этот менеджер загрузки мог загружать FreeBSD, загрузите Linux и добавьте к существующему файлу конфигурации /etc/lilo.conf такие строки:

other=/dev/hdXY table=/dev/hdb loader=/boot/chain.b label=FreeBSD

Укажите диск с основным разделом FreeBSD в терминах Linux, заменив X буквой диска, используемой в Linux, а Y — номером основного раздела. Если вы используете диски SCSI, замените /dev/hd на /dev/sd. Строка loader=/boot/chain.b может быть опущена, если обе операционные системы находятся на одном диске. Теперь запустите /sbin/lilo -v для того, чтобы ваши изменения были восприняты системой, что должно быть подтверждено сообщениями на экране.

13.3.2. Этап первый, /boot/boot1 , и этап второй, /boot/boot2

Концептуально первый и второй этапы загрузки являются частями одной и той же программы, в одной области диска. Из-за ограничений на объем дискового пространства они были разделены на две, но вы всегда должны устанавливать их вместе. Они копируются инсталлятором или утилитой bsdlabel (см. ниже) из общего файла /boot/boot .

Они располагаются вне файловых систем, на первом треке загрузочного слайса, то есть там, где boot0 или любой другой менеджер загрузки ожидает найти программу, которую следует запустить для продолжение процесса загрузки. Количество используемых секторов легко может быть вычислено из размера файла /boot/boot .

boot1 очень прост, так как он не может иметь размер, превышающий 512 байт, и знает лишь о метке диска FreeBSD, хранящей информацию о слайсе, для того, чтобы найти и запустить boot2 .

boot2 устроен несколько более сложно, и умеет работать с файловой системой FreeBSD в объёме, достаточном для нахождения в ней файлов, и может предоставлять простой интерфейс для выбора и передачи управления ядру или загрузчику.

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

Пример 2. Образец экрана boot2

Если вам когда-либо понадобится заменить установленные boot1 и boot2 , то используйте утилиту bsdlabel(8):

Здесь diskslice являются диском и слайсом, с которых вы загружаетесь, например, ad0s1 в случае первого слайса на первом диске IDE.

Режим Dangerously Dedicated

Если вы используете только имя диска, к примеру, ad0 , в команде bsdlabel(8) вы создадите диск в режиме эксклюзивного использования, без слайсов. Это, скорее всего, вовсе не то, что вы хотите сделать, так что дважды проверьте параметры команды bsdlabel(8), прежде, чем нажать Return .

13.3.3. Третий этап, /boot/loader

Передача управления загрузчику является последним, третьим этапом в процессе начальной загрузки, а сам загрузчик находится в файловой системе, обычно как /boot/loader .

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

13.3.3.1. Процесс работы загрузчика

Во время инициализации загрузчик пытается произвести поиск консоли, дисков и определить, с какого диска он был запущен. Соответствующим образом он задаёт значения переменных и запускает интерпретатор, которому могут передаваться пользовательские команды как из скрипта, так и в интерактивном режиме.

Затем загрузчик читает файл /boot/loader.rc , который по умолчанию использует файл /boot/defaults/loader.conf , устанавливающий подходящие значения по умолчанию для переменных и читает файл /boot/loader.conf для изменения в этих переменных. Затем с этими переменными работает loader.rc , загружающий выбранные модули и ядро.

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

13.3.3.2. Встроенные команды загрузчика

Далее следуют наиболее часто используемые команды загрузчика. Полное описание всех имеющихся команд можно найти на странице справки о команде loader(8).

autoboot секунды

Продолжает загрузку ядра, если не будет прерван в течение указанного в секундах промежутка времени. Он выводит счетчик, и по умолчанию выдерживается интервал в 10 секунд.

boot [-параметры] [имя ядра]

Продолжить процесс загрузки указанного ядра, если оно было указано, и с указанными параметрами, если они были указаны. Загрузка и использование указанного ядра возможны лишь после выгрузки текущего ядра, а выгрузка текущего ядра производится командой unload.

Повторно провести тот же самый процесс автоматической настройки модулей на основе переменных, что был произведен при загрузке. Это имеет смысл, если до этого вы выполнили команду unload , изменили некоторые переменные, например, наиболее часто меняемую kernel .

Вывод сообщений подсказки из файла /boot/loader.help . Если в качестве темы указано слово index , то выводится список имеющихся тем.

include имя файла …​

Выполнить файл с указанным именем. Файл считывается и его содержимое интерпретируется строчка за строчкой. Ошибка приводит к немедленному прекращению выполнения команды include.

load [-t тип] имя файла

Загружает ядро, модуль ядра или файл указанного типа с указанным именем. Все аргументы после имени файла передаются в файл.

Выводит список файлов по указанному маршруту или в корневом каталоге, если маршрут не был указан. Если указан параметр -l , будут выводиться и размеры файлов.

Выводится список всех устройств, с которых могут быть загружены модули. Если указан параметр -v , выводится дополнительная информация.

Выводит список загруженных модулей. Если указан параметр -v , то выводится дополнительная информация.

Вывод указанного файла с паузой при выводе каждой строки LINES .

Выполнить немедленную перезагрузку машины.

Задает значения переменных окружения загрузчика.

Удаление из памяти всех загруженных модулей.

13.3.3.3. Примеры использования загрузчика

Вот несколько примеров практического использования загрузчика:

  • Чтобы просто загрузить ваше ядро обычным образом, но в однопользовательском режиме:
 boot 
unload load kernel.old

Вы можете использовать kernel.GENERIC для обозначения стандартного ядра, поставляемого на установочном диске, или kernel.old для обращения к ранее установленному ядру (после того, как, например, вы обновили или отконфигурировали новое ядро).

Для загрузки ваших обычных модулей с другим ядром используйте такие команды:

unload  
 load 
13.3.3.4. Загрузочные экранные заставки

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

Есть два базовых окружения во FreeBSD. Первое - это окружение командной строки текстовой виртуальной консоли. По завершении загрузки системы вам предоставляется консольное приглашение ввода логина. Второе окружение - это графическое окружение рабочего стола X11. После установки X11 и одной из графических оболочек, таких как GNOME, KDE или XFce, становится возможным запуск рабочего стола Х11 командой startx .

Некоторые пользователи предпочитают графический интерфейс входа традиционному текстовому приглашению ввода логина. Менеджеры экранов, наподобие XDM для Xorg, gdm для GNOME, kdm для KDE (а также другие, доступные из коллекции портов), изначально предоставляют графический интерфейс входа. После успешного входа в систему они запускают соответствующий оконный менеджер.

В текстовом окружении экранная заставка скрывает все подробности процесса загрузки и сообщения стартовых скриптов до момента выдачи приглашения ввода логина. Если используется экранная заставка перед входом в графическое окружение, то пользователи получают визуально более чистый старт системы, чем-то напоминающий опыт работы с Microsoft® Windows® или с иной не unix-подобной системой.

13.3.3.4.1. Экранная заставка в действии

В качестве заставки можно использовать лишь содержащие 256 цветов изображения формата BMP ( .bmp ) или изображения формата PCX ( .pcx ) от ZSoft. К тому же, для вывода на стандартный VGA адаптер, файл изображения заставки должен иметь разрешение не более 320 на 200 пикселей.

Чтобы можно было использовать изображения большего размера, вплоть до максимального 1024 на 768, активируйте поддержку VESA. Активация может быть осуществлена либо подключением модуля VESA во время загрузки системы, либо сборкой специализированного ядра с добавленной опцией VESA (смотрите Настройка ядра FreeBSD). Поддержка режима VESA дает пользователям возможность отображать заставку, перекрывающую всю видимую область экрана.

Отображаемая во время загрузки заставка может быть убрана нажатием любой клавиши на клавиатуре.

С настройками по умолчанию заставка также становится хранителем экрана в консольном окружении. После некоторого бездействия экран сменится заставкой, яркость которой будет периодически изменяться от её максимального значения к минимальному и обратно. Подобное поведение заставки может быть переопределено добавлением строки saver= в /etc/rc.conf . В качестве значения опции saver= можно выбрать одно из встроенных имен хранителей экранов, а с полным перечнем можно ознакомиться на странице справочника splash(4). Хранитель экрана, используемый по умолчанию, называется "warp". Заметьте, что установка опции saver= в /etc/rc.conf воздействует исключительно на текстовые виртуальные консоли. Она не влияет на менеджеры экранов X11.

Несколько сообщений загрузчика, включая меню загрузки и счетчик, отображаются во время загрузки, даже если экран-заставка активирован.

Файлы-примеры с изображениями для заставок могут быть скачаны из галереи по адресу http://artwork.freebsdgr.org. Установив порт sysutils/bsd-splash-changer, между загрузками вы получите автоматическую смену случайно выбираемых изображений заставок.

13.3.3.4.2. Активация экранной заставки

Файл изображения для заставки ( .bmp или .pcx ) следует разместить в корневой файловой системе, например в каталоге /boot .

Для работы заставки с разрешением, доступным при загрузке (256 цветов и не более 320х200 точек), отредактируйте /boot/loader.conf , добавив в него следующие строки:

splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp"

Для получения больших разрешений видео режима (вплоть до максимального 1024x768), внесите в /boot/loader.conf следующие записи:

vesa_load="YES" splash_bmp_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.bmp"

Вышеприведённый пример подразумевает, что файл /boot/splash.bmp содержит изображение заставки. Если же требуется выводить файл формата PCX, то используйте следующие строки (в зависимости от необходимого разрешения может также потребоваться строка vesa_load="YES" ):

splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx"

Возможное имя файла не ограничено одним лишь словом "splash". Оно может выбираться произвольно, например: splash_640x400.bmp или blue_wave.pcx . Важен лишь тип файла: он должен быть либо BMP, либо PCX.

Далее приведены еще две полезные опции loader.conf :

beastie_disable="YES"

Эта опция отключит меню загрузчика, но приглашение с обратным отсчетом останется. Даже при не отображаемом меню во время отсчета возможен выбор номера варианта загрузки.

Эта установка заменит слова "FreeBSD", которые отображаются справа от меню загрузчика, цветным логотипом демона, который занимал это место в предыдущих релизах FreeBSD.

За более детальной информацией обратитесь к следующим страницам справочника: splash(4), loader.conf(5) и vga(4).

13.4. Взаимодействие с ядром во время загрузки

Как только ядро окажется загруженным при помощи загрузчика (обычный способ) или boot2 (минуя загрузчик), оно проверяет флаги загрузки, если они есть, и действует соответствующим образом.

13.4.1. Флаги загрузки ядра

Вот наиболее часто используемые флаги загрузки:

во время инициализации ядра запрашивать устройство для его монтирования в качестве корневой файловой системы.

загрузка с компакт-диска.

запустить UserConfig для конфигурации ядра во время загрузки

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

во время запуска ядра выводить более подробную информацию

Есть и другие флаги загрузки, обратитесь к странице справочника по boot(8) для выяснения подробной информации по ним.

13.5. Хинты устройств

Во время начального запуска системы загрузчик loader(8) производит чтение файла device.hints(5). В этом файле хранится необходимая для загрузки ядра информация, задаваемая в виде переменных, которую иногда называют хинтами для устройств ("device hints"). Эти "хинты устройств" используются драйверами устройств для их конфигурации.

Хинты для устройств могут быть также заданы в приглашении начального загрузчика Стадии 3. Переменные могут быть добавлены при помощи команды set , удалены посредством unset и просмотрены командой show . В этот момент могут быть также переопределены переменные, заданные в файле /boot/device.hints . Хинты для устройств, введённые в начальном загрузчике, не сохраняются, и при следующей перезагрузке будут утеряны.

После загрузки системы для выдачи значений всех переменных можно воспользоваться командой kenv(1).

Синтаксически в файле /boot/device.hints в каждой строке определяется по одной переменной, в качестве метки начала комментария используется стандартный символ "#". Строки строятся следующим образом:

 hint.driver.unit.keywordСинтаксис для начального загрузчика Стадии 3 таков:
  hint.driver.unit.keyword driver определяет имя драйвера устройства, unit соответствует порядковому номеру модуля устройства, а keyword является ключевым словом хинта. В качестве ключевых слов могут применяться следующие опции:
  • at : задаёт шину, к которой подключено устройство.
  • port : задаёт начальный адрес используемого диапазона ввода/вывода (I/O).
  • irq : задаёт используемый номер запроса на прерывание.
  • drq : задаёт номер канала DMA.
  • maddr : задаёт физический адрес памяти, занимаемый устройством.
  • flags : устанавливает различные битовые флаги для устройства.
  • disabled : если установлено в значение "1", то устройство не используется.

Драйверы устройств могут поддерживать (и даже требовать) другие хинты, здесь не перечисленные, поэтому рекомендуется просматривать справочные страницы по этим драйверам. Для получения дополнительной информации обратитесь к страницам справки по device.hints(5), kenv(1), loader.conf(5) и loader(8).

13.6. Init: инициализация управления процессами

После того, как ядро завершит загрузку, оно передает управление пользовательскому процессу init(8), который расположен в файле /sbin/init или в файле, маршрут к которому указан в переменной init_path загрузчика .

13.6.1. Процесс автоматической перезагрузки

Процесс автоматической перезагрузки проверяет целостность имеющихся файловых систем. Если это не так, и утилита fsck(8) не может исправить положение, то init(8) переводит систему в однопользовательский режим для того, чтобы системный администратор сам разобрался с возникающими проблемами.

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

В этот режим можно перейти во время процесса автоматической перезагрузки, при ручной загрузке с параметром -s или заданием переменной boot_single для программы loader .

Этот режим может быть также вызван запуском программы shutdown(8) без параметров перезагрузки ( -r ) или останова ( -h ) из многопользовательского режима.

Если режим доступа к системной консоли console установлен в файле /etc/ttys в insecure , то система выведет запрос на ввод пароля пользователя root перед переходом в однопользовательский режим.

Пример 3. Незащищённая консоль в /etc/ttys

# name getty type status comments # # Если консоль помечена как "insecure", то init будет запрашивать пароль # пользователя root при переходе в однопользовательский режим. console none unknown off insecure

Обозначение консоли как insecure означает, что вы считаете физический доступ к консоли незащищённым, и хотите, чтобы только тот, кто знает пароль пользователя root , мог воспользоваться однопользовательским режимом, но это не значит, что вы хотите работать с консолью небезопасным способом. Таким образом, если вы хотите добиться защищённости, указывайте insecure , а не secure .

13.6.3. Многопользовательский режим

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

13.6.3.1. Настройка ресурсов (rc)

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

Страница справочника по rc(8) является хорошим источником информации о системе настройки ресурсов, так же, как и самостоятельное изучение скриптов.

13.7. Процесс остановки системы

Во время контролируемого процесса остановки системы через утилиту shutdown(8) программа init(8) будет пытаться запустить скрипт /etc/rc.shutdown , после чего будет посылать всем процессам сигнал TERM , а затем и KILL тем процессам, которые ещё не завершили свою работу.

Для выключения машины с FreeBSD на аппаратных платформах и системах, которые поддерживают управление электропитанием, просто воспользуйтесь командой shutdown -p now для немедленного отключения электропитания. Чтобы просто перезагрузить систему FreeBSD, воспользуйтесь командой shutdown -r now . Для запуска команды shutdown(8) вам необходимо быть пользователем root или членом группы operator . Кроме того, можно также воспользоваться командами halt(8) и reboot(8), пожалуйста, обратитесь к соответствующим страницам справки и справочной странице по команде shutdown(8) для получения дополнительной информации.

Для управления электропитанием требуется наличие поддержки acpi(4) в ядре или в виде загруженного модуля.

Изменено: 11 декабря 2021 г. by Sergio Carlavilla Delgado

Как выключить freebsd

Сообщения: 30
Благодарности: 0

Конфигурация компьютера
Процессор: Intel Celeron M520 1.60GHz
Память: SODIMM 5300 512+1024MB
HDD: Seagate 120GB 5400R SATA
Видеокарта: Intel GMA 950
CD/DVD: MATSHITADVD-RAM UJ-850S, ATAPI CD/DVD-ROM drive
Монитор: WXGA 14.1'' 1280x800
ОС: FreeBSD 6.3-x64, Enterprise Linux 5

После того, как я набираю команду shutdown -p now, операционная система (FreeBSD 6.3) полностью завершает совю работу, но при этом не отключает питание компьютера, нажатие кнопки power приводит к тому же результату, внутри компьютера что-то продолжает гудеть и для полного завершения работы приходится просто зажимать кнопку power на несколько секунд. В биосе все настройки питания выставлены правильно, линукс на том же компе полностью отключает питание.
Компьютер - ноутбук asus z99h, как можно сделать, чтоб FreeBSD при завершении работы полностью отключала питание компа?

Сообщения: 2
Благодарности: 0

Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Сообщения: 30
Благодарности: 0

Конфигурация компьютера
Процессор: Intel Celeron M520 1.60GHz
Память: SODIMM 5300 512+1024MB
HDD: Seagate 120GB 5400R SATA
Видеокарта: Intel GMA 950
CD/DVD: MATSHITADVD-RAM UJ-850S, ATAPI CD/DVD-ROM drive
Монитор: WXGA 14.1'' 1280x800
ОС: FreeBSD 6.3-x64, Enterprise Linux 5
config: Error: device "apm0" is unknown config: 1 errors
%man apm No manual entry for apm %

У меня такое ощущение, что apm 64-битной архитектуры не касается. Ядро с указанными опциями не пересобрать, мануала по apm нет, по поводу опциий, указанных в rc.conf при загрузке тоже выдаётся ошибка.

Из мануала по acpi совсем непонятно как всё же полностью выключать питание на компьютере.

Последний раз редактировалось ElVоvan, 06-02-2008 в 14:59 . Причина: опечатка

Сообщения: 3001
Благодарности: 45

А ACPI в BIOS включен?

Сообщения: 30
Благодарности: 0

Конфигурация компьютера
Процессор: Intel Celeron M520 1.60GHz
Память: SODIMM 5300 512+1024MB
HDD: Seagate 120GB 5400R SATA
Видеокарта: Intel GMA 950
CD/DVD: MATSHITADVD-RAM UJ-850S, ATAPI CD/DVD-ROM drive
Монитор: WXGA 14.1'' 1280x800
ОС: FreeBSD 6.3-x64, Enterprise Linux 5

Да, в биосе всё включено, линукс на той же машине выключается полностью.

Сообщения: 215
Благодарности: 33

Может быть поможет вот это:
http://www.freebsd.org.ua/doc/ru_RU. on-reboot.html

Сообщения: 30
Благодарности: 0

Конфигурация компьютера
Процессор: Intel Celeron M520 1.60GHz
Память: SODIMM 5300 512+1024MB
HDD: Seagate 120GB 5400R SATA
Видеокарта: Intel GMA 950
CD/DVD: MATSHITADVD-RAM UJ-850S, ATAPI CD/DVD-ROM drive
Монитор: WXGA 14.1'' 1280x800
ОС: FreeBSD 6.3-x64, Enterprise Linux 5

Это, к сожалению, не помогло. У меня несколько другие симптомы. Система не виснет при выключении, а свою работу завершает, и на экране не остаётся никаких надписей, просто чёрный экран (включенный). И выключение происходит не с клавиатуры, а либо командой shutdown -p now, либо кнопкой выключения питания.

Сообщения: 3001
Благодарности: 45

Посмотрите командой из-под root'а kldstat запущен ли у Вас модуль acpi.ko?

Сообщения: 30
Благодарности: 0

Конфигурация компьютера
Процессор: Intel Celeron M520 1.60GHz
Память: SODIMM 5300 512+1024MB
HDD: Seagate 120GB 5400R SATA
Видеокарта: Intel GMA 950
CD/DVD: MATSHITADVD-RAM UJ-850S, ATAPI CD/DVD-ROM drive
Монитор: WXGA 14.1'' 1280x800
ОС: FreeBSD 6.3-x64, Enterprise Linux 5
> kldstat Id Refs Address Size Name 1 4 0xffffffff80100000 a32d58 kernel 2 3 0xffffffffb0c90000 763d9 osscore.ko 3 1 0xffffffffb0d07000 1841a hdaudio.ko 4 1 0xffffffffb0d2d000 7ae vmix.ko >

Я думаю это как-то связано с сообщением kldload: Unsupported file type, выскакивающим при загрузке.

Сообщения: 23
Благодарности: 2

Для детального прояснения:
1. Перейдите в однопользовательский режим (при этом пользователи выкидываются из системы и прекращается потдержка сети) shutdown затем используйте shutdown -p now. Результат в топик.
2. При использовании команды перезагрузки (halt, reboot или shutdown -r now) вы доходите до тестирования БИОСом важего железа?

Если линух тушит, то ACPI работает. Как вариант, можно грешить на опцию в ядре, на некорректное завершение программой init запущенных процессов либо дело в скрипте /etc/rc.shutdown.

Последний раз редактировалось RasskazovBSD, 08-02-2008 в 08:58 . Причина: упустил пару слов.

Как выключить freebsd

Как выключить freebsd?

Ответ мастера:

Freebsd – это операционная система, которую в основном используют системные администраторы либо интернет-провайдеры. Автоматическое выключение серверов, которое работает на основе такой системы, можно выполнить при помощи простых команд.

Обеспечьте корректное завершение работы серверов, которые работают под управлением Freebsd. Для этого нужно установить и настроить специальную службу Ssh, которая имеет аутентификацию по публичному ключу. Материнская плата сервера при этом должна иметь поддержку такой функции, как автоматическое управление питанием. Сегодня большинство современных плат такую функцию поддерживают.

Если версия Freebsd ниже чем 5.0, то нужно добавить поддержку функции Advanced Power Management. Чтобы управлять ресурсами в более поздних версиях, рекомендуется использовать систему Advanced Configuration and Power Interface.

Чтобы добавить поддержку в данной системе, следует активировать такую опцию в Bios. После этого нужно добавить в файле конфигурации ядра строку «device apm0», далее необходимо пересобрать ядро. Откройте файл etc/rc.conf, потом в строке apm_enable установите «Yes».

Затем перезагрузите ваш компьютер. Теперь вы сможете завершать работу системы с автоматическим выключением питания, используя команду shutdown -p now. Такую команду по умолчанию может выполнять только суперпользователь Root, но ему нельзя давать удаленный доступ к серверу.

Поэтому следует воспользоваться приложением Sudo, которое позволит обеспечить возможность остановки системы под Freebsd, используя удаленный компьютер. Установить такую программу нужно при помощи команды cd /usr/ports/security/sudo. Затем следует написать make install clean. Отредактируйте файл local/etc/sudoers, то есть добавьте в него выполняемую команду, чтобы выключить сервер, а также адрес пользователя и его имя.

Осуществить подключение к серверу для того, чтобы завершить работу удаленного доступа, можно при использовании утилиты plink. Для этого нужно ввести такую команду - plink -l «Введите имя пользователя» -i «Введите имя файла, с закрытым ключом>sudo shutdown -p now.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *