yum常用命令,rpm下載不安裝,配置國內yum源
文章來源: 陶老師運維筆記- 微信公眾號
1. yum介紹
Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器⌒梢辏基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系焕蹄,并且一次安裝所有依賴的軟件包筛谚。
yum 主要功能是可方便的添加/刪除/更新RPM 包浮禾,自動解決包的倚賴性問題,便于管理大量系統(tǒng)的更新問題际邻。
yum源可以來源于多種文件服務器:
- http://
- https://
- ftp://
- file:// 本地文件
2. 常用yum命令
1. 安裝軟件:yum install S
2. 卸載軟件:yum remove S
3. 檢查依賴:yum deplist S
4. 軟件信息:yum info S
5. 更新軟件:yum update S
6. 檢查更新:yum check-update
7. 軟件列表:yum list installed
安裝:
yum install 全部安裝
yum install package 安裝指定的安裝包 package。
yum install package -y 直接安裝不用詢問是否安裝芍阎。
yum groupinsall group 安裝程序組 group世曾。
更新:
yum update 全部更新。
yum update package 更新指定程序包 package谴咸。
yum check-update 檢查可更新的程序轮听。
yum upgrade package 升級指定程序包 package。
yum groupupdate group 升級程序組 group岭佳。
查找和顯示:
yum repolist 查看(開啟的)資源庫血巍。
yum repolist all 查看所有資源庫。
yum search 使用 YUM 查找軟件包珊随。
yum search string 根據關鍵字 string 查找安裝包述寡。
yum info package 顯示安裝包信息 package。
yum info updates 列出更新信息叶洞。
yum info installed 列出安裝包信息鲫凶。
yum list 顯示所有已經安裝和可以安裝的程序包。
yum list updates 列出所有可更新的包京办。
yum list installed 列出所有已經安裝的包掀序。
yum list extras 列出所有已安裝,但是沒有在 repo 里的包惭婿。
yum list package 顯示指定程序包安裝情況 package不恭。
yum groupinfo group 顯示程序組 group 信息叶雹。
刪除程序:
yum remove package 刪除程序包 package。
yum groupremove group 刪除程序組 group换吧。
yum deplist package 查看程序 package 依賴情況折晦。
清除緩存:
yum clean packages 清除緩存目錄下的軟件包。
yum clean headers 清除緩存目錄下的 headers沾瓦。
yum clean oldheaders 清除緩存目錄下舊的 headers满着。
yum clean/yum clean all 清除緩存目錄下的軟件包及舊的 headers。
導入rpm-gpg 文件:
rpm --import gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
3. yum配置文件
yum 的配置文件分為兩部分:main 和repository
- main 部分定義了全局配置選項贯莺,整個yum 配置文件應該只有一個main风喇。常位于/etc/yum.conf 中。
- repository 部分定義了每個源/服務器的具體配置缕探,可以有一到多個魂莫。常位于/etc/yum.repo.d 目錄。
3.1 yum.conf
yum.conf 文件一般位于/etc目錄下爹耗,/etc/yum.conf一般其中只包含main部分的配置選項耙考。
#yum的配置文件
$cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever #yum下載后的緩存目錄
keepcache=0 #是否緩存,0為不緩存潭兽,1為緩存
debuglevel=2
logfile=/var/log/yum.log #yum的安裝日志
exactarch=1
obsoletes=1
gpgcheck=1 #默認是否進行gpg校驗倦始,0為不校驗,1校驗
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
配置 | 說明 |
---|---|
cachedir | yum 緩存的目錄山卦,yum 在此存儲下載的 rpm 包和數據庫鞋邑,一般是 /var/cache/yum。 |
debuglevel | 除錯級別怒坯,0~10炫狱,默認是 2。 |
logfile yum | 的日志文件剔猿,默認是 /var/log/yum.log视译。 |
exactarch | 有兩個選項 1 和 0,代表是否只升級和你安裝軟件包 cpu 體系一致的包归敬,如果設為 1酷含,則例如安裝了一個 i386 的 rpm,則 yum 不會用 686 的包來升級汪茧。 |
gpgchkeck | 有 1 和 0 兩個選項椅亚,分別代表是否是否進行 gpg 校驗,如果沒有這一項舱污,默認是檢查呀舔。 |
3.2 repository配置
yum的repository配置文件一般都放置在/etc/yum.repos.d/目錄下。
示例1: influxdb.repo
cat /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL $releasever
baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
示例2: aliyun repo
[CentOS6-base] #源名稱扩灯,必填
name=CentOS-$releasever-base #源描述媚赖,可以不填霜瘪,但是會有提示
#baseurl=file:///misc/cd/ #本地的光盤文件,可以有多個地址惧磺。必填
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/x86_64/
gpgcheck=1 #是否開啟校驗颖对,在yum.conf中已經定義它默認值為1
enabled=1 #是否禁用此yum源,默認為
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
#如果開啟yum源包校驗,則需要導入RPM公鑰磨隘,此處只是在系統(tǒng)沒有導入rpm公鑰時候進行安裝
#這里相當于rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[aliyun_epel] #這是Redhat的擴展包
name=ailiyun_yum_epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
gpgcheck=1
在配置yum源時候缤底,最少只需要兩行即可,[reponame]和baseurl:
配置 | 說明 |
---|---|
reponame | 寫在[]中的[reponame],如自定義軟件名稱[influxdb]或[base],[contrib],[extras]等 |
$releasever | 代表發(fā)行版的版本番捂,從[main]部分的distroverpkg獲取个唧,如果沒有,則根據redhat-release包進行判斷白嘁。 |
$arch | cpu體系坑鱼,如i686,athlon等 |
$basearch | cpu的基本體系組膘流,如i686和athlon同屬i386 |
4. 修改yum源為國內源
4.1 常用國內yum源
安裝軟件時用國外yum源網速通常不如國內源速度快絮缅,為加快安裝速度可以改用國內yum源。
國內yum鏡像站點:
網易源: http://mirrors.163.com/centos/6/os/x86_64/
清華大學: https://mirror.tuna.tsinghua.edu.cn/centos/6/os/x86_64/
阿里源: https://mirrors.aliyun.com/centos
浙江大學http://mirrors.zju.edu.cn/centos/6/os/x86_64/
4.2 修改為國內yum源
以下為修改CentOS的yum源步驟呼股。
4.2.1 備份原repo文件
備份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
4.2.2 下載國內repo文件
下載國內repo文件的CentOS-Base.repo 到/etc/yum.repos.d/
阿里云:
Centos5地址:
wget -O /etc/yum.repos.d/CentOS-5-aliyun.repo http://mirrors.aliyun.com/repo/Centos-5.repo
Centos6地址:
wget -O /etc/yum.repos.d/CentOS-6-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo
或
curl -o /etc/yum.repos.d/CentOS-6-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo
Centos7地址:
wget -O /etc/yum.repos.d/CentOS-7-aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
163源:
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base-163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
4.2.3 生成緩存
清除原緩存耕魄,并生成新cache。
yum clean all
yum makecache
5. EPEL源
EPEL(Extra Packages for Enterprise Linux)是由 Fedora 社區(qū)打造彭谁,為 RHEL 及衍生發(fā)行版如 CentOS等提供高質量軟件包的項目吸奴。裝上了 EPEL,即可yum安裝很多以前需要編譯安裝的軟件缠局,如現在流行的nginx则奥、htop、ncdu狭园、vnstat等等读处,都可以使用EPEL很方便的安裝更新。
5.1 安裝EPEL
執(zhí)行命令: yum install epel-release
$yum install epel-release
或者
http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
#檢查安裝
$rpm -q epel-release
$rpm -qa |grep epel -i
$ls -l /etc/yum.repos.d/
#導入key
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
重建緩存
yum makecache
5.2 安裝EPEL阿里云源
刪除原EPEL源:
#檢查安裝
$rpm -qa |grep epel -i
$rpm -q epel-release
#刪除原官方rpel
rpm -e epel-release-6-8.noarch
安裝阿里云repo:
#
epel(RHEL 5)
wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-5.repo
epel(RHEL 6)
wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-6.repo
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel-aliyun.repo http://mirrors.aliyun.com/repo/epel-7.repo
#檢查
cat /etc/yum.repos.d/epel-aliyun.repo
修改priority:
修改/etc/yum.repos.d/epel.repo文件唱矛。
在[epel]最后添加一條屬性 priority=11,意思是yum先去官方源查罚舱,官方沒有再去epel的源找。
vi /etc/yum.repos.d/epel.repo
priority=11
重建緩存:
yum clean all
yum makecache
6. rpm包search
有時安裝rpm時绎谦,找不到rpm包管闷,可試下如下網站。
7.只下載RPM包而不安裝
需要yum-plugin-downloadonly軟件幫助實現窃肠。
7.1 安裝yum-plugin-downloadonly:
$yum install yum-plugin-downloadonly
7.2 downloadonly使用
安裝后包个,yum就多了兩個命令參數,分別是:
--downloadonly //只下載 冤留, --downloaddir=/path/to/dir //下載到指定目錄
示例:下載redis軟件包碧囊,但不安裝恃锉。
$yum install --downloadonly --downloaddir=/root/ redis -y
...
Installed size: 1.6 M
Downloading Packages:
exiting because --downloadonly specified
參考
- teachertao運維筆記-公眾號
- http://mirrors.163.com/.help/centos.html
- http://mirrors.163.com/centos/6/os/x86_64/
- https://mirror.tuna.tsinghua.edu.cn/centos/6/os/x86_64/
- https://fedoraproject.org/wiki/EPEL/zh-cn
- http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.htm yum 源配置與使用