conffileで定義されたファイルの動作

conffileで定義されたファイルの動作

Debianパッケージを作成してsudo dpkg -i package.deb

その後、を使用して削除しましたが、sudo dpkg -r package期待どおりにファイルが残ります。

その後、を使用して設定フォルダ全体を削除し、rm -rf /var/package/config/「新しいインストール」をシミュレートして再インストールしようとしました。今度はconffiles、インストールされていないファイルの単一のファイルを除いて、すべてのリソースがあります。

インストールコマンドの入力を求められないため、遅すぎる前にこれを検出するのは困難です。

私のフォルダ構造は次のとおりです。

deb
├── DEBIAN
│   ├── conffiles # /home/package/app/config/application.yml is listed here
│   ├── control
│   └── postinst
├── etc
│   └── init.d
│       └── startup
└── home
    └── package
        └── app
            └── config
                └── application.yml
                |
                └── stuff
                     └── common.txt

ファイルが追加されるインストールパッケージを実行しているユーザーにどのようにメッセージを表示しますか?この状況は通常どのように処理されますか?

答え1

管理者がconfファイル(dpkgによって制御される設定ファイル)を削除すると、dpkgは編集と同様にユーザーの変更と見なして、新しいインストールとアップグレード時にそのファイルを保持します。パッケージが削除されたが削除されず、管理者がファイルを削除した場合、後続のインストールからファイルを回復することはできません。

これらの設定ファイルを強制的に回復するには、いつでも --force-confmiss を使用するか、dpkg(1)マニュアルページを確認するか、より残酷な消去と再インストール方法を使用できます。ただし、他の構成ファイルや構成ファイルが破損していると、データが失われる可能性があります。修正されました。

いずれにせよ、ホームディレクトリの下の.debパッケージにパス名を渡すのは良い考えではありません。これは、削除可能なユーザーが所有するか、ユーザーが一般的なシステム管理タスクの一部として削除される可能性があるためです。

関連情報