当我安装某些系统时,我通常会寻找一种批量更新方法,一种可以更新我最近安装的软件的方法。
例如,在 Debian 中,这将更改为sources.list
指向我想要的内容,并执行# apt-get update && apt-get dist-upgrade
.
Fedora (18) 中有类似的东西吗?我是否缺少 GUI 升级管理器?
Gnome 中弹出一条消息,提示我的系统需要重要更新。我拒绝了它,因为它向我提供的唯一选项是“安装更新”,而且我不太确定那会做什么。
现在,该消息消失了,我找不到它,也找不到它可能连接的任何软件。
我在这里缺少什么?
答案1
Fedora 17 之前
Fedora 17 之前的所有 Red Hat 发行版都不包含按照您的要求进行发行版升级的功能。这是许多人的愿望清单上讨论已久的选项,但从未实施过。
但在我们开始澄清之前……
根据更新 wiki 中的主题,有一种方法可以将下一版本的 Fedora 的 DVD 放入系统中,并且蟒蛇会尝试升级您的系统。在多次尝试过这种方法后,我认为这种方法无法与 Debian/Ubuntu 发行版中的方法相提并论,
dist-upgrade
后者实际上运行得很好。另外,在过去的十年里,我一直在维护 RHEL、Fedora 和 CentOS 系统,因此我什至不会考虑使用这种方法来做任何事情。它根本不起作用。
因此,人们通常会执行以下操作之一:
生牛皮
使用生皮释放,这是最前沿的版本,类似于 Debian 中的 Sid。 Rawhide 提供滚动版本,因为它始终拥有最新版本的软件包,但它绝不意味着用作日常发行版,它实际上仅用于测试。
保持单一版本
只要接受这个事实,只要发行版还存在,就可以保持最新状态,使用yum
.您可以用来yum
应用任何挂起的更新和/或更新单个包。此外,yum
也可用于安装新软件包。
应用所有待处理的更新(假设所有提示均为“是”):
sudo yum -y update
更新单个包:
sudo yum -y update apache\*
安装新包:
sudo yum -y install apache\*
软件更新小程序
如果您想使用 GUI 执行更新,您可以使用任务栏中显示的软件更新程序工具。该工具本质上与上述工具执行相同的操作yum -y update
,并且可以使用以下命令按需运行:
gpk-update-viewer
重新安装
当新版本出现时,您需要手动进行全新安装,并注意将所有数据和配置复制到新系统。
预升级
利用预升级工具。该工具本质上只是收集您的设置和您安装的软件包的名称,并帮助您将它们应用到新的安装中。看@JoelDavis 的回答对于这项技术也是如此。
笔记:不过,从 Fedora 18 开始,这不再是一个选项,因此您已收到警告。
Fedora 17 及更高版本
从 17 开始,您现在可以进行滚动发布。
受够了
Fedora 17/18 中新增了一个工具,名为FedUp (FEDora UPgrader)它声称可以进行类似于 Debian/Ubuntu 发行版的“发行版升级”。
FedUp (FEDora UPgrader) 是用于升级 Fedora 18 及更高版本中的 Fedora 安装的新系统的名称。它取代了之前 Fedora 版本中使用的所有当前推荐的升级方法(PreUpgrade 和 DVD)。 Fedora 安装程序 Anaconda 在 Fedora 18 或更高版本中没有任何内置升级功能。它已经完全委托给 Fedup 了。
目前,FedUp 能够使用网络存储库将 Fedora 17 安装升级到 Fedora 18,类似于 PreUpgrade 的工作方式。目前正在计划更多的升级方法,此页面将在这些功能完成后更新。
滚动发布与版本控制发布
OP 提出了一个后续问题,他希望我详细说明以下短语:
“从 17 开始,您现在可以滚动发布。”
当我发表评论时,我的意思是一回事,而“滚动发布”一词实际上意味着另一回事。当我写这篇文章时,我的意思是“滚动版本”,意思是您现在可以从 Fedora 的单点版本(例如 17)滚动到版本 18。大多数发行版(例如 Debian 和 Ubuntu)现在都提供此功能。
然而在查找描述时“滚动发布”实际上是维基百科上的意思,我现在在这个主题上受到了更多的教育。
摘自维基百科
...滚动发布或滚动更新开发模式是指不断开发的软件系统;这不是标准发布开发模型,该模型使用必须在先前版本上重新安装的软件版本。相反,滚动软件会不断更新,而标准发布软件则在版本之间进行升级。 ...
因此,从纯粹主义者的角度来看,Debian、Ubuntu、Fedora 都不是“滚动版本”。它们是单点标准发布的软件,提供帮助从一个单点版本升级到另一点版本的工具。
OP还问了以下问题
如果您使用 Sid,Debian 只是“某种”滚动版本。滚动发布 = 无版本,软件包只是尽快从上游转储到发行版中,对吗?所以 Debian 与滚动版本完全相反,Ubuntu 也是如此。 Fedora Rawhide 也是一种滚动版本,但我已经知道这一点(并且不想使用它,如果这就是您所指的)。
只是为了让未来的读者清楚。即使是 Debian(又名 Sid)和 Fedora(又名 Rawhide)的开发分支也不是“滚动版本”。当然,您可以这样使用它们,但它们只是一个开发“区域”,其中新的软件包可能合并到未来的版本中可以以集中的方式呈现给社区。
放置在这些分支之一的包中的测试级别不如当包在真正的“滚动发布”发行版(例如 ArchLinux)中显示为更新时严格(这是我的期望)。
这是维基百科页面的一部分,涵盖了标准发行版的开发分支的使用:
滚动发行版软件发行版和标准发行版软件发行版的开发分支之间的区别常常被没有滚动发行版经验的用户所忽视。这可能会导致混乱的评论,例如:“如果您使用其开发分支,distro-X 是一个滚动发行版”——其中 distro-X 是标准发行版。即使在开发分支是滚动(相对于更常见的循环)开发分支的极少数情况下,这也不会使分布滚动。与标准发行版不同,滚动发行版没有开发分支。
答案2
您可以使用
yum update
(升级所有包)
和
yum update <packageName>
(更新各个已安装的软件包)
这适用于软呢帽和/或中央操作系统和/或红帽EL系统
您还可以使用
yum install <packagename>
或yum install <RPM Name or web path>
(也在这些系统上安装软件包)
有一个名为 Software Updater 的应用程序,它提供了 GUI,但yum
实际上非常高效且非常直观。
如果您对可以使用 yum 运行哪些开关有任何疑问,可以使用
yum --help
答案3
虽然我没有找到可以描述这一点的在线页面,但# apt-get upgrade
Fedora 上的替代方案似乎是# yum update
.
来自 yum 的手册页:
update --- 如果在没有任何软件包的情况下运行,update 将更新每个当前安装的软件包。如果指定了一个或多个软件包或软件包 glob,Yum 将仅更新列出的软件包。更新软件包时,yum 将确保满足所有依赖关系。 (有关详细信息,请参阅指定包名称)如果指定的包或 glob 与当前未安装的包匹配,则更新将不会安装它们。更新对组、文件、提供和文件列表进行操作,就像“安装”命令一样。
答案4
一般来说,当进入新版本时,我通常会完全重新安装系统。我发现更新软件包存在很大问题,并且调试问题所花费的时间比重新安装更复杂。