web-dev-qa-db-ja.com

壊れたパッケージを無視する適性を伝える

以下を使用して、LucidのAmsynthをKarmicにインストールしました。

dpkg --force-depends-version -i amsynth_1.2.2-1_i386.deb

Lucidバージョンをインストールする理由は、Karmicバージョンが3年前であり、私のマシンでクラッシュするためです。 Lucid Amsynthパッケージは、Karmicよりも新しいバージョンのlibatk1とlibjack0に依存していますが、リスクを冒すと思い、Amsynthは正常に動作することがわかりました。

ただし、aptitudeは、アップグレードを行うたびにAmsynthをアンインストールしようとします。なんとか保留にできたと思いますが、適性が打ち切られました。壊れたパッケージを無視して続行するように適性を伝えるにはどうすればよいですか。

9
Rudolf

Deb-fileとdpkgを介してプログラムをインストールした場合は、インストールした.debファイルの依存関係を手動で変更することもできます。私は一度この極端な措置に駆り立てられました...

ar x foo.deb
vim control.tar.xz  # see below
ar r foo.deb control.tar.xz
dpkg -i foo.deb

そしてdpkgはもうfooの依存関係を知りません。 vimでは、。/ controlを選択し(vimを使用してパックされたファイルを読み取ります-解凍して別のエディターを使用し、必要に応じて再パックします)、行から不要な依存関係を削除する必要があります

Depends: foo bar
7
skunk_michi

buntuforums にハッキングされたソリューションがあります。 〜quackのソリューションの方が優れていますが、作業量は多くなります。

私はこれについてグーグルで何も見つけることができませんでした、あなた自身の「ダミーパッケージ」をコンパイルすることを保存してください(あなたがすでにツールを持っているのに十分幸運でない限り、壊れたパッケージをアンインストールせずに不可能です)、しかし私自身のハードドライブを検索することは私に与えました最終的に答え!

知りたい人のために、synaptic/aptitude/apt-getでパッケージをアンインストールせずに「アンブレーク」する方法を次に示します。

まず、インストールしたパッケージと、それに依存するパッケージをメモして、壊れた状態にします。リポジトリにない廃止されたパッケージに依存するapplesのインストールを強制したとしましょう:

ターミナルタイプコード:

Sudo gedit /var/lib/dpkg/status

次のようなものが見つかるまで、ファイルでリンゴを検索します。

コード:

Package: apples
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 316
Maintainer:
Architecture: i386
Source: applesauce
Version: 1.0.10-1
Depends: packageA, packageB, obsolete
Description: Apples on your desktop!

Depends:行から廃止されたものを削除し、ファイルを保存すれば完了です。これが何人かの人々を助けることを願っています。

7
Iain

Aptitudeの[設定]セクション(Ctrl-Tでメニューに移動します。[オプション]の下)で、"依存関係の処理"セクションの"インストールまたは削除する前に壊れたパッケージを自動的に修正する]オプションのチェックを外します"。これにより、他のパッケージを変更するたびに、aptitudeがパッケージを修正しようとするのをやめるはずです。

より永続的な修正として、インストールしたLucid Amsynthパッケージのソースパッケージと、libatk1およびlibjackのソースパッケージを取得する必要があります。 、および独自の更新パッケージを作成します。他にそれらのライブラリを使用するものによっては、他のパッケージも更新する必要があるかもしれませんが、おそらくそれらだけで済ますことができます。 (これは基本的にbackporting LucidからKarmicへのパッケージです-Karmic-backportsリポジトリまたはPPAをチェックして、誰かがすでにこれを行っているかどうかを確認する必要があります。新しいパッケージが機能する場合は、Karmicに送信することを検討してください。 -他の人が使用するためのバックポート。)

2
quack quixote