Команды выключения и включения службы
Код: Выделить всё
sudo systemctl disable имя_службы #Выключить
sudo systemctl enable имя_службы #Включить
sudo systemctl mask имя_службы #Скрыть
sudo systemctl unmask имя_службы #Показать
Вот мы и добрались к сервисам. Оптимизация сервисов заключается в том, чтобы отключить лишнее, а также использовать только возможности, встроенные в systemd, так будет быстрее. Сначала перенесем всю функциональность на systemd.
Первым отключим rsyslog. В systemd используется свой механизм записи логов journald, поэтому вести еще один не нужно. Для отключения выполните:
Код: Выделить всё
sudo systemctl disable rsyslog
sudo systemctl mask rsyslog
Опция mask позволяет спрятать юнит, система будет думать что его не существует и не сможет загрузить. Восстановить такой юнит можно командой systemctl unmask.
В systemd реализована своя служба настройки сети - networkd, поэтому необязательно использовать NetworkManager. Работа со встроенной службой будет намного быстрее. Здесь нужно заметить, что
если вы используете wifi и не хотите настраивать его вручную, через консоль, то отключать NetworkManager не стоит.
Отключаем NetworkManager и включаем networkd:
Код: Выделить всё
sudo systemctl disable NetworkManager
sudo systemctl enable systemd-networkd
Службу networking тоже можно отключить, если не используете:
Включаем resolved, который отвечает за настройку DNS серверов:
Код: Выделить всё
sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved
Даем символическую ссылку на файл /etc/resolv.conf
Код: Выделить всё
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Осталось настроить динамическое получение ip адреса при загрузке:
Код: Выделить всё
sudo vi /etc/systemd/network/20-dhcp.network
enp0* значит, что сеть нужно подымать только для устройств, имена которых начинаются на enp0. Готово, сеть настроена.
accounts-daemon.service
– это относится к учётным записям, т.е. нужно.
acpid.service
– задачей ACPI является обеспечение взаимодействие между операционной системой, аппаратным обеспечением и BIOS материнской платы., т.е. нужно.
avahi-daemon.service
Avahi представляет из себя процесс, который предназначен для обнаружения служб/компьютеров в домене .local. На практике, если у Вас есть пара компьютеров в локальной сети или Ваш домен не .local, смысла держать Ahavi активным нет и его мoжно отключить:
sudo systemctl disable avahi-daemon.service
binfmt-support.service
– поддержка ядром других форматов бинарных данных. Как говорится, если не знаешь, то лучше не трогать. Оставляем.
cgmanager.service
CGManager предназначен для управления cgroup, позволяя непривилегированным пользователям получать доступ к cgroup и предотвращая выход из текущего cgroup в родительский не исключая и привилегированные приложения. Служба может пригодиться при создании вложенных контейнеров LXC.
Сведения. Контейнеры Linux или LXC представляют из себя технологию виртуализации, которая может использоваться для решения различных задач. Технология встроена в ядро Linux и с помощью неё возможен запуск на одном компьютере нескольких дистрибутивов практически без потерь производительности. LXC можно расценивать как что-то среднее между изолированным окружением chroot и полноценной технологией виртуализации Qemu, Xen, KVM или VirtualBox. Поскольку все программы выполняются на реальном "железе", без использования виртуализации, то производительность, в отличие от случая использования VirtualBox, не теряется. Даже при очень низких аппаратных ресурсах пользователь может параллельно запустить несколько контейнеров в своей системе, чего нельзя сделать с полноценными технологиями виртуализации.
Таким образом, контейнер позволяет с меньшими накладными расходами изолировать процессы и ресурсы если они работают под управлением операционной системы одной версии. Linux Containers можно считать развитием других "контейнерных" технологий, таких как OpenVZ или Vserver. В отличие от них не требуется специальная версия ядра, что значительно расширяет возможности применения.
Если Вы их не используете и не пользуетесь песочницей, в которой всё это может пригодиться для запуска программ, смело отключайте. В этом файле на стр.68 указано, что контрольные группы Linux (cgroups) могут работать и как механизм группировки и отслеживания процессов, и как инструмент управления использованием ресурсов. Для отключения службы используется команда:
sudo systemctl disable cgmanager.service
Код: Выделить всё
console-kit-daemon.service
console-kit-log-system-start.service
console-setup.service
cpufrequtils.service
cron.service
Далее идут целых 3 службы, в названии которых присутствует console, а также служба, в названии которых имеется cpu. Следующая за этим служба cron известна и относится к планировщику заданий. Служба с cpu явно относится к ЦПУ, а службы console, как видно из англоязыного описания отвечают, в том числе за раскладку клавиатуры, шрифты и т.п. Предполагаем, что все эти службы нужны.
cups-browsed.service
– это служба будет необходима для организации сервера печати на Вашем компьютере. Если к Вашему компьютеру не подключен принтер и Вы не пользуетесь сетевыми принтерами, то можно отключить.
sudo systemctl disable cups-browsed.service
Если вдруг служба Вам понадобится, то потом её можно будет включить:
sudo systemctl enable cups-browsed.service
dbus.service
– это служба системы межпроцессного взаимодействия, которая позволяет приложениям в операционной системе сообщаться друг с другом. Как говорится, не с моим "рылом" лезть в калашный ряд. Служба нужна.
getty@tty1.service
– это служба относится к запуску виртуальных консолей, нужна.
grub-common.service
– как видно из названия, это служба относится к загрузчику grub и без глубоких знаний по процессу загрузки через grub трогать её как-то боязно. Оставляем как есть.
Код: Выделить всё
hddtemp.service
irqbalance.service
keyboard-setup.service
Эти три службы точно нужны, так как hddtemp отвечает за отображение температуры дисков, irqbalace – это что-то из области автоматического прерывания между ядрами процессоров, а keyboard-setup относится к раскладке клавиатуры.
Код: Выделить всё
kmod-static-nodes.service
lm-sensors.service
loadcpufreq.service
Внятного описания kmod-static-nodes у меня найти не получилось, lm-sensors относится к инициализации наблюдения за аппаратной частью компьютера, а loadcpufreq к частоте ЦПУ. Оставляем как есть.
Службы lvm2-lvmetad и lvm2-monitor относятся к службам управления логическими томами (LVM – Logical Volume Management). Если Вы не используете LVM, то можно отключить.
Код: Выделить всё
sudo systemctl disable lvm2-lvmetad.service
sudo systemctl disable lvm2-monitor.service
mdm.service
– Mint Display Manager. Служба нужна.
ModemManager.service
ModemManager – это интерфейс, позволяющий реализовать подключение к сети интернет используя мoдемы, каналы связи (2G/3G/4G/CDMA), способы соединения (RS232, USB, Bluetooth) и методoв управления (AT, QCDM, QMI, MBIM). Если у вас кабельный интернет и вы не планируете использовать модем, отключайте:
sudo systemctl disable ModemManager.service
P.S. В сети найдено следующее утверждение: "Кстати, я у себя проверил, некоторые usb-модемы (например Huawai E303), и телефоны на андроиде, если их использовать как 3g модем (например мой GT-S6102) будут работать если отключить ModemManager.service. Может и ваш модем тоже сможет подключится? ".
Лично у меня в дополнение к сетевой карте имеется USB wi-fi модем китайского образца. После отключения указанной выше службы подключение через этот модем не пропало.
Код: Выделить всё
networking.service
NetworkManager-wait-online.service
NetworkManager.service
Эти 3 службы отвечают за управление сетью на Вашем компьютере. Первоначальный ответ "нужно". На некоторых ресурсах Интернет имеются высказывания пользователей о том, что они выключали службу NetworkManager-wait-online.service
ntp.service
– служба времени, нужна.
ondemand.service
– служба политики управления частотой процессора, нужна.
openvpn.service
– служба Ваших подключений по Open VPN. Если Вы не знаете, что такое VPN или никогда не будете подключаться через Open VPN, то эта служба, как говорится, "стопудово" Вам не нужна. Лично у меня все подключения в мир проходят через MikroTik, поэтому и весь VPN будет организован тоже на нём. Учитывая мои реалии, openvpn и сопутствующие ему пакеты удаляю через Synaptic начисто, чтобы не занимал место и не тратил ресурсов.
Хотя очень многие могут мне возразить: "Хай буде".
polkitd.service
Как указано в статье "Создание собственных правил", PolicyKit запускается и работает как служба операционной системы polkitd. Эта служба запускается от имени пользователя polkitd, который является обычным пользователем системы с ограниченными правами. Демон polkitd всегда стартует с правами суперпользователя и сразу после старта понижает права до обычного пользователя.
Каждый раз, когда приложение требует участия PolicyKit, демон polkitd запускается автоматически. Это обеспечивается средствами dbus-daemon или systemd. Поэтому пользователю никогда не приходится запускать polkitd вручную.
При каждом старте демона файлы .rules перечитываются заново. Поэтому изменения, внесенные в правила, начинают работать сразу, без перезапуска демона, сеанса пользователя или всей системы целиком.
Вывод: служба нужна.
rc-local.service
Назначение этой службы становится понятным после даже поверхностного ознакомления с содержанием статьи "Власть на демонами или автозапуск в Linux". Читайте абзац, который начинается со слов "Существуют несколько способов сделать автозапуск программ в Linux".
Вывод: служба нужна.
resolvconf.service
– служба, касающаяся процесса преобразования имён узлов в адреса IP. Служба нужна. Кому интересны подробности, обратитесь к статье "Взаимоотношения dhcpclient и resolv.conf'a в Linux" здесь или на ресурс Linux Network Administrators здесь.
rsyslog.service
На одном из форумов имеется такой ответ: Rsyslog – это демон ведения логов. Удалять его, конечно, не следует. Без него некоторые программы не смогут писать свои логи. Следовательно, служба нужна.
rtkit-daemon.service
– RealtimeKit Scheduling Policy Service, т.е. что-то типа службы политик планировщика в реальном масштабе времени. Да уж, как сложно-то, похоже, что служба нужна.
setvtrgb.service
Насколько мне удалось понять из содержания данной страницы, setvtrgb имеет отношение к цветовой палитре терминала. Получается, что служба нужна.
speech-dispatcher.service
Speech Dispatcher - это унифицированный API, который имеет предназначение для изменения порядка вызова синтезатора, так же позволяет предотвратить наложения звука при использовании нескольких приложений и воспроизведении в них звука одновременно. Если вы не планируете использовать синтезаторы речи, отключайте:
sudo systemctl disable speech-dispatcher.service
ssh.service
У меня установлен сервер ssh, поэтому наличие данной службы вопросов не вызывает.
sysstat.service
– служба мониторинга производительности системы. Подробности читайте здесь. Служба нужна.
Код: Выделить всё
systemd-journal-flush.service
systemd-journald.service
systemd-logind.service
systemd-modules-load.service
systemd-random-seed.service
systemd-remount-fs.service
systemd-sysctl.service
systemd-tmpfiles-setup-dev.service
systemd-tmpfiles-setup.service
systemd-udev-trigger.service
systemd-udevd.service
systemd-update-utmp.service
systemd-user-sessions.service
Перечисленное выше относится к systemd – системному менеджеру, демону инициализации других демонов в Linux, который пришёл на замену использовавшегося ранее SysV. Его особенностью является интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволило существенно ускорить запуск операционной системы. Название происходит от принятого в Unix добавления суффикса «d» к демонам.
Systemd оперирует специально оформленными файлами конфигурации – юнитами (unit). Каждый юнит отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и т.п. Существуют специальные типы юнитов, которые не несут функциональной нагрузки, но позволяют задействовать дополнительные возможности systemd.
Юнит service отвечает за запуск сервисов (служб), также поддерживает вызов интерпретаторов для исполнения пользовательских скриптов.
Точного описания этих служб не найдено, но предполагаю, что
systemd-journal-flush
и
systemd-journald
– относятся к ведению журналов (прооколов работы) и их очистке;
systemd-logind
– касается сеансов работы пользователей;
systemd-modules-load
– относится к загрузке модулей;
systemd-random-seed
– информации нет. Из wiki Gentoo стало известно, что эта служба относится к OpenRC сервису urandom. А уже после публикации в этой статье найдено, что "В свободной ОС имеется энтропийный пул, работающий через удобный интерфейс /dev/random. Там накапливаются случайные числа, полученные путем сбора случайных событий (передвижение мыши, интервалы между нажатиями клавиш и т.п.)".
systemd-remount-fs
– монтирование файловых систем;
systemd-sysctl
– отслеживание и контроль состояния systemd;
systemd-tmpfiles-setup-dev, systemd-tmpfiles-setup, systemd-udev-trigger, systemd-udevd
– относятся к временным данным, символьным данным и файлам устройств;
systemd-update-utmp
– судя по этому мануалу, служба ведёт аудит и записи обновлений регистрационных имён при старте, изменении уровней запуска и выключении системы;
systemd-user-sessions
– служба пользовательских сессий.
udisks2.service
– служба относится к Disk Manager, т.е. диспетчеру носителей. Служба нужна.
ufw.service
– служба межсетевого экрана. Отключаем фаервол, на домашней машине, за маршрутизатором он не нужен:
sudo systemctl disable ufw
upower.service
– служба управления питанием, нужна.
ureadahead.service
– служба используется при загрузке. Подробности читать
здесь.
user@1000.service
– являюсь пользователем системы с ID=1000, так что это моё.
virtualbox-guest-utils.service
не очень понял, для чего это нужно.
wpa_supplicant.service
– служба представляет из себя Wi-Fi Security Service, т.е. имеет отношение к безопасности соединений по WiFi. Пользуюсь шнуром, поэтому
sudo systemctl disable wpa_supplicant.service