撤消 apt update 命令

撤消 apt update 命令

我正在运行 Debian bullseye 并想安装 KeepassXC。我尝试运行sudo apt install keepassxc,但事实证明 keepassxc 并不属于 bullseye 版本的一部分。我在 /etc/apt/sources.list 中添加了一行 sid 镜像,然后运行sudo apt update​​。在意识到这可能是一个坏主意后,我在更新运行时执行了键盘中断(Ctrl-C)。当时它已经运行了一段时间,甚至请求了两次程序重启。然后我注释掉了sources.list 文件中的行并sudo apt update再次运行,其输出表明没有更新。然后我运行了sudo apt autoremove,删除了 3 个包。

我的依赖树是否已经被彻底搞乱了?如果我运行 a sudo apt upgrade,这会引入 sid 版本中的更改吗?我不完全理解更新和升级之间的区别,所以这可能不是问题。

任何帮助将不胜感激。谢谢!

编辑:

输出apt policy

Package files: 100 /var/lib/dpkg/status release a=now 500 http://httpredir.debian.org/debian stretch/non-free amd64 Packages release v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=non-free,b=amd64 origin httpredir.debian.org 500 http://httpredir.debian.org/debian stretch/contrib amd64 Packages release v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=contrib,b=amd64 origin httpredir.debian.org 500 http://httpredir.debian.org/debian stretch/main amd64 Packages release v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=main,b=amd64 origin httpredir.debian.org 500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages release v=9,o=Debian,a=oldstable,n=stretch,l=Debian-Security,c=main,b=amd64 origin security.debian.org 500 http://mirrors.ocf.berkeley.edu/debian stretch/main amd64 Packages release v=9.13,o=Debian,a=oldstable,n=stretch,l=Debian,c=main,b=amd64 origin mirrors.ocf.berkeley.edu Pinned packages:

答案1

我有点惊讶,apt update会要求“程序重新启动两次”。

apt update检索 中配置的所有存储库/etc/apt/sources.list和 中的文件的存储库信息/etc/apt/sources.list.d。它不会导致任何软件包升级,也不会导致任何内容重新启动或要求重新启动。

apt upgrade升级系统已安装的软件包,以便它们匹配最新的可用版本,如有必要,根据“pin 优先级”进行调整(以及默认版本,如果配置,这是一种 pin 优先级)。

因此apt update,在添加 Sid 条目后,它本身只会检索存储库信息,不会将任何内容升级到 Sid。删除 Sid 条目并apt update再次运行将导致 Sid 信息被遗忘(或者更确切地说,不再被考虑)。后续人员apt upgrade将不知道 Sid 中的软件包(和版本)。

你最初的问题是令人惊讶的,因为keepassxc 可在 Bullseye 中使用自从 Bullseye 存在以来,一直如此。

总之:如果您已将/etc/apt/sources.list配置恢复到以前的值并apt update从那时起运行,则不会发生任何更改,并且您应该能够keepassxc在不需要 Sid 存储库的情况下进行安装。

就撤消apt update命令而言,您永远无法完全除非您有 的备份,否则请撤消它/var/lib/apt/lists,因为仍配置的存储库中的信息已更新。然而,仅有的仍然配置的存储库会被考虑在内。

相关内容