Удаление программ в Linux

При удалении пакета ПО, перед пользователем (для десктопных инсталляций) либо администратором сервера, возникает вопрос – как быть с файлами настроек? К примеру, пользователь десктопного Linux может временно удалить игру OpenArena (к слову, рекомендуется для всех любителей “просто пострелять по сети” под Linux) –  с целью освобождения места на диске для каких-то операций, но при этом он захочет сохранить все настройки, чтобы позже “вернуть все как было”.
Другой “кейс” – MySQL с настройками, который пережил с десяток апгрейдов версии, кроме последнего, после которого MySQL пискнул error-логом и отказался понимать все это наследие из рудиментарных опций и творческих экспериментов. В этом случае, решением будет полное удаление пакета, вместе со всеми настройками (с предварительным бэкапом баз данных, естественно).

Рассмотрим удаление пакетов средствами двух самых популярных менеджеров – apt и yum, а также установленных из исходников.

Debian-based удаление

Удалить пакет, сохранив все настройки, в Debian-based дистрибутивах с пакетным менеджером apt, можно командой

apt remove packname

Со всеми файлами настроек пакет будет удален командой

apt purge packname

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

apt-get autoclean

и кэш пакетного менеджера посредством

apt-get clean

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

apt-get autoremove

При наличии поврежденных зависимостей смело выполняем

apt-get -f install

Удаление пакетов в дистрибутивах с пакетным менеджером YUM

Команда

yum remove packname

ведет себя с файлами настроек пакета довольно хитрым образом: измененные файлы будут сохранены примерно в таком виде /etc/packname/packname.conf.rpmsave, а дефолтные – удалены. После чего, при повторной инсталляции packname – возвращены на место.
Как же удалить пакет безвозвратно?
Для решения этой задачи предлагается следующий скрипт:

yum -y remove packname | grep 'warning:' | grep 'saved as' | cut -d' ' -f5 | xargs rm -rf

В скрипте не только удаляется пакет packname, но и всего сохраненные файлы настроек, которые последовательно извлекаются из “рапорта” yum remove.

Удаление пакетов, установленных из исходных кодов

Пакеты, которые установили через make install, удаляются по сценарию, определенному в самой сборке пакета:

cd /packname_source_code_folder

make uninstall

где /packname_source_code_folder – каталог с исходными кодами пакета.

Напоминаем нашим читателям, что все тонкости работы с пакетами в популярных дистрибутивах Linux они смогут узнать на авторском курсе “Linux. Базовый уровень” нашего учебного центра.

Весеннего всем настроения и разрешения зависимостей!

Залишити відповідь

Дякуємо, що поділились