Удаление программ в 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. Базовый уровень” нашего учебного центра.
Весеннего всем настроения и разрешения зависимостей!