Как настроить процедуру запуска в Debian

У каждой современной операционной системы есть какая-то процедура запуска. Даже в DOS были старые AUTOEXEC.BAT и CONFIG.SYS. Система запуска определяет, что запускается при запуске системы, при каких условиях и в каком порядке. DOS делала все просто, имея файл, который читался при каждой загрузке, который запускал команды в любом порядке, в котором они были помещены в файл. Это действительно просто, но, как и большая часть DOS, недостаточно мощно или гибко, чтобы сократить его в наши дни.

Почти все варианты Linux используют маршрутизацию запуска, смоделированную по образцу той, что обнаружена в системе UNIX V. Ubuntu использует систему под названием Upstart, которая предназначена для обратной совместимости с обычным SysV. В этом. Все они работают на основе концепции уровней выполнения. Уровень запуска - это просто набор инструкций для загрузки / завершения работы. Если ваш Linux настроен на использование, например, уровня запуска 5 по умолчанию, то каждый раз при загрузке вы будете запускать все сценарии запуска для уровня запуска 5. В следующем примере показано, как настраиваются уровни запуска в стандартном Debian. монтаж.

  • 0 - Остановить
  • 1 - один пользователь
  • 2 - полностью многопользовательский
  • 3 - полностью многопользовательский
  • 4 - полностью многопользовательский
  • 5 - полностью многопользовательский
  • 6 - перезагрузка

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

Чтобы узнать свой уровень запуска по умолчанию, откройте консоль и введите:

cat / etc / inittab | grep initdefault

Или просто откройте / etc / inittab в любом текстовом редакторе и посмотрите вверх на строку "initdefault".

Теперь, когда мы знаем, какой уровень запуска использует наша система, мы можем приступить к удалению ненужных частей. На каждом уровне выполнения есть каталог в системе со всеми сценариями запуска. Сейчас нас беспокоят только сценарии для уровня запуска 2. Откройте в файловом менеджере или командной строке /etc/rc2.d. В этом каталоге находятся все ссылки на ваши программы запуска для этого уровня выполнения.

Пример содержимого /etc/rc2.d

Вы увидите, что каждая из них начинается с буквы (S или K), за которой следует двузначное число (00–99). Те сценарии, которые начинаются с S, запускаются при входе на этот уровень запуска, а сценарии, начинающиеся с K, уничтожаются при входе на этот уровень. Цифры представляют порядок запуска этих сценариев. Например, S05Foo начнется раньше S80Bar.

Вполне вероятно, что вы не узнаете некоторые элементы, перечисленные в этом каталоге. Некоторые из них довольно понятны, как "сетевой менеджер", а другие более загадочны. Если вы не уверены, что можно безопасно удалить, поищите man страницу по этому элементу. Например, если вы не знаете, что такое acpid, введите

человек острый

в свой терминал. Если у man нет записи, всегда есть Google.

Теперь приступим к удалению ненужных элементов. Вы МОЖЕТЕ просто удалить сценарии в каталоге rc2.d (на самом деле это просто ссылки на настоящие сценарии), но я бы не рекомендовал этот метод. Это будет работать в том смысле, что это предотвратит запуск сценария при запуске, но может оставить открытыми сценарии "K" на других уровнях запуска, и это затруднит восстановление этого элемента, если он вам понадобится позже. Как обычно, у Debian есть способ получше.

Команду update-rc.d можно использовать для чистого добавления и удаления элементов автозагрузки с вашего уровня выполнения. У меня нет возможности Bluetooth на этом компьютере, поэтому я собираюсь удалить элемент автозагрузки Bluetooth.

update-rc.d -f bluetooth удалить

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

Если вы захотите восстановить этот элемент автозагрузки позже, тот же инструмент можно использовать для добавления служб на уровни выполнения. Если позже я добавлю к этому компьютеру возможность Bluetooth, я могу восстановить эту службу с помощью

update-rc.d Bluetooth по умолчанию

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

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

4 комментария

  1. Хорошее написание, многие элементы не относятся к Debian, они будут работать в ряде дистрибутивов. Хотя update-rc ограничен системами, подобными Debian.

  2. Очень хороший пост, и да, он должен быть полезен всем, кто работает в системе Linux.


    Да, я изначально озаглавил его "Как настроить процедуру запуска в Linux", но, поскольку значительная часть специфична для Debian, я подумал, что этот заголовок может уменьшить некоторую путаницу, если люди будут пытаться запустить "update-rc.d", скажем, на , Fedora. Или интересно, почему они на уровне выполнения 5, или почему у них вообще нет уровней выполнения и т. Д.

  3. Другие интерфейсы для update-rc.d и invoke-rc.d:
    - bum (менеджер загрузки), который представляет собой полноценный интерфейс с графическим интерфейсом;
    - sysv-rc-conf (консольный, интерактивный, не уверен, на основе ли проклятий).

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