陪你一生 發表於 2022-8-11 22:52:00

@CentOS 7 升级至CentOS 8(linux系统跨版本系统升级)

<svg xmlns="http://www.w3.org/2000/svg" style="display: none">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0)"></path>
                  </svg>
                  <p></p>
<div class="toc">
<h3>文章目录</h3>
<ul><li><ul><li>CentOS 7.9升级到CentOS 8.5 解决方案</li><li>1.准备一台CentOS 7版本服务器</li><li>2.准备epel仓库</li><li>3.安装rpmconf软件包</li><li>3.Centos 软件包清理</li><li>4.安装Centos 8默认软件管理器dnf</li><li>5.卸载Centos 7默认软件管理器yum</li><li>6.系统更新</li><li>7.系统升级(centos 7升级 centos 8)</li><li>8.升级后系统测试</li></ul>
</li></ul>
</div>
<br>
<img src="https://img-blog.csdnimg.cn/ad836ca0cfc34600885cb3cbe7b9bcb9.png" alt="在这里插入图片描述">
<p></p>
<h2>CentOS 7.9升级到CentOS 8.5 解决方案</h2>
<h2>1.准备一台CentOS 7版本服务器</h2>
<pre><code class="prism language-bash"><span class="token comment">#查看系统</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># uname</span>
Linux


<span class="token comment">#查看当前版本</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># cat /etc/redhat-release </span>
CentOS Linux release <span class="token number">7.4</span>.1708 <span class="token punctuation">(</span>Core<span class="token punctuation">)</span>


<span class="token comment">#查看版本内核</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># uname -r</span>
<span class="token number">3.10</span>.0-693.el7.x86_64
</code></pre>
<h2>2.准备epel仓库</h2>
<pre><code class="prism language-bash"><span class="token comment">#安装epel仓库</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># yum install epel-release -y</span>



<span class="token comment">#安装yum工具(默认为yum工具)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># yum install yum-utils</span>
</code></pre>
<h2>3.安装rpmconf软件包</h2>
<pre><code class="prism language-bash"><span class="token comment">#安装rmp解析配置工具包</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># yum -y install rpmconf</span>



<span class="token comment">#配置为软件维护的版本,保留rpm默认配置,输入y即可</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># rpmconf -a</span>
Configuration <span class="token function">file</span> <span class="token string">'/etc/nsswitch.conf'</span>
-rw-r--r--. <span class="token number">1</span> root root <span class="token number">1938</span> Apr <span class="token number">28</span><span class="token number">2021</span> /etc/nsswitch.conf.rpmnew
-rw-r--r--. <span class="token number">1</span> root root <span class="token number">1746</span> Oct<span class="token number">2</span><span class="token number">2021</span> /etc/nsswitch.conf
<span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>
<span class="token punctuation">..</span>.
</code></pre>
<h2>3.Centos 软件包清理</h2>
<pre><code class="prism language-bash"><span class="token comment">#清理所有无用软件包</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># package-cleanup --leaves</span>
Loaded plugins: fastestmirror
libsysfs-2.1.0-16.el7.x86_64
zlib-devel-1.2.7-19.el7_9.x86_64

<span class="token comment">#清理RPM软件包</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># package-cleanup --orphans</span>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.bfsu.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
<span class="token punctuation">..</span><span class="token punctuation">..</span>.
<span class="token punctuation">..</span>.
</code></pre>
<h2>4.安装Centos 8默认软件管理器dnf</h2>
<pre><code class="prism language-bash"><span class="token comment">#当前系统中安装dnf软件包管理工具(centos 8默认使用)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment">#yum install dnf</span>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
<span class="token punctuation">..</span>.
<span class="token punctuation">..</span>



<span class="token comment">#检查确认dnf软件管理工具</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf --version</span>
<span class="token comment">#出现以下报错(不是dnf安装失败,主要是版本太低,不兼容,需要更新python版本)</span>
Traceback <span class="token punctuation">(</span>most recent call last<span class="token punctuation">)</span>:
File <span class="token string">"/usr/bin/dnf"</span>, line <span class="token number">57</span>, <span class="token keyword">in</span> <span class="token operator">&lt;</span>module<span class="token operator">&gt;</span>
    from dnf.cli <span class="token function">import</span> main
File <span class="token string">"/usr/lib/python2.7/site-packages/dnf/__init__.py"</span>, line <span class="token number">30</span>, <span class="token keyword">in</span> <span class="token operator">&lt;</span>module<span class="token operator">&gt;</span>
<span class="token punctuation">..</span><span class="token punctuation">..</span><span class="token punctuation">..</span>.
<span class="token punctuation">..</span>.



<span class="token comment">#更新dnf管理工具依赖包</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># yum update python*</span>

<span class="token comment">#为了防止出现别的问题,安装dnf所关联的软件工具</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># yum install dnf-data dnf-plugins-core libdnf-devel libdnf python2-dnf-plugin-migrate dnf-automatic -y</span>




