apt 是 Ubuntu 系统最强大好用的包管理器之一,但这并不意味着它就永远不会出错。当 ubuntu 在安装软件包出现问题时,apt 会有内置的功能来提示用户以辅助修正错误。这些提示和技巧信息可以帮助我们修复绝大多数普遍问题,但请记住:在调试、修复损坏的程序包问题时,不同用户环境所遇到的各种复杂情况也是不尽相同的。
所以,下面系统极客就为大家介绍 3 种修复 Ubuntu 系统中被损坏程序包的常见方法。
方法1:使用 apt 或 apt-get
apt 命令有几个特殊参数,可以用来修复在安装过程中被破坏或缺失依赖的项或软件包。常见的情况是:当您使用 .deb 安装某个软件时,发现它存在你不知道的依赖关系,而这些依赖项又不会被自行引入,dpkg 就会提示缺少依赖。此时,您就可以用到以下步骤:
1 在「终端」中执行以下更新命令,确保没有所需软件包的更新版本:
sudo apt update --fix-missing
2 执行以下命令以强制 apt 查找并更正缺少的依赖项或损坏的包:
sudo apt install -f
有关 apt 与 apt-get 的区别请参考Linux 中 apt 与 apt-get 命令的区别与解释
方法2:使用 dpkg
程序包安装过程中,另一个容易出错的地方就是「配置过程」。而在幕后处理配置过程的是 dpkg 而非 apt。所以在当一个程序包在配置期间出现故障时,dpkg 是修复它的最佳工具。
1 在「终端」中执行以下命令以强制 dpkg 重新配置软件包的损坏部分:
sudo dpkg --configure -a
2 如果不能解决问题,您可以通过如下命令列出 dpkg 标记为需要重新安装的所有软件包:
sudo dpkg -l | grep ^..r
grep 命令的更多用法请参考如何使用 grep 命令在 Linux 中搜索文件
3 使用以下命令强制移除已损坏的程序包:
sudo dpkg --remove --force-remove--reinstreq
4 在 dpkg 的工作完成后,尝试使用 apt 进行清理:
sudo apt clean sudo apt update
方法3:解除 dpkg 锁
还有一种不太常见的情况——dpkg 锁。当你尝试使用 apt 或 dpkg 时,都会遇到错误提示,提示一个不存在的程序已经存在。此种情况通常是在程序包的安装过程发生错误后,一些被锁定的文件无法自动删除,在文件系统中扔被保留下来造成的。
如果遇到这种情况,就需要使用以下命令手动解除 dpkg 锁:
sudo rm /var/lib/apt/lists/lock
还需要删除对缓存文件的锁定:
sudo rm /var/cache/apt/archives/lock
最新评论
Microsoft.WindowsStore只有22507,没有22504,22507下载的时候找不到框架
经过测试,是可行的。感谢分享。
1.你贴的方法我没测试,如果有效,也只适用于个人或小规模使用,不具备普遍性。 2.根据微软最佳实践,是建立一个本地帐户专门用来远程连接。 3.在域环境中,不存在使用 Microsoft 帐户的情况。
关于rdp无法连接win11微软账户的问题 有很简单的解决办法 不需要退出微软账户或者重置之类的 在中文互联网搜索到的教程内容一般是使用MicrosoftAccount\邮箱作为用户名 密码填微软账户密码然后链接 但是这有个问题就是如果服务端(被控端)本身无缓存时将无法链接 改用英文在google搜索后发现了这样一篇微软社区问答 https://answers.microsoft.com/en-us/windows/forum/all/remote-desktop-not-working-with-microsoft-account/71f0c323-688a-4c97-8740-e80eb31ae11d 打开cmd终端后输入runas /u:MicrosoftAccount\你的邮箱 winver并回车 在出现类似输入MicrosoftAccount\xxx@xxx.com:的密码的文本时输入你的微软账户密码并回车(密码不会显示) 如果密码正确 稍后你将会看到一个Windows关于信息框 关掉它既可 这条命令的意思是 以xxx@xxx.com的身份运行winver程序 在完成后它即可以在本地生成关于该账户信息的缓存 接下来即可在客户端(控制端)输入对应地址链接 用户名为MicrosoftAccount\你的邮箱 密码为微软账户密码 如果一切顺利 在建立连接后 即可弹出证书验证框(如果以前从未链接此计算机) 确定即可 稍等即可进入远程桌面 对于伸手不看理论党的直白概括: 被控端: 打开运行框输入cmd回车 在cmd输入runas /u:MicrosoftAccount\你的邮箱 winver并回车 在出现新的文本时输入微软账户密码并回车(密码不会显示的) 关闭新弹出的窗口及cmd 控制端: 打开rdp客户端 输入计算机的地址回车 用户名:MicrosoftAccount\你的邮箱 密码:微软账户密码 回车后保存证书即可链接 您好,这是我转自B站的评论,不知道这个方法是否具有普遍性来辅助我们用同一个账号进行远程控制