从CentOS 7.0升级到7.7版本
<p>我平时都在VirtualBox上装虚拟机,方法是导入ova镜像文件,比如导入从网上下载的CentOS7-base.ova,该ova为CentOS 7.0版本,而现在最新版本为7.7,为此进入系统后第一件事就是系统升级:</p><div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"># yum</span> update</pre>
</div>
<p>可是该命令居然异常退出了!</p>
<p>重新进入系统后检查:</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">uname</span> -<span style="color: rgba(0, 0, 0, 1)">r
</span><span style="color: rgba(128, 0, 128, 1)">3.10</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">123.9</span>.<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
# </span><span style="color: rgba(0, 0, 255, 1)">cat</span> /proc/<span style="color: rgba(0, 0, 0, 1)">version
Linux version </span><span style="color: rgba(128, 0, 128, 1)">3.10</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">123.9</span>.<span style="color: rgba(128, 0, 128, 1)">2</span>.el7.x86_64 (builder@kbuilder.dev.centos.org) (<span style="color: rgba(0, 0, 255, 1)">gcc</span> version <span style="color: rgba(128, 0, 128, 1)">4.8</span>.<span style="color: rgba(128, 0, 128, 1)">2</span> <span style="color: rgba(128, 0, 128, 1)">20140120</span> (Red Hat <span style="color: rgba(128, 0, 128, 1)">4.8</span>.<span style="color: rgba(128, 0, 128, 1)">2</span>-<span style="color: rgba(128, 0, 128, 1)">16</span>) (GCC) ) #<span style="color: rgba(128, 0, 128, 1)">1</span> SMP Tue Oct <span style="color: rgba(128, 0, 128, 1)">28</span> <span style="color: rgba(128, 0, 128, 1)">18</span>:<span style="color: rgba(128, 0, 128, 1)">05</span>:<span style="color: rgba(128, 0, 128, 1)">26</span> UTC <span style="color: rgba(128, 0, 128, 1)">2014</span><span style="color: rgba(0, 0, 0, 1)">
# </span><span style="color: rgba(0, 0, 255, 1)">cat</span> /etc/redhat-<span style="color: rgba(0, 0, 0, 1)">release
CentOS Linux release </span><span style="color: rgba(128, 0, 128, 1)">7.7</span>.<span style="color: rgba(128, 0, 128, 1)">1908</span> (Core)</pre>
</div>
<p>可见Linux发行版本号已改为7.7,但核心仍然是旧版本,并且再次执行yum update命令失败,说明系统未升级成功。经常一段时间摸索找到两种从7.0升级到7.7的方法。</p>
<h2>方法一:升级失败后手工解决错误并重新升级</h2>
<p>yum update命令异常退出后重新登录系统,然后执行:</p>
<h3>清理上次失败的命令</h3>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)"># </span><span style="color: rgba(0, 0, 255, 1)">yum</span>-complete-transaction --cleanup-only</pre>
</div>
<h3>查看重复的包</h3>
<div class="cnblogs_code">
<pre># package-cleanup --<span style="color: rgba(0, 0, 0, 1)">dupes
kbd</span>-misc-<span style="color: rgba(128, 0, 128, 1)">1.15</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>-<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">.el7.noarch
kbd</span>-misc-<span style="color: rgba(128, 0, 128, 1)">1.15</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>-<span style="color: rgba(128, 0, 128, 1)">15</span><span style="color: rgba(0, 0, 0, 1)">.el7.noarch
nss</span>-tools-<span style="color: rgba(128, 0, 128, 1)">3.44</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">.el7_7.x86_64
nss</span>-tools-<span style="color: rgba(128, 0, 128, 1)">3.16</span>.<span style="color: rgba(128, 0, 128, 1)">2</span>-<span style="color: rgba(128, 0, 128, 1)">7</span><span style="color: rgba(0, 0, 0, 1)">.el7_0.x86_64
...
</span><span style="color: rgba(0, 0, 255, 1)">gzip</span>-<span style="color: rgba(128, 0, 128, 1)">1.5</span>-<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
</span><span style="color: rgba(0, 0, 255, 1)">gzip</span>-<span style="color: rgba(128, 0, 128, 1)">1.5</span>-<span style="color: rgba(128, 0, 128, 1)">7</span>.el7.x86_64</pre>
</div>
<p>该命令本应无输出,但由于上次yum update命令失败导致大量重复的新旧包。</p>
<h3>删除重复的包</h3>
<div class="cnblogs_code">
<pre># package-cleanup --<span style="color: rgba(0, 0, 0, 1)">cleandupes
...
Complete</span>!<span style="color: rgba(0, 0, 0, 1)">
Warning: Some duplicates were not removed because they are required by installed packages.
You can try </span>--cleandupes with --removenewestdupes, or review them with --dupes and remove manually.</pre>
</div>
<p>该命令虽然删除了很多重复包,但提示未完全清除。</p>
<h3>尝试重新升级</h3>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">yum</span><span style="color: rgba(0, 0, 0, 1)"> update
...
</span>--><span style="color: rgba(0, 0, 0, 1)"> Finished Dependency Resolution
Error: Package: avahi</span>-libs-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 (@anaconda)
Requires: avahi </span>= <span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7
Removing: avahi</span>-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 (@anaconda)
avahi </span>= <span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7
Updated By: avahi</span>-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">19</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 (base)
avahi </span>= <span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">19</span><span style="color: rgba(0, 0, 0, 1)">.el7
Error: firewalld conflicts with </span><span style="color: rgba(128, 0, 128, 1)">1</span>:NetworkManager-<span style="color: rgba(128, 0, 128, 1)">0.9</span>.<span style="color: rgba(128, 0, 128, 1)">9.1</span>-<span style="color: rgba(128, 0, 128, 1)">28</span>.git20140326.4dba720.el7_0.<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">.x86_64
Error: avahi</span>-libs conflicts with avahi-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">19</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
You could try using </span>--skip-<span style="color: rgba(0, 0, 0, 1)">broken to work around the problem
...</span></pre>
</div>
<p>仍升级失败!</p>
<h3>根据上面的错误信息删除旧包</h3>
<div class="cnblogs_code">
<pre># rpm -e avahi-libs-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
error: Failed dependencies:
avahi</span>-libs = <span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span>.el7 is needed by (installed) avahi-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
avahi</span>-libs = <span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span>.el7 is needed by (installed) avahi-autoipd-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span>.el7.x86_64</pre>
</div>
<p>该命令失败,原因是存在依赖项。为此需同时删除依赖项:</p>
<div class="cnblogs_code">
<pre># rpm -e avahi-libs-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> avahi-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> avahi-autoipd-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
error: Failed dependencies:
avahi</span>-autoipd is needed by (installed) NetworkManager-<span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">0.9</span>.<span style="color: rgba(128, 0, 128, 1)">9.1</span>-<span style="color: rgba(128, 0, 128, 1)">28</span>.git20140326.4dba720.el7_0.<span style="color: rgba(128, 0, 128, 1)">2</span>.x86_64</pre>
</div>
<p>仍有其它级联依赖项,一并删除:</p>
<div class="cnblogs_code">
<pre># rpm -e avahi-libs-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> avahi-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> avahi-autoipd-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> NetworkManager-<span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">0.9</span>.<span style="color: rgba(128, 0, 128, 1)">9.1</span>-<span style="color: rgba(128, 0, 128, 1)">28</span>.git20140326.4dba720.el7_0.<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">.x86_64
error: Failed dependencies:
NetworkManager </span>= <span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">0.9</span>.<span style="color: rgba(128, 0, 128, 1)">9.1</span>-<span style="color: rgba(128, 0, 128, 1)">28</span>.git20140326.4dba720.el7_0.<span style="color: rgba(128, 0, 128, 1)">2</span> is needed by (installed) NetworkManager-tui-<span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">0.9</span>.<span style="color: rgba(128, 0, 128, 1)">9.1</span>-<span style="color: rgba(128, 0, 128, 1)">28</span>.git20140326.4dba720.el7_0.<span style="color: rgba(128, 0, 128, 1)">2</span>.x86_64</pre>
</div>
<p>继续一并删除:</p>
<div class="cnblogs_code">
<pre># rpm -e avahi-libs-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> avahi-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> avahi-autoipd-<span style="color: rgba(128, 0, 128, 1)">0.6</span>.<span style="color: rgba(128, 0, 128, 1)">31</span>-<span style="color: rgba(128, 0, 128, 1)">13</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64 \
</span>> NetworkManager-<span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">0.9</span>.<span style="color: rgba(128, 0, 128, 1)">9.1</span>-<span style="color: rgba(128, 0, 128, 1)">28</span>.git20140326.4dba720.el7_0.<span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)">.x86_64 \
</span>> NetworkManager-tui-<span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">0.9</span>.<span style="color: rgba(128, 0, 128, 1)">9.1</span>-<span style="color: rgba(128, 0, 128, 1)">28</span>.git20140326.4dba720.el7_0.<span style="color: rgba(128, 0, 128, 1)">2</span>.x86_64</pre>
</div>
<p>成功!</p>
<h3>继续尝试升级</h3>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">yum</span><span style="color: rgba(0, 0, 0, 1)"> update
...
Replaced:
grub2.x86_64 </span><span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">2.02</span>-<span style="color: rgba(128, 0, 128, 1)">0.2</span>.<span style="color: rgba(128, 0, 128, 1)">10</span>.el7.centos.<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">
Complete</span>!</pre>
</div>
<p>成功!成功升级后请重启系统:</p>
<div class="cnblogs_code">
<pre># reboot</pre>
</div>
<h3>再次查看并删除重复的包</h3>
<div class="cnblogs_code">
<pre># package-cleanup --<span style="color: rgba(0, 0, 0, 1)">dupes
...
kbd</span>-misc-<span style="color: rgba(128, 0, 128, 1)">1.15</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>-<span style="color: rgba(128, 0, 128, 1)">10</span><span style="color: rgba(0, 0, 0, 1)">.el7.noarch
kbd</span>-misc-<span style="color: rgba(128, 0, 128, 1)">1.15</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>-<span style="color: rgba(128, 0, 128, 1)">15</span><span style="color: rgba(0, 0, 0, 1)">.el7.noarch
libdb</span>-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">21</span>-<span style="color: rgba(128, 0, 128, 1)">25</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
libdb</span>-<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">21</span>-<span style="color: rgba(128, 0, 128, 1)">17</span>.el7_0.<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.x86_64
...
libteam</span>-<span style="color: rgba(128, 0, 128, 1)">1.27</span>-<span style="color: rgba(128, 0, 128, 1)">9</span><span style="color: rgba(0, 0, 0, 1)">.el7.x86_64
libteam</span>-<span style="color: rgba(128, 0, 128, 1)">1.9</span>-<span style="color: rgba(128, 0, 128, 1)">15</span>.el7.x86_64</pre>
</div>
<p>仍有一些重复的包,删除之:</p>
<div class="cnblogs_code">
<pre># package-cleanup --<span style="color: rgba(0, 0, 0, 1)">cleandupes
...
</span>--><span style="color: rgba(0, 0, 0, 1)"> Finished Dependency Resolution
Error: Rpmdb checksum is invalid: pkg checksums: grub2</span>-tools-<span style="color: rgba(128, 0, 128, 1)">1</span>:<span style="color: rgba(128, 0, 128, 1)">2.02</span>-<span style="color: rgba(128, 0, 128, 1)">0.2</span>.<span style="color: rgba(128, 0, 128, 1)">10</span>.el7.centos.<span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)">.x86_64
You could try using </span>--skip-<span style="color: rgba(0, 0, 0, 1)">broken to work around the problem
...</span></pre>
</div>
<p>不知何故居然报错了,但再次执行就成功了:</p>
<div class="cnblogs_code">
<pre># package-cleanup --<span style="color: rgba(0, 0, 0, 1)">cleandupes
...
Removed:
audit</span>-libs.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">2.3</span>.<span style="color: rgba(128, 0, 128, 1)">3</span>-<span style="color: rgba(128, 0, 128, 1)">4</span>.el7 bind-license.noarch <span style="color: rgba(128, 0, 128, 1)">32</span>:<span style="color: rgba(128, 0, 128, 1)">9.9</span>.<span style="color: rgba(128, 0, 128, 1)">4</span>-<span style="color: rgba(128, 0, 128, 1)">14</span>.el7 device-mapper.x86_64 <span style="color: rgba(128, 0, 128, 1)">7</span>:<span style="color: rgba(128, 0, 128, 1)">1.02</span>.<span style="color: rgba(128, 0, 128, 1)">84</span>-<span style="color: rgba(128, 0, 128, 1)">14</span><span style="color: rgba(0, 0, 0, 1)">.el7
device</span>-mapper-event-libs.x86_64 <span style="color: rgba(128, 0, 128, 1)">7</span>:<span style="color: rgba(128, 0, 128, 1)">1.02</span>.<span style="color: rgba(128, 0, 128, 1)">84</span>-<span style="color: rgba(128, 0, 128, 1)">14</span>.el7 device-mapper-libs.x86_64 <span style="color: rgba(128, 0, 128, 1)">7</span>:<span style="color: rgba(128, 0, 128, 1)">1.02</span>.<span style="color: rgba(128, 0, 128, 1)">84</span>-<span style="color: rgba(128, 0, 128, 1)">14</span>.el7 dracut.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">033</span>-<span style="color: rgba(128, 0, 128, 1)">161</span><span style="color: rgba(0, 0, 0, 1)">.el7
e2fsprogs</span>-libs.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">1.42</span>.<span style="color: rgba(128, 0, 128, 1)">9</span>-<span style="color: rgba(128, 0, 128, 1)">4</span>.el7 kbd-misc.noarch <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">1.15</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>-<span style="color: rgba(128, 0, 128, 1)">10</span>.el7 libcom_err.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">1.42</span>.<span style="color: rgba(128, 0, 128, 1)">9</span>-<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">.el7
libcurl.x86_64 </span><span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">7.29</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">19</span>.el7 libdb.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">5.3</span>.<span style="color: rgba(128, 0, 128, 1)">21</span>-<span style="color: rgba(128, 0, 128, 1)">17</span>.el7_0.<span style="color: rgba(128, 0, 128, 1)">1</span> libss.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">1.42</span>.<span style="color: rgba(128, 0, 128, 1)">9</span>-<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">.el7
libteam.x86_64 </span><span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">1.9</span>-<span style="color: rgba(128, 0, 128, 1)">15</span>.el7 systemd.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">208</span>-<span style="color: rgba(128, 0, 128, 1)">11</span>.el7_0.<span style="color: rgba(128, 0, 128, 1)">4</span> systemd-libs.x86_64 <span style="color: rgba(128, 0, 128, 1)">0</span>:<span style="color: rgba(128, 0, 128, 1)">208</span>-<span style="color: rgba(128, 0, 128, 1)">11</span>.el7_0.<span style="color: rgba(128, 0, 128, 1)">4</span><span style="color: rgba(0, 0, 0, 1)">
Complete</span>!</pre>
</div>
<p>再检查一下是否有重复的包:</p>
<div class="cnblogs_code">
<pre># package-cleanup --dupes</pre>
</div>
<p>没有重复的包了。</p>
<h3>重启系统并再次检查新版本号</h3>
<div class="cnblogs_code">
<pre># reboot<br><br># <span style="color: rgba(0, 0, 255, 1)">uname</span> -<span style="color: rgba(0, 0, 0, 1)">r
</span><span style="color: rgba(128, 0, 128, 1)">3.10</span>.<span style="color: rgba(128, 0, 128, 1)">0</span>-<span style="color: rgba(128, 0, 128, 1)">1062.18</span>.<span style="color: rgba(128, 0, 128, 1)">1</span>.el7.x86_64<br><br># cat /proc/<span>version<br>Linux version 3.10.0-1062.18.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 17 23:49:17 UTC 2020<br><br># cat /etc/redhat-release<br>CentOS Linux release 7.7.1908 (Core)</span></pre>
</div>
<p>完全正确!至此升级成功!</p>
<p> </p>
<h2>方法二:从7.0到7.5再到7.7版本</h2>
<p>如果你已执行了yum update命令并且失败则只能用上面的方法一解决,本方法适用于新装系统。</p>
<h3>从7.0升级到7.5版本</h3>
<p>yum update命令默认升级到最新版,但我们可修改配置文件让其升级到指定的版本。</p>
<h4>检查是否有更新</h4>
<div class="cnblogs_code">
<pre># yum list centos-release<span style="color: rgba(0, 0, 0, 1)">
...
Installed Packages
centos-release.x86_64 7-0.1406.el7.centos.2.5 @updates
Available Packages
centos-release.x86_64 7-7.1908.0.el7.centos base</span></pre>
</div>
<p>该命令显示当前版本是7.0,可升级到7.7版本(但我们知道升级会报错)。</p>
<h4>修改CentOS-Base.repo文件,指向7.5版本库</h4>
<p>把CentOS-Base.repo文件里的mirrorlist注释掉,并增加相应的baseurl,其它不变,如下:</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">cat</span> /etc/<span style="color: rgba(0, 0, 255, 1)">yum</span>.repos.d/CentOS-<span style="color: rgba(0, 0, 0, 1)">Base.repo
</span><span style="color: rgba(0, 0, 0, 1)">...
<br>...
</span><span style="color: rgba(0, 0, 0, 1)">#mirrorlist</span>=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra</span>
#baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirror.centos.org/centos/$releasever/os/$basearch/</span>
baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">vault.centos.org/7.5.1804/os/$basearch/</span>
<span style="color: rgba(0, 0, 0, 1)">...<br>
<br>...
</span><span style="color: rgba(0, 0, 0, 1)">#mirrorlist</span>=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra</span>
#baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirror.centos.org/centos/$releasever/updates/$basearch/</span>
baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">vault.centos.org/7.5.1804/updates/$basearch/</span>
<span style="color: rgba(0, 0, 0, 1)">...<br>
...<br></span><span style="color: rgba(0, 0, 0, 1)">#mirrorlist</span>=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra</span>
#baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirror.centos.org/centos/$releasever/extras/$basearch/</span>
baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">vault.centos.org/7.5.1804/extras/$basearch/</span>
...<br><span style="color: rgba(0, 0, 0, 1)">
<br>...
</span><span style="color: rgba(0, 0, 0, 1)">#mirrorlist</span>=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra</span>
#baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">mirror.centos.org/centos/$releasever/centosplus/$basearch/</span>
baseurl=http:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">vault.centos.org/7.5.1804/centosplus/$basearch/</span>
...</pre>
</div>
<h4>清空缓存</h4>
<p>修改配置文件后要清理一下缓存:</p>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">yum</span> clean all</pre>
</div>
<h4>再次检查更新</h4>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">yum</span> list centos-<span style="color: rgba(0, 0, 0, 1)">release
Installed Packages
centos</span>-release.x86_64 <span style="color: rgba(128, 0, 128, 1)">7</span>-<span style="color: rgba(128, 0, 128, 1)">0.1406</span>.el7.centos.<span style="color: rgba(128, 0, 128, 1)">2.5</span><span style="color: rgba(0, 0, 0, 1)"> @updates
Available Packages
centos</span>-release.x86_64 <span style="color: rgba(128, 0, 128, 1)">7</span>-<span style="color: rgba(128, 0, 128, 1)">5.1804</span>.<span style="color: rgba(128, 0, 128, 1)">5</span>.el7.centos updates</pre>
</div>
<p>可见如果升级则将升级到7.5版本。</p>
<h4>升级到7.5版本</h4>
<div class="cnblogs_code">
<pre># <span style="color: rgba(0, 0, 255, 1)">yum</span> update</pre>
</div>
<p>升级成功后请reboot重启系统。</p>
<h3>从7.5升级到7.7版本</h3>
<p>把上面的CentOS-Base.repo文件还原、清空缓存、然后执行yum update即可。</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/yang-wu/p/12728595.html
頁:
[1]