Это четвертый день моего участия в августовском испытании обновлений. Узнайте подробности мероприятия: Испытание августовского обновления
Введение
существуетLinux, всякий раз, когда вы устанавливаете какой-либо пакет со службами и демонами, система по умолчанию инициализируется иsystemdСкрипты добавлены, но в данный момент они не включены.
Нам нужно вручную включить или отключить эти службы.LinuxВсе время используются три хорошо известные системы инициализации.
вLinux/Unixна основе операционной системы,init(сокращение от инициализации) — это первый процесс, который запускается в процессе загрузки ядра, загружающего систему.
initобработатьid (pid)да1, он будет продолжать работать в фоновом режиме, пока система не будет выключена.
initСначала согласно/etc/inittabфайл решениеLinuxуровень запуска, а затем запустить все остальные процессы и приложения в фоновом режиме в зависимости от уровня выполнения.
BIOS,MBR,GRUBи запускается программа ядраinitкак преждеLinuxчасть загрузчика начинает работать.
НижеLinuxуровни запуска, доступные в (от0~6всего семь уровней запуска):
- 0: выключение
- 1: Однопользовательский режим
- 2: Многопользовательский режим (без NFS)
- 3: Полный многопользовательский режим
- 4: система не используется
- 5: Режим графического интерфейса
- 6: перезагрузка
Инициализировать систему
Ниже приведены три наиболее часто используемые системы инициализации в системах Linux:
System V(Sys V)Upstartsystemd
Система V (Система V)
System V(Sys V)это классUnixПервая система также является традиционной системой инициализации.initЭто первая программа, которая запускается в процессе загрузки системы загрузки ядра, и это родительский процесс для всех программ.
самыйLinuxПервоначально дистрибутив использовалSystem V(Sys V)традиционная система инициализации. За последние несколько лет было выпущено несколько систем инициализации для устранения конструктивных ограничений стандартной версии, таких как:launchd,Service Management Facility,systemdа такжеUpstart.
ноsystemdиспользовался несколькими крупнымиLinuxдистрибутив, принятый для замены традиционногоSysVИнициализируйте систему.
Upstart
Upstartоснован на событиях/sbin/initАльтернатива демонам, которые обрабатывают запуск задач и служб во время запуска системы, контролируют их во время работы системы и выключают их при завершении работы системы.
это было изначальноUbuntuдизайн, но он также может быть безупречно развернут во всех другихLinuxсистема, используемая для замены древнейSystem-V.
Upstartиспользуется дляUbuntu 9.10прибытьUbuntu 14.10и на основеRHEL 6системы, после чего былоsystemdзаменять.
systemd
systemdэто новая система инициализации и системный менеджер, который используется для всех основныхLinuxдистрибутив, заменяющий традиционныйSysVИнициализируйте систему.
systemdсовместимыйSysVа такжеLSBскрипт инициализации. он может напрямую заменитьSysVИнициализируйте систему.systemdэто первая программа, запускаемая ядром, ееPIDда1.
systemdявляется родительским процессом всех программ,Fedora 15является первым, кто используетsystemdзаменятьupstartрелизная версия.systemctlдля командной строки это adminsystemdОсновные инструменты для демонов/служб, такие как: (запуск, перезапуск, завершение работы, включение, отключение, перезагрузка и статус)
systemdиспользовать.serviceфайл вместоbashСкрипт (используется SysVinit).systemdДобавьте всех демонов вcgroupsОтсортировано, вы можете просматривать по/cgroup/systemdСистемный уровень просмотра файлов.
service
serviceКоманды, как следует из названия, используются для управленияLinuxКоманды для служб в операционной системе.
Эта команда вообще недоступнаlinuxв релизной версии. в основном вredhat,fedora,mandrivaа такжеcentosсередина.
查看所有服务当前的运行状态
service --status-all
查看指定服务(vsftpd)的运行状态
service vsftpd status
停止指定服务(vsftpd)
service vsftpd stop
重启网络服务
service network restart
chkconfig
chkconfigУтилита представляет собой инструмент командной строки, позволяющий запускать выбранные службы на заданном уровне запуска, а также отображать список всех доступных служб и их текущие настройки.
Кроме того, это позволяет нам включать или отключать службы при запуске. Предпосылка заключается в том, что у вас есть права суперадминистратора (rootилиsudo) для запуска этой команды.
Все сервисные скрипты находятся в/etc/init.dв файле
设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig --level 35 mysqld on
设定mysqld在各等级为on,“各等级”包括2、3、4、5等级
chkconfig mysqld on
修改服务的默认启动等级
chkconfig --level 35 mysqld on
systemctl
концепция
systemdОсновная идеяunit(блок) тип:unitпредставляют разные видыsystemdОбъекты идентифицируются и настраиваются через конфигурационные файлы, файлы в основном содержат系统服务,监听socket,保存的系统快照и другая информация, связанная с инициализацией
Ниже приведен тип устройства:
-
service: расширение файла.service, используемый для определения системных служб
-
target: расширение файла.target, для моделирования уровня запуска реализации -
device: используется для определения устройства, распознаваемого ядром -
mount: определяет точку монтирования файловой системы -
socket: используется для идентификации файла сокета, используемого для межпроцессного взаимодействия, а также может задерживать запуск службы, когда система начинает выполнять запуск по запросу. -
snapshot: Управление снимками системы -
swap: используется для идентификации устройства подкачки -
automount: точка автоматического монтирования файловой системы -
path: используется для определения использования файла или каталога в файловой системе, часто используется для задержки активации служб при изменении файловой системы.
Итак, как проверить эти типы?
можно использовать-tплюс тип, чтобы увидеть, чтобыserviceНапример
ststemctl -t service
каталог файла конфигурации systemd
-
/usr/lib/systemd/system/: здесь размещена конфигурация основного скрипта запуска каждой службы, которая чем-то похожа на предыдущую/etc/init.d;
-
/run/systemd/system/: каталог, в котором находятся служебные сценарии, сгенерированные во время работы системы.Эти сценарии имеют более высокий приоритет, чем/usr/lib/systemd/system/высоко;
-
/etc/systemd/system/: Каталог, в котором находится сценарий выполнения, созданный администратором в соответствии с потребностями хост-системы, и приоритет выполнения выше, чем/run/systemd/system/высоко;
Из приведенных выше функций и порядка приоритетов мы можем знать, что/etc/systemd/system/Соответствующая конфигурация в каталоге определяет, будет ли система выполнять некоторые службы, поэтому обычно в каталоге находится много файлов ссылок. а также/usr/lib/systemd/system/под, поставить фактическое исполнениеsystemdКонфигурационный файл сценария запуска. Поэтому, если вы хотите изменить настройки запуска службы, вам следует перейти к/usr/lib/systemd/system/Изменено ниже./etc/systemd/system/Просто укажите ссылку на правильный файл конфигурации сценария выполнения. Поэтому, если вы хотите увидеть настройки выполнения сценария, вам следует перейти к/usr/lib/systemd/system/проверить.
Общие команды
| Задача | старый порядок | новый порядок |
|---|---|---|
| заставить службу запускаться автоматически | chkconfig --level 3 httpd on | systemctl enable httpd.service |
| Сделать так, чтобы служба не запускалась автоматически | chkconfig --level 3 httpd off | systemctl disable httpd.service |
| Проверить статус услуги | service httpd status | статус systemctl httpd.service (детали службы) systemctl is-active httpd.service (отображается, только если активен) |
| показать все запущенные сервисы | chkconfig --list | systemctl list-units --type=service |
| запустить службу | service httpd start | systemctl start httpd.service |
| остановить службу | service httpd stop | systemctl stop httpd.service |
| перезапустить службу | service httpd restart | systemctl restart httpd.service |
Посмотреть статус службы
systemctl status httpd
Рабочий статус:
-
active(running): означает, что в системе выполняются одна или несколько программ; -
active(exited): служба, которая нормально завершается после одного выполнения, и в настоящее время в системе не выполняется ни одна программа; -
active(waiting): Выполняется, но для продолжения обработки необходимо дождаться других событий; -
inactive: эта служба в настоящее время не работает; -
dead: программа очищена;
Статус запуска:
-
enabled:этоdaemonбудет выполняться во время загрузки; -
disabled:этоdaemonне будет выполняться во время загрузки; -
static:этоdaemonне может быть запущен сам по себе (enableнет), но может бытьenabledСлужба для пробуждения (служба, связанная с атрибутом); -
mask:этоdaemonЕго все равно нельзя запустить, потому что он был принудительно отключен (не удален), доступ к которому можно получить черезsystemctlunmaskвозврат в исходное состояние;
Проверьте все детали конфигурации сервиса
systemctl show httpd
Проверьте статус самозапуска каждой службы
systemctl list-unit-files --type=service
Получить список зависимостей для службы
systemctl list-dependencies httpd.service
Получение списка групп управления по иерархии
systemd-cgls
Список групп управления по ЦП, памяти, вводу и выводу
systemd-cgtop
Проанализируйте время, которое каждый процесс тратит на загрузку
systemd-analyze blame
Список всех доступных системных сокетов
systemctl list-unit-files --type=socket
операция сокета
systemctl start cups.socket #启动套接字
systemctl restart cups.socket #重启套接字
systemctl stop cups.socket #停止套接字
systemctl reload cups.socket #重新加载套接字
systemctl status cups.socket #查看套接字状态
systemctl is-active cups.socket
systemctl enable cups.socket
systemctl disable cups.socket
другие команды
systemctl mask httpd.service #禁用某个服务
systemctl unmask httpd.service #解除禁用某个服务
systemctl isolate multi-user.target #将目前的操作环境改为纯文本模式,关掉图形界面
systemctl isolate graphical.target #将目前的操作环境改为图形界面
systemctl poweroff # 系统关机
systemctl reboot # 重新开机
systemctl suspend # 进入暂停模式
systemctl hibernate # 进入休眠模式
systemctl rescue # 强制进入救援模式
systemctl emergency # 强制进入紧急救援模式
Справочная документация
Подробное объяснение и руководство по использованию команды Systemctl
Подробно объясните systemctl (с общими командами)
Эксплуатация и обслуживание - использование centos 7 systemctl
Управление службами Linux: команды chkconfig и systemctl
Обычное использование команды службы linux
Подробное объяснение команды chkconfig в Linux
Прошлые статьи
Платформа проникновения Metasploit, которую должен знать каждый специалист по сетевой безопасности!
Основы проникновения — использование общих модулей Metasploit