```sh ls /boot sudo uname -a sudo apt list --installed | egrep "linux-image | linux-headers" dpkg --list | egrep "linux-image | linux-headers" # Здесь **rc** - означает, что пакет был установлен, но уже удален, а **ii** - что пакет сейчас установлен. На основе полученного списка вы можете удалить любую версию, например, 4.15.0-91: sudo apt purge linux-image-4.15.0-66-generic linux-headers-4.15.0-91-generic # Удалить все старые ядра: sudo apt --purge autoremove sudo apt autoremove sudo update-grub ``` ========================================== #### Как очистить сервер от мусора Со временем сервер обрастает мусором: логи, временные файлы, старые кэши. Разберем команды по удалению всего этого добра. Бонусом в конце будет готовый файл для запуска скрипта с логированием, который будет каждый день удалять все ненужное 🙂 Команда для удаления .log-файлов старше 7 дней: `find /var/log -type f -name "*.log" -mtime +7 -delete find - команда поиска файлов /var/log - папка, где хранятся логи "-type f" - ищем только файлы -name "*.log" - по шаблону *.log "-mtime +7" - старше 7 дней -delete - сразу удалять Очистить systemd-журналы: `journalctl --vacuum-time=7d Эта команда удаляет внутренние журналы системы, которым больше 7 дней. Такие журналы хранят события: старты, ошибки, перезагрузки, службы — всё, что происходило в системе. Обычно занимают много места, особенно если сервер работает давно. Очистить временные файлы: `rm -rf /tmp/* /var/tmp/* Удаляет всё из временных директорий. Будь осторожен, если на сервере кто-то работает прямо сейчас. Очистить кэш и мусор после установки пакетов: `apt clean && apt autoremove -y "apt clean" - очищает кэш установленных .deb файлов "apt autoremove" - удаляет больше не нужные зависимости "-y" - выполнять без лишних вопросов Ниже прикладываю готовый файл. Его нужно будет сделать исполняемым и можно добавить в crontab с запуском в каждое воскресенье в 0:00. Все результаты будут сохраняться в файл "/var/log/server-cleanup.log": ```sh #!/bin/bash LOG_FILE="/var/log/server-cleanup.log" echo "[$(date)] Очистка начата" >> "$LOG_FILE" find /var/log -type f -name "*.log" -mtime +7 -delete >> "$LOG_FILE" 2>&1 journalctl --vacuum-time=7d >> "$LOG_FILE" 2>&1 rm -rf /tmp/* /var/tmp/* >> "$LOG_FILE" 2>&1 apt clean && apt autoremove -y >> "$LOG_FILE" 2>&1 echo "[$(date)] Очистка завершена" >> "$LOG_FILE" sudo chmod +x /usr/local/bin/clean-server.sh sudo crontab -e 0 0 * * 0 /usr/local/bin/clean-server.sh ```