Одномодовый На Freebsd С Поддержкой Сети

Это очень маленькая заметка о том, что как нет ничего более постоянного, чем временное, так и самая тривиальная (на первый взгляд) задача отнимает больше всего времени.

Утром в пятницу знакомый задал вопрос «Как пересобрать мир в одномодном режиме на удаленном сервере без KVMЭ» «Добавьте в /etc/rc скрипт, выполняющий /etc/netstart && service sshd start в части исполняемой в однорежимном режиме, и дальше все как обычно», — без колебаний ответил я.

Но через два часа вопрос повторился и оказалось, что все не так тривиально.

Не знаю, было ли это всего лишь моим заблуждением или в ранних версиях FreeBSD /etc/rc частично выполнялся в одном режиме (справедливости ради, мне никогда не приходилось это проверять), но в 10 это действительно не так.

работа.

Итак, задача: # uname -opr FreeBSD 10.1-СТАБИЛЬНАЯ amd64 Вам необходимо переключиться с многомодового режима на одномодовый и получить доступ по ssh. Идти: Поскольку в однопользовательском режиме никакие скрипты не выполняются, исправим эту оплошность.

Давайте отредактируем исходники инициализации.

Добавьте путь к нашему скрипту в /usr/src/sbin/init/pathnames.h

  
  
  
   

#define _PATH_MYSINGLE "/etc/rc.my_single"

В /usr/src/sbin/init/init.c к функции Один пользователь добавить звонок

run_script(_PATH_MYSINGLE);

Его необходимо разместить где-то перед вызовом open_console().

Сам скрипт вызвал: /etc/rc.my_single

#!/bin/sh /bin/echo "NET START" /bin/sh /etc/netstart /bin/echo "SSH START" /usr/sbin/service sshd start

Собираем, устанавливаем, перезагружаемся (возможно есть способ перезапустить init без перезагрузки, но я не стал испытывать судьбу на удаленной машине):

cd /usr/src/sbin/init && make && make install && shutdown -r now

После загрузки в мультирежим перейти в одиночный " выключение сейчас " или " инициализация 1 «Не для всех.

Ну а дальше все как обычно.

p.s.: Может я все усложняю и есть более простой способ? Теги: #*nix #Системное администрирование #FreeBSD #init #/etc/rc

Вместе с данным постом часто просматривают: