与全新安装相比,就地升级的一个主要优势
是所有帐户、配置和安装的程序都保持不变。
使用适用于 Linux 的 Windows 子系统 (WSL),我安装了一个新的 openSUSE 42 实例 。1
如何将 openSUSE 42 就地升级到 15.x?
我的主要兴趣是从 openSUSE 42 升级到最新的 openSUSE 版本。
在撰写本文时,
Leap 15.4 是最新的活跃 openSUSE 版本。
动机
从命令行安装时,WSL 仍然只提供 42.2 版的 openSUSE。
考虑到openSUSE 42.2 的生命周期于 2018 年 1 月正式结束
——差不多五年前——升级到更新的版本是有意义的。
警告!
在考虑就地升级之前确保有足够的可用磁盘空间,
在这种情况下,至少大约 5 GiB。
参考
1以管理员身份
打开Windows CMD.exe(WinKey+ r,键入cmd
,按住
Ctrl+ Shift,按Enter)。
然后运行以下命令安装 openSUSE 42.2:
wsl.exe --install --distribution openSUSE-42
在开始实验之前,最好进行预防性备份以防出现问题。要备份现有的
.repo
配置文件,请执行: 1我如何将 openSUSE 从 42.2 升级到 15.4 2
1.刷新更新现有的openSUSE 42.2
在升级之前,一个关键的步骤是运行
sudo zypper refresh
并sudo zypper update
刷新和更新系统的当前版本。如上面的输出转储所示,我选择
y
开始更新。这开始下载和安装 openSUSE 42.2 的最新软件包版本。
现在 openSUSE Leap 42.2 已经成功刷新更新,
是时候开始升级到 openSUSE Leap 15.4 了。
.repo
2.更改配置文件中的版本号A. 在
/etc/zypp/repos.d/oss.repo
中,替换42.2/repo/oss/suse
为15.4/repo/oss
:B. 在
/etc/zypp/repos.d/oss_update.repo
中,替换42.2
为15.4
:3.同步可用的包和版本列表
4.执行分发升级
好的?我现在应该怎么办?
如上面的输出转储所示,我选择 卸载 suse-module-tools-12.4-...
显示了一个新问题。
同样,我选择了卸载... (rpcbind-0.2.3-3.3.1.x86_64)。
这种情况一直持续下去。有时,卸载显示为解决方案2。我
继续选择 卸载以下包:
patterns-openSUSE-base-20150918-27.1.x86_64
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 。 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _man-2.6.6-6.3.1.x86_64
emacs-24.3-24.6.1.x86_64
udev-228-25.18.1.x86_64
util-linux-2.28-12.9.1.x86_64
systemd-228-25.18.1.x86_64
libutempter0-1.1.6-7.55.x86_64
openssh-7.2p2-11.6.1.x86_64
emacs-nox-24.3-24.6.1.x86_64
gpm-1.20.7-9.53.x86_64
systemd-sysvinit-228-25.18.1.x86_64
util-linux-systemd-2.28-12.9.1.x86_64
sysconfig-netconfig-0.84.0-1.2.x86_64
aaa_base-13.2+git20140911.61c1681-24.3.1.x86_64
kmod-17-10.3.1.x86_64
screen-4.0.4-7.21.x86_64
sysconfig-0.84.0-1.2.x86_64
wicked-0.6.40-6.6.1.x86_64
kmod-compat-17-10.3.1.x86_64
libwicked-0-6-0.6.40-6.6.1.x86_64
ruby-common-2.1-6.3.1.noarch
wicked-service-0.6.40-6.6.1.x86_64
yast2-packager-3.1.123-5.6.1.x86_64
aaa_base-extras-13.2+git20140911.61c1681-24.3.1.x86_64
yast2-ruby-bindings-3.1.51.2-3.1.x86_64
yast2-3.1.217-5.6.1.x86_64
yast2-country-data-3.1.32-1.2.x86_64
ruby-2.1-4.2.x86_64
yast2-hardware-detection-3.1.7-9.5.x86_64
yast2-transfer-3.1.3-1.3.x86_64
在回答了最后一个包的卸载之后,随之而来的是很多输出。
我选择了
y
,开始下载安装。我看到了很多警告,其中最常见的是
No such file or directory
.下载和安装大约需要 7 分钟。
5.查看openSUSE当前新版本
检查版本:
6.重建系统存储库的缓存
7. 将已安装的软件包升级到最新的可用版本3
然后我跑了
sudo zypper update
。当然,我选择了
y
。接下来是更新的下载和安装。http:
8.和之间的战斗https:
根据我的经验,在 文件中替换
http:
为 可能会导致错误。 当我这样做——然后运行——我经常(但不总是)得到: 4https:
/etc/zypp/repos.d/*.repo
sudo zypper refresh
显然,这是过期证书的问题。
一旦成功完成升级(包括刷新和更新系统) ,获得此类风险的风险
Curl error
可能会小得多。概括
重复初始预防性备份是明智的:
在这样的升级过程中做出哪些选择远非显而易见。
但似乎升级在大多数情况下都有效。
并
cat /etc/os-release
说现在的版本是 openSUSE Leap 15.4。Access is denied. Press Enter or Esc to exit...
当我尝试通过 ConEmu 启动 openSUSE-15 时,我仍然时不时地遇到问题。我不知道这个问题是否与ConEmu有关,但我直接从CMD.exe启动openSUSE-15时从未见过它,wsl ~ -d openSUSE-15
. 5个参考
1 To see the contents of the
oss-42.2_orig.zip
file, rununzip -l oss-42.2_orig.zip
.To restore the
.repo
files :cd /etc/zypp/repos.d/ && sudo rm *.repo && sudo unzip oss-42.2_orig.zip
2 Support Data Base: System upgrade is the single most important reference I used to perform the upgrade.
3 At this point, the openSUSE distro hang and didn't respond to any input from the keyboard.
When I restarted, it looked as follows.
-bash: /etc/profile: No such file or directory
-bash-4.4$
After installing Snap as described here, and restarting again, that behavior went away.
The prompt resumed to looking normal again, like so :
henke@hp:~>
I don't know exactly what fixed the system. And I don't know how to replicate the problem.
4 To replace
http:
withhttps:
in all.repo
files, run :sudo sed -i 's/http:/https:/' /etc/zypp/repos.d/*.repo
5 If you haven't changed the name of the distro, you should start it as
wsl ~ -d openSUSE-42
, even though the distro contained is openSUSE 15.