apt-get アップグレードによって自動的にインポートされた Debian パッケージの名前を変更します。

apt-get アップグレードによって自動的にインポートされた Debian パッケージの名前を変更します。

バージョン1.0をインストールしましたpackage_apackage_bpackage_aを自動的に置き換えるようにパッケージ制御スクリプト(バージョン1.1など)を設定するにはどうすればよいですか?

試しました(で述べたように7.6.2):

Package: package_b
Version: 1.1 
Conflicts: package_a
Provides: package_a
Replaces: package_a

バージョンの有無にかかわらず(<< 1.1、代替と競合に関連して)作業しましたが、成功しませんでした。

パッケージはリポジトリにあり、apt-get install package_b期待どおりに動作します。ただし、パッケージはアップグレードとして検出されません。

PSも視聴する方法2しかし、うまくいくようですdist-upgrade(テストされていません)。

答え1

そうではないしなければならないapt-get upgradeその理由は、これが直接的なアップグレードではないからです。この場合、「アップグレード」するにはapt削除しpackage_aてインストールする必要があり、aptは新しいバージョンのパッケージと他の依存関係がインストールされている間に直接アップグレードのみを実行します。package_bインストール済み)ランタイムapt-get upgrade

apt-get dist-upgrade一方、依存関係を満たすためにパッケージを削除してパッケージをアップグレードすることは許可されます。これがここでやるべきことです。

また、これを指定すると、aptのバージョンと一致せず、package_a (<< 1.0)aptがインストールされないことがあります。package_a1.0package_b

関連情報