Найти в Дзене
СНИЛС на Linux

Очистка Arch Linux от мусора

Генеральная уборка Arch Linux
Генеральная уборка Arch Linux

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

su

Первое, что нам надо сделать, это провести очистку кеша. Когда вы устанавливаете программы через pacman, то нераспакованные архивы остаются в системе. Чтобы от них избавиться введите команду

pacman -Scc

Далее надо удалить пакеты-сироты (орфаны) packages-orphans, они устанавливаются, как зависимости, но теперь не нужны. Однако не спешите сразу их удалять, а сначала проверьте, нет ли в них нужных вам пакетов.

pacman -Qtdq

Если их нет, то удаляем их командой

pacman -Qtdq | pacman -Rns -

(Минус (dash) на конце команды нужен, это не опечатка)

Или такой вид написания команды, тут как вам больше нравится

pacman -Rns $(pacman -Qtdq)

Если добавить в команду ещё одну букву t, то удалим и необязательные зависимости

pacman -Qttdq | pacman -Rns -

Далее удаляем циркулярные зависимости, но перед удалением, также проверьте пакеты.

pacman -Qqd | pacman -Rsu -
pacman -Qqd | pacman -Rsu --print -

Далее можно перейти к ручному удалению пакетов. Конечно ввести

pacman -Q

и поочереди проверять за что отвечает каждый пакет - это странное занятие, упростим данную затею следующими командами с их описанием.

pacman -Qii [название пакета]

Выводит информацию о пакете. Тут стоит обратить внимание на пункты Required By и Optional For, чтобы узнать, не является ли он зависимостью какого-либо другого пакета.

pacman -Qe

Выведет все пакеты, которые были установлены вами вручную, а не как зависимости.

pacman -Qm

Выведет все сторонние пакеты, в основном из AUR.

LC_ALL=C pacman -Qi | awk '/^Name/{name=$3} /^Installed Size/{print $4$5, name}' | sort -h

Эта страшная команда выводит все пакеты,отсортированные по размеру.

Либо можно воспользоваться утилитой pacgrahp. С дополнительным ключом, она выведет все пакеты по размеру.

pacgrahp -c

Если хотите удалить какую-то программу сразу вместе с зависимостями, то

pacman -Rns [название программы]

Если к этой команде добавить ещё одну букву s, то удаляться также вручную установленные зависимости.

pacman -Rnss [название программы]

А с опцией c, удалятся пакеты, которые зависят от того, который вы удаляете.

pacman -Rcnss [название программы]

Кстати, таким образом можно удалить и всю систему, если удалить пакет glibc с выше указанными опциями. Так что не вводите эту команду.

pacman -Rcnss glibc

Для очистки директории HOME можно использовать следующие утилиты.

ncdu, gdu, dust, dirstat-rs, dua, filelight, baobab, k4dirstat

Для home

ncdu --color dark --show-percent --hide-graph -rr -x --exclude .git --exclude node_modules

Для root

sudo ncdu --color dark --show-percent --hide-graph -rr -x --exclude .git --exclude node_modules /