всегда чистка на удаление в упаковке

Я поддерживаю пакет debian, который включает в себя некоторые файлы конфигурации, установленные в /etc/. Есть ли способ, которым я могу каким-то образом заставить пакет всегда автоматически --purge сам себя, когда пользователь делает обычный apt-get remove mypackage?

. Причина в том, что у меня есть некоторые файлы конфигурации в / etc, которые действительно должны быть удалены когда двоичные файлы удалены, в противном случае это может привести к странному поведению. Однако я все еще хочу рассматривать их как файлы conf, то есть убедиться, что apt не просто стирает их при каждом обновлении пакета. Но они должны быть удалены при удалении пакета.

В настоящее время я вручную удаляю файлы / etc conf в моем скрипте postrm. Однако я только что обнаружил, что это имеет неприятный побочный эффект: если пользователь удаляет, а затем переустанавливает пакет, файлы conf не будут переустанавливаться, потому что apt считает, что они все еще там. Так есть ли способ, которым я могу вручную запустить полную «очистку» в моем postrm, чтобы apt знал, что файлы conf пропали?

6
задан 18 October 2012 в 10:26

3 ответа

Откройте терминал и введите эту команду.

alias remove='apt-get remove --purge

Он создаст псевдоним под названием remove и определит его как включающий remove --purge

0
ответ дан 18 October 2012 в 10:26

Я иногда запускаю aptitude purge '~c', который очищает все, что не было очищено раньше Поощряйте людей делать это.

0
ответ дан 18 October 2012 в 10:26

Политика debian запрещает вам возиться с файлами, которые принадлежат другим пакетам, и / или изменениями системы. (или, по крайней мере, я так думаю)

Обучите своих пользователей

Вы можете поручить пользователям использовать purge вместо remove:

sudo apt-get purge mypackage

Автоматическая перезапись

Если вам нужно перезаписать файлы конфигурации, debian может предложить пользователю установить файлы конфигурации сопровождающего: http://www.debian.org/doc/manuals/maint-guide/dother.en .html # conffiles

Одна из самых раздражающих вещей в программном обеспечении - это то, что вы тратите много времени и усилий на настройку программы, только чтобы у вас возникли проблемы с обновлением. Debian решает эту проблему, помечая такие файлы конфигурации как conffiles. [55] При обновлении пакета вас спросят , хотите ли вы сохранить старые файлы конфигурации или нет.

Принудительно устанавливать новые файлы конфигурации по умолчанию

Вы можете сделать это автоматически при обновлении:

apt-get -o Dpkg::Options::="--force-confnew" dist-upgrade

Источники: http://raphaelhertzog.com/2010 / 09/21 / debian-conffile-configuration-file-управляемого-dpkg / и https://askubuntu.com/a/104912/5538

Предоставляет / Конфликты / замены

Я не уверен в этом, но я думаю, что вы можете полностью очистить и заменить старую версию пакета новой версией пакета.

Читайте здесь: http://www.debian.org/doc/debian-policy/ch-relationships.html#s-replaces

0
ответ дан 18 October 2012 в 10:26

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

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