Cintu: чистка стартовых юнитов

Алексей Федорчук

Осенью прошлого года я в очередной раз собрал систему на базе текущей Ubuntu и среды Cinnamon, нарёк её Cintu и назначил любимой женой главной рабочей системой. И первое время с удовольствием смотрел на скорость её загрузки — меньшую, чем для *buntu с любым десктопом, чем Linux Mint и даже чем LMDE. А потом перестал смотреть, потому как в нормальном рабочем режиме перезагружаю систему очень редко. А уж если перезагружаю — то в это время занимаюсь не созерцанием этого процесса, а чем-нибудь другим (например, завариванием послепросоночного кофию).

Давеча же установил в качестве одной из дополнительных систем MX Linux, которые тоже отличался исключительной быстротой загрузки. И как-то решил посмотреть, а насколько он загружается быстрей, чем моя самосборная Cintu. И с удивлением обнаружил, что за почти полгода эксплуатации последней она стала загружаться не медленно, а очень медленно. Да, конечно, я устанавливал в неё множество всяких программ «на посмотреть», которые потом удалял. И хотя делал это по возможности через apt-get purge с последующим apt-get autoremove, но ручаться за полное искоренение всяких ошмётков, разумеется, не мог. А потому решил поглядеть, в чём тут дело.

А тут как раз подоспела статья Василия Алексеенко, в которой он описывает процесс удаления всякого рода отходов жизнедеятельности. И в ней вычитал, что

часть пакетов ставит загрузочные юниты для системы инициализации systemd, что точно не ускоряет загрузку компа.

Я как-то раньше об этом не задумывался, и потому немедленно запустил команду

$ systemctl list-units

которая выдала мне список запускаемых сервисов строк на двести. Причём среди них были явно самообразовавшиеся, типа CUPS Sheduler, и даже поддержки Bluetooth-принтера. Я и такой-то принтер из своего МФУ не использую уже года три ввиду засыхания чернил, и потому сам ничего из области поддержки печати не устанавливаю. А уж принтера с интерфейсом имени Харальда Синезубого у меня отродясь не было (как и самого интерфейса на десктопе).

Теоретически следовало бы разобраться, какие такие пакеты мне всё это поподключали, но по некоторым причинам я ограничился просто отключением соответствующих сервисов, например, так:

$ sudo systemctl disable cups-browsed.service

и прочих, выловленных с помощью фильтра

$ systemctl list-units | grep printer

Впрочем, особо я этим увлекаться не стал, ибо в своё время не удосужился сохранением (и, каюсь, даже просмотром) исходного списка юнитов. Поскольку релиз Ubuntu 16.04, на базе которого будет собираться новая версия Cintu, не за горами, проделаю это сразу — и впредь буду отслеживать ситуацию с самозарождающимися юнитами. После чего вернусь к этому вопросу.

Cintu. Оглавление

Cintu: чистка стартовых юнитов: 18 комментариев

  1. ubuntu взяла плохой пример с windows, которая со временем настолько гов…м зарастает, что приходится переустанавливать с нуля! :-)

  2. Что за штука такая «systemctl»? Synaptic утверждает, что ничего о таком не слышал и не видел.
    Откуда оно у Вас взялось? Из какого-то ppa?

  3. Systemctl — главная команда для отслеживания и контроля состояния systemd. Некоторые из вариантов её использования связаны с изучением состояния системы и управлением системой и службами.

  4. Получаю:
    dpkg-query: не найден путь, подходящий под шаблон *systemctl*

  5. Леонид, совершенно верно — в 14.04 systemd нет и быть не должно :)
    В данном цикле речь шла о 15.10, а вскорости будет говориться о 16.04

  6. alex, я подозреваю, что большая часть хлама у меня образовалась от установки и удаления всех систем ремастеринга изошников, в том числе и неработающих. Но поскольку не отслеживал — утверждать не берусь.
    Хотя откуда взялся блютуз-принтер — ума не приложу :)

  7. alv, все равно systemd отдаленно чем-то напоминает реестр виндовый: такой же «бинарный» и имеющий свойство «расширяться». Интересно, когда уже появятся утилиты для «чистки» настроек systemd :-) Весьма актуально.
    То ли дело стартовые «текстовые» скрипты: удалил из папочки и всех делов (у freebsd так вообще мухи от котлет отделены, то есть системные скрипты от внешнеустановленных).

  8. В mate есть программулина для просмотра и отключения/включения запущенных демонов со всякими блютузами и прочая ненужности (не помню как она называется).
    А вот в cinnfmon ничего подобного найти не дается.
    Может подскажете чего?

  9. > программулина для просмотра и отключения/включения запущенных демонов
    :-) вот-вот, о чем и речь.

  10. alex, во FreeBSD вообще всё по уму сделано. В отличие от…

  11. Леонид, это программа не из MATE, а вообще, пакет называется systemd-ui — графическая морда для systemctl list-units.
    alex, а вот управлять запущенными службами она, увы, не умеет, только смотреть на них, сортировать и снапшотить — как раз для отслеживания всякой дряни :)

  12. Или я чего-то не понимаю, или одно из двух.
    Ставил Минт с Мате 17.3- там, выходит, systemd есть, а в Минт циннамоном ее, почему-то, нет.

  13. Леонид, в Linux Mint 17.3 никакого systemd’а нет. И чего там показывает эта утилита — не знаю :)

  14. systemctl list-unit-files … вывод более съедобный и плюс grep, в помощь. Далее
    systemctl status
    systemctl start
    systemctl enable/disable
    Алексей описывал достаточно подробно, systemd…

  15. Типы юнитов systemd,которые хорошо видны в гуй-приложении
    systemd-ui
    .service – системный сервис
    .target — группа юнитов systemd
    .automount – точка автомонтирования файловой системы
    .device – файл устройства, распознанного ядром
    .mount – точка монтирования файловой системы
    .path – файл или директория в файловой системе
    .scope – процесс, созданный извне
    .slice – группа иерархически организованных юнитов, управляющая системными процессами
    .snapshot – сохраненное состояние менеджера systemd
    .socket – сокет межпроцессного взаимодействия
    .swap – Свап-устройство или свап-файл (файл подкачки)
    .timer – таймер systemd
    Какие типы из них отключать безопаснее ? Или юнит любой категории при его деактивации может привести к отказу системы загружаться и нужно разбираться с каждым конкретным ?

  16. Иван, хорошее приложение гуй, — не назовут. В остальном следуйте логике, логику системы Вы описали…

Добавить комментарий