首頁 > 軟體

RedHat企業版7 「yum」重灌 CentOS7 「yum」

2020-06-16 17:26:22

預設情況下紅帽的yum是需要註冊的,據我所知要錢。而CentOSRedHat幾乎是一樣的,所以redhat的軟體centos也可用,於是上網查資料沒想到還真是可以,所以寫了一個備忘錄。萬一以後還要用到呢。

也希望本文可以幫到有需要的人。

1.檢視系統預裝的yum rpm包:

rpm - qa | grep yum

以下是我的系統預裝的軟體(我的是redhat7):

[root@localhost ~]# rpm -qa|grep yum
yum-langpacks-0.4.2-4.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-132.el7.centos.0.1.noarch
yum-utils-1.1.31-34.el7.noarch
yum-plugin-fastestmirror-1.1.31-34.el7.noarch
yum-rhn-plugin-2.0.1-5.el7.noarch
PackageKit-yum-1.0.7-5.e17.x86_64

2.解除安裝上面的rpm包:

rpm -e yum-langpacks-0.4.2-4.el7.noarch --nodeps

後面的解除安裝方式依照上面。

3.更改yum倉庫:

cd /etc/yum.repos.d/

wget  http://mirrors.163.com/.help/CentOS7-Base-163.repo

下載檔案:

http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm

其他對應即可。

下載centos 的rpm包:

對應你解除安裝的rpm包下載:(我解除安裝了這些所以我下載這些)

yum-langpacks-0.4.2-4.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-3.4.3-132.el7.centos.0.1.noarch
yum-utils-1.1.31-34.el7.noarch
yum-plugin-fastestmirror-1.1.31-34.el7.noarch
yum-rhn-plugin-2.0.1-5.el7.noarch
PackageKit-yum-1.0.7-5.e17.x86_64

下載地址:

http://mirrors.163.com/centos/7/os/x86_64/Packages/

4.安裝rpm包:

rpm -ivh yum-3.4.3-132.el7.centos.0.1.noarch.rpm yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm

    上面兩個包要一起安裝,不然會有依賴錯誤

    在安裝其他的rpm包

5.清除快取:

yum clean all

6.建立緩存:

yum makecache

如果出現一下報錯:

[root@localhost ~]# yum makecache                             
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Could not retrieve mirrorlist http://mirrorlist.centos.org/7=$releasever&arch=x86_64&repo=os error was
14: HTTP Error 404 - Not Found
http://mirrors.163.com/centos/%24releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below knowledge base article
 
https://access.redhat.com/articles/1320623
 
If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/
 
 
 One of the configured repositories failed (CentOS-$releasever - Base - 163.com),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:
  1. Contact the upstream for the repository and get them to fix the problem.
 
    2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is than is supported by the repository (and the
        packages for the previous distribution release still work).
 
    3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:
 
            yum-config-manager --disable base
 
    4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:
 
            yum-config-manager --save --setopt=base.skip_if_unavailable=true
            failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirrors.163.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).
 
    3. Disable the repository, so yum won't use it by default. Yum will then
        just ignore the repository until you permanently enable it again or use
        --enablerepo for temporary usage:
 
            yum-config-manager --disable base
 
    4. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:
 
            yum-config-manager --save --setopt=base.skip_if_unavailable=true
 
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirrors.163.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found

將/etc/yum.repos.d/CentOS7-Base-163.repo 檔案中的$releasever替換成你的系統版本號即可。

到此yum已經替換好了。

可以用yum安裝軟體了:

[root@localhost ~]# yum install telnet
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-
              : manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package telnet.x86_64 1:0.17-59.el7 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
===============================================================================================
 Package            Arch                Version                      Repository        Size
===============================================================================================
Installing:
 telnet              x86_64              1:0.17-59.el7                base              63 k
 
Transaction Summary
===============================================================================================
Install  1 Package
 
Total download size: 63 k
Installed size: 113 k
Is this ok [y/d/N]: y
Downloading packages:
telnet-0.17-59.el7.x86_64.rpm                                          |  63 kB  00:00:02   
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:telnet-0.17-59.el7.x86_64     
  Verifying  : 1:telnet-0.17-59.el7.x86_64                                               
  Installed:
  telnet.x86_64 1:0.17-59.el7                                                                 
 
Complete!

附上我的yum倉庫檔案:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/7=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=
#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 163.com
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

歡迎大家指正錯誤!!

更多YUM相關教學見以下內容

RedHat 6.2 Linux修改yum源免費使用CentOS源 http://www.linuxidc.com/Linux/2013-07/87383.htm

設定EPEL YUM源 http://www.linuxidc.com/Linux/2012-10/71850.htm

Redhat 本地yum源設定 http://www.linuxidc.com/Linux/2012-11/75127.htm

yum的組態檔說明 http://www.linuxidc.com/Linux/2013-04/83298.htm

RedHat 6.1下安裝yum(圖文) http://www.linuxidc.com/Linux/2013-06/86535.htm

YUM 安裝及清理 http://www.linuxidc.com/Linux/2013-07/87163.htm

CentOS 6.4上搭建yum本地源 http://www.linuxidc.com/Linux/2014-07/104533.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-12/138248.htm


IT145.com E-mail:sddin#qq.com