.deb
コマンドを使用してequivs-build
パッケージを作成し、必要なcontrol
、preinst
、postinst
などを提供しました。version
はcontrol
ファイルにも記載されていることに気付きました。ここで、更新されたソースコードを使用して.deb
パッケージを作成し、conf
を変更しないため、パッケージが既にインストールされている場合(もちろん、以前のバージョンの場合)にユーザーがパッケージをアップグレードできるようにします。関連ファイルなど。私が考えることができる1つの方法は、最初にインストールされたバージョンをチェックし、それに応じてアクションを実行するスクリプトを作成することです(つまり、インストールされている場合は、ソースコード、データベース移行などを更新し、そうでない場合は更新します、dpkg -i <package-name>
)を使用してパッケージをインストールします。必要に応じてインストールまたはアップグレードを処理するdpkg
のみ(dpkg upgrade <package-name>
など)を使用して実現する方法があるかどうか疑問に思いました。
あなたが探しているコマンドは確かにdpkg -i
です。これは、インストールされていない場合はインストールされ、すでにインストールされている場合はアップグレードされます。 dpkg
は、ユーザーが変更した構成ファイルを変更しません。そのような場合(変更を保持する、変更を破棄するなど)をどうするかを尋ねられ、破棄したもの(パッケージによって提供される新しい構成ファイル、またはユーザーが変更した古いファイル)のバックアップを常に保持します。 )。パッケージによって/etc/
にインストールされたファイルは、dpkg
によって構成ファイルと見なされます。