use*_*345 2 package-management apt ppa dependencies downgrade
我添加了 Oibaf 和 Paulo Diases 存储库并升级了我的系统,这导致了 apt 损坏。我无法清除它们中的任何一个。
每当我尝试使用任何 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).
Run Code Online (Sandbox Code Playgroud)
的输出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)
Run Code Online (Sandbox Code Playgroud)
尝试手动解决问题时,依赖地狱似乎并没有结束:
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).
Run Code Online (Sandbox Code Playgroud)
的输出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
Run Code Online (Sandbox Code Playgroud)
的输出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
Run Code Online (Sandbox Code Playgroud)
的输出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
Run Code Online (Sandbox Code Playgroud)
/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
Run Code Online (Sandbox Code Playgroud)
几周前,我在使用 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
Run Code Online (Sandbox Code Playgroud)
您可以看到官方存储库中的最新版本是17.0.3-1ubuntu1. 注意这个版本。对所有有问题的包执行此操作。
一旦你收集了所有官方最新版本的包名,你就可以sudo apt install libgl1-mesa-dev=version对所有包使用这种类型的命令。它将强制apt安装您提到的版本的软件包。
更多的包似乎说同样的事情也包括那些包。
在那之后,运气好的话,你应该是最后一个官方存储库。然后使用ppa-purge优雅地清除两个ppas。
我们已经在聊天中讨论了这个问题,看来这个命令有效。
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*
Run Code Online (Sandbox Code Playgroud)
建议我建议始终aptitude安装。如果已安装,ppa-purge可能会更合适地工作。
感谢Ravexina 在我加入聊天室之前试图提供帮助。所以,特别感谢他在其他各种技巧上的工作。
我最近发现了一种更方便的方法来降级/摆脱依赖地狱而不指定版本。我列出步骤
您将删除 ppa 并确定从该 ppa中创建依赖关系问题的包。这些通常是您可以在以下消息样式中找到的包
libgl1-mesa-dev : Depends: libgl1-mesa-glx (= 1:17.2~git170422012800.d682f8a~z~padoka0) but 17.2~git1704220730.d682f8~gd~z is installed
Run Code Online (Sandbox Code Playgroud)
您知道该包libgl1-mesa-glx高于apt与 requeste 匹配的包find libgl1-mesa-dev,从而产生问题。
从该 ppa 中识别出有问题的包后,您将使用此 apt 从其他 repo 安装包,而无需使用发行版名称而不是像这样的版本字符串(对于 16.04,发行版名称为xenial)
sudo apt install libgl1-mesa-dev/xenial
Run Code Online (Sandbox Code Playgroud)
这将从具有存档名称的存储库中选择一个版本xenial(请注意,所有 ppa 都将此xenial作为存档名称)。由于安装的包不是来自xenial存档(它是,但在删除 ppa 后,它来自 apt 的未知版本),apt将选择一个与相同版本一起提供的版本。大多数情况下,它是 Ubuntu 附带的官方存储库(除非您拥有来自其他 ppa 或存储库的软件包)。
令人惊讶的是,在apt这种情况下采取更明智的行动。不是选择依赖的最高版本libgl1-mesa-dev,而是从官方repo的指定版本中选择最高版本,即使需要降级其他已安装的包,有效解决问题!
| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |