web-dev-qa-db-ja.com

インストールされたパッケージの満たされていない依存関係をaptに無視させる方法は?

Opera 12.16を.debから12.16をインストールしました。この特定のバージョンのこの特定のブラウザが必要であり、他に方法がないと仮定します。

ただし、そのdebは、私のディストリビューションに含まれていないパッケージ(gstreamer0.10シリーズなど)に依存しています(Debianテスト)。これにより、依存関係エラーのあるapt remove operaを除き、aptはevery操作で失敗します。

# apt install cli-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 opera : Depends: gstreamer0.10-plugins-good but it is not installable
         Recommends: flashplugin-nonfree but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

apt --fix-broken installはオペラの削除を提案します:

# apt --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  opera
0 upgraded, 0 newly installed, 1 to remove and 92 not upgraded.
1 not fully installed or removed.
After this operation, 46.6 MB disk space will be freed.
Do you want to continue? [Y/n]

現在のところ、私の回避策はOperaが必要なときにインストールし、aptで他のことを行う必要が生じたらすぐに削除することです。これは面倒です。

助言がありますか?理想的には、operaの依存関係を永遠に無視するようにaptを設定します。これは、私の目的には十分に機能するためです。

6
Jonas Schäfer

aptに依存関係を無視させることはできませんが、偽物を作成することはできますgstreamer0.10-plugins-good不足している依存関係を満たすパッケージ。これを行う最も簡単な方法は equivs を使用することです:

  1. インストールequivs

    Sudo apt install equivs
    
  2. テンプレート制御ファイルを生成する

    equivs-control gstreamer0.10-plugins-good.control
    
  3. パッケージ名を修正

    sed -i 's/<package name; defaults to equivs-dummy>/gstreamer0.10-plugins-good/g' gstreamer0.10-plugins-good.control
    
  4. パッケージをビルドする

    equivs-build gstreamer0.10-plugins-good.control
    
  5. インストールする

    Sudo dpkg -i gstreamer0.10-plugins-good_1.0_all.deb
    

operaパッケージの依存関係を満たす必要があります。

10
Stephen Kitt

gstreamer0.10-plugins-goodを編集して、operaパッケージの/var/lib/dpkg/status依存関係を削除することもできます。

テキストエディタで開き、Package: operaという行を検索し、その下のDepends:行で問題のgstreamer0.10-plugins-goodpackageを削除します。

その後、aptが再び機能します。

5
tgauweiler