Итак, вы успешно установили дистрибутив Linux Mint, Ubuntu или Fedora Workstation, провели его оптимизацию, но он все равно медленно загружается. Конечно же, можно просто смириться с этим, ведь время загрузки системы не является определяющим фактором при работе с ней, но если вы обладаете опытом работы с Linux и не боитесь использовать терминал, вы можете провести небольшую дополнительную оптимизацию процесса ее загрузки, заключающуюся в отключении неиспользуемых системных служб. Так как во всех упомянутых дистрибутивах с недавнего времени используется менеджер инициализации systemd, процесс их настройки будет практически идентичным. Различия в данном случае будут заключаться в наборе активированных по умолчанию системных служб.
Для того, чтобы получить список активированных по умолчанию системных служб, следует открыть окно терминала и ввести в него следующую команду (используйте функции копирования/вставки, чтобы не ошибиться при вводе):
systemctl list-unit-files --type=service | grep enabled
После окончания ввода команды следует нажать клавишу Enter для ее исполнения. В результате вы получите список активированных системных служб в следующем формате:
[email protected] ~ $ systemctl list-unit-files --type=service | grep enabled
accounts-daemon.service enabled
anacron-resume.service enabled
anacron.service enabled
[email protected] enabled
avahi-daemon.service enabled
binfmt-support.service enabled
bluetooth.service enabled
…
В зависимости от используемого дистрибутива, данный список может быть достаточно длинным, поэтому он был сокращен. Вам придется деактивровать лишь те службы, которые не используются в вашем случае. Но что делать в том случае, если вы не знаете назначения каждой из служб? Ну, вы можете просто воспользоваться приведенным ниже списком служб, которые могут быть максимально безболезненно деактивированы.
Предупреждение: если вы не знаете о назначении службы или не уверены в необходимости ее использования, не совершайте с этой службой никаких манипуляций, ведь в случае ошибки вам придется восстанавливать работоспособность системы вручную.
Для деактивации системной службы следует использовать последовательность из двух команд:
sudo systemctl stop <имя службы>.service
sudo systemctl disable <имя службы>.service
Так как некоторые деактивированные службы могут активироваться другими службами, в некоторых случаях для принудительной деактивации службы вам также придется использовать следующую команду:
sudo systemctl mask <имя службы>.service
Для того, чтобы проверить текущее состояние службы достаточно выполнить следующую команду:
systemctl status <имя службы>.service
В результате исполнения данной команды вы получите аналогичный вывод:
[email protected] ~ $ systemctl status ModemManager.service
● ModemManager.service - Modem Manager
Loaded: loaded (/lib/systemd/system/ModemManager.service; enabled; vendor pre
Active: active (running) since Вт 2016-11-22 20:26:40 MSK; 2h 17min ago
Main PID: 908 (ModemManager)
Tasks: 3 (limit: 512)
CGroup: /system.slice/ModemManager.service
└─908 /usr/sbin/ModemManager
Из данного вывода очевидно, что служба активирована (enabled во второй строке), а также активна и исполняется (active (running) в третьей строке).
Совет: в некоторых материалах после деактивации системных служб рекомендуют удалять соотвествующие пакеты программного обеспечения. Я не рекомендую делать этого, так как каждая из деактивированных служб может понадобиться вам в любой момент.
Если вы по ошибке деактивировали системную службу и желаете отменить это действие, вам придется выполнить ее повторную активацию с помощью следующей последовательности команд:
sudo systemctl unmask <имя службы>.service
sudo systemctl enable <имя службы>.service
sudo systemctl start <имя службы>.service
Разумеется, первая команда должна исполняться лишь в том случае, если вы осуществляли принудительную деактивацию системной службы.
Ниже приведен список системных служб, которые вы можете относительно безболезненно деактивировать. В зависимости от используемого дистрибутива, вы можете не обнаружить некоторые из упомянутых служб в списке активированных, поэтому стоит деактивировать лишь те службы, которые активированы в вашем дистрибутиве.
A. Планировщики событий
anacron-resume.service
anacron.service
cron.service
atd.service
Данные службы предназначены для выполнения заданных действий в определенное время или через определенные промежутки времени. В большинстве случаев они могут быть безболезненно деактивированы.
B. Службы поддержки печати
cups.service
cups-browsed.service
Данные службы ответственны за обнаружение и работу с принтерами. Если у вас нет принтера, можете смело деактивровать их.
C. Служба поддержки широкополносных беспроводных устройств
ModemManager.service
Данная служба позволяет использовать 2G/3G/4G модемы. Если вы не используете подобные устройства, можете деактивирвать ее.
D. Службы поддержки логических виртуальных томов и RAID-массивов
lvm2-monitor.service
dmraid-activation.service
iscsi.service
mdmonitor.service
multipathd.service
Данные службы должны использоваться лишь в том случае, если при установке системы жесткие диски были использованы для создания логических виртуальных томов или RAID-массивов. Если вы не создавали их (что рекомендуется), вам не понадобятся все эти службы.
E. Служба поддержки устройств Bluetooth
bluetooth.service
Данная служба позволяет работать с устройствами Bluetooth. Если вы не используете таких устройств, можете деактивировать ее.
F. Службы отправки информации о системных сбоях
whoopsie.service
abrt-ccpp.service
abrt-oops.service
abrt-vmcore.service
abrt-xorg.service
abrtd.service
Данные службы предназначены для сбора информации о системных сбоях и ее передачи разработчикам дистрибутива. Если вы не желаете активно участвовать в процессе разработки дистрибутива, вы можете деактивировать данные службы.
G. Служба для людей с ограниченными возможностями
brltty.service
Данная служба предназначена для работы с устройствами, позволяющими использовать шрифт Брайля для слабовидящих людей. Если вы не пользуетесь такими устройствами, вы можете деактивировать ее.
H. Служба обнаружения сетевых устройств
avahi-daemon.service
Данная служба позволяет осуществлять автоматическое распространение информации о сетевых устройствах в локальной сети. Если вы не пользуетесь ею, можете также деактивировать ее.
I. Службы поддержки виртуальных машин
libvirtd.service
spice-vdagentd.service
vgauthd.service
vmtoolsd.service
Данные службы используются для работы с виртуальными машинами (обычно посредством приложения Boxes). Если вы не используете виртуальные машины для запуска операционных систем, вы можете деактивировать их.
После деактивации описанных системных служб следует перезагрузить компьютер. Теперь он должен немного быстрее загружаться.