系统升级问题

系统升级问题

我使用的是 ubuntu 14.04,上次升级系统时遇到了问题。我正在寻找解决方案,发现了这个: sudo apt-get -y purge

我正在使用它,最后它说我无法删除任何旧内核,因为它依赖于 linux-image-3.13.0-93-generic。所以,我知道我必须安装 linux-image-3.13.0-93-generic。但问题是我没有足够的空间。这很愚蠢,因为我的电脑上还剩下近 500GB 的内存,但我仍然不能将它们用作系统内存?这很荒谬,我的电脑上有很多内存,但由于这个系统的内存不足,我陷入了困境,因为所有内核都相互依赖,所以我甚至无法删除它们

有人能帮助我吗?

谢谢。

答案1

这个答案是从这个复制而来的文章

正如您在错误消息中看到的那样,一些软件包有未满足依赖项。这意味着有一些第三方依赖项混入其中。APT 包管理器易于安装、删除等,但在与第三方依赖项混入时,apt-get 有时会出现您遇到的这种错误。

请按照以下步骤操作:

备份配置文件如下:

/etc/apt/sources.list

现在先删除损坏的软件包数据库:

sudo apt-get clean

或者

sudo apt-get autoclean

现在请运行这个:

sudo apt-get -f install

这是修复依赖问题的最基本命令。

现在运行:

sudo dpkg --configure -a

然后,

sudo apt-get -f install

查看输出,如果像这样:0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.则表示失败。

现在运行这个:

sudo apt-get -u dist-upgrade

如果它显示任何被保留的包,那么你必须用这个命令将其消除:

sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

再次查看输出。如果它是这样的:

0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

也就是说它再次失败了。

dist-upgrade现在,您必须通过每次运行来逐个删除保留的包。使用--dry-run并注意每个事件。

sudo apt-get remove --dry-run package-name

如果没有运气,那么您必须自己找到并删除依赖项。

禁用 PPA:

打开软件中心 > 编辑 > 软件源,然后单击其他软件。您将看到每个 PPA 都有两行,一行用于已编译的包一个用于来源, 取消选中两行以禁用 PPA。

清除:

这意味着将所选 PPA 中的软件包降级为官方 Ubuntu 存储库中的版本并禁用该 PPA。运行以下命令:

sudo apt-get install 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 ppa-purge ppa:someppa/ppa

消除:

运行以下命令:

sudo apt-get autoremove --purge package-name
sudo add-apt-repository --remove ppa:someppa/ppa
sudo apt-get autoclean

此后再试一次。

阅读原来的文章,您的概念将会更加清晰。

另一种方法:

显示所有已安装的带有“linux-”并包含数字的软件包。(根据您的要求编辑):

dpkg -l linux-* | awk '/^ii/{ print $2 }' | grep -e [0-9]

现在指定您想要清除的包的名称:

sudo apt-get -y purge  linux-headers-3.13.0-24  linux-headers-3.13.0-24-generic  linux-headers-3.13.0-29  linux-headers-3.13.0-29-generic  linux-image-3.13.0-24-generic  linux-image-3.13.0-29-generic  linux-image-extra-3.13.0-24-generic  linux-image-extra-3.13.0-29-generic

替代命令:

dpkg -l 'linux-*' | sed  '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]*  [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge

这是高级命令,它删除除最新内核之外的所有内核。

相关内容