当我做
sudo apt-get update
sudo apt-get upgrade
有时 Ubuntu GUI 更新管理器仍会剩余一些项目。例如“完整的通用 Linux 内核”。
我知道还有sudo apt-get dist-upgrade
,但是那涉及到其他事情。
我的问题是,我可以使用哪个命令行选项来更新 GUI 更新管理器中显示的其余项目(但不触及其他任何额外内容)。换句话说,我正在寻找等效的命令行。
编辑:这个问题是指更新管理器,它相当于较新版本(例如 16.04)中的软件更新程序,因为@Eliah Kagan 指出。
答案1
作为Flimm 评论,答案确实是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 菜单中对它们进行选择)。
自动提供新的内核安装包是通过元包(喜欢linux-image-generic
) 安装。当您的 Ubuntu 版本发布新内核时,您的内核元包会升级,并且该元包的升级版本会将新内核列为依赖项(不会阻止继续安装旧内核)。
如果你不想使用sudo apt-get dist-upgrade
,那么你始终可以手动升级在运行 时被列为受阻的单个软件包sudo apt-get upgrade
。为此,“安装”它们:。sudo apt-get install packagename
答案2
如果您想从命令行打开软件更新窗口(这就是我所知道的,主要是因为这就是我搜索它并最终来到这里的原因,因为这是我的目标)以便让自己拥有 GUI 窗口的 root 访问权限(我在尝试从远程执行此操作时遇到了权限问题)
sudo update-manager
答案3
我刚刚找到这个答案,但丢失了来源,所以我不能相信它......
以下命令将安装具有内核作为依赖项的软件包,因此将选择正确的内核来更新您的内核。
我的 14.4 安装已升级到 14.10,但内核除外。就我而言,内核从 3.13.x 更新到 3.16.x,尽管 3.13.0.x 版本可能有更新。但显然 3.13 不是 LTS 内核。
sudo apt-get install linux-image-generic
答案4
apt
命令行实用程序无法提供与其 GUI 等效程序(即software updater
)完全相同的舒适度。虽然apt-get dist-upgrade
可以处理大部分升级工作,即下载和安装较新的软件包,但它无法检测 ubuntu(或 debian)新版本的存在,而 ubuntu GUI 实用程序可以做到这一点。缺少的部分是编辑/etc/apt/sources.list
(或相关文件/etc/apt/sources.list.d/
- 但您可能没有这些),以告知apt
新版本存在以及存储库的位置。
例如,对于dist-upgrade
来自乌托邦到生动,您可以打开,然后/etc/apt/sources.list
快速搜索并替换,然后运行CLI 命令。更安全的方法可能是复制该文件中的行,然后仅在这些重复的行上进行搜索和替换,从而保留 utopic 存储库。utopic
vivid
dist-upgrade
sources.list
有关更多信息,我建议查阅描述文件格式和如何编辑它的手册页。