ユーザーを削除するpostrm
スクリプトを含むパッケージを作成しました。 Sudo apt-get remove ...
、postrm
スクリプトは期待どおりに動作します。
vagrant@vagrant-ubuntu-trusty-64:~$ Sudo apt-get -y remove datim4u-auto-cert-updater
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
datim4u-auto-cert-updater
0 upgraded, 0 newly installed, 1 to remove and 32 not upgraded.
After this operation, 18.4 kB disk space will be freed.
(Reading database ... 70225 files and directories currently installed.)
Removing datim4u-auto-cert-updater (1.0.1~trusty) ...
Removing user datim4u_auto_cert_updater and its home directory...
Looking for files to backup/remove ...
Removing files ...
Removing user `datim4u_auto_cert_updater' ...
Warning: group `datim4u_auto_cert_updater' has no more members.
Done.
ただし、Sudo apt-get purge ...
、postrm
スクリプトが2回実行され、エラー/usr/sbin/deluser: The user '...' does not exist.
:
vagrant@vagrant-ubuntu-trusty-64:~$ Sudo apt-get -y purge datim4u-auto-cert-updater
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
datim4u-auto-cert-updater*
0 upgraded, 0 newly installed, 1 to remove and 32 not upgraded.
After this operation, 18.4 kB disk space will be freed.
(Reading database ... 70225 files and directories currently installed.)
Removing datim4u-auto-cert-updater (1.0.1~trusty) ...
Removing user datim4u_auto_cert_updater and its home directory...
Looking for files to backup/remove ...
Removing files ...
Removing user `datim4u_auto_cert_updater' ...
Warning: group `datim4u_auto_cert_updater' has no more members.
Done.
Purging configuration files for datim4u-auto-cert-updater (1.0.1~trusty) ...
Removing user datim4u_auto_cert_updater and its home directory...
/usr/sbin/deluser: The user `datim4u_auto_cert_updater' does not exist.
これは予想通りであり、通常のことです。メンテナースクリプトは、パッケージの構成中に複数回呼び出される場合があり、どのアクションが必要かを示す引数とともに呼び出されます。プロセスは Debian Wikiページのメンテナースクリプト で見ることができます。これには、削除およびパージのプロセスのフローチャートが含まれます(パッケージが最初に削除されてから別の操作でパージされるのとは対照的に):
Allメンテナースクリプト({pre,post}{inst,rm}
)は、渡された引数に注意して、それに応じて動作することが期待されています。