问题描述
当我做
sudo apt-get update
sudo apt-get upgrade
有时 Ubuntu GUI 更新管理器仍会留下一些项目。例如\u201c完整的通用 Linux 内核\u201d。
我知道还有 sudo apt-get dist-upgrade
,但这涉及到其他事情。
我的问题是,我可以使用的另一个命令行选项是什么,它可以更新 GUI 更新管理器中显示的其余项目(但不会触及其他任何额外内容)。换句话说,我正在寻找等效的命令行。
编辑:这个问题指的是更新管理器,它相当于较新版本(例如 16.04)中的软件更新程序,如 @Eliah Kagan pointed out 。
最佳办法
作为 Flimm commented ,答案确实是 sudo apt-get dist-upgrade
(在运行 sudo apt-get update
之后,GUI 包管理工具会自动执行等效操作)。这至少是最接近运行软件更新程序(在旧版本中称为更新管理器)的方法。
运行 apt-get upgrade
将升级可以升级的包:
-
不安装某些版本中尚未安装的任何软件包,并且
-
不删除任何包。
更新管理器能够完成这两项工作,因此 apt-get dist-upgrade
非常接近它。
-
运行
sudo apt-get dist-upgrade
本身不会将您的 Ubuntu 系统升级到更新的版本。事实上,与 Debian 不同,apt-get dist-upgrade
不是升级到新版本的受支持方式。在 Debian 中(在 Ubuntu 中,虽然有时可能会失败并且不受支持),将/etc/apt/sources.list
中列出的所有存储库更改为下一个版本的存储库并运行sudo apt-get dist-upgrade
将尝试升级到下一个版本。
因为 apt-get dist-upgrade
可以删除包(并安装您可能不想要的新包),所以最好在按下 y
之前查看它打算做什么的描述。
因此,虽然运行 sudo apt-get -y upgrade
通常是合理的,但 -y
标志应该很少与 dist-upgrade
一起使用。
您没有使用 sudo apt-get upgrade
获得新内核版本的原因是因为它们每个都由单独的、不同名称的包提供。 (内核版本是名称的一部分。)这是为了便于将旧内核与新内核一起安装(并且能够在 GRUB 菜单中选择它们)。
通过安装 metapackage(如 linux-image-generic
)来自动提供新的内核包进行安装。当您的 Ubuntu 版本出现新内核时,您的内核元包会升级,并且该元包的升级版本会将新内核列为依赖项(不会阻止旧内核继续安装)。
如果您不想使用 sudo apt-get dist-upgrade
,那么您始终可以手动升级在运行 sudo apt-get upgrade
时被列为保留的各个包。为此,请 “install” 他们: sudo apt-get install packagename
。
次佳办法
如果您想从命令行打开软件更新窗口(这是我收集到的,主要是因为这就是我搜索这个并最终来到这里的原因,因为这是我的目标),以便让自己获得 root访问 GUI 窗口(我在尝试通过远程处理时遇到了权限问题)
sudo update-manager