无法删除apt包(未满足的依赖项)

问题描述

这一切都始于我在此帖后尝试安装texlive 2016时。 我添加了如下PPA:

sudo add-apt-repository ppa:jonathonf/texlive 

然后安装texlive-full 。 不幸的是安装崩溃然后我决定删除整个包并重新安装它。

我首先尝试使用apt-get remove删除texlive-full ,但是我收到以下错误:

 $ sudo apt-get remove texlive-full Reading package lists... Done Building dependency tree Reading state information... Done Package 'texlive-full' is not installed, so not removed You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: dvipng : Depends: texlive-base-bin feynmf : Depends: texlive-latex-base but it is not going to be installed Depends: texlive-font-utils but it is not going to be installed Depends: texlive-extra-utils but it is not going to be installed fragmaster : Depends: texlive-base-bin Depends: texlive-latex-base but it is not going to be installed Depends: texlive-extra-utils but it is not going to be installed Depends: texlive-font-utils but it is not going to be installed kile : Depends: texlive-latex-base but it is not going to be installed Recommends: texlive but it is not going to be installed latex-beamer : Depends: texlive-latex-base but it is not going to be installed latexmk : Depends: texlive-latex-base but it is not going to be installed prosper : Depends: texlive-latex-base but it is not going to be installed tex4ht-common : Depends: texlive-base-bin Recommends: tex4ht but it is not going to be installed texlive-base : Depends: luatex (>= 0.70.1) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-latex-extra : Depends: luatex but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed Recommends: texlive-latex-extra-doc but it is not going to be installed texlive-latex-recommended : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-luatex : Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed Depends: luatex (>= 0.70.1) but it is not going to be installed texlive-math-extra : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-fonts-recommended (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-metapost : Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-pictures : Depends: luatex but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-pstricks : Depends: texlive-generic-recommended (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed Recommends: texlive-font-utils but it is not going to be installed Recommends: texlive-extra-utils but it is not going to be installed texlive-science : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-xetex : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed tipa : Depends: texlive-latex-base but it is not going to be installed Depends: texlive-base-bin E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). 

我试过'apt-get -f install ,但这就是我得到的:

 $ sudo apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following extra packages will be installed: luatex texlive-binaries texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base The following packages will be REMOVED: context The following NEW packages will be installed: luatex texlive-binaries texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base 0 upgraded, 8 newly installed, 1 to remove and 20 not upgraded. 1 not fully installed or removed. Need to get 0 B/30,2 MB of archives. After this operation, 9.608 kB of additional disk space will be used. Do you want to continue? [Y/n] Y (Reading database ... 1326901 files and directories currently installed.) Removing context (2016.05.17.20160523-1~ubuntu14.04.1york0) ... unknown option: format dpkg: error processing package context (--remove): subprocess installed post-removal script returned error exit status 1 Errors were encountered while processing: context E: Sub-process /usr/bin/dpkg returned an error code (1) 

同样, sudo apt-get install --reinstall texlive-full失败,消息E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). sudo apt-get install --reinstall texlive-full E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

在所有这些失败之后,我尝试了:

 sudo rm /var/lib/dpkg/info/texlive-* sudo dpkg --configure -a sudo apt-get update sudo apt-get install textlive-full 

