ProgramX.Yのdebパッケージを作成しようとしていますが、次のコマンドでdeb pacakgeを生成すると、destineシステムに同じプログラムが存在する可能性がありますが、他のバージョン(programX.Z)です。
dpkg-buildpackage -us -uc --source-option=--include-binaries --source-option=-isession
他のバージョンのプログラム(programX.Z)があるシステムにパッケージをインストールしようとすると、次のようになります。
dpkg: error processing programX.Y.deb (--install):
trying to overwrite `/usr/lib/XXX', which is also in package programX.Z
--force-overwriteを渡すと問題は解決しますが、その解決策は必要ありません。
問題は、システムにインストールして自動的に上書きできるプログラムバージョンのdebパッケージを作成するにはどうすればよいかということです。例はpythonです。 Python3には多くのバージョンがあります(3.1、3.2、3.3、3.4、3.5 ...)。 python3.4をインストールしたシステムにカスタムpythonパッケージバージョン3.6をインストールしたい。
可能です?
--force-overwrite
と同等のパッケージを作成することはできませんが、他の解決策があります。
dpkg-divert
を使用して処理されます。/usr/lib/XXX
の問題に対する適切な解決策である可能性があります。python3
セットのパッケージのシンボリックリンクを使用して決定されます。