В Linux Mint и Ubuntu, в отличие от Windows, требующей после процедур удаления ПО для своей последующей чистки использования специального ПО (например, CCleaner) произвести очистку системы от ненужных пакетов программ можно двумя командами терминала:
sudo apt autoclean и sudo apt autoremove.
Пример, демонстрирующий желательность осуществления таких действий на периодической основе, показан в этой заметке.
Но, как говорится, человеку свойственно забывать. Следствием моей забывчивости является "обрастание" системы потерявшими актуальность пакетами программ. Поэтому со временем у меня возникла мысль о возможности автоматизации данной процедуры.
Предлагаемый вариант автоматизации представляет из себя запуск двух исполняемых файлов (скриптов sh) с определённой периодичностью. Другими словами, запуск заданий автоматической очистки от ненужных пакетов программ будет осуществляться по заданию cron.
Как сделать своё задание cron описано в этой публикации. Далее предполагается, что Вами усвоены инструменты редактирования заданий cron и имеется представление о том, как добавить задание в планировщик cron.
Создаются два исполняемых файла, например, autoclean.sh и autoremove.sh
#!/bin/bash
apt autoclean
sleep 15 && exit
#!/bin/bash
apt autoremove -y
sleep 15 && exit
Так как задания будут выполняться от имени root, то в строку выполняемый команды добавлять sudo не требуется. -y является указанием на то, что в процессе выполнения команды вопросы не будут отображаться, так как на них предусматривается ответ "Да". exit представляет из себя команду завершения работы скрипта, а sleep 15 – 15-ти секундную паузу "на всякий случай".
Мной было определено, что эти файлы будут расположены в каталоге /usr/share, поэтому, используя файловый менеджер под правами суперпользователя или Midnight Commander (sudo mc), перемещаю файлы в выбранный каталог.
Далее составляется задание – sudo crontab -e
Примечание. Для редактирования задания в Linux Mint с помощью встроенного редактора Midnight Commander следует использовать команду:
sudo EDITOR=mcedit crontab -e
Мной было принято решение о запуске файлов 28-го числа каждого месяца в 21 час 10 минут и 21 час 15 минут, поэтому вношу следующие строки:
sudo EDITOR=mcedit crontab -e
Мной было принято решение о запуске файлов 28-го числа каждого месяца в 21 час 10 минут и 21 час 15 минут, поэтому вношу следующие строки:
10 21 28 * * /usr/share/autoclean.sh
15 21 28 * * /usr share/autoremove.sh
Для корректного назначения задания после внесения второй строки необходимо добавить пустую строку, иначе файл заданий записан не будет.
После этого в перечне пользовательских заданий cron появится файл root. Файл будет расположен в каталоге /var/spool/cron/crontabs:
Комментариев нет:
Отправить комментарий