Я поддерживаю пакет debian, который включает в себя некоторые файлы конфигурации, установленные в /etc/
. Есть ли способ, которым я могу каким-то образом заставить пакет всегда автоматически --purge
сам себя, когда пользователь делает обычный apt-get remove mypackage
?
. Причина в том, что у меня есть некоторые файлы конфигурации в / etc, которые действительно должны быть удалены когда двоичные файлы удалены, в противном случае это может привести к странному поведению. Однако я все еще хочу рассматривать их как файлы conf, то есть убедиться, что apt не просто стирает их при каждом обновлении пакета. Но они должны быть удалены при удалении пакета.
В настоящее время я вручную удаляю файлы / etc conf в моем скрипте postrm. Однако я только что обнаружил, что это имеет неприятный побочный эффект: если пользователь удаляет, а затем переустанавливает пакет, файлы conf не будут переустанавливаться, потому что apt считает, что они все еще там. Так есть ли способ, которым я могу вручную запустить полную «очистку» в моем postrm, чтобы apt знал, что файлы conf пропали?
Откройте терминал и введите эту команду.
alias remove='apt-get remove --purge
Он создаст псевдоним под названием remove и определит его как включающий remove --purge
Я иногда запускаю aptitude purge '~c'
, который очищает все, что не было очищено раньше Поощряйте людей делать это.
Политика debian запрещает вам возиться с файлами, которые принадлежат другим пакетам, и / или изменениями системы. (или, по крайней мере, я так думаю)
Вы можете поручить пользователям использовать purge
вместо remove
:
sudo apt-get purge mypackage
Если вам нужно перезаписать файлы конфигурации, debian может предложить пользователю установить файлы конфигурации сопровождающего: http://www.debian.org/doc/manuals/maint-guide/dother.en .html # conffiles
Одна из самых раздражающих вещей в программном обеспечении - это то, что вы тратите много времени и усилий на настройку программы, только чтобы у вас возникли проблемы с обновлением. Debian решает эту проблему, помечая такие файлы конфигурации как conffiles. [55] При обновлении пакета вас спросят , хотите ли вы сохранить старые файлы конфигурации или нет.
blockquote>Принудительно устанавливать новые файлы конфигурации по умолчанию
Вы можете сделать это автоматически при обновлении:
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