Настройка сервера CentOS 7 после установки

Кстати, именно это является главной причиной ненависти некоторых людей к systemd — нарушения принципа "unix-way".

Обновление системы CentOS 7

Первый шаг, который необходимо выполнить в новой установленной системе CentOS, — убедиться, что в системе установлены последние версии обновлений ядра и системы безопасности, репозиториев программного обеспечения и пакетов.

Чтобы полностью обновить систему CentOS 7, введите следующие команды с привилегиями root.

# yum check-update # yum upgrade

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

# yum clean all

Вводная часть

systemd написана немецким программистом Леннартом Поттерингом с целью избавления от shell-скриптов SysV init, распараллеливания загрузки операционной системы и создания единой точки контроля всего происходящего в операционной системе.

Подсистема оперирует специально оформленными файлами конфигурации — модулями (англ. unit). Файлы модулей располагаются в одной из следующий директорий (в порядке приоритета):

  • /etc/systemd/system/ — модули, созданные и управляемые системным администратором;
  • /run/systemd/system/ — модули, созданные динамически (т.е. на лету);
  • /usr/lib/systemd/system/ — модули из установленных пакетов RPM (поставляемые вместе с приложениями).

Каждый модуль отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и тому подобные ресурсы. Существуют специальные типы модулей, которые не несут функциональной нагрузки, но позволяют задействовать дополнительные возможности systemd, к ним относятся модули типа target, slice, automount и ряд других.

На сегодняшний день systemd поддерживает следующие типы модулей:

  • .target — позволяет группировать модули, воплощая концепцию уровней запуска (т.н. runlevels);
  • .service — аналог демона или что-либо, что можно запустить;
  • .mount — отвечает за монтирование файловых систем (имя юнита должно соотвествовать пути до точки монтирования);
  • .automount — позволяет отложить монтирование файловых систем до фактического обращения к точке монтирования (должен существовать *.mount-юнит с тем же именем);
  • .swap — отвечает за подключение файла или устройства подкачки;
  • .timer — позволяет запускать модули по расписанию, аналог cron (по умолчанию запускаться будет *.service-юнит с тем же именем);
  • .socket — предоставляет службам поддержку механизма сокет-активации, аналог xinetd. Запуск юнита при подключении к указанному сокету (по умолчанию запускаться будет *.service-юнит с тем же именем);
  • .slice — группирует другие юниты в дереве cgroups, позволяя иерархично задавать ограничения по используемым ресурсам;
  • .device — позволяет реагировать на подключение устройств (имя юнита генерируется из sysfs-имени устройства);
  • .path — запуск юнита по событию доступа к какому-либо пути в файловой системе (по умолчанию запускаться будет *.service-юнит с тем же именем).

Примечение: cgroups — это способ объединения процессов, чтобы установить для них какие-то правила или ограничения. Например, ограничения на процессор или память.

Как запускать, останавливать или перезапускать сервисы в Ubuntu

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

Читайте также:  Как установить бета-версию прошивки iOS на iPhone и iPad

Рассмотрим различные способы запуска, остановки и перезапуска служб в Ubuntu с помощью systemd, команды service и сценария инициализации init.

Список всех сервисов в Ubuntu Прежде всего нужно получить список всех служб на вашем компьютере.

Он покажет полный список сервисов на вашем компьютере.

Использование Systemd для запуска / остановки / перезапуска служб в Ubuntu

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

sudo systemctl [действие] [имя службы]

Например, рассмотрим как запустить, остановить или перезапустить службу брандмауэра ufw в Ubuntu.

Откройте окно терминала и введите следующие команды.

Управление сервисами с помощью systemd

Запуск / остановка / перезапуск сервисов в Ubuntu с помощью команды service

Вы также можете запускать, останавливать или перезапускать службы, используя service. Откройте окно терминала и введите следующие команды.

Использование скриптов Init для управления сервисами в Ubuntu

Вы можете запускать, останавливать или перезапускать службы, используя сценарии инициализации в каталоге /etc/init.d. Этот каталог на самом деле содержит в себе различные скрипты для разных сервисов. Сценарии инициализации устарели с тех пор, как Ubuntu перешла на Systemd, поэтому этот метод будет использоваться, только если вам приходится иметь дело со старой версией Ubuntu. Откройте окно терминала и введите следующие команды.

Таким образом, вы можете запускать, останавливать и перезапускать службы разными способами, не перезагружая всю операционную систему. Вы также можете использовать эти команды в других дистрибутивах Linux.

Читайте также:  Как установить Ubuntu и Windows 10 одновременно с двойной загрузкой

источник

Уровни загрузки/цели

Systemd использует понятие целей(target), сходное по сути с уровнями загрузки, но работающее немного иначе. Каждая цель имеет название, описывающее её предназначение. Некоторые цели объединяют в себе запуск всех служб какой-то одной цели и нескольких дополнительных сервисов. Для замены уровней загрузки sysvinit были созданы специальные «цели», переключаться между которыми вы можете как и раньше используя команду telinit RUNLEVEL. Стандартные для ROSA уровни загрузки 0, 1, 3, 5, и 6 полностью эквиваленты соответствующим целям systemd.

К сожалению, не существует простого способа реализовать пользовательские уровни 2 и 4. В качестве замены пользователь может создать новую цель /etc/systemd/system/$YOURTARGET на основе одной из имеющихся (в качестве примера посмотрите /lib/systemd/system/), создать папку /etc/systemd/system/$, и с помощью символических ссылок добавить все необходимые вам дополнительные сервисы в эту папку. (Символические ссылки должны указывать на файлы служб *.service, расположенные в /lib/systemd/system).

Переключение уровня загрузки:

Команда sysvinit Команда systemd Комментарий
telinit 3 systemctl isolate (OR systemctl isolate OR telinit 3) Переключиться на многопользовательский уровень.
sed s/^id:.*:initdefault:/id:3:initdefault:/ ln -sf /lib/systemd/system/ /etc/systemd/system/ Установить загрузку по умолчанию на уровень 3.

Как отключить ненужные службы в Linux

Библиотека сайта

Оригинал: How to Stop and Disable Unwanted Services from Linux System Avishek Kumar 7 марта 2014 годаПеревод: А. Кривошей

Дата перевода: октябрь 2014 г.

Когда мы настраиваем сервер, необходимо спросить себя, что нам действительно необходимо. Нужен ли нам веб-сервер или 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), использующий демоны и rpcbind. Если у вас работают эти процессы, значит запущен NFS-сервер. В противном случае ваши системные ресурсы расходуются напрасно.

Как завершить процесс в Linux

Для того, чтобы завершить работающий процесс в Linux, используется команда «Kill PID». Но сначала нам необходимо узнать PID процесса. Например, я хочу узнать PID процесса «cupsd»:

Итак, PID процесса cupsd 1511. Для того, чтобы завершить этот процесс, используем команду:

Как отключать службы в Linux

В дистрибутивах на базе Red Hat, таких как Fedora и CentOS для отключения и включения служб используется скрипт «chkconfig».Например, давайте отключим автозагрузку сервера Apache:

В дистрибутивах на базе Debian, таких как Ubuntu, Linux Mint, для этой цели используется скрипт , для отключения автозагрузки сервера Apache используется следующая команда:

Опция «-f» здесь используется для того, чтобы скрипт не запрашивал подтверждения выполнения команды.

Если вам понравилась статья, поделитесь ею с друзьями: