LinuxОбъяснение технологий

Как управлять Linux Start-Up Services и демонами

Как управлять Linux Start-Up Services и демонами

Просто загрузился, но ваша система все еще чувствует себя медленной и вялой? Linux запускает много приложений «в фоновом режиме», о которых вы можете даже не знать. Вот как взять их под контроль.

Разблокируйте «Шпаргалку по основным командам Linux» сейчас!

Это подпишет вас на нашу рассылку

Введите адрес электронной почты

Запуск Linux

Мы все знаем, как это сделать: вы нажимаете кнопку питания на своем компьютере, немного подождите, а затем возвращаетесь к приятному входу в систему. Но что происходит за это время? Пользователи старой школы Linux будут помнить страницы (и страницы, и страницы) диагностических сообщений, которые будут прокручиваться. Эти сообщения содержали информацию о загружаемых драйверах, найденных файловых системах и запускаемых различных процессах.

Давайте кратко рассмотрим, что происходит между «включением» и «входом в систему с рабочего стола».

  1. Когда вы включаете компьютер, загружается BIOS. Это программное обеспечение, предоставленное производителем оборудования (отдельно от операционной системы), и содержит параметры устройства, с которого вы хотите загрузить сеанс.
  2. BIOS, в зависимости от этих настроек, передает управление одному из физических дисков компьютера, в частности его загрузчику . Хотя загрузчик может быть настроен на включение данных конфигурации, его основная задача — передать управление операционной системе. Он предоставляет интерфейс чтобы выбрать одну из операционных систем, если на вашем компьютере их несколько. GRUB — это стандартный загрузчик для большинства современных дистрибутивов Linux.
  3. Когда загрузчик запускает операционную систему Linux, загружается ядро (или сердце операционной системы). Это будет связано с вашим оборудованием, а затем запустит один процесс, который мы назовем процессом запуска .
  4. Этот процесс запуска, в свою очередь, отвечает за запуск всех других процессов в системе. Это включает в себя серверные приложения (в том числе процесс X-сервера, на котором ваш симпатичный рабочий стол входит в систему. Появится ), так называемые «демоны» (программы, которые ждут в фоновом режиме определенных событий, таких как CUPS). демон печати) и другие (например, демон cron , выполняющий программы по расписанию).

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

Демоны против Служб

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

Зачем возиться с этими настройками?

Зачем вам вообще что-то беспокоить? Не лучше ли просто оставить значения по умолчанию?

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

  • Во-первых, это может улучшить производительность. Помните время, когда вы установили Apache, чтобы опробовать это новое веб-приложение? Нет? Угадайте, что, если только вы не удалили его, веб-сервер работает в фоновом режиме, занимая драгоценную оперативную память. Настройка параметров запуска означает, что вы можете оставить его установленным, но просто запустите его, когда вам это нужно. (Ознакомьтесь с некоторыми другими советами по повышению производительности здесь. .)
  • Кроме того, некоторые из этих программ могут вызывать проблемы безопасности. Например, вышеупомянутый Apache будет открыт для связи с портом 80 во время его работы. В случае возникновения проблем с безопасностью в Apache, если этот порт открыт для всего мира, это может поставить под угрозу вашу систему. Лучше запустить сервер, когда вам это нужно, и выключить его, как только вы закончите.

Текущие процессы запуска

Современные системы Linux используют несколько основных систем запуска, описанных ниже.

в этом

Долгая стандартная система запуска , init ведет свою историю от исходных систем Unix, на которых был основан Linux (его собственное имя — SysVInit, основанное на System V Unix). Система init основана на наборе сценариев запуска, хранящихся в каталогах /etc/init.d или /etc/rc.d , и концепции «уровней запуска». Например, ориентированные на настольные системы дистрибутивы начнут вас в «уровне выполнения 5», который определяется как «многопользовательский режим с поддержкой сети + менеджер дисплеев X». Вот почему при запуске одного из этих дистрибутивов вы сразу же получите графический рабочий стол на основе X-system авторизоваться.

Как управлять файлами стартовых сервисов Linux и файлами инициализации Daemons

Система init придерживается философии Unix в том смысле, что она делает одно и делает это хорошо. Один из аргументов, высказанных сторонниками системы, заключается в том, что она не пытается делать слишком много, в отличие от некоторых из следующих альтернатив.

Выскочка

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

