- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как запустить, остановить и перезапустить сервисы в Linux
- Базовый синтаксис команды systemctl
- Как проверить, работает ли служба в Linux
- Как перезапустить сервис
- Как перезагрузить конфигурационные файлы сервиса
- Как запустить сервис
- Как остановить сервис
- Как включить сервис при загрузке
- Как отключить сервис при загрузке
- Полезно?
- Почему?
- Как отключить ненужные службы в Linux
- 1. smbd и nmbd
- 2. Telnet
- 3. rlogin
- 4. rexec
- 5. FTP
- 6. automount
- 7. named
- 8. lpd
- 9. Inetd
- 10. portmap
- Как завершить процесс в Linux
- Как отключать службы в Linux
- Управление сервисами в Linux. Команда systemctl
- Что такое сервисы в Linux
- Список сервисов
- Запуск сервиса
- Останов сервиса
- Перезапуск сервиса
- Автозагрузка сервисов
- Статус сервиса
- Заключение
- Как включить или отключить услуги?
- 8 ответов
- Временное включение / отключение услуг
- Systemd
- UPSTART (устарел с 15.04)
- Включение / отключение службы
- Выскочка
- Является ли сервис выскочкой?
- Отключить услуги (рабочие места) в выскочке
- Отключить службу с помощью раздела «Старт / Стоп» (по состоянию на 11.04)
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как запустить, остановить и перезапустить сервисы в Linux
Start — Stop — Restart — Reload
3 минуты чтения
Linux обеспечивает детальный контроль над системными службами через systemd с помощью команды systemctl. Службы могут быть включены, выключены, перезапущены, перезагружены или даже включены или отключены при загрузке. Если вы используете Debian, CentOSили Ubuntu, ваша система, вероятно, использует systemd.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Это руководство покажет вам, как использовать основные команды для запуска, остановки и перезапуска служб в Linux.
Базовый синтаксис команды systemctl
Основной синтаксис для использования команды systemctl:
Как правило, вам нужно запускать это как суперпользователь поэтому команды будут начинаться с sudo.
Как проверить, работает ли служба в Linux
Чтобы проверить, активна ли служба или нет, выполните следующую команду:
Замените SERVICE_NAME на нужный сервис.
В нашем случае мы будем брать за пример веб-сервер Apache.
Интересный факт: в Ubuntu и других дистрибутивах на основе Debian служба Apache называется apache2. В CentOS и других дистрибутивах RedHat служба Apache называется httpd или httpd.service
Так мы проверили состояние Apache. Выходные данные показывают, что служба активна (работает), как на рисунке ниже:
Как перезапустить сервис
Чтобы остановить и перезапустить службу в Linux, используйте команду:
Где SERVICE_NAME — имя вашего сервиса.
После выполнения команды ваш сервис должен снова заработать. Вы можете проверить состояние с помощью команды status
Для перезапуска нашего сервера Apache используем:
Как перезагрузить конфигурационные файлы сервиса
Чтобы служба перезагрузила свои файлы конфигурации, введите в терминале следующую команду:
После перезагрузки проверьте ее состояние командой status для подтверждения.
В нашем примере мы перезагрузили Apache, используя:
Как запустить сервис
Чтобы запустить службу в Linux вручную, введите в терминале следующее:
Например, команда для запуска службы Apache:
Как остановить сервис
Чтобы остановить активную службу в Linux, используйте следующую команду:
Для нашего апача используем команду
Проверьте, остановился ли сервис с помощью команды status . Вывод должен показать, что сервис неактивен — inactive (dead)
Как включить сервис при загрузке
Чтобы настроить службу для запуска при загрузке системы, используйте команду:
Чтобы включить Apache при загрузке системы, выполните команду:
Как отключить сервис при загрузке
Вы можете запретить запуск службы при загрузке с помощью команды:
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
Источник
Как отключить ненужные службы в Linux
Когда мы настраиваем сервер, необходимо спросить себя, что нам действительно необходимо. Нужен ли нам веб-сервер или FTP-сервер, NFS-сервер или DNS-сервер, сервер базы данных или что-то другое.
В этой статье мы поговорим о некоторых ненужных приложениях и службах, которые могут быть вам без надобности, но устанавливаются по умолчанию при инсталляции системы и незаметно потребляют ваши системные ресурсы.
Сначала давайте посмотрим, какие службы работают в системе:
Теперь посмотрим на процессы, которые подключаются к портам, это можно сделать с помощью команды netstat:
В показанном выше выводе вы можете найти приложения, которые не требуются вашему серверу, но, тем не менее, работают:
1. smbd и nmbd
smbd и nmbd — это демон Samba Process. Действительно ли вам нужно предоставлять общий доступ к ресурсам для машин, работающих под windows? Если нет, почему эти процессы работают? Вы можете их безопасно завершить и убрать из автозагрузки.
2. Telnet
Нужна ли вам связь по протоколу Telnet (bidirectional interactive text-oriented communication) в интернете или в локальной сети? Если нет, завершайте этот процесс и исключайте его из автозагрузки.
3. rlogin
Требуется вам авторизация на удаленной машине по сети? Если нет, завершаем этот процесс и убираем из автозагрузки.
4. rexec
Remote Process Execution или rexec позволяет вам выполнять команды оболочки на удаленном компьютере. Если вам это не нужно, просто завершите процесс.
5. FTP
Вы передаете файлы через интернет? Если нет, эту службу спокойно можно отключить.
6. automount
Вам нужно автоматически монтировать различные файловые системы, чтобы подключить сетевую файловую систему? Если нет, почему этот процесс работает? Завершите процесс и уберите его из автозагрузки.
7. named
Вам нужен запущенный DNS-сервер? Тогда что мешает вам освободить занимаемые им системные ресурсы. Завершите процесс и уберите его из автозагрузки.
8. lpd
lpd — это демон принтера, который позволяет печатать с сервера. Если вы не собираетесь этого делать, он вам не нужен.
9. Inetd
Используете ли вы какие-нибудь службы inetd? Если вы запускаете отдельное приложение, такое как ssh, которое в свою очередь использует другое отдельное приложение, например Mysql, Apache и так далее, то вам не нужен inetd. Лучше отключить его автоматическую загрузку.
10. portmap
Portmap — это Open Network Computing Remote Procedure Call (ONC RPC), использующий демоны rpc.portmap и rpcbind. Если у вас работают эти процессы, значит запущен NFS-сервер. В противном случае ваши системные ресурсы расходуются напрасно.
Как завершить процесс в Linux
Для того, чтобы завершить работающий процесс в Linux, используется команда «Kill PID». Но сначала нам необходимо узнать PID процесса. Например, я хочу узнать PID процесса «cupsd»:
Итак, PID процесса cupsd 1511. Для того, чтобы завершить этот процесс, используем команду:
Как отключать службы в Linux
В дистрибутивах на базе Red Hat, таких как Fedora и CentOS для отключения и включения служб используется скрипт «chkconfig».
Например, давайте отключим автозагрузку сервера Apache:
В дистрибутивах на базе Debian, таких как Ubuntu, Linux Mint, для этой цели используется скрипт update-rc.d.
Например, для отключения автозагрузки сервера Apache используется следующая команда:
Опция «-f» здесь используется для того, чтобы скрипт не запрашивал подтверждения выполнения команды.
Источник
Управление сервисами в Linux. Команда systemctl
Что такое сервисы в Linux
Сервисы или службы — это программы, которые работают в системе Linux в фоновом режиме. Обычно они запускаются при загрузке системы. Большинство сервисов необходимы для полноценной работы системы, то есть они являются своего рода кирпичиками, из которых строится работающая система.
При запуске системы загружается целый ряд сервисов, которые включены для автозагрузки. Сервисы работают пока система запущена, и выгружаются при выключении системы.
Чаще всего в Linux дистрибутивах для инициализации сервисов используется демон Systemd. К Systemd-дистрибутивам относятся Ubuntu, Debian, Linux Mint, Fedora, openSUSE, Solus и другие.
Есть дистрибутивы, которые не используют Systemd. Вместо Systemd могут использоваться такие системы инициализации, как Upstart, SysV.
В качестве примеров сервисов можно привести: веб-сервер Apache, Network Manager, файрвол Ufw и другие.
Для управления сервисами (Systemd) используется утилита systemctl . Ниже мы рассмотрим основные команды данной утилиты.
Список сервисов
Чтобы просмотреть список всех сервисов можно воспользоваться командой:
Данная команда пробегает по алфавитному списку всех доступных сервисов и выполняет для них команду status.
В выводе команды используются следующие обозначения:
- [ + ] — запущенный сервис.
- [ — ] — остановленный сервис.
- [ ? ] — для данного сервиса отсутствует команда status.
Запуск сервиса
Для запуска сервиса используется команда systemctl start имя_сервиса
Останов сервиса
Для остановки сервиса используется команда systemctl stop имя_сервиса
Перезапуск сервиса
Перезапуск сервиса выполняется командой systemctl restart имя_сервиса
Обычно перезапуск конкретного сервиса требуется, когда были изменены настройки данного сервиса.
Некоторые сервисы поддерживают «мягкую» перезагрузку. В этом случае сервис считывает связанные с ним файлы конфигурации, но не прерывает процесс сервиса. Для выполнения «мягкой» перезагрузки используется команда systemctl reload имя_сервиса . Не все сервисы поддерживают «мягкую» перезагрузку. Если она не поддерживается, то появится сообщение вида: Failed to reload ufw.service: Job type reload is not applicable for unit ufw.service.
Автозагрузка сервисов
Чтобы сервис стартовал (загружался) при запуске системы, его нужно включить в список автозагрузки. Для этого используется команда systemctl enable имя_сервиса
Чтобы включить сервис в автозапуск и сразу же запустить используется команда:
Чтобы удалить сервис из автозагрузки, используется команда systemctl disable имя_сервиса
Статус сервиса
Для вывода информации (статуса) сервиса используется команда systemctl status имя_сервиса
Чтобы проверить, запущен ли в данный момент сервис, используется команда systemctl is-active имя_сервиса
Чтобы проверить, включен ли сервис для автозапуска при загрузке системы, используется команда systemctl is-enabled имя_сервиса
Заключение
Мы рассмотрели наиболее часто используемые команды утилиты systemctl. Полный список команд и опций утилиты systemctl можно получить, выполнив:
Источник
Как включить или отключить услуги?
Я читал о том, как включать и отключать сервисы в Ubuntu, и кажется, что есть разные возможности для управления ими.
Первый метод, который я нашел, это update-rc.d добавить новые сервисы для запуска, который направлен на /etc/init.d папка и ее содержимое.
Другой, который я нашел, чтобы отредактировать .conf файлы в /etc/init папка.
Какой рекомендуемый способ включить / отключить / добавить службы и почему?
Не могли бы вы дать краткий пошаговый пример того, как добавить сервис в Ubuntu, включить и отключить его?
8 ответов
Есть сервисы, которые можно включить / отключить с помощью графического интерфейса (например, startup приложение) или терминал.
Для Терминала у вас есть несколько вариантов. Сначала откройте терминал (например, введите «терминал» в тире и откройте его). Затем:
Временное включение / отключение услуг
Чтобы временно остановить и запустить службы (не включает и не отключает их для будущих загрузок), вы можете ввести service SERVICE_NAME , Например:
sudo service apache2 stop (ОСТАНОВИТ службу Apache до перезагрузки или до ее повторного запуска).
sudo service apache2 start (Запустит службу Apache, предполагая, что она была остановлена раньше.).
service apache2 status (Сообщит вам СОСТОЯНИЕ услуги, если она включена / работает, отключена / НЕ работает.).
sudo service apache2 restart (Перезапустит службу. Это чаще всего используется, когда вы изменили конфигурационный файл. В этом случае, если вы изменили либо конфигурацию PHP, либо конфигурацию Apache. Перезапуск избавит вас от необходимости останавливаться / запускаться с помощью 2 командных строк.)
service apache2 (В этом случае, поскольку вы не упомянули ACTION для выполнения для службы, он покажет вам все параметры, доступные для этой конкретной службы.) Этот аспект варьируется в зависимости от службы, например, в MySQL он будет упоминать только то, что он отсутствует параметр. Для других сервисов, таких как сетевой сервис, следует упомянуть небольшой список всех доступных опций.
Systemd
Начиная с Ubuntu 15.04, Upstart устареет в пользу Systemd. С помощью Systemd для управления услугами мы можем сделать следующее:
systemctl start SERVICE — Используйте его для запуска службы. Не сохраняется после перезагрузки
systemctl stop SERVICE — Используйте его, чтобы остановить службу. Не сохраняется после перезагрузки
systemctl restart SERVICE — Используйте его для перезапуска службы
systemctl reload SERVICE — Если служба поддерживает ее, она перезагрузит связанные с ней файлы конфигурации, не прерывая процесс, использующий службу.
systemctl status SERVICE — Показывает статус службы. Сообщает, работает ли служба в данный момент.
systemctl enable SERVICE — Включает службу, при следующей перезагрузке или при следующем событии запуска. Это сохраняется после перезагрузки.
systemctl disable SERVICE — Служба отключается при следующей перезагрузке или при следующем событии остановки. Это сохраняется после перезагрузки.
systemctl is-enabled SERVICE — Проверьте, настроен ли сервис на запуск или нет при следующей перезагрузке.
systemctl is-active SERVICE — Проверьте, если услуга в настоящее время активна.
systemctl show SERVICE — Показать всю информацию об услуге.
sudo systemctl mask SERVICE — Полностью отключить службу, связав ее с /dev/null ; вы не можете запустить сервис вручную или включить сервис.
sudo systemctl unmask SERVICE — удаляет ссылку на /dev/null и восстанавливает возможность включения и / или ручного запуска службы.
UPSTART (устарел с 15.04)
Если мы хотим использовать официальный способ Upstart (обратите внимание, что на данный момент не все службы были преобразованы в Upstart), мы могли бы использовать следующие команды:
status SERVICE — Это скажет нам, работает ли преобразованный сервис или нет. Обратите внимание, что это не рекомендуется в пользу start , stop , status & restart , Он также сообщит нам, если служба еще не была преобразована в upstart:
Преобразованная служба обычно выводит текущее состояние (запуск, запуск, остановка. ) и идентификатор процесса. Не преобразованный сервис выдаст ошибку о неизвестном задании.
Некоторые ярлыки могут работать только с service Команда выше, но не с командами ниже, если они не на 100% преобразованы в сервисы upstart:
СТАРТ — sudo start mysql
СТОП — sudo stop mysql
RESTART — sudo restart mysql
СТАТУС — sudo status smbd
Включение / отключение службы
Чтобы отключить запуск или остановку службы, вам необходимо:
где строфа manual остановит Upstart от автоматической загрузки службы при следующей загрузке. Любой сервис с .override окончание будет иметь приоритет над исходным служебным файлом. После этого вы сможете запустить службу только вручную. Если вы не хотите этого, просто удалите .override , Например:
Поместит службу MySQL в manual Режим. Если вы не хотите этого, потом вы можете просто сделать
и перезагрузитесь, чтобы служба снова запустилась автоматически. Конечно, чтобы включить службу, наиболее распространенным способом является ее установка. Если вы устанавливаете Apache, Nginx, MySQL или другие, они автоматически запускаются после завершения установки и запускаются каждый раз при загрузке компьютера. Отключение, как упоминалось выше, будет использовать сервис manual ,
В настоящее время существует три различных способа запуска программного обеспечения в качестве службы в Ubuntu, SysV, Upstart и systemd. Служба здесь определяется как программа, запускаемая системой в фоновом режиме, в отличие от программы, запускаемой и запускаемой непосредственно пользователем.
Традиционным способом запуска служб в Linux было размещение сценария в /etc/init.d , а затем используйте update-rc.d команда (или в дистрибутивах на основе RedHat, chkconfig ) включить или отключить его.
Эта команда использует слегка сложную логику для создания символических ссылок в /etc/rc#.d , которые контролируют порядок запуска услуг. Если вы бежите ls /etc/rc2.d Вы можете увидеть порядок, в котором службы будут убиты с именем файла, как K##xxxx и начал с имен файлов S##xxxx , ## в S##xxxx означает «стартовый заказ» для обслуживания xxxx , И наоборот, ## в K##xxxx означает заказ на уничтожение для обслуживания xxxx ,
Одна из основных проблем с SysV заключалась в том, что при загрузке системы все должно выполняться последовательно, одно за другим, что делает время загрузки системы очень медленным. Были предприняты попытки распараллелить это, но они были случайными и их трудно было в полной мере использовать. Это было главной причиной создания Upstart.
Выскочка
Upstart использует файлы определения задания в /etc/init определить, по каким событиям должен быть запущен сервис. Таким образом, пока система загружается, upstart обрабатывает различные события, а затем может запускать несколько служб параллельно. Это позволяет им полностью использовать ресурсы системы, например, запустив привязанную к диску службу, когда запущена другая привязанная к ЦП служба, или пока сеть ожидает назначения динамического IP-адреса.
Вы можете увидеть все файлы выскочки, запустив ls /etc/init/*.conf
Позвольте мне остановиться здесь и сказать, что если вы не знаете, что такое сервис или что он делает, НЕ отключайте его!
Не все услуги были преобразованы в выскочку. Работая над командой серверов в Canonical в течение последних нескольких месяцев, я работал над несколькими преобразованными файлами заданий, и самое приятное в том, что он позволяет избавиться от всего «волшебства» сценария и просто вставить Несколько команд здесь и там, чтобы точно определить, как запустить службу, и ничего более. Но пока только несколько традиционных сетевых сервисов, таких как squid и samba, были преобразованы.
Является ли сервис выскочкой?
Чтобы выяснить, основана ли служба на выскочке, вы можете выполнить команду состояния:
Если это выскочка, она покажет это:
Но если это не так, вы увидите нечто более похожее на это:
В этом случае, apache2 не был преобразован в выскочку. Итак, чтобы отключить apache2 ты просто бежишь
Отключить услуги (рабочие места) в выскочке
Определения заданий Upstart не имеют update-rc.d команда. Чтобы отключить задание, вам нужно отредактировать файл задания, чтобы отключить его. Есть два способа сделать это.
Если вы все еще хотите запустить его вручную, вам нужно закомментировать start on состояние. Скажем, вы хотите установить samba, но не запускать его автоматически. Вот файл задания (в natty):
Чтобы отключить самбу, вы можете просто поставить # напротив » start on local-filesystems Msgstr «Обратите внимание, что, несмотря на то, что при загрузке он не запустится, вам все равно нужно остановить его на этот раз
Однако, если вы никогда не хотите запускать samba, я бы предложил удалить пакет. Однако, если вы хотите, чтобы он был установлен, но не запускался, вы также можете сделать:
Отключить службу с помощью раздела «Старт / Стоп» (по состоянию на 11.04)
Начиная с версии upstart, которая будет в 11.04, есть новое ключевое слово, которое отключает start on а также stop on строфы: manual , Итак, еще один способ отключить службу с 11.04:
Вы можете создать override файл, чтобы отключить службу, не редактируя определение задания вообще, просто поместив manual Ключевое слово в этом.
Источник