云网牛站
所在位置:首页 > Linux教程 > 在Ubuntu操作系统下修复损坏程序包的三种办法

在Ubuntu操作系统下修复损坏程序包的三种办法

2019-01-25 15:54:48作者:SySgEek稿源:系统极客站

如果在 Ubuntu 操作系统下出现损坏的程序包,通常有三种办法可以修复它们,分别是:使用 apt 或 apt-get、使用 dpkg 及解除 dpkg 锁,下面为你一一介绍。

 

背景

apt 是 Ubuntu 系统最强大好用的包管理器之一,但这并不意味着它就永远不会出错。当 ubuntu 在安装软件包出现问题时,apt 会有内置的功能来提示用户以辅助修正错误。这些提示和技巧信息可以帮助我们修复绝大多数普遍问题,但请记住:在调试、修复损坏的程序包问题时,不同用户环境所遇到的各种复杂情况也是不尽相同的。

 

第一种办法、使用 apt 或 apt-get

apt 命令有几个特殊参数,可以用来修复在安装过程中被破坏或缺失依赖的项或软件包。常见的情况是:当使用 .deb 安装某个软件时,发现它存在你不知道的依赖关系,而这些依赖项又不会被自行引入,dpkg 就会提示缺少依赖。此时就可以用到以下步骤:

1、在系统终端中执行以下更新命令,确保没有所需软件包的更新版本:

sudo apt update --fix-missing

2、执行以下命令以强制 apt 查找并更正缺少的依赖项或损坏的包:

sudo apt install -f

在Ubuntu操作系统下修复损坏程序包的三种办法

apt 和 apt-get 有什么不同请看 Linux中apt与apt-get命令的区别与解释一文。

 

第二种办法、使用 dpkg

程序包安装过程中,另一个容易出错的地方就是配置过程,而在幕后处理配置过程的是 dpkg 而非 apt。所以在当一个程序包在配置期间出现故障时,dpkg 是修复它的最佳工具。

1、在系统终端中执行以下命令以强制 dpkg 重新配置软件包的损坏部分:

sudo dpkg --configure -a

在Ubuntu操作系统下修复损坏程序包的三种办法

2、如果不能解决问题,可以通过如下命令列出 dpkg 标记为需要重新安装的所有软件包:

sudo dpkg -l | grep ^..r

更多请参考在Linux系统下使用grep命令搜索文件的详细用法

3、使用以下命令强制移除已损坏的程序包:

sudo dpkg --remove --force-remove--reinstreq

4、在 dpkg 的工作完成后,尝试使用 apt 进行清理:

sudo apt clean

sudo apt update

 

第三种办法、解除 dpkg 锁

还有一种不太常见的情况——dpkg 锁。当尝试使用 apt 或 dpkg 时,都会遇到错误提示,提示一个不存在的程序已经存在,这种情况通常是在程序包的安装过程发生错误后,一些被锁定的文件无法自动删除,在文件系统中扔被保留下来造成的。

如果遇到这种情况,就需要使用以下命令手动解除 dpkg 锁:

sudo rm /var/lib/apt/lists/lock

还需要删除对缓存文件的锁定:

sudo rm /var/cache/apt/archives/lock

在Ubuntu操作系统下修复损坏程序包的三种办法

 

结语

以上三种就是修复 Ubuntu 损坏程序包的办法,不管采用哪种,最后的结果都是一样的。

 

相关主题

修复因为断电而损坏的Ubuntu 18.04操作系统

精选文章
热门文章