天天看點

Linux 本地yum源與網絡yum源的配置使用

作者:寒笛過霜天

Yum軟體倉庫

Yum倉庫則是為進一步簡化RPM管理軟體難度而設計的, Yum能夠根據使用者的要求分析出所需軟體包及其相關依賴關系, 自動從伺服器下載下傳軟體包并安裝到系統。

使用者能夠根據需求來指定Yum倉庫與是否校驗軟體包, 而這些隻需幾條關鍵詞即可完成, 所有Yum倉庫的配置檔案均需以.repo結尾并存放在/etc/yum.repos.d/目錄中的。

[rhel-media]: yum源的名稱, 可自定義。

name=linuxprobe : yum倉庫的名稱, 可自定義。

baseurl=file:///media/cdrom :提供方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)

enabled=1 : 設定此源是否可用, 1為可用, 0為禁用。

gpgcheck=1 : 設定此源是否校驗檔案, 1為校驗, 0為不校驗。

gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release :若為校驗請指定公鑰檔案位址。

一、本地yum源

系統預設已經安裝了可使用yum的軟體包, 是以可以直接配置:

[root@localhost ~]# cd /etc/yum.repos.d/ yum源配置檔案放置目錄

[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak 先将網絡yum源的配置檔案更名(讓其失效), 因為系統預設優先使用網絡yum源

[root@localhost yum.repos.d]# vim CentOS-Media.repo 編輯本地yum源檔案

[c6-media]

name=CentOS-$releasever - Media 本地yum源名稱(可随意修改)

baseurl=file:///mnt/cdrom CD光牒挂載目錄/mnt/cdrom

gpgcheck=1

enabled=1 使用此yum源(等于0為不啟用)

gpgkey=file:///mnt/sr0/RPM-GPG-KEY-CentOS-6 本地yum源密鑰

[root@localhost yum.repos.d]# mount /dev/cdrom /mnt/cdrom 挂載CD光牒

執行yum list檢測是否可用

二、網絡yum源(前提是必須能連上網際網路, 此處使用的yum源是中國科技大學的位址如下:中國科技大學:http://centos.ustc.edu.cn/centos/)

[root@localhost yum.repos.d]# mv CentOS-Base.bak CentOS-Base.repo 如果之前沒更名就不用操作此步驟

[root@localhost yum.repos.d]# vim CentOS-Base.repo 編輯網絡yum源檔案

[base]

name=CentOS-$releasever - Base

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

baseurl=http://centos.ustc.edu.cn/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#released updates

[updates]

name=CentOS-$releasever - Updates

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

baseurl=http://centos.ustc.edu.cn/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

baseurl=http://centos.ustc.edu.cn/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus

baseurl=http://centos.ustc.edu.cn/centos/$releasever/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib - packages by Centos Users

[contrib]

name=CentOS-$releasever - Contrib

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib

baseurl=http://centos.ustc.edu.cn/centos/$releasever/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

注意:以上網絡yum源系統預設已經配置

yum最大的優勢在于可以聯網去下載下傳所需要的rpm包, 然後自動安裝, 在這個工程中如果要安裝的rpm包有依賴關系,

yum會幫你解決掉這些依賴關系依次安裝所有rpm包。下面阿銘介紹常用的yum 指令。

列出所有可用的rpm包"yum list"

[root@localhost yum.repos.d]# yum list |head -n 20

搜尋一個rpm包

指令 yum search [相關關鍵詞]

[root@localhost ~]# yum search vim

安裝一個rpm包

指令 yum install [-y] [rpm包名]

如果不加 "-y" 選項, 則會以與使用者互動的方式安裝, 首先是列出需要安裝的rpm包資訊, 然後會問使用者是否需要安裝, 輸入y則安裝, 輸入n則不安裝。

如果覺得太麻煩, 是以直接加上"-y"選項, 這樣就省略掉了問使用者是否安裝的那一步。

[root@localhost ~]# yum install vim-X11

解除安裝一個rpm包

指令 yum remove [-y] [rpm包名]

[root@localhost ~]# yum remove vim-X11

解除安裝和安裝一樣, 也可以直接加上"-y"選項來省略掉和使用者互動的步驟。

解除安裝某個rpm包一定要看清楚了, 不要連其他重要的rpm包一起解除安裝了, 以免影響正常的業務。

更新一個rpm包

指令 yum update [-y] [rpm包]

[root@localhost ~]# yum update libselinux'

Yum倉庫中的RPM軟體包可以是由紅帽官方釋出的, 也可以是第三方組織釋出的, 當然使用者也可以編寫的~随書提供的鏡像CD光牒内已經包含了大量的可用RPM軟體包, 将會在後面的實驗章節中為大家示範如何使用。

指令 作用

yum repolist all 列出所有倉庫。

yum list all 列出倉庫中所有軟體包

yum info 軟體包名稱 檢視軟體包資訊

yum install 軟體包名稱 安裝軟體包

yum reinstall 軟體包名稱 重新安裝軟體包

yum update 軟體包名稱 更新軟體包

yum remove 軟體包 移除軟體包

yum clean all 清除所有倉庫緩存

yum check-update 檢查可更新的軟體包

yum grouplist 檢視系統中已經安裝的軟體包組

yum groupinstall 軟體包組 安裝指定的軟體包組

yum groupremove 軟體包組 移除指定的軟體包組

yum groupinfo 軟體包組 查詢指定的軟體包組資訊

三 Centos配置國内yum源

網易yum源是國内最好的yum源之一, 無論是速度還是軟體版本, 都非常的不錯, 将yum源設定為163yum, 可以提升軟體包安裝和更新的速度,

同時避免一些常見軟體版本無法找到。

具體設定方法如下:

1 進入yum源配置目錄

cd /etc/yum.repos.d

2 備份系統自帶的yum源

mv CentOS-Base.repo CentOS-Base.repo.bk

下載下傳163網易的yum源:

Centos6

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

Centos7

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

3 更新玩yum源後, 執行下邊指令更新yum配置, 使操作立即生效

yum makecache

4 除了網易之外, 國内還有其他不錯的yum源, 比如中科大和搜狐的, 大家可以根據自己需求下載下傳

中科大的yum源:

wget http://centos.ustc.edu.cn/CentOS-Base.repo

sohu的yum源

wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo

linux下yum的$releasever和$basearch的取值

檢視關于yum的配置

> # ls /etc/yum* -ld

drwxr-xr-x. 5 root root 4096 Nov 9 2016 /etc/yum

-rw-r--r--. 1 root root 969 May 12 2016 /etc/yum.conf

drwxr-xr-x. 2 root root 4096 Jan 26 12:13 /etc/yum.repos.d

檢視/etc/yum.repos.d下的檔案

> # cd /etc/yum.repos.d/

> # ls

CentOS-Base.repo CentOS-Epel.repo nginx.repo

> # vim CentOS-Base.repo

[os]

name=Qcloud centos os - $basearch

baseurl=http://mirrors.tencentyun.com/centos/$releasever/os/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[updates]

name=Qcloud centos updates - $basearch

baseurl=http://mirrors.tencentyun.com/centos/$releasever/updates/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[centosplus]

#name=Qcloud centosplus - $basearch

#baseurl=http://mirrors.tencentyun.com/centos/$releasever/centosplus/$basearch/

#enabled=1

#gpgcheck=1

#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[contrib]

#name=Qcloud centos contrib - $basearch

#baseurl=http://mirrors.tencentyun.com/centos/$releasever/contrib/$basearch/

#enabled=1

#gpgcheck=1

#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[cr]

#name=Qcloud centos cr - $basearch

#baseurl=http://mirrors.tencentyun.com/centos/$releasever/cr/$basearch/

#enabled=1

#gpgcheck=1

#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[extras]

name=Qcloud centos extras - $basearch

baseurl=http://mirrors.tencentyun.com/centos/$releasever/extras/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#[fasttrack]

#name=Qcloud centos fasttrack - $basearch

#baseurl=http://mirrors.tencentyun.com/centos/$releasever/fasttrack/$basearch/

#enabled=1

#gpgcheck=1

#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

我們看出來裡面包含大量的變量$releasever和$basearch

$releasever的值,這個表示目前系統的發行版本, 可以通過rpm -qi centos-release指令檢視

[root@VM_90_157_centos yum.repos.d]# rpm -qi centos-release

Name : centos-release Relocations: (not relocatable)

Version : 6 Vendor: CentOS

Release : 8.el6.centos.12.3 Build Date: Thu 19 May 2016 03:47:46 AM CST

Install Date: Wed 09 Nov 2016 11:47:00 AM CST Build Host: worker1.bsys.centos.org

Group : System Environment/Base Source RPM: centos-release-6-8.el6.centos.12.3.src.rpm

Size : 35634 License: GPLv2

Signature : RSA/SHA1, Thu 19 May 2016 03:51:51 AM CST, Key ID 0946fca2c105b9de

Packager : CentOS BuildSystem <http://bugs.centos.org>

Summary : CentOS release file

Description :

CentOS release files

其中的Version:6就是我們系統的版本号

$basearch是我們的系統硬體架構(CPU指令集), 使用指令arch得到

> # arch

x86_64

在Linux中使用指令arch可以初步檢視出目前系統所識别出來的機器CPU類型, 如"i386", "i486","i586", "alpha", "sparc", "arm", "m68k","mips","ppc","ia64","x86_64"等, ia64和x86_64就說明這台機器是64位的;

是以我這兒要使用x86_64作為$basearch的值

baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

完整路徑便是

baseurl=http://mirror.centos.org/centos/6/os/x86_64/

如何直接添加倉庫(源)?

> # yum install -y yum-utils

> # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #添加docker-ce源

> # yum-config-manager --add-repo http://mirrors.aliyun.com/repo/Centos-7.repo #阿裡雲yum源

> # yum-config-manager --add-repo http://mirrors.163.com/.help/CentOS7-Base-163.repo #163yum源

更新為阿裡雲yum源

> # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

> # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

更新為163yum源

> # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

> # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

常見問題:

> # yum search lsyncd

已加載插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: mirrors.aliyun.com

* extras: mirrors.aliyun.com

* updates: mirrors.aliyun.com

警告:沒有比對 lsyncd 的軟體包

解決方法:

> # yum -y install epel-release

繼續閱讀