如何升级fedora的版本
<h2>自动升级</h2><div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf update --<span style="color: rgba(0, 0, 0, 1)">refresh# 更新系统包
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf <span style="color: rgba(0, 0, 255, 1)">install</span> dnf-plugin-system-<span style="color: rgba(0, 0, 0, 1)">upgrade# 安装系统更新插件
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf system-upgrade download --refresh --releasever [<span style="color: rgba(128, 0, 128, 1)">32</span>|<span style="color: rgba(128, 0, 128, 1)">33</span>|<span style="color: rgba(0, 0, 0, 1)">rawhide]# 下载包
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf system-upgrade reboot# 重启执行升级操作</pre>
</div>
<p>如果某些依赖不满足,升级将终止,可添加 <code>--allowerasing</code> 选项删除依赖损坏的包。这可能是第三方源还未进行更新。建议卸载这些依赖不满足的包。添加 <code>--best</code> 选项,可查看依赖问题的详细信息。</p>
<h3>升级后操作</h3>
<p>更新系统配置文件:<br>更新后,RPM将备份配置文件。搜索 <code>.rpmnew</code>(新配置) <code>.rpmsave</code>(旧配置),根据需要进行修改。或使用 <code>rpmconf</code> 工具进行处理。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> rpmconf -a</pre>
</div>
<p>清理旧软件包:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf repoquery --<span style="color: rgba(0, 0, 0, 1)">unsatisfied# 列出依赖问题的包,可以酌情删除这些包
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf repoquery --<span style="color: rgba(0, 0, 0, 1)">duplicated # 列出重复的包,一般的包不会有重复存在
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> dnf list extras# 列出已从源中删除的包,可能包含第三方源的包$
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf autoremove # 删除不需要的包</pre>
</div>
<p>注意:DNF 不需要一个包,是根据您是否明确要求安装它来决定的。这不意味着这个包是无用的。您需要删除您确实不需要的包。注意,<code>PackageKit</code> 有个已知的 Bug,它并不标记包是用户安装。如果您使用 <code>PackageKit</code>(或 <code>GNOME Software</code>, <code>Apper</code> 等)安装包,则这些包可能会列出,甚至会包含重要的应用程序和系统软件包,务必要十分小心。</p>
<h3>解决升级后遇到的问题</h3>
<p>如果您升级后,系统有问题,可能需要以下步骤。</p>
<p>重建RPM数据库:</p>
<p>如果您使用RPM/DNF工具时出现警告,可能需要重建RPM数据库。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> rpm --rebuilddb</pre>
</div>
<p>使用 <code>distro-sync</code> 解决依赖问题:<br><code>system upgrade</code> 工具默认使用 <code>distro-sync</code> 升级系统。如果您的系统有些未升级的包有依赖问题,可手动执行 <code>distro-sync</code>。这会同步源的软件包(某些包会降级)。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf distro-<span style="color: rgba(0, 0, 255, 1)">sync</span>
<span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf distro-<span style="color: rgba(0, 0, 255, 1)">sync</span> --allowerasing# 允许删除依赖损坏的包,务必进行确认</pre>
</div>
<p>重新标记 SELinux 标签:</p>
<p>如果某些行为被禁止并收到 SELinux 警告,可能有些文件标签不正确。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">touch</span> /<span style="color: rgba(0, 0, 0, 1)">.autorelabel
reboot</span></pre>
</div>
<h2>手动升级</h2>
<p>对于chroot方式安装的系统,手动升级更适用。</p>
<p>升级至 fc30</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> systemctl isolate multi-user.target# 切换至 TUI$ <span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> dnf upgrade
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> dnf clean all
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf distro-<span style="color: rgba(0, 0, 255, 1)">sync</span> --releasever=<span style="color: rgba(128, 0, 128, 1)">30</span> --setopt=deltarpm=<span style="color: rgba(0, 0, 255, 1)">false</span> --<span style="color: rgba(0, 0, 0, 1)">nogpgcheck<br>#若需要指定未开启的其他库,可用下面的参数指定。<br></span><em id="__mceDel">sudo dnf distro-sync --releasever=30 --setopt=deltarpm=false --disablerepo=\* --enablerepo=fedora_1 --enablerepo=updates_1 --nogpgcheck</em></pre>
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">touch</span> /.autorelabel</pre>
</div>
<p>建议清理 <code>/var/cache/yum</code>, <code>/var/cache/dnf</code>, <code>/var/cache/mock</code>, <code>/var/lib/mock</code> 等目录。</p>
<p>升级至 Rawhide</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">sudo</span><span style="color: rgba(0, 0, 0, 1)"> dnf upgrade
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf <span style="color: rgba(0, 0, 255, 1)">install</span> dnf-plugins-core fedora-repos-<span style="color: rgba(0, 0, 0, 1)">rawhide
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf config-manager --set-disabled fedora updates updates-<span style="color: rgba(0, 0, 0, 1)">testing
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf config-manager --set-<span style="color: rgba(0, 0, 0, 1)">enabled rawhide
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf clean -<span style="color: rgba(0, 0, 0, 1)">q dbcache plugins metadata
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> dnf distro-<span style="color: rgba(0, 0, 255, 1)">sync</span> --releasever=rawhide --setopt=deltarpm=<span style="color: rgba(0, 0, 255, 1)">false</span> --<span style="color: rgba(0, 0, 0, 1)">nogpgcheck
</span><span style="color: rgba(0, 0, 255, 1)">sudo</span> <span style="color: rgba(0, 0, 255, 1)">touch</span> /.autorelabel</pre>
</div>
<p>参考:</p>
<p>Fedora升级操作,轻易不要升级,如果升级请规范操作 (mamicode.com)</p>
</div>
<div id="MySignature" role="contentinfo">
<b>作者</b>:書劍飄零
<div><b>出处</b>:https://www.cnblogs.com/oboth-zl</div>
<div>本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。</div><br><br>
来源:https://www.cnblogs.com/oboth-zl/p/14098525.html
頁:
[1]