Using apt-get to remove packages and dependencies

гve recently been reading through в lot of questions/answers/opinions about removing packages and dependencies. TherВs в lot of different ways to do it, some being overly convoluted and some being insufficient/incomplete. I want to ask here in one нравится what others think is the best ways to do go about clearing out в package and everything including configs, dependencies, and the dependencies 'configs. гll offer my method схвати well that came from в lot of trial and ошибку and hair-pulling.

3
задан 12 December 2015 в 07:06

3 ответа

Предупреждение: Это может удалить пакеты, которые Вы могли бы все еще хотеть. Если это происходит, просто переустанавливают их. Но честно когда Вы устанавливаете/удаляете что-то, что это собирается вносить большими изменениями в Вашу систему..., почему бы не идти вперед и скопировать сначала.

самое полное, метод я когда-либо придумывал, чтобы полностью удалить пакет ПЛЮС его зависимости ПЛЮС все конфигурации включая те конфигурации зависимостей и сделать, немного уборки - это, где PACKAGENAME является основным пакетом, который будет удален:

  • Журнал из рабочего стола и нажимает, Ctrl+Alt+F1 тогда входят в систему к TTY1 и выполняют следующие команды:

    sudo apt-get purge <PACKAGENAME>
    sudo apt-get purge $(apt-cache depends <PACKAGENAME> | awk '{ print $2 }' | tr '\n' ' ')
    sudo apt-get autoremove
    sudo apt-get update
    sudo apt-get check
    sudo apt-get -f install
    sudo apt-get autoclean
    
  • Перезапуск в случае необходимости

    sudo shutdown -r now
    

Поэтому, что продолжается во второй строке? Каналы берут вывод от способного кэша, зависит, и переформатируйте его. Первый канал awk '{печатают 2$} ', берет вывод способного кэша, зависит и печатает, или "эхо", только второй столбец. Без него у Вас также был бы в списке другой столбец, который является типом зависимости, т.е. "зависит", "рекомендует", и т.д. Тогда второй канал , TR '\n' '' берет тот результат и удаляет, или усекает (следовательно TR), новая строка (строки) и заменяет их пространством, которое разделяет имена. Все это возвращает "разграниченный пространством" список названий всех пакетов зависимости PACKAGENAME, это благоприятно для формата для использования с несколькими, упаковывают вход для чистки опции команды.

Это работает особенно хорошо на meta пакеты. Я работаю, последняя команда "sudo склонный - заставляют установку-f" в конце проверять на возможные поврежденные пакеты и фиксировать их после внесения такого количества изменений внезапно. Я особенно делаю это каждый раз, когда я добавляю "DE" и хочу возвратиться. Просто недавно я использовал это после установки GNOME, и это даже зафиксировало то, что только чистка Gnome с автоудаляет, после того, как все еще оставлено мой измененный GRUB и оставила опцию входа в систему в DM. Когда я испытал lubuntu-рабочий-стол, он зафиксировал некоторые конфликты и удалил записи из входа в систему DM, которые оставила чистка и автоудаляют.

похожий метод А, который работает хорошо, вероятно, более безопасен, но все еще не всегда добирается, все:

sudo apt-get --purge autoremove PACKAGENAME

, Который может или, возможно, не должен добиваться:

sudo apt-get update
sudo apt-get check
sudo apt-get -f install
sudo apt-get autoclean
5
ответ дан 1 December 2019 в 15:24

Я также использую aptitude purge для этого:

sudo aptitude purge <PACKAGENAME>

Эта команда

  • удаляет зависимости
  • , не удаляя зависимости, которые являются также зависимостями некоторого другого установленного пакета,
  • , но я не уверен, удаляет ли это конфигурации зависимостей.
1
ответ дан 1 December 2019 в 15:24

Это удалит указанные пакеты, все автоматически установленные пакеты и все их конфигурации:

sudo apt-get -s purge <PKG> | grep '^ ' | tr -d '*' | xargs -o sudo apt-get purge

Или как пользователь root:

apt-get purge `apt-get -s purge <PKG> | grep '^ ' | tr -d '*'`

Замените пакетом или пакетами, которые вы хотите удалить. полностью.

0
ответ дан 7 April 2020 в 16:03

Другие вопросы по тегам:

Похожие вопросы: