Короче говоря, я хочу иметь возможность установить пакет abc
так, чтобы:
apt-get remove abc
должен потерпеть неудачу.apt-get purge abc
должен потерпеть неудачу.apt-get upgrade abc
должно сработать.
Если зависимости пакета изменяются так, что abc
их следует удалить во время, dist-upgrade
я рад, что меня заставляют что-то делать, а затем dist-upgrade
снова.
abc
, но он был удален в любом случае ... Я думаю , что вы должны перекомпилироватьabc
настройкиEssential: yes
иPriority: required
вdebian/control
def
зависимости от того,abc
должен был работать. Былdef
удален? Это поможет, если вы делаетеdef
Priority: required
?Essential: yes
иPriority: required
и он был удален без каких - либо предупреждений. Я создал этот небольшой скрипт для создания пакета, если вы хотите посмотреть: paste.org/44184Essential: yes
было проигнорировано, поэтомуequivs
не достаточно для этого ... Может быть, если пакет создан сdebuild
, я попробую.Ответы:
На самом деле нет ничего, что могло бы «закрепить» пакет, чтобы предотвратить удаление, но разрешить обновление.
Вы можете вбить шип в пакет, его нельзя удалить, очистить, обновить, лизнуть, что угодно ...
Но это немного сложнее, чем большинство вещей.
Например, мы хотим закрепить firefox: (вы, конечно, используете правильное полное имя пакета)
что сделало бы « Firefox » бессмертным. НО в этом состоянии его тоже нельзя обновить.
Удалить статус удержания немного проще, но это своего рода широкий жест:
удаляет статус HOLD из ВСЕГО! Так что, если вы хотите сохранить несколько пакетов, лучше сохранить список для повторного применения позже
На самом деле это довольно приятно и легко выполнить с помощью aptitude или synaptics , так как у них есть опции меню для удержания / снятия пакета, заботясь обо всей бухгалтерии за кулисами для вас. Я бы рекомендовал использовать один из них (или любой из множества других менеджеров пакетов, с которыми вы можете столкнуться)
С Aptitude возможно использование командной строки:
Помните, однако, что вам нужно что-то « убрать », если вы хотите обновить его. Хотя, если вы используете сторону Aptitude с графическим интерфейсом, он должен сказать вам, является ли что-то, что хранится, обновляемым
источник
apt-get
с удовольствием удалит сохраненный пакет.