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を設定します。これは、私の目的には十分に機能するためです。
apt
に依存関係を無視させることはできませんが、偽物を作成することはできますgstreamer0.10-plugins-good
不足している依存関係を満たすパッケージ。これを行う最も簡単な方法は equivs
を使用することです:
インストールequivs
Sudo apt install equivs
テンプレート制御ファイルを生成する
equivs-control gstreamer0.10-plugins-good.control
パッケージ名を修正
sed -i 's/<package name; defaults to equivs-dummy>/gstreamer0.10-plugins-good/g' gstreamer0.10-plugins-good.control
パッケージをビルドする
equivs-build gstreamer0.10-plugins-good.control
インストールする
Sudo dpkg -i gstreamer0.10-plugins-good_1.0_all.deb
opera
パッケージの依存関係を満たす必要があります。
gstreamer0.10-plugins-good
を編集して、opera
パッケージの/var/lib/dpkg/status
依存関係を削除することもできます。
テキストエディタで開き、Package: opera
という行を検索し、その下のDepends:
行で問題のgstreamer0.10-plugins-good
packageを削除します。
その後、apt
が再び機能します。