Я нахожусь в ситуации, когда список потерянных пакетов, которые нужно удалить, apt-get autoremove
включает в себя пакет, который я хочу сохранить. Очевидно, я случайно удалил пакет, который зависел от него. Как я могу теперь пометить пакет как явно желаемый, чтобы apt-get autoremove
не удалить его?
apt
package-management
bluenote10
источник
источник
Ответы:
использование
apt-mark
Так
Теперь
autoremove
не буду его удалять.Отменить
Теперь
autoremove
удалит пакет, если он не является зависимостью от какого-либо другого пакета.источник
Еще несколько попыток Google привели к решению :
Можно либо просто установить явно:
или маркировка как установленная вручную через
apt
не будет переустанавливаться, вывод будет выглядеть так:источник
На этот вопрос уже получен хороший ответ, но я обнаружил ситуацию, в которой я не хотел «помечать» многие пакеты (а затем снимать их после отметки
autoremove
).Когда список пакетов, которые вы хотите автоматически удалить, легко определить, вы можете /
sed
/xargs
передать их.У меня нет сложного примера многих пакетов, но если у меня есть следующий сценарий:
и я хочу удалить только
linux*
пакеты, я могу сделать это:Итак, отсюда легко передать их через
xargs
аргументы командной строки простымapt-get remove -y
:Обычно при использовании
xargs
я бы защищал от пробелов в аргументах (например,find ... -print0 | xargs -0 ...
), но так как в именах пакетов нет пробелов, я спокойно использую аргументы с разделителями новой строки.(Я думаю, что в других ситуациях было бы более уместно «пометить» удержание, открепить пакеты. Это также может быть сделано с помощью регулярных выражений и
xargs
, но, вероятно, чрезмерно сконструировало ситуацию.)источник