但我仍然收到以下错误:

 $ sudo apt-get install texlive-full Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: dvipng : Depends: texlive-base-bin feynmf : Depends: texlive-latex-base but it is not going to be installed Depends: texlive-font-utils but it is not going to be installed Depends: texlive-extra-utils but it is not going to be installed fragmaster : Depends: texlive-base-bin Depends: texlive-latex-base but it is not going to be installed Depends: texlive-extra-utils but it is not going to be installed Depends: texlive-font-utils but it is not going to be installed kile : Depends: texlive-latex-base but it is not going to be installed Recommends: texlive but it is not going to be installed latex-beamer : Depends: texlive-latex-base but it is not going to be installed latexmk : Depends: texlive-latex-base but it is not going to be installed prosper : Depends: texlive-latex-base but it is not going to be installed tex4ht-common : Depends: texlive-base-bin Recommends: tex4ht but it is not going to be installed texlive-base : Depends: luatex (>= 0.70.1) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-full : Depends: texlive-lang-polish (>= 2013.20130512) but it is not going to be installed Depends: texlive-generic-extra (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-indic (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-spanish (>= 2013.20130512) but it is not going to be installed Depends: latex-sanskrit but it is not going to be installed Depends: texlive-omega (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-cyrillic (>= 2013.20130512) but it is not going to be installed Depends: texlive-humanities-doc (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-english (>= 2013.20130512) but it is not going to be installed Depends: texlive-latex-extra-doc (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-european (>= 2013.20130512) but it is not going to be installed Depends: texlive-publishers-doc (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-african (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-portuguese (>= 2013.20130512) but it is not going to be installed Depends: tex4ht (>= 20051214) but it is not going to be installed Depends: texlive-fonts-extra (>= 2013.20130512) but it is not going to be installed Depends: texlive-fonts-recommended-doc (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-italian (>= 2013.20130512) but it is not going to be installed Depends: texlive-extra-utils (>= 2013.20130512) but it is not going to be installed Depends: texlive-bibtex-extra (>= 2013.20130512) but it is not going to be installed Depends: latex-cjk-all (>= 4.6.0+cvs20060714-2) but it is not going to be installed Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-font-utils (>= 2013.20130512) but it is not going to be installed Depends: texlive-fonts-recommended (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-french (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-german (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-arabic (>= 2013.20130512) but it is not going to be installed Depends: texlive-fonts-extra-doc (>= 2013.20130512) but it is not going to be installed Depends: texlive-plain-extra (>= 2013.20130512) but it is not going to be installed Depends: cm-super (>= 0.3.3-3) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed Depends: texlive-music (>= 2013.20130512) but it is not going to be installed Depends: texlive-generic-recommended (>= 2013.20130512) but it is not going to be installed Depends: texlive-formats-extra (>= 2013.20130512) but it is not going to be installed Depends: texlive-humanities (>= 2013.20130512) but it is not going to be installed Depends: texlive-publishers (>= 2013.20130512) but it is not going to be installed Depends: texlive-games (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-greek (>= 2013.20130512) but it is not going to be installed Depends: context but it is not going to be installed Depends: lcdf-typetools but it is not going to be installed Depends: texlive-lang-czechslovak (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-cjk (>= 2013.20130512) but it is not going to be installed Depends: texlive-lang-other (>= 2013.20130512) but it is not going to be installed texlive-latex-extra : Depends: luatex but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed Recommends: texlive-latex-extra-doc but it is not going to be installed texlive-latex-recommended : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-luatex : Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed Depends: luatex (>= 0.70.1) but it is not going to be installed texlive-math-extra : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-fonts-recommended (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-metapost : Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-pictures : Depends: luatex but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-pstricks : Depends: texlive-generic-recommended (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed Recommends: texlive-font-utils but it is not going to be installed Recommends: texlive-extra-utils but it is not going to be installed texlive-science : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed texlive-xetex : Depends: texlive-latex-base (>= 2013.20130512) but it is not going to be installed Depends: texlive-binaries (>= 2013.20130512) but it is not going to be installed tipa : Depends: texlive-latex-base but it is not going to be installed Depends: texlive-base-bin E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). 

我正在使用Ubuntu 14.04 LTS。

其他问题

现在的问题是我无法安装任何东西。 例如:

 $ sudo apt-get install travis [sudo] password for chung: Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: cp2k gnuplot pymol grace The following packages will be REMOVED: context The following NEW packages will be installed: travis 0 upgraded, 1 newly installed, 1 to remove and 36 not upgraded. 1 not fully installed or removed. Need to get 793 kB of archives. After this operation, 66,0 MB disk space will be freed. Do you want to continue? [Y/n] Y Get:1 http://ftp.belnet.be/ubuntu.com/ubuntu/ trusty/universe travis amd64 140117-1 [793 kB] Fetched 793 kB in 1s (452 kB/s) dpkg: warning: files list file for package 'texlive-science-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-science' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-metapost' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-extra' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-base-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-math-extra' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pstricks' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-recommended' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-recommended-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pictures-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pictures' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pstricks-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-luatex' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-metapost-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-base' missing; assuming package has no files currently installed (Reading database ... 1349546 files and directories currently installed.) Removing context (2016.05.17.20160523-1~ubuntu14.04.1york0) ... unknown option: format dpkg: error processing package context (--remove): subprocess installed post-removal script returned error exit status 1 Errors were encountered while processing: context E: Sub-process /usr/bin/dpkg returned an error code (1) 

我试过这个解决方案

第1部分

我跑了

 sudo apt-get clean sudo apt-get autoclean sudo apt-get -f install 

最后一个命令现在提供以下消息:

 $ sudo apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: context 0 upgraded, 0 newly installed, 1 to remove and 41 not upgraded. 1 not fully installed or removed. After this operation, 68,2 MB disk space will be freed. Do you want to continue? [Y/n] dpkg: warning: files list file for package 'texlive-metapost' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-extra' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-base-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-math-extra' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pstricks' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-recommended' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-recommended-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pictures-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pictures' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pstricks-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-luatex' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-metapost-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-base' missing; assuming package has no files currently installed (Reading database ... 1349546 files and directories currently installed.) Removing context (2016.05.17.20160523-1~ubuntu14.04.1york0) ... unknown option: format dpkg: error processing package context (--remove): subprocess installed post-removal script returned error exit status 1 Errors were encountered while processing: context E: Sub-process /usr/bin/dpkg returned an error code (1) 

然后我运行sudo dpkg --configure -a并再次运行sudo apt -f install ,但没有任何改变, dist-upgrade重播上述错误。

我尝试了sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade退出时出现与上面相同的错误消息。

第2部分

我无法使用apt安装ppa-purge ,所以我通过运行手动安装它:

mkdir ppa-purge && cd ppa-purge && wget http://mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget http://mirror.pnl.gov/ubuntu//pool/main/a/aptitude/aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

然后我首先删除了造成麻烦的PPA。 我跑了:

sudo apt-get autoremove --purge texlive*

我收到以下错误消息:

 The following packages have unmet dependencies: aptitude:i386 : Depends: libapt-pkg4.12:i386 (>= 0.8.16~exp12ubuntu6) but it is not going to be installed Depends: libboost-iostreams1.46.1:i386 (>= 1.46.1-1) but it is not installable Depends: libcwidget3:i386 but it is not going to be installed Depends: libept1.4.12:i386 but it is not going to be installed Depends: libsigc++-2.0-0c2a:i386 (>= 2.0.2) but it is not going to be installed Depends: libxapian22:i386 but it is not going to be installed Recommends: apt-xapian-index:i386 but it is not installable Recommends: libparse-debianchangelog-perl:i386 but it is not installable dvipng : Depends: texlive-base-bin feynmf : Depends: texlive-latex-base but it is not going to be installed Depends: texlive-font-utils but it is not going to be installed Depends: texlive-extra-utils but it is not going to be installed fragmaster : Depends: texlive-base-bin Depends: texlive-latex-base but it is not going to be installed Depends: texlive-latex-recommended but it is not going to be installed Depends: texlive-extra-utils but it is not going to be installed Depends: texlive-font-utils but it is not going to be installed kile : Depends: texlive-latex-base but it is not going to be installed Recommends: texlive but it is not going to be installed latex-beamer : Depends: texlive-latex-base but it is not going to be installed latex-xcolor : Depends: texlive-latex-recommended but it is not going to be installed latexmk : Depends: texlive-latex-base but it is not going to be installed pgf : Depends: texlive-latex-recommended but it is not going to be installed ppa-purge : Depends: aptitude but it is not going to be installed prosper : Depends: texlive-latex-base but it is not going to be installed Depends: texlive-pstricks but it is not going to be installed Depends: texlive-latex-recommended but it is not going to be installed purifyeps : Depends: texlive-metapost but it is not going to be installed tex4ht-common : Depends: texlive-base-bin Recommends: tex4ht but it is not going to be installed tipa : Depends: texlive-latex-base but it is not going to be installed Depends: texlive-base-bin E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). 

然后:

 sudo add-apt-repository --remove ppa:jonathonf/texlive sudo apt-get autoclean 

这些命令没有给出任何错误。

但是,上述程序没有解决问题。 这是sudo apt -f install的输出:

 $ sudo apt -f install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following extra packages will be installed: aptitude aptitude-common libcwidget3 libept1.4.12 Suggested packages: aptitude-doc-en aptitude-doc tasksel debtags libcwidget-dev The following packages will be REMOVED: aptitude:i386 context The following NEW packages will be installed: aptitude aptitude-common libcwidget3 libept1.4.12 0 upgraded, 4 newly installed, 2 to remove and 42 not upgraded. 3 not fully installed or removed. Need to get 2.520 kB of archives. After this operation, 64,8 MB disk space will be freed. Do you want to continue? [Y/n] Get:1 http://ftp.belnet.be/ubuntu.com/ubuntu/ trusty/main aptitude-common all 0.6.8.2-1ubuntu4 [700 kB] Get:2 http://ftp.belnet.be/ubuntu.com/ubuntu/ trusty/main libcwidget3 amd64 0.5.16-3.5ubuntu1 [307 kB] Get:3 http://ftp.belnet.be/ubuntu.com/ubuntu/ trusty/main libept1.4.12 amd64 1.0.12 [142 kB] Get:4 http://ftp.belnet.be/ubuntu.com/ubuntu/ trusty/main aptitude amd64 0.6.8.2-1ubuntu4 [1.371 kB] Fetched 2.520 kB in 1s (1.752 kB/s) dpkg: warning: files list file for package 'texlive-metapost' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-extra' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-base-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-math-extra' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pstricks' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-recommended' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-latex-recommended-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pictures-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pictures' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-pstricks-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-luatex' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-metapost-doc' missing; assuming package has no files currently installed dpkg: warning: files list file for package 'texlive-base' missing; assuming package has no files currently installed (Reading database ... 1349665 files and directories currently installed.) Removing aptitude (0.6.6-1ubuntu1) ... Removing context (2016.05.17.20160523-1~ubuntu14.04.1york0) ... unknown option: format dpkg: error processing package context (--remove): subprocess installed post-removal script returned error exit status 1 Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Errors were encountered while processing: context E: Sub-process /usr/bin/dpkg returned an error code (1) 

我的资料来源

这是/etc/apt/sources.list的内容, 这些是我的PPA ( cat /etc/apt/sources.list.d/*输出)

今天我自己头疼,因为必须修复由于符号链接错误导致无法删除的损坏的内核4.14.364.14.37

参考此问答: 使用未知选项删除损坏的PPA包 ,但是按照我的“作弊”方法,编辑文件/var/lib/dpkg/info/context.postrm并在行之后:

 #!/bin/sh 

插入线

 exit 0 

保存文件并使用:

 sudo apt install -f 

它应该现在运行没有任何错误。