由于错误 #693758,我想阻止apt-get upgrade更新管理器更新“libgtk2.0-0”包。
如何做到这一点?
我通常apt-get update && apt-get upgrade用来运行我的更新和升级而不是 GUI,因为它似乎运行得更快。
但是,我最近注意到我经常收到一条消息,说我的一个升级被阻止了。然后我通常运行dist-upgrade它通过它并且它工作正常。据我所知,在阅读这个问题及其答案后,会dist-upgrade做所有相同的事情,然后做一些事情。
所以,我的问题是:为什么要使用apt-get upgrade?为什么不一直使用apt-get dist-upgrade?为什么apt-get upgrade还要存在?
当软件包已经安装并且我运行一个 . 时apt-get install <package-name>,它有时会打印一行<package-name> is set to manually installed。
这意味着什么?
根据手册页:
apt 有参数 full-upgradeapt-get有参数dist-upgrade。两者是同一个命令吗?
顺便说一句:这是 Ubuntu 16.04 中官方推荐的命令?apt或者apt-get?
长话短说
最近,在正常的软件升级过程(即,apt upgrade或apt dist-upgrade)中,我开始收到如下消息:
[...]
The following packages have been kept back:
[...]
0 upgraded, 0 newly installed, 0 to remove and [...] not upgraded.
Run Code Online (Sandbox Code Playgroud)
我有什么选择?
注意:这不是此处已经提出的无数类似问题的重复。您应该将我的问题视为此问题的后续问题。
我在我的主 Ubuntu 22.04 系统上遇到了与上面提到的问题完全相同的问题。我昨天更换了服务器,尝试手动安装指定的包,不知何故问题得到了解决。今天,当我尝试安装任何新更新时,我收到消息说我有 32 个软件包被保留。
我有一个类似的 22.04 版本(虚拟)Ubuntu 安装,现在已完全更新,并且该问题尚未发生(具有类似的/etc/apt/sources.list文件)。因此,我尝试比较这些软件包。我以主系统中“保留”的包gir1.2-gstreamer-1.0为例并在我的主系统上运行:
$ sudo apt --installed list | grep gir1.2-gstreamer-1.0
[...]
gir1.2-gstreamer-1.0/jammy,now 1.20.1-1 amd64 [installed,upgradable to: 1.20.3-0ubuntu1]
Run Code Online (Sandbox Code Playgroud)
相同的命令给出输出:
gir1.2-gstreamer-1.0/jammy,now 1.20.1-1 amd64 [installed,automatic]
Run Code Online (Sandbox Code Playgroud)
在我的辅助(虚拟)系统上。
为什么我们会有这种差异?而且,如何使我的主系统充当“自动”安装软件包的(虚拟)系统?
我的“主”系统上的命令输出apt-cache policy gir1.2-gstreamer-1.0如下:
gir1.2-gstreamer-1.0: …Run Code Online (Sandbox Code Playgroud) 因此,我在使用apt. 经过一番研究,这似乎是“分阶段更新”的结果。
apt有关分阶段更新的消息如此不清楚?安装任何程序后,我收到以下错误
Processing triggers for libc-bin (2.23-0ubuntu7) ...
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link
Run Code Online (Sandbox Code Playgroud)
这是什么错误,我该如何解决?
在联想笔记本电脑上,我想从Ubuntu 18.04升级到Ubuntu 18.10 (budgie)。
当我在更新管理器上选择升级时,对话框消失,没有任何反应。升级未开始。
注意 - 我今天早上在我的另一台笔记本电脑上经历了同样的过程,Ubuntu 成功升级。
do-release-upgrade 升级失败并抛出此错误:
Please install all available updates for your release before upgrading.
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能成功升级系统?
我尝试像往常一样进行 sudo 更新和升级,但它显示
The following packages have been kept back:
base-files python3-distupgrade python3-gi python3-gi-cairo
ubuntu-release-upgrader-core ubuntu-release-upgrader-gtk
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
Run Code Online (Sandbox Code Playgroud)
我试过了:
(还尝试重新启动我的笔记本电脑)
在我尝试安装 USB 和 SD 卡之前。当我尝试这个时,我当时没有网络连接。我尝试更新,当然没用。注意到并重新连接后,我确实安装了一些更新,但随后它卡在了显示器上
完整显示: sudo apt update
[sudo] password for dcg:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:4 http://archive.ubuntu.com/ubuntu jammy-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state …Run Code Online (Sandbox Code Playgroud) 我跑了sudo apt-get upgrade,我得到了这个:
The following packages have been kept back:
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
Run Code Online (Sandbox Code Playgroud)
我担心如果我运行sudo apt-get dist-upgrade某些东西可能会出错并且可能会弄乱我的 Ubuntu 安装。我在这里看到过类似的问题,但我认为它们与我的问题不同。我该怎么办 ?