web-dev-qa-db-ja.com

oibafおよびpaulo diasリポジトリーを削除する際の依存関係の問題

OibafおよびPaulo Diasesリポジトリを追加し、システムをアップグレードした結果、aptが破損しました。私はそれらのいずれもpap-purgeできません。

これは、aptコマンドを使用しようとするたびに発生します。 apt --fix-broken installは機能しません:

Sudo apt upgrade
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:
 libgl1-mesa-dev : Depends: libgl1-mesa-glx (= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704220730.d682f8~Gd~z is installed
 libgl1-mesa-glx : Depends: libglapi-mesa (= 17.2~git1704220730.d682f8~Gd~z) but 1:17.2~git170422012800.d682f8a~z~padoka0 is installed
                   Breaks: libgl1-mesa-glx:i386 (!= 17.2~git1704220730.d682f8~Gd~z) but 1:17.2~git170422012800.d682f8a~z~padoka0 is installed
 libgl1-mesa-glx:i386 : Breaks: libgl1-mesa-glx (!= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704220730.d682f8~Gd~z is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

ppa-purgeの出力:

Sudo ppa-purge ppa:paulo-miguel-dias/mesa
Updating packages lists
PPA to be removed: paulo-miguel-dias mesa
Package revert list generated:
 libgl1-mesa-glx:AMD64/zesty mesa-vdpau-drivers:AMD64/zesty 
mesa-vdpau-drivers:i386/zesty

Disabling paulo-miguel-dias PPA from 
/etc/apt/sources.list.d/paulo-miguel-dias-ubuntu-mesa-zesty.list
Updating packages lists
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '17.2~git1704230730.070072~Gd~z' (Updated and Optimized Open Graphics Drivers:17.04/zesty [AMD64]) for 'libgl1-mesa-glx'
Selected version '17.2~git1704230730.070072~Gd~z' (Updated and Optimized Open Graphics Drivers:17.04/zesty [AMD64]) for 'libglapi-mesa' because of 'libgl1-mesa-glx'
Selected version '17.2~git1704230730.070072~Gd~z' (Updated and Optimized Open Graphics Drivers:17.04/zesty [AMD64]) for 'mesa-vdpau-drivers'
Selected version '17.2~git1704230730.070072~Gd~z' (Updated and Optimized Open Graphics Drivers:17.04/zesty [i386]) for 'mesa-vdpau-drivers:i386'
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libgl1-mesa-dev : Depends: libgl1-mesa-glx (= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704230730.070072~Gd~z is to be installed
 libgl1-mesa-glx : Depends: libglapi-mesa (= 17.2~git1704230730.070072~Gd~z) but 1:17.2~git170422012800.d682f8a~z~padoka0 is to be installed
                   Breaks: libgl1-mesa-glx:i386 (!= 17.2~git1704230730.070072~Gd~z) but 1:17.2~git170422012800.d682f8a~z~padoka0 is to be installed
 libgl1-mesa-glx:i386 : Breaks: libgl1-mesa-glx (!= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704230730.070072~Gd~z is to be installed
 mesa-vdpau-drivers : Depends: libomxil-bellagio0 but it is not going to be installed
 mesa-vdpau-drivers:i386 : Depends: libomxil-bellagio0:i386 but it is not going to be installed
                           Depends: libxv1:i386 but it is not going to be installed
                           Depends: libxvmc1:i386 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)

問題を手動で解決しようとしても、依存関係の地獄は終わらないようです:

Sudo apt-get install libgl1-mesa-glx=17.0.3-1ubuntu1 libgl1-mesa-dev=17.0.3-1ubuntu1 libgl1-mesa-glx:i386=17.0.3-1ubuntu1 libglapi-mesa=17.0.3-1ubuntu1Reading 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:
 libgl1-mesa-dev : Depends: mesa-common-dev (= 17.0.3-1ubuntu1) but 1:17.2~git170422012800.d682f8a~z~padoka0 is to be installed
 libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 17.0.3-1ubuntu1) but 1:17.2~git170422012800.d682f8a~z~padoka0 is to be installed
 libglapi-mesa : Breaks: libglapi-mesa:i386 (!= 17.0.3-1ubuntu1) but 1:17.2~git170422012800.d682f8a~z~padoka0 is to be installed
 libglapi-mesa:i386 : Breaks: libglapi-mesa (!= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.0.3-1ubuntu1 is to be installed
 libgles2-mesa : Depends: libglapi-mesa (= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.0.3-1ubuntu1 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

cat /etc/apt/sources.listの出力:

# deb cdrom:[budgie-remix 16.10 _Budgie-remix_ -  AMD64 (20161013)]/ xenial main restricted

# deb cdrom:[budgie-remix 16.10 _Budgie-remix_ -  AMD64 (20161013)]/ yakkety contrib main non-free

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://hr.archive.ubuntu.com/ubuntu/ zesty main restricted
# deb-src http://hr.archive.ubuntu.com/ubuntu/ yakkety main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://hr.archive.ubuntu.com/ubuntu/ zesty-updates main restricted
# deb-src http://hr.archive.ubuntu.com/ubuntu/ yakkety-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://hr.archive.ubuntu.com/ubuntu/ zesty universe
# deb-src http://hr.archive.ubuntu.com/ubuntu/ yakkety universe
deb http://hr.archive.ubuntu.com/ubuntu/ zesty-updates universe
# deb-src http://hr.archive.ubuntu.com/ubuntu/ yakkety-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://hr.archive.ubuntu.com/ubuntu/ zesty multiverse
# deb-src http://hr.archive.ubuntu.com/ubuntu/ yakkety multiverse
deb http://hr.archive.ubuntu.com/ubuntu/ zesty-updates multiverse
# deb-src http://hr.archive.ubuntu.com/ubuntu/ yakkety-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://hr.archive.ubuntu.com/ubuntu/ zesty-backports main restricted universe multiverse
# deb-src http://hr.archive.ubuntu.com/ubuntu/ yakkety-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu yakkety partner
# deb-src http://archive.canonical.com/ubuntu yakkety partner

deb http://security.ubuntu.com/ubuntu zesty-security main restricted
# deb-src http://security.ubuntu.com/ubuntu yakkety-security main restricted
deb http://security.ubuntu.com/ubuntu zesty-security universe
# deb-src http://security.ubuntu.com/ubuntu yakkety-security universe
deb http://security.ubuntu.com/ubuntu zesty-security multiverse
# deb-src http://security.ubuntu.com/ubuntu yakkety-security multiverse

Sudo apt --fix-broken installの出力:

    Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
 libgl1-mesa-dev : Depends: libgl1-mesa-glx (= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704220730.d682f8~Gd~z is installed
 libgl1-mesa-glx : Depends: libglapi-mesa (= 17.2~git1704220730.d682f8~Gd~z) but 1:17.2~git170422012800.d682f8a~z~padoka0 is installed
                   Breaks: libgl1-mesa-glx:i386 (!= 17.2~git1704220730.d682f8~Gd~z) but 1:17.2~git170422012800.d682f8a~z~padoka0 is installed
 libgl1-mesa-glx:i386 : Breaks: libgl1-mesa-glx (!= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704220730.d682f8~Gd~z is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

Sudo dpkg --configure -aの出力:

dpkg: dependency problems prevent configuration of libgl1-mesa-dev:AMD64:
 libgl1-mesa-dev:AMD64 depends on libgl1-mesa-glx (= 1:17.2~git170422012800.d682f8a~z~padoka0); however:
  Version of libgl1-mesa-glx:AMD64 on system is 17.2~git1704220730.d682f8~Gd~z.

dpkg: error processing package libgl1-mesa-dev:AMD64 (--configure):
 dependency problems - leaving unconfigured
dpkg: error processing package libgl1-mesa-glx:i386 (--configure):
 package libgl1-mesa-glx:i386 1:17.2~git170422012800.d682f8a~z~padoka0 cannot be configured because libgl1-mesa-glx:AMD64 is at a different version (17.2~git1704220730.d682f8~Gd~z)
Errors were encountered while processing:
 libgl1-mesa-dev:AMD64
 libgl1-mesa-glx:i386

/etc/apt/sources.list.d/:

# deb http://ppa.launchpad.net/budgie-remix/ppa/ubuntu zesty main # disabled on upgrade to zesty
# deb-src http://ppa.launchpad.net/budgie-remix/ppa/ubuntu yakkety main
deb http://ppa.launchpad.net/budgie-remix/ppa/ubuntu yakkety main
# deb-src http://ppa.launchpad.net/budgie-remix/ppa/ubuntu yakkety main
# deb http://ppa.launchpad.net/budgie-remix/ppa/ubuntu zesty main # disabled on upgrade to zesty
# deb-src http://ppa.launchpad.net/budgie-remix/ppa/ubuntu yakkety main
deb http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu zesty main
# deb-src http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu zesty main
deb http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu zesty main
# deb-src http://ppa.launchpad.net/danielrichter2007/grub-customizer/ubuntu zesty main
deb http://ppa.launchpad.net/morphis/anbox-support/ubuntu zesty main
# deb-src http://ppa.launchpad.net/morphis/anbox-support/ubuntu zesty main
deb http://ppa.launchpad.net/morphis/anbox-support/ubuntu zesty main
# deb-src http://ppa.launchpad.net/morphis/anbox-support/ubuntu zesty main
deb http://ppa.launchpad.net/oibaf/graphics-drivers/ubuntu zesty main
# deb-src http://ppa.launchpad.net/oibaf/graphics-drivers/ubuntu zesty main
deb http://ppa.launchpad.net/oibaf/graphics-drivers/ubuntu zesty main
# deb-src http://ppa.launchpad.net/oibaf/graphics-drivers/ubuntu zesty main
# deb http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu zesty main # disabled on upgrade to zesty
# deb-src http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu yakkety main
deb http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu yakkety main
# deb-src http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu yakkety main
# deb http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu zesty main # disabled on upgrade to zesty
# deb-src http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu yakkety main
# deb-src http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu zesty main
# deb-src http://ppa.launchpad.net/oranchelo/oranchelo-icon-theme/ubuntu zesty main
# deb http://ppa.launchpad.net/paulo-miguel-dias/mesa/ubuntu zesty main
# deb-src http://ppa.launchpad.net/paulo-miguel-dias/mesa/ubuntu zesty main
# deb http://ppa.launchpad.net/paulo-miguel-dias/mesa/ubuntu zesty main
# deb-src http://ppa.launchpad.net/paulo-miguel-dias/mesa/ubuntu zesty main
deb http://ppa.launchpad.net/webupd8team/sublime-text-2/ubuntu zesty main
# deb-src http://ppa.launchpad.net/webupd8team/sublime-text-2/ubuntu zesty main
deb http://ppa.launchpad.net/webupd8team/sublime-text-2/ubuntu zesty main
# deb-src http://ppa.launchpad.net/webupd8team/sublime-text-2/ubuntu zesty main
deb http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu zesty main
# deb-src http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu zesty main
deb http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu zesty main
# deb-src http://ppa.launchpad.net/webupd8team/sublime-text-3/ubuntu zesty main
1
user140345

数週間前、oibaf ppaでも同様の問題がありました。 ppa-purgeが失敗した場合でも、公式のUbuntuリポジトリバージョンに戻すことができます。特に、これらのパッケージの依存関係はそれほど大きくないためです。

そのため、表示されている出力からパッケージ名を書き留め、apt policy package-nameコマンドを使用して各リポジトリのバージョンを一覧表示することをお勧めします。たとえば、apt policy libgl1-mesa-devは次のように返されます

apt policy libgl1-mesa-dev 
libgl1-mesa-dev: 
Installed: 1:17.2~git170422012800.d682f8a~z~padoka0 
Candidate: 1:17.2~git170422012800.d682f8a~z~padoka0 
Version table: 
*** 1:17.2~git170422012800.d682f8a~z~padoka0 100 
100 /var/lib/dpkg/status 
17.2~git1704230730.070072~Gd~z 500 
500 ppa.launchpad.net/oibaf/… zesty/main AMD64 Packages 
17.0.3-1ubuntu1 500 
500 hr.archive.ubuntu.com/ubuntu zesty/main AMD64 Packages

公式リポジトリの最新バージョンは17.0.3-1ubuntu1であることがわかります。このバージョンに注意してください。問題のあるすべてのパッケージに対してこれを行います。

公式の最新バージョンですべてのパッケージ名を収集したら、すべてのパッケージに対してこのタイプのコマンドSudo apt install libgl1-mesa-dev=versionを使用できます。 aptは、バージョンに言及したパッケージを強制的にインストールします。

より多くのパッケージについては、同じことにはそれらのパッケージも含まれると言われているようです。

その後、運が良ければ、最後の公式リポジトリに移動します。次に、ppa-purgeを使用して、両方のPPAを正常にパージします。


チャットで問題を説明しましたが、このコマンドは機能したようです。

Sudo apt-get install libgl1-mesa-glx=17.0.3-1ubuntu1 libgl1-mesa-dev=17.0.3-1ubuntu1 libgl1-mesa-glx:i386=17.0.3-1ubuntu1 libglapi-mesa=17.0.3-1ubuntu1 mesa-common-dev=17.0* libglapi-mesa:i386=17.0* libglapi-mesa=17.0* libglapi-mesa=17.0* libgles2-mesa=17.0*

アドバイスaptitudeを常にインストールすることをお勧めします。インストールされている場合、ppa-purgeはより適切に機能する可能性があります。

ありがとう Ravexinaはチャットルームに参加する前に助けようとしていました。それで、特に他のさまざまなトリックに取り組んでくれた彼に感謝します。


最近発見された別のトリック

私は最近、バージョンを指定せずに依存関係の地獄からダウングレード/エスケープするより便利な方法を発見しました。手順をリストしています

PPAを削除し、依存関係の問題を引き起こしているパッケージをthat ppaから特定します。これらは通常、次のスタイルのメッセージに含まれるパッケージです

 libgl1-mesa-dev : Depends: libgl1-mesa-glx (= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704220730.d682f8~Gd~z is installed

パッケージがlibgl1-mesa-glxであり、パッケージaptが要求者libgl1-mesa-devと一致することがわかっているため、問題が発生しています。

そのppaから問題のあるパッケージを特定したら、このaptを使用して、このようなバージョン文字列の代わりにリリース名を使用せずに他のリポジトリからパッケージをインストールします(16.04の場合、リリース名はxenial

Sudo apt install libgl1-mesa-dev/xenial

これにより、アーカイブ名がxenialのリポジトリからバージョンが選択されます(すべてのPPAがアーカイブ名としてこのxenialを持っていることに注意してください)。インストールされたパッケージはxenialアーカイブからではないので(ppaの削除後、aptの不明なリリースからのものです)、aptは同じリリースに付属するバージョンを選択します。ほとんどの場合、公式リポジトリはUbuntuに付属しています(他のppaまたはrepoからそのパッケージを持っている場合を除く)。

驚くべきことに、aptはこの場合により賢く行動します。 libgl1-mesa-devの依存関係で最も高いバージョンを選択する代わりに、公式リポジトリからの指定されたリリースから最も高いバージョンを選択します。他のインストール済みパッケージのダウングレードが必要な場合は、問題を効果的に解決します!

4
Anwar