- Учимся управлять автозагрузкой в linux
- Что такое inittab
- Что такое systemd
- Автозагрузка проложений
- Выключение Linux из командной строки
- Выключение Linux из командной строки
- Выключение Linux из командной строки: примеры
- Детали
- Контроль доступа
- Выключение Linux и питания компьютера
- Файлы
- Выключение Linux из командной строки: примеры
- Связанные команды
- Как отключить показ grub при загрузке системы
Учимся управлять автозагрузкой в linux
Написанием данной статьи меня побудила банальная задача: отключить графическую оболочку при старте системы. Казалось бы, поменять одну цифру в /etc/inittab. Но как выяснилось, все намного сложнее. Итак, разберем по полочкам, что такое inittab и systemd, для чего они нужны и как управлять автозагрузкой приложений в linux. Как человек, который самостоятельно пытается найти ответы, пришлось прочитать не одну статью, информации на эту тему много, но понимание приходит не сразу. На русскоязычных форумах как правило развернутого ответа нет. Скажу сразу, я не системный администратор и статья больше рассчитана на людей, кто относительно недавно познакомился с linux. Кому интересна данная тема, добро пожаловать.
Это моя первая статья, если есть замечания прошу в комментарии.
Что такое inittab
По сути inittab представляет из себя файл в котором можно посмотреть/поменять уровень загрузки операционной системы в /etc/inittab. Давайте разберем его
В linux существуют 7 уровней загрузки операционной системы. В нашем случае нулевой уровень — это режим восстановления, первый — это запуск в одиночном режиме под root. 2-5 загрузка в мульти пользовательском режиме (т.е. обычный режим). Отличаются они лишь набором стартовых скриптов. 6 уровень это перезагрузка. Скрипты берутся из директорий, которые расписаны в inittab. Наша система по умолчанию загружается на 5 уровне, посмотрим что-же находится в директории /etc/init.d/rc 5:
Скрипты в этом каталоге выполняются каждый раз при старте системы. А если быть точнее это лишь символьные ссылки на сами скрипты. Первая буква означает S(start) K(kill или stop) для изменения порядка скриптов меняется цифра, т.е. запуск скриптов выполняется по возрастанию. Руками менять можно, но рекомендуется менять через «update-rc.d»
Все просто и прозрачно.
Что такое systemd
Systemd является заменой старой традиционной загрузки inittab. Был разработан чтобы обеспечить лучшую обработку зависимостей. В настоящее время systemd поставляется по умолчанию с популярными дистрибутивами linux таких как Fedora, Mandira, Arch Linux, CentOS 7, Red Hat 7.0 и на удивление для меня в Debian 8.9.
Плюсы и минусы в явном виде для меня не понятны. Интересен в первую очередь функционал. Итак разбираемся дальше. Две вещи, которые нам нужно знать:
Чтобы посмотреть уровень загрузки, введем команду:
Как правило graphical.target аналог 5 уровня, запуск системы в графическом режиме.
Чтобы посмотреть все доступные нам уровни, введем:
проведем аналогию c inittab
При старте системы linux смотрит в файл (который является ссылкой)
Таким образом чтобы загрузиться в многопользовательском режиме, нам нужно сменить ссылку или использовать systemctl (делает тоже самое)
Автозагрузка проложений
Как мы уже поняли в каталогах /etc/rc4.d/* лежат символьные ссылки на скрипты. Где цифры от 3 это уровень загрузки у inittab или systemd. Мы можем менять руками порядок запуска, убирать и добавлять. По сути systemd пробежится по всем файлам и попытается их инициализировать при старте системы. Теперь разберем управление через команды:
chkconfig — нужна для просмотра сервисов(программ). Поддерживает режим изменения для любого уровня загрузки.
update-rc.d — служит для запуска/остановки скриптов, при старте/выключении системы. Собственно через нее мы и будем менять автозапуск графической оболочки KDE(kdm). Так уж получилось, что у меня запуск окружения KDE включен для 2-5 уровней по умолчанию.
При старте системы я отключаю 2-4 уровень загрузки и проверяю что у меня стоит 3-й уровень загрузки
Перезагружаюсь и вижу приглашение консоли tty. profit
На самом деле, это чуть больше чем консоль. Мы можем переключаться между вкладками.
CTRL+ALT+(F1-F6)
команда startx запустит графику KDE.
Вывод: Тут должен быть вывод, но вместо него я вставлю кота
Источник
Выключение Linux из командной строки
Команда «shutdown» безопасно отключает систему. Все вошедшие в систему пользователи получают уведомление о том, что система выключается, а операции входа блокируются. Можно сразу выключить систему или после указанной задержки.
Выключение Linux из командной строки является очень удобным, и многие пользователи системы управляют своим ПК через командную строку в таких вещах. Все процессы сначала уведомляются о том, что система готовится к режиму сна или перезагрузке через SIGTERM. Это дает программам, таким как vi, время, чтобы сохранить редактируемый файл, программы обработки почты и новостей, возможность выхода из системы и т. д.
«Shutdown» выполняет свою работу, сигнализируя процессу init, прося его изменить уровень запуска. Уровень запуска 0 используется для остановки системы, уровень запуска 6 используется для перезагрузки системы, а уровень запуска 1 используется для перевода системы в состояние, в котором административные задачи могут выполняться (однопользовательский режим). Уровень запуска 1 по умолчанию, если не указаны опции -h или -r.
В вашей системе может быть другой набор параметров для команды завершения работы; Проверьте документацию устройства.
Выключение Linux из командной строки
Выключение Linux из командной строки: примеры
- -a Управлять доступом к команде shutdown, используя файл доступа к управлению /etc/shutdown.allow. Для получения дополнительной информации см. Раздел «Контроль доступа» ниже.
- -k Не выключайте, а отправляйте предупреждающие сообщения, как будто выключение было реальным.
- -r Перезагрузка после выключения.
- -h Указывает системе завершить работу, а затем остановить ее.
- -P Поручает системе завершить работу, а затем выключить.
- -H Если указан параметр -h, эта опция указывает, что система должна загружаться в монитор загрузки в системах, которые его поддерживают.
- -f Пропустить fsck после перезагрузки.
- -F Принудительно выполнить fsck после перезагрузки.
- -n Не вызывать init для завершения процессов; Инструктируйте shutdown, чтобы сделать это сам.
- Использование этой опции не рекомендуется, и ее результаты не всегда предсказуемы.
- -c Отменить ожидающее завершение работы. (Это не относится к «shutdown now», который не ждет до выключения.) С помощью этой опции невозможно указать аргумент времени, но вы можете указать пояснительное сообщение, которое будет отправлено всем пользователям.
- —tsec. Сообщать инициалисту, чтобы подождать секунд между процессами отправки предупреждения и сигнала уничтожения, прежде чем перейти на другой уровень запуска.
- time Аргумент time указывает, когда следует выполнять операцию выключения.
Время может быть отформатировано по-разному:
Во-первых, это может быть абсолютное время в формате hh: mm, где hh — это час (1 или 2 цифры, от 0 до 23), а mm — это минута часа (в двух цифрах).
Во-вторых, он может быть в формате + m, где m — количество минут, чтобы ждать.
Кроме того, теперь слово такое же, как указание +0; Он немедленно отключает систему.
- Message. Сообщение отправляемое всем пользователям, вместе со стандартным уведомлением о завершении работы.
Детали
Если выключение запланировано на будущее, он создаст консультативный файл / etc / nologin, который заставляет программы, такие как login, не допускать новых пользователей. Этот файл создается за пять минут до запуска последовательности выключения. Shutdown удаляет этот файл, если он остановлен до того, как он может сигнализировать об инициализации (то есть он отменен или что-то пошло не так). Он также удаляет его перед вызовом init для изменения уровня запуска.
Флаг -f означает «перезагрузка быстро». Это создает только консультативный файл / fastboot, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл системы («rc» означает «runcom», который является сокращением от «run-команд») может проверить наличие этого файла и решить не запускать fsck, так как система была закрыта надлежащим образом. После этого процесс загрузки должен удалить / fastboot.
Флаг -F означает «force fsck». Это создает только консультативный файл / forcefsck, который может быть проверен системой, когда он снова появится. Загрузочный rc-файл может проверить, присутствует ли этот файл, и решит запустить fsck со специальным флагом «force», чтобы проверить правильность размонтированных файловых систем. После этого процесс загрузки должен удалить / forcefsck.
Флаг -n заставляет shutdown не вызывать init, а убивать все запущенные процессы. Shutdown отключит квоту, учет и обмены и размонтирование всех файловых систем.
Контроль доступа
Выключение может быть вызвано из init, когда нажата комбинация клавиш CTRL-ALT-DEL, если существует соответствующая запись в / etc / inittab. Это означает, что каждый, кто имеет физический доступ к консольной клавиатуре, может закрыть систему.
Чтобы это предотвратить, выключение может проверить, не зарегистрирован ли авторизованный пользователь. Если выключение вызывается с аргументом -a (добавьте это к вызову shutdown в / etc / inittab), он проверяет, есть ли файл / etc /shutdown.allow присутствует. Затем он сравнивает имена входа в этом файле со списком людей, которые вошли в систему на виртуальной консоли (из / var / run / utmp). Только если один из авторизованных пользователей или root входит в систему, он будет действовать. В противном случае оно будет писать сообщение
На физическую консоль системы. Формат /etc/shutdown.allow — одно имя пользователя в строке. Пустые строки и строки комментариев (с префиксом #) разрешены. В настоящее время в этом файле есть ограничение для 32 пользователей.
Обратите внимание: если /etc/shutdown.allow отсутствует, аргумент -a игнорируется.
Выключение Linux и питания компьютера
Опция -H просто устанавливает переменную среды инициализации INIT_HALT в HALT, а параметр -P просто устанавливает эту переменную в POWEROFF. Скрипт shutdown, который вызывает halt в качестве последней вещи в последовательности выключения, должен проверить эти переменные среды и вызвать halt с правильными параметрами для этих параметров, чтобы на самом деле иметь какой-либо эффект.
Файлы
- /fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow
Выключение Linux из командной строки: примеры
Запланируйте выключение системы в 8 часов утра.
Запланируйте выключение системы в 8 часов вечера.
Запланируйте выключение системы через пятнадцать минут. Наряду с обычным уведомлением пользователей о завершении работы системы им будет дано описательное сообщение об обновлении оборудования.
Немедленно выключить Linux
Немедленно опустите систему и автоматически перезагрузите ее.
Немедленно выключите и автоматически отключите систему.
Связанные команды
- Halt — Остановить компьютер.
- Poweroff — Остановить компьютер.
- Reboot — Остановить компьютер.
- Wall — Отправить сообщение всем вошедшим в систему пользователям.
Перевод из замечательного английского ресурса computerhope.
Если у вас остались какие-то вопросы по теме «Выключение Linux из командной строки», то можете писать их нам в форму комментариев на сайте.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Как отключить показ grub при загрузке системы
Дистрибутив: Fedora 21
В /etc/default/grub прописать
Если у тебя uefi, можно вообще не использовать grub.
Вот мой конфиг. Все равно не грузит. GRUB_TIMEOUT=»0″ GRUB_DISTRIBUTOR=»$(sed ‘s, release .*$,,g’ /etc/system-release)» GRUB_DEFAULT=»saved» GRUB_HIDDEN_TIMEOUT=»1″ GRUB_DISABLE_SUBMENU=»true» GRUB_TERMINAL_OUTPUT=»console» GRUB_CMDLINE_LINUX=»rd.lvm.lv=fedora/swap rd.lvm.lv=fedora/root rhgb quiet» GRUB_DISABLE_RECOVERY=»true» GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_SAVEDEFAULT=»true» GRUB_DISABLE_OS_PROBER=»true» # grub2-mkconfig -o /boot/grub2/grub.cfg
Не понял. Не грузит — что? Система не загружается? Тебе, вроде как, надо было спрятать груб, что б глаза не мозолил при загрузке, не?
Все равно груб грузится.
Если он не будет грузится, система не будет стартовать. Понимаешь, да?
Как отключить показ grub при загрузке системы
Как отключить показ grub при загрузке системы
нужно лишь чтобы менюшка Груба не показывалась бы именно на человеческие на глаза (например «зелёный шрифт на зелёном фоне«. утрированный пример, но думаю его суть ясна :)) ??
или нужно сделать так чтобы менюшка — даже не функционировала бы (например чтобы человек не мог бы изменить в менюшке аргумент загрузки ядра «init=/bin/bash» (и таким образом войти в систему без знания пароля)).. для этого мог бы сгодиться grub-пароль?
или нужно сделать так — чтобы компьютер быстрей бы загружался бы.. и поэтому пропускать этап показа менюшки (но например оставить возможность её вызова через клавишу «вниз«) ??
# P.S.: короче, тема не раскрыта. напиши конкретно ЦЕЛЬ что ты хочешь и зачем. а-то эта тема выглядет как «The X-Y Problem (проблема XY)«
Что-то мне подсказывает, что он хочет спрятать менюшку с глаз долой при загрузке.
в месте где ты работаешь плохой отдел кадров
в месте где ты работаешь плохой отдел кадров
если ты намекаешь на то что отдел кадров допустил ошибку, устров меня на работу (и не уволив).
. то смею заверить тебя — что я самый лучший кондуктор троллейбусов (на всей своей деревне). почти всегда выхожу на работу трезвый (пьяным — не чаще чем через раз). и готов работать за 5000 рублей в месяц 🙂
или на что ты там пытался намекать?
я не намекаю, я констатирую факт
подойди к ним(к кадрам своим) и скажи, тут задали вопрос, смысл вопроса был очевиден, но я стал задавать наводящие вопросы о мало вероятных вариантах, и потом сообщи им о моём посте. Главное отойди подальше, чтобы реактивная струя тебя не задела.
нет. я же написал что смысл совсем не очевиден!
(смысл как раз автор поста — забыл написать! а кое кто даже ответил — general/11175547?cid=11175833 , очевидно намекая на — «какой смысл иметь линукс без GRUB?» )
подойди к ним(к кадрам своим) и скажи, тут задали вопрос, смысл вопроса был очевиден, но я стал задавать наводящие вопросы .
«отдел кадров» изредка проверяет мои посты на LOR.. так что это может случиться, да 🙂
Что-то мне подсказывает что субъекту стоит выражать свои мысли корректно.
Да ты наркоман, с тобой невозможно общаться
Да ладно тебе. Я вот сейчас выискиваю хотелки в совокупном потоке сознания среднеазиатских продаванов и типа-айтишников. Вот там трудно, да. А это так, просто хмурое утро 🙂
Проверь, где у тебя grub.cfg лежит. Он может лежать в /boot/efi/EFI/fedora
не прикидывайся, карму же не через постель заработал)
а про «какой смысл иметь линукс без GRUB?» это ещё Патрику скажите
dvrts , все некомпетентные специалисты мне об этом говорят.
Источник