Однако, как только Debian (основной источник пакетов Ubuntu) переключился на systemd , Canonical решила сделать то же самое. Выпуск Ubuntu 15.04 (Vivid Vervet) был первым, кто представил новую систему запуска по умолчанию.

Systemd

Он спровоцировал одну из величайших пламенных войн нашего времени: В свете обнаруженных недостатков init (которые выделены здесь ), был разработан systemd (или системный демон ). При этом используется совершенно новая система с целью запуска службы «при выполнении всех ее условий». Как и в случае с Upstart, она все еще может поддерживать сценарии init- style, предоставляемые многими пакетами, с несколькими заметными исключениями .

Как управлять сервисами запуска Linux и системными каталогами Daemons 670x313

Обратите внимание на изображение выше, как у каталогов есть имена вроде «this.thing. хочет » . Это демонстрирует поведение systemd « по требованию »- когда что-то« хочет »получить доступ к bluetooth и условия выполнены, systemd запустит службу для него.

Инструменты для управления демонами / сервисами

Хотя узнать, как это сделать из командной строки, не помешает (см. Служебную команду для init / Upstart и sysctl для systemd ), ниже приведены некоторые вспомогательные приложения для администрирования ваших служб. Хотя вам может потребоваться настроить их конфигурацию, в общем, вы захотите либо включить их, либо настроить их автоматический запуск по умолчанию, либо отключить их. Обратите внимание, что отключенные службы все еще могут быть запущены (и впоследствии остановлены), когда захотите.

init.d

Для многих пользователей инструмент rcconf (в сочетании с вышеупомянутым сервисом ) сделает все, что вам нужно. Текстовый пользовательский интерфейс (TUI) перечисляет все доступные сервисы. Вы можете использовать клавиши со стрелками для перемещения вверх и вниз по списку и пробел для переключения, должен ли сервис запускаться (со звездочкой) или нет. Используйте клавишу Tab для перемещения между списком и кнопками OK / Cancel и пробелом, а также для их выбора.

Установите его в Ubuntu с помощью следующего:

sudo apt-get install rcconf 

Как управлять сервисами запуска Linux и демонами rcconf ui 670x337

Red Hat разработала графическое приложение Service Configuration Tool , которое по умолчанию также появляется в его производных, таких как CentOS и Fedora. Он предоставляет список, аналогичный приведенному выше для rcconf , и предоставляет аналогичный список с возможностью проверять и снимать флажки служб, чтобы запускать их по умолчанию или нет. Он также предоставляет кнопки, которые позволяют запускать / останавливать / перезапускать эти службы.

Как управлять сервисами запуска Linux и демонами redhat serviceconf
Изображение предоставлено: Red Hat и CentOS

Systemd

Разработчики KDE создали модуль для приложения System Settings для управления системными сервисами. Расположенный в категории « Администрирование системы », он позволяет вам просматривать состояние, включать / отключать и редактировать конфигурацию служб (или «блоков»). Он также содержит редактор для файлов конфигурации systemd .

Как управлять службами запуска Linux и демонами kde kcm systemd 670x297

Установите его в Ubuntu с помощью следующего:

 sudo apt-get install kde-config-systemd 

systemd-manager — это приложение на основе GTK, доступное в некоторых репозиториях (включая Fedora и Arch), в то время как пользователи Ubuntu могут получить файл .DEB со своей страницы GitHub [Больше не доступно]. Пользовательский интерфейс немного отличается, так как он написан на Rust, но достаточно легко найти элементы управления для включения / отключения и запуска / остановки служб, в то время как большая центральная панель позволяет редактировать конфигурацию.

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

 sudo dpkg -i systemd-manager-download.deb 

Как управлять сервисами запуска Linux и Daemons systemd manager ui 670x500

Также для настольных ПК на основе GTK инструмент systemadm предоставляет вам возможность запускать / останавливать / перезапускать сервисы. Установите его в Ubuntu с помощью следующего:

 sudo apt-get install systemd-ui 

Как управлять сервисами запуска и демонами Linux systemadm ui 670x401

Будущее системно

Хотя в этой статье мы в равной степени выделили две основные системы управления стартапами, init и systemd , большинство основных дистрибутивов движутся в сторону последних. Даже Canonical, который создал свою собственную альтернативу, увидел надпись на стене и по умолчанию включил systemd .

У вас есть предпочтения или это просто невидимые фоновые процессы для вас? Есть какие-нибудь советы или рекомендации по управлению этими вещами? Дайте нам знать об этом в комментариях!

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

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

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux