Сопровождение системы: утилита uCareSystem Core

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

Повседневные задачи по сопровождению настольной системы включают в себя проверку обновлений пакетов и, при их наличии, установку оных, а также очистку системы от отходов жизнедеятельности («осиротелых» зависимостей, конфигов удалённых пакетов, и так далее). Действия эти выполняются или вручную, командами соответствующего назначения, или наборами утилит, специфичных для отдельных дистрибутивов (такими славится Linux Mint и LMDE), или комплексными утилитами, ориентированными на семейства родственных дистрибутивов, например, Ubuntu.

К числу последних принадлежит и героиня данного очерка — uCareSystem Core, или попросту ucaresystem-core. Это — запускаемый из командной строки сценарий, который обновляет локальный кэш пакетов, скачивает и устанавливает обновления, удаляет старые ядра, «заброшенные» пакеты и конфиги. И проделывает всё это автоматически, без вмешательства применителя, однако абсолютно прозрачно и понятно для него.

Узнал об утилите ucaresystem-core с подачи старого своего товарища Владимира Попова (за что, пользуясь случаем, выражаю ему свою признательность), я начал применять её в повседневной жизни. И в конце концов решил включена в грядущие релизы Cintu.

В официальном репозитории Ubuntu утилиты ucaresystem-core, она имеет место быть в собственном PPA-репозитории, содержащем версии для релизов от Precise до Xenial включительно. Версии для Yakkaty (пока?) нет. Подключается этот репозиторий обычным образом, и столь же обычно утилита из него устанавливается:

$ sudo -s
# add-apt-repository ppa:utappia/stable
# apt update
# apt install ucaresystem-core
# exit

После чего утилиту можно запустить с правами администратора:

$ sudo ucaresystem-core

И затем в течении пяти секунд наблюдается следующая картина:

ucaresystem

А затем начинается работа сценария. Сначала обновляется локальный кеш пакетов, то есть, попросту говоря, выполняется команда apt update. Если в ходе этого были обнаружены обновлённые пакеты, то начинается

Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Расчёт обновлений… Готово

После чего происходит обновление системы (то есть выполнение команды apt upgrade).

Далее система проверяется на предмет неиспользуемых пакетов, то есть «осиротелых» зависимостей. И при обнаружении таковых они удаляются — это работает команда apt autoremove.

Вслед за тем наступает время проверки системы с точки неиспользованных ядер. И если таковые обнаруживаются — удалению подлежат все, кроме активного и предпоследнего, вместе с сопутствующими компонентами (файлами initrd, System.map и так далее, а также соответствующими каталогами в /lib/modules/).

Следующий шаг — выявление и удаление конфигурационных файлов, оставшихся от удалённых пакетов. И завершается работа сценария очисткой системы от пакетов, скачанных в ходе их установки и обновления, то есть выполнение команды apt clean.

Таким образом, утилита ucaresystem-core выполняет все нужные для поддержания целостности и чистоты системы манипуляции. И при этом не делает ничего лишнего, непонятного или, паче того, противоестественного. Что и позволяет рекомендовать её к повседневному употреблению.

Сопровождение системы: утилита uCareSystem Core: 4 комментария

  1. Должно ли apt-upgrade команды
    $ sudo ucaresystem-core
    соответствовать работе менеджера обновлений mintupdate?
    ПОСЛЕ:
    Finished updating package lists
    ПИШЕТ
    apt
    Usage: apt command [options]
    apt help command [options]…..
    и т.д. -полный вывод команды apt —help (ВСЕГО 2 РАЗА).
    Это всё, apt-upgrade не выполняется, также в mintupdate ничего не меняется (обновлённые пакеты не устанавливаются).

  2. Алексей, по идее, соответствовать не обязаны: apt в Ubuntu и apt в Mint’е — абсолютно разные утилиты. Подозреваю, что надо править какие-то мелочи в скрипте.

  3. СПАСИБО, НЕ ОБРАТИЛ ВНИМАНИЕ НА РАЗНИЦУ UBUNTU ↔ LM.
    Видимо вы правы
    $ cat /usr/bin/ucaresystem-core
    ……………………………………………..
    # System : Debian Linux and Ubuntu Linux
    ………………………………………………………….
    ## Updates packages and libraries
    sudo apt -y full-upgrade;
    echo
    …………………………………………………………………
    В LM должно быть „apt upgrade“ либо „apt dist-upgrade“. ОПЦИЯ „-y“ неясна, надо почитать.

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