SDB:更新 Tumbleweed
情景
你想把 Tumbleweed 升级到最新的快照版本。
简短版本
在桌面打开终端更新系统:
sudo zypper dup
重启系统以应用更改:
sudo reboot
详细版本
建议你熟悉 使用 snapper 回滚系统 。还值得注意的是 tumbleweed-cli。
一般来说,注销你的桌面环境(DE)并从虚拟终端升级是比较安全的。这样可以避免在升级过程中出现桌面环境进程冻结或死亡的情况。然而,你可以安全地从桌面环境中下载所有需要更新的软件包,而不必安装它们。这可以从桌面的终端完成:
su - zypper dup -d exit
如果你需要在论坛上询问冲突问题,这可能会更方便。
无论怎样,下面的内容将完成升级:
- 退出你的桌面环境,在登录管理器中按 CTRL + ALT + F1 进入内核终端界面。
- 以 root 的身份登录。
- 输入命令。
zypper dup
。 - 处理好任何冲突,然后同意升级。
- 当升级完成后,输入命令。
reboot
重启并不总是需要的。Zypper 会告诉你什么时候需要(使用 zypper ps -s
查询有那些程序仍在使用已被删除的旧文件)。要返回到桌面回话输入 exit
命令,并按 CTRL + ALT + F7。
理论上,当不需要重启时,最安全的升级方式是隔离 "save.target",因为在这种状态下加载的东西最少,这意味着大多数东西在切换回DE时将被重新加载。这个想法是为了避免有过时的进程在运行,而升级后的软件包可能试图与之互动。你可以用下面的一个命令来隔离 "save.target":
systemctl isolate rescue.target telinit 1
文档
以下(截取的)信息来自zypper 手册。参见 the zypper repository 的作者名单。
dist−upgrade (dup) [options]
执行一个发行版升级。该命令将(指定的)软件库的状态应用到系统中;将已安装的软件包升级(甚至降级)到软件库中发现的版本,删除已不在软件库中并对升级造成依赖性问题的软件包,处理软件包的拆分和重命名,等等。
如果没有通过 −−from 指定软件库 选项,zypper将对所有定义的软件库进行全局升级。这种全局形式的升级也会考虑未改变的已安装软件包,并重新 −评估其依赖关系。
−−from alias|name|#|URI
该选项可以多次使用,并且只限制升级到指定的软件库。尽管如此,所有启用的软件库对解析器都是可见的,并将被视为满足依赖性问题。
−l, −−auto−agree−with−licenses
对第三方许可证确认提示自动说yes。通过使用这个 选项,你选择同意该命令将安装的所有第三方软件的许可证。这个 选项对于管理员在多台机器上安装相同的软件包(通过自动程序)并在之前确认许可证特别有用。
−−auto−agree−with−product−licenses
只自动接受产品许可证。这是 SUSEconnect 等工具所使用的,它们会在产品被注册之前要求确认。因此在安装时不需要再次确认产品许可证。
−−replacefiles
安装软件包,即使它们取代了其他已经安装的软件包的文件。默认情况下,将文件冲突视为一个错误。−−download−as−need 禁用文件冲突检查,因为需要提前访问所有软件包的文件列表以执行检查。
−D, −−dry−run
测试升级,不要实际安装或更新任何软件包。这个选项将把 −−test 选项添加到 dist−upgrade 命令所运行的 rpm 命令中。
−y, −−no−confirm
不需要用户互动。是 −− 非 − 互动全局选项的别名。
−−details
显示详细的安装摘要。
求解器相关选项:
−−debug−solver
创建用于调试的解算器测试案例。使用这个选项,如果你认为依赖关系 没有完全解决,并将产生的 /var/log/zypper.solverTestCase 目录附在你的错误报告中。要使用这个选项,只需将其添加到有问题的安装或删除命令中。
−−force−resolution
迫使求解器找到一个解决方案,允许删除未满足要求的包。 要求。这是删除软件包时的默认设置(zypper remove)。这个选项覆盖 −−no−force−resolution,如果两者都在命令行中被指定。
−R, −−no−force−resolution
不要强迫求解器找到一个解决方案。相反,报告依赖性问题并提示用户手动解决。这是默认的,除了删除软件包时(zypper remove)。
−−recommends
除了必要的软件包外,还要安装推荐的软件包。默认的 行为由 [zypp.conf:solver.onlyRequires] 决定。
−−no−recommends
不安装推荐的软件包,而只安装需要的软件包。默认行为由 [zypp.conf:solver.onlyRequires] 决定。
Expert Options:
除非你知道它们是什么,否则请不要使用它们。
−−[no−]allow−downgrade
是否允许降级已安装的解析器 [zypp.conf:solver.dupAllowDowngrade]。
−−[no−]allow−name−change
是否允许改变已安装的可解析程序的名称 [zypp.conf:solver.dupAllowNameChange]。将此设置为 no 将不会替换被重命名的软件包。
−−[no−]allow−arch−change
是否允许改变已安装的解析器的架构 [zypp.conf:solver.dupAllowArchChange]。
−−[no−]allow−vendor−change
是否允许改变已安装的可解析程序的供应商 [zypp.conf:solver.dupAllowVendorChange]。如果你不希望来自国外仓库的软件包被复制到发行版(或反之),将此设置为no可能很有用。
这个命令也接受下载 −和−安装模式选项,在 install 命令描述中描述。
例如:
$ zypper dup −−from factory −−from packman
将系统升级到 factory 和 packman 存储库提供的最新版本。