慎用apt automove!!!!
慎用apt automove!!!!
慎用apt automove!!!!
apt automove 自动卸载无用的依赖!!!!,但是用apt install 安装时会自动安装相关依赖。安装c的时候,c依赖b,b又依赖a,这个时候会自动安装a和b但是,如果c利用了b默认隐含a包的条件,直接调用了a中的api,而下次更新b包的时候,假如b不再依赖a,这个时候autoremove会删掉a包,使c包不可用。于是当你sudo apt-get remove c 后,autoremove会删除a,b.
删除之后的补救措施
如果您执行了“sudo apt autoremove”命令,但是误删了一些您需要的软件包,可以尝试以下步骤进行修复:
方法一:手动查看历史记录(推荐)
1.查看删除的软件包
可以使用以下命令查看最近删除的软件包:
grep "remove"/var/log/dpkg.log
2.重新安装被删除的软件包
根据上一步中列出的被删除的软件包,可以使用以下命令重新安装它们:
sudo apt install <package name>
例如
shark@shark:~$ grep "remove" /var/log/dpkg.log
2024-11-15 09:12:55 startup packages remove
2024-11-15 09:12:55 remove gir1.2-handy-0.0:amd64 0.0.13-1 <无>
2024-11-15 09:12:55 remove linux-headers-5.15.0-102-generic:amd64 5.15.0-102.112~20.04.1 <无>
2024-11-15 09:12:55 remove linux-headers-5.15.0-105-generic:amd64 5.15.0-105.115~20.04.1 <无>
2024-11-15 09:12:55 remove linux-headers-5.15.0-107-generic:amd64 5.15.0-107.117~20.04.1 <无>
2024-11-15 09:12:56 remove linux-headers-5.15.0-117-generic:amd64 5.15.0-117.127~20.04.1 <无>
2024-11-15 09:12:56 remove linux-headers-5.15.0-119-generic:amd64 5.15.0-119.129~20.04.1 <无>
2024-11-15 09:12:56 remove linux-headers-5.15.0-122-generic:amd64 5.15.0-122.132~20.04.1 <无>
2024-11-15 09:12:56 remove linux-hwe-5.15-headers-5.15.0-102:all 5.15.0-102.112~20.04.1 <无>
2024-11-15 09:12:57 remove linux-hwe-5.15-headers-5.15.0-105:all 5.15.0-105.115~20.04.1 <无>
2024-11-15 09:12:58 remove linux-hwe-5.15-headers-5.15.0-107:all 5.15.0-107.117~20.04.1 <无>
2024-11-15 09:12:59 remove linux-hwe-5.15-headers-5.15.0-117:all 5.15.0-117.127~20.04.1 <无>
2024-11-15 09:12:59 remove linux-hwe-5.15-headers-5.15.0-119:all 5.15.0-119.129~20.04.1 <无>
2024-11-15 09:13:00 remove linux-hwe-5.15-headers-5.15.0-122:all 5.15.0-122.132~20.04.1 <无>
2024-11-15 09:13:01 remove linux-modules-extra-5.15.0-102-generic:amd64 5.15.0-102.112~20.04.1 <无>
2024-11-15 09:13:02 remove linux-modules-extra-5.15.0-105-generic:amd64 5.15.0-105.115~20.04.1 <无>
2024-11-15 09:13:03 remove linux-modules-extra-5.15.0-107-generic:amd64 5.15.0-107.117~20.04.1 <无>
2024-11-15 09:13:05 remove linux-modules-extra-5.15.0-117-generic:amd64 5.15.0-117.127~20.04.1 <无>
2024-11-15 09:13:06 remove linux-modules-extra-5.15.0-119-generic:amd64 5.15.0-119.129~20.04.1 <无>
2024-11-15 09:13:06 remove linux-modules-extra-5.15.0-122-generic:amd64 5.15.0-122.132~20.04.1 <无>
2024-11-15 09:13:07 remove linux-image-5.15.0-102-generic:amd64 5.15.0-102.112~20.04.1 <无>
2024-11-15 09:13:12 remove linux-image-5.15.0-105-generic:amd64 5.15.0-105.115~20.04.1 <无>
2024-11-15 09:13:15 remove linux-image-5.15.0-107-generic:amd64 5.15.0-107.117~20.04.1 <无>
2024-11-15 09:13:18 remove linux-image-5.15.0-117-generic:amd64 5.15.0-117.127~20.04.1 <无>
2024-11-15 09:13:20 remove linux-image-5.15.0-119-generic:amd64 5.15.0-119.129~20.04.1 <无>
2024-11-15 09:13:24 remove linux-image-5.15.0-122-generic:amd64 5.15.0-122.132~20.04.1 <无>
2024-11-15 09:13:27 remove linux-modules-5.15.0-102-generic:amd64 5.15.0-102.112~20.04.1 <无>
2024-11-15 09:13:27 remove linux-modules-5.15.0-105-generic:amd64 5.15.0-105.115~20.04.1 <无>
2024-11-15 09:13:28 remove linux-modules-5.15.0-107-generic:amd64 5.15.0-107.117~20.04.1 <无>
2024-11-15 09:13:28 remove linux-modules-5.15.0-117-generic:amd64 5.15.0-117.127~20.04.1 <无>
2024-11-15 09:13:28 remove linux-modules-5.15.0-119-generic:amd64 5.15.0-119.129~20.04.1 <无>
2024-11-15 09:13:28 remove linux-modules-5.15.0-122-generic:amd64 5.15.0-122.132~20.04.1 <无>
shark@shark:~$ sudo apt install gir1.2-handy-0.0 linux-headers-5.15.0-102-generic
一个一个安装
3.恢复系统
如果您无法确定哪些软件包被删除,可以尝试使用系统恢复工具来恢复系统到之前的状态。具体操作可以参考您所使用的操作系统的文档。
方法二:使用 aptitude 进行恢复
aptitude 是一款强大的包管理器,它可以自动解决依赖关系,并且可以清晰地显示出哪些包被删除、哪些包被保留。因此,我们可以使用 aptitude 来恢复误删的依赖包。
首先,我们需要安装 aptitude:
sudo apt-get install aptitude
然后,使用以下命令来查看被删除的软件包:
sudo aptitude search '~c'
接下来,使用以下命令来恢复被删除的软件包:
sudo aptitude install <package-name>