Перейти к основному содержанию

Очистка Ubuntu Server

Ubuntu

Свободное место — странный предмет. Коль оно есть, то его сразу нет. Свободное место в операционных системах имеет свойство заканчиваться. К счастью, в Linux оно заканчивается не так быстро как в Windows, но всё равно со временем система засоряется ненужными пакетами, конфигурационными файлами и логами.

Если инфраструктура позволяет, то можно просто наращивать объёмы дисков, а лишний хлам со временем будет удалён вместе с обновлением сервера целиком. Но на небольших или домашних системах необходимо следить за свободным местом и принимать соответствующие меры.

Сегодня будем чистить Ubuntu Server. Многие способы подходят и для Ubuntu Desktop.

Проверка свободного места

Неплохо бы узнать чем диски забились и какие папки занимают больше всего места. На ум приходит полезная утилита ncdu:

Linux — узнать размеры папок

Полезные команды для определения размера папок:

ncdu /
df -hT
du -h --max-depth 1

Чистим пакеты

Пакеты — одно из основных мест засорения системы. Приложения устанавливаются, обновляются, тянут за собой зависимости. После удаления пакета или обновления в системе остаётся много ненужных пакетов. Несколько команд для очистки apt. Удаляем неиспользуемые пакеты из кэша и удаляем ненужные зависимости.

apt-get autoclean
apt-get autoremove

linux

Несколько команд для очистки snap. Менеджер пакетов snap удаляет за собой старые версии пакетов, но не все, по умолчанию сохраняется три последние версии. Можно изменить на две:

snap set system refresh.retain=2

Если нужно полностью удалить неиспользуемые пакеты snap, то придётся написать скрипт:

#!/bin/bash
set -eu
LANG=en_US.UTF-8 snap list --all | awk '/disabled/{print $1, $3}' |
while read snapname revision; do
snap remove "$snapname" --revision="$revision"
done

Посмотреть список удалённых пакетов:

dpkg -l | awk '/^rc/ {print $2}'

Очистка файлов удалённых пакетов dpkg.

dpkg -l | awk '/^rc/ {print $2}' | xargs dpkg --purge
# или
aptitude purge ~c

Удаляем старые ядра

Со временем из-за обновлений в системе накапливается много неиспользуемых образов ядер, которые только занимают по 200-400 мегабайт дискового пространства. Нужно однозначно чистить.

Посмотреть сколько в вашей системе набралось образов ядер:

ls /boot/
# или 
apt list --installed | egrep "linux-image|linux-headers"
# или
dpkg --list | egrep "linux-image|linux-headers"

linux

Ого, сколько накопил. Удалённые помечены как rc. Их можно снести командами выше:

linux

Теперь осталось поменьше:

linux

Какое ядро используется на данный момент:

uname -a

linux

Удалить любую версию ядра:

apt purge linux-image-4.15.0-212-generic linux-headers-4.15.0-212-generic

linux

В более новых версиях Ubuntu Server старые версии ядра можно также удалить командой:

apt-get autoremove

Удалить все старые ядра, кроме используемого и предпоследнего:

apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1)
apt autoremove
update-grub
update-grub2

Очистка журналов

Linux имеет механизм протоколирования, журналы тоже занимают место. Проверить размер журнала:

journalctl --disk-usage

linux

Удалить журналы старше недели:

journalctl --vacuum-time=1weeks

linux

Уменьшить размер журнала до 100 МБ:

journalctl --vacuum-size=100M

linux

Плюс пара гигабайт свободного места.

linux

Самый быстрый способ

Если у вас не самая старая версия Ubuntu Server, то можно обойтись:

apt-get autoclean
apt-get autoremove
journalctl --vacuum-size=100M
journalctl --vacuum-time=1weeks

Теги

 

Похожие материалы

Putty — SOCKS5 прокси через SSH-туннель

Однажды один из IP адресов на работе попал в SORBS SPAM. IP адрес можно выкинуть из спам листа, если зайти на сайт sorbs.net именно с этого IP адреса. Но у меня на компе другой внешний IP адрес, а на почтовике с нужным IP стоит linux и нет возможности запустить браузер. Сделаем с помощью putty SSH туннель. 

Теги