<span class="token comment">#检查dnf软件管理工具是否正常(以下状态表示dnf就可以正常使用)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf --version</span>
<span class="token number">4.0</span>.9
Installed: dnf-0:4.0.9.2-2.el7_9.noarch at Tue 07 Jun <span class="token number">2022</span> 01:31:12 PM CST
Built    <span class="token builtin class-name">:</span> CentOS BuildSystem <span class="token operator">&lt;</span>http://bugs.centos.org<span class="token operator">&gt;</span> at Wed 07 Apr <span class="token number">2021</span> 03:52:38 PM CST

Installed: rpm-0:4.11.3-48.el7_9.x86_64 at Tue 07 Jun <span class="token number">2022</span> 01:18:49 PM CST
Built    <span class="token builtin class-name">:</span> CentOS BuildSystem <span class="token operator">&lt;</span>http://bugs.centos.org<span class="token operator">&gt;</span> at Wed <span class="token number">24</span> Nov <span class="token number">2021</span> 04:33:39 PM CST
</code></pre>
<h2>5.卸载Centos 7默认软件管理器yum</h2>
<pre><code class="prism language-bash"><span class="token comment">#卸载centos 7中yum软件管理工具(使用dnf卸载 centos 7默认软件管理工具yum)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf -y remove yum yum-metadata-parser </span>



<span class="token comment">#删除yum相关配置文件</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># rm -Rf /etc/yum</span>
</code></pre>
<h2>6.系统更新</h2>
<blockquote>
<p>#CentOS 7升级到CentOS 8</p>
</blockquote>
<blockquote>
<p>【linux下载官方链接】<br> 【centos官方下载】</p>
</blockquote>
<pre><code class="prism language-bash"><span class="token comment">#centos 7系统升级(使用新安装的dnf软件管理)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnfupgrade -y</span>
</code></pre>
<h2>7.系统升级(centos 7升级 centos 8)</h2>
<pre><code class="prism language-bash"><span class="token comment">#dnf安装CentOS 8发行软件包(基本所有仓库Centos 8软件包均已删除)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf -y upgrade https://mirrors.bfsu.edu.cn/centos/8-stream/BaseOS/x86_64/os/Packages/centos-stream-release-8.5-3.el8.noarch.rpm</span>

<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf install https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/Packages/{centos-linux-repos-8-3.el8.noarch.rpm,centos-linux-release-8.5-1.2111.el8.noarch.rpm,centos-gpg-keys-8-3.el8.noarch.rpm}</span>




<span class="token comment">#升级epel仓库源</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf -y upgradehttps://dl.fedoraproject.org/pub/epel/epel-next-release-latest-8.noarch.rpm</span>

<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf -y upgrade https://mirrors.bfsu.edu.cn/epel/epel-release-latest-8.noarch.rpm</span>



<span class="token comment">#清空所有缓存</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf clean all</span>




<span class="token comment">#删除 centos 7内核包</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># rpm -e `rpm -q kernel`</span>



<span class="token comment">#出现报错(一般为软件包不兼容或者软件包冲突导致,可根据以下方式卸载即可)</span>
<span class="token comment">#卸载冲突的软件包</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># rpm -e --nodeps sysvinit-tools</span>




<span class="token comment">#启动CentOS 8系统升级</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync</span>






<span class="token comment">#安装适用的centos 8内核</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf -y install kernel-core</span>




<span class="token comment">#min化安装centos 8软件包</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf -y groupupdate "Core" "Minimal Install"</span>
<span class="token comment">#出现错误(centos8.0 软件仓库报错)</span>

<span class="token comment">#删除原来的阿里软件仓库</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># rm -rf /etc/yum.repos.d/CentOS-Base.repo</span>
<span class="token comment">#下载华为centos8版本的软件仓库</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># curl -o /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-8-reg.repo</span>



<span class="token comment">#清理仓库缓存</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf clean all</span>
<span class="token comment">#重新生成缓存并查看仓库(确认仓库是否正常)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf repolist</span>


<span class="token comment">#仓库修改完成后,继续安装min</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf groupupdate "Core" "Minimal Install" --allowerasing</span>

<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf groupupdate "Core" "Minimal Install" --skip-broken</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># rpm -Va --nofiles --nodigest</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># rpm --rebuilddb</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf clean packages</span>





<span class="token comment">#查看当前的系统版本(已经升级为centos 8.5)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># cat /etc/redhat-release </span>
CentOS Linux release <span class="token number">8.5</span>.2111
</code></pre>
<h2>8.升级后系统测试</h2>
<pre><code class="prism language-bash"><span class="token comment">#安装nginx(安装成功表示升级没有问题)</span>
<span class="token punctuation">[</span>root@test ~<span class="token punctuation">]</span><span class="token comment"># dnf install nginx</span>
</code></pre>
               

</div>
<div id="MySignature" role="contentinfo">
    <p>本文来自博客园,作者:ଲ小何才露煎煎饺,转载请注明原文链接:https://www.cnblogs.com/zeny/p/16578221.html</p><br><br>
来源:https://www.cnblogs.com/zeny/p/16578221.html
頁: [1]
查看完整版本: @CentOS 7 升级至CentOS 8(linux系统跨版本系统升级)