這裏是官方wiki:https://wiki.centos.org/AdditionalResources/Repositorieshtml
YUM(Yellowdog Updater Modified)是一種開源的,普遍使用的基於命令行和圖形的包管理工具,適用於基於RPM(RedHat Package Manager)的Linux系統,包括但不限於Red Hat Enterprise Linux(RHEL),CentOS和Scientific Linux(SL),Oracle Linux(OL)。它用於在系統上安裝,更新,刪除或搜索軟件包。要安裝未包含在默認基礎和更新存儲庫中的軟件包,以及其餘CentOS存儲庫(Extras,Centosplus,CentOS-Fasttrack,Continuous Release和Software Collections),您須要安裝並啓用其餘第三方存儲庫。node
先介紹兩個命令,yum 和 rpmweb
命令介紹:https://www.computerhope.com/unix/yum.htmshell
-h:顯示幫助信息;centos
-y:對全部的提問都回答「yes」;緩存
-c:指定配置文件;bash
-q:安靜模式;網絡
-v:詳細模式;工具
-d:設置調試等級(0-10);post
-e:設置錯誤等級(0-10);
-R:設置yum處理一個命令的最大等待時間;
-C:徹底從緩存中運行,而不去下載或者更新任何頭文件。
install:安裝rpm軟件包; 安裝到指定目錄: yum install --installroot=yourDirectory rpmPackage
update:更新rpm軟件包;
check-update:檢查是否有可用的更新rpm軟件包;
remove:刪除指定的rpm軟件包;刪除是一般不要去刪除依賴。 yum remove --nodeps yourRPM
list:顯示軟件包的信息;
search:檢查軟件包的信息;
info:顯示指定的rpm軟件包的描述信息和概要信息;
clean:清理yum過時的緩存;
shell:進入yum的shell提示符;
resolvedep:顯示rpm軟件包的依賴關係;
localinstall:安裝本地的rpm軟件包;
localupdate:顯示本地rpm軟件包進行更新;
deplist:顯示rpm軟件包的全部依賴關係。
部分經常使用的命令包括:
自動搜索最快鏡像插件:yum install yum-fastestmirror
安裝yum圖形窗口插件:yum install yumex
查看可能批量安裝的列表:yum grouplist
安裝 yum install #所有安裝 yum install package1 #安裝指定的安裝包package1 yum groupinsall group1 #安裝程序組group1 更新和升級 yum update #所有更新 yum update package1 #更新指定程序包package1 yum check-update #檢查可更新的程序 yum upgrade package1 #升級指定程序包package1 yum groupupdate group1 #升級程序組group1 查找 yum info package1 #顯示安裝包信息package1 yum list #顯示全部已經安裝和能夠安裝的程序包 yum list package1 #顯示指定程序包安裝狀況package1 yum groupinfo group1 #顯示程序組group1信息yum search string 根據關鍵字string查找安裝包 刪除 yum remove | erase package1 #刪除程序包package1 yum groupremove group1 #刪除程序組group1 yum deplist package1 #查看程序package1依賴狀況 清除緩存 yum clean packages #清除緩存目錄下的軟件包 yum clean headers #清除緩存目錄下的 headers yum clean oldheaders #清除緩存目錄下舊的 headers
rpm,Redhat Package Manager,即爲紅帽公司爲RHEL開發的專用包管理器,後來更改成RPM Package Manager,相似於GNU項目,使用遞歸命名,GNU's Not Unix.
-v 顯示附加信息
-vv 顯示調試信息
--root 讓RPM將指定的路徑作爲"根目錄",這樣預安裝程序和後安裝程序都會安裝到這個目錄下
--dbpath 設置RPM 資料庫存所在的路徑爲
[root@localhost ~]# rpm -q tree tree-1.5.3-3.el6.x86_64
[root@localhost ~]# rpm -qf /bin/ls coreutils-8.4-43.el6.x86_64
[root@localhost ~]# rpm -q --changelog tree * Thu Nov 27 2014 Tim Waugh <twaugh@redhat.com> - 1.5.3-3 - Handle large UID/GID values (bug #1110559). * Wed Mar 03 2010 Tim Waugh <twaugh@redhat.com> 1.5.3-2 - Added comments to all patches. ...
[root@localhost ~]# rpm -qi tree Name : tree Relocations: (not relocatable) Version : 1.5.3 Vendor: CentOS Release : 3.el6 Build Date: Wed 14 Jan 2015 08:21:02 PM CST Install Date: Sat 25 Mar 2017 04:17:05 AM CST Build Host: c6b9.bsys.dev.centos.org Group : Applications/File Source RPM: tree-1.5.3-3.el6.src.rpm ...
[root@localhost ~]# rpm -ql tree /usr/bin/tree /usr/share/doc/tree-1.5.3 /usr/share/doc/tree-1.5.3/LICENSE /usr/share/doc/tree-1.5.3/README /usr/share/man/man1/tree.1.gz
[root@localhost ~]# rpm -qd tree /usr/share/doc/tree-1.5.3/LICENSE /usr/share/doc/tree-1.5.3/README /usr/share/man/man1/tree.1.gz
[root@localhost ~]# rpm -qc bash /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc
[root@localhost ~]# rpm -q --scripts bash postinstall scriptlet (using <lua>): bashfound = false; shfound = false; f = io.open("/etc/shells", "r"); if f == nil then
[root@localhost ~]# rpm -ivh gcc-4.4.7-17.el6.x86_64.rpm
[root@localhost ~]# rpm -ivh --noscripts tree-1.5.3-3.el6.x86_64.rpm warning: tree-1.5.3-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:tree ########################################### [100%]
[root@localhost ~]# rpm -ivh --replacepkgs tree-1.5.3-3.el6.x86_64.rpm warning: tree-1.5.3-3.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] 1:tree ########################################### [100%]
詳細選項
選項 | 含義 |
---|---|
-h | 安裝時以#顯示安裝進度 |
--percent | 以百分比的形式輸出安裝的進度 |
--test | 測試安裝 |
--replacepkgs | 替換屬於其它軟件包的文件 |
--force | 忽略軟件包及文件的衝突 |
--noscripts | 不運行預安裝和後安裝腳本 |
--ignorearch | 不校驗軟件包的結構 |
--ignoreos | 不檢查軟件包運行的操做系統 |
--nodeps | 不檢查依賴性關係 |
[root@localhost ~]# rpm -e gcc
[root@localhost ~]# rpm -e --noscripts tree
[root@localhost ~]# rpm -Uvh tree-1.5.3-3.el6.x86_64.rpm
-U和-F選項都可以升級一個包.可是,舊包不存在時,-U選項會安裝新包,而-F選項不安裝新包。
關於yum-priorities插件, 這個插件是用來設置yum在調用軟件源時的順序的。由於官方提供的軟件源,都是比較穩定和被推薦使用的。所以,官方源的順序要高於第三方源的順序。如何保證這個順序,就須要安裝yum-priorities這插件了。
安裝 yum-priorities
插件後, 您能夠給各個源設置優先級priority,
通常設置官方標準源優先級爲 1
, 最高, 第三方推薦 >10
EPEL(企業Linux的額外軟件包)是一個免費的,開源的,流行的,基於社區的存儲庫項目,旨在提供在Fedora中開發,測試和改進的高質量軟件包,並可用於RHEL,CentOS,Scientific Linux等的軟件包。
### For CentOS/RHEL 7 ### yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 ### For CentOS/RHEL 6 ### yum localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 別忘了,還有一步 yum install yum-priorities
REMI是一個普遍使用的第三方存儲庫,它爲Fedora和Enterprise Linux(EL)發行版的用戶提供最新版本的PHP、MySql和一些其餘相關軟件,如RHEL,CentOS,Oracle,Scientific Linux等。在啓用Remi以前,須要首先啓用EPEL倉庫
### For CentOS/RHEL 7 ### yum install epel-release wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm subscription-manager repos --enable=rhel-7-server-optional-rpms [On RHEL only] rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi ### For CentOS/RHEL 6 ### yum install epel-release wget https://rpms.remirepo.net/enterprise/remi-release-6.rpm rpm -Uvh remi-release-6.rpm rhn-channel --add --channel=rhel-$(uname -i)-server-optional-6 [On RHEL only] rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi yum install yum-priorities
RPMFusion是一個第三方存儲庫,爲Fedora和Enterprise Linux發行版提供一些免費和非免費的附加軟件,包括RHEL和CentOS。在啓用RPM Fusion以前,您須要啓用EPEL repo。
### For CentOS/RHEL 7 ### yum install epel-release yum localinstall https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm yum localinstall https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm ### For CentOS/RHEL 6 ### yum install epel-release yum localinstall https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm yum localinstall https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm
ELRepo(社區企業Linux存儲庫)是一個RPM存儲庫,旨在提供與硬件相關的軟件包,如文件系統驅動程序,圖形驅動程序,網絡驅動程序,聲音驅動程序,網絡攝像頭和視頻驅動程序,以改善您使用Enterprise Linux的體驗。要在系統上啓用ELRepo,請使用如下命令。
### For CentOS/RHEL 7 ### rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm ### For CentOS/RHEL 6 ### rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
NUX-dextop是用於EL的桌面和多媒體軟件包的RPM存儲庫。它包含許多基於圖形軟件和命令行界面(CLI)的程序,包括Remmina遠程桌面共享工具,VLC媒體播放器等等。在啓用nux-dextop以前,還須要啓用EPEL repo。
### For CentOS/RHEL 7 ### yum -y install epel-release rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm ### For CentOS/RHEL 6 ### yum -y install epel-release rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm
GhettoForge項目專一於爲Enterprise Linux版本6和7提供包,這些包目前不在基本EL包集中,也不在其餘第三方存儲庫中。您可使用如下命令在系統上啓用GhettoForge。
### For CentOS/RHEL 7 ### rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm ### For CentOS/RHEL 6 ### rpm -Uvh http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el6.noarch.rpm
對於Enterprise Linux版本6和7,Psychotic Ninja旨在提供基本EL包集中以及其餘第三方存儲庫中不存在的高質量包。要啓用Psychotic Ninja存儲庫,首先須要導入GPG密鑰而後安裝它。
rpm --import http://wiki.psychotic.ninja/RPM-GPG-KEY-psychotic rpm -ivh http://packages.psychotic.ninja/6/base/i386/RPMS/psychotic-release-1.0.0-1.el6.psychotic.noarch.rpm
請注意,這個統一的精神病發布包適用於全部版本和體系結構,包括64位版本的CentOS / RHEL 7。
最後列出的是,IUS(Inline with Upstream Stable)是一個新的第三方社區支持的repo,爲最新的PHP,Python,MySQL上游版本提供高質量的RPM包,用於Red Hat Enterprise Linux(RHEL)和CentOS 。
就像咱們看到的許多回購同樣,IUS也依賴於EPEL。
### For CentOS/RHEL 7 ### yum -y install epel-release rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm ### For CentOS/RHEL 6 ### yum -y install epel-release rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm
Webtatic是一個yum存儲庫,一般處理與Web主機相關的包,CentOS / RHEL存儲庫中不包含這些包。 執行如下命令之一以在CentOS / RHEL 7/6系統上安裝REMI yum存儲庫。
### For CentOS/RHEL 7 ### yum localinstall http://repo.webtatic.com/yum/el7/webtatic-release.rpm ### For CentOS/RHEL 6 ### yum localinstall http://repo.webtatic.com/yum/el6/latest.rpm
以上部分倉庫也能夠忽略key,參數是:--nogpgcheck
特殊狀況 : 但在不一樣優先級的源中都含有同一個包時, 它的行爲可能就不是咱們所須要的.
例如, 在 base
源中有個包 : abc-2.2.0.x86_64.rpm
, base
是最高優先級. 在其餘的優先級中也有許多 abc
包, 若是你想安裝 abc-2.1.0-x86_64.rpm
, 經過命令
yum install abc-2.1.0
就會出現下面的提示:xx packages excluded due to repository priority protection,而且找不到所須要的包,這是由於在高優先級源中存在的包,會將其餘低優先級中的包屏蔽掉,所以沒法從低優先級的源中安裝所須要的包。
修改priorities的配置文件是/etc/yum/pluginconf.d/priorities.conf
其內容爲:
[main] enabled=0 # 0禁用 1啓用
默認是1;設置enabled = 0, 這樣就能夠禁用priorities插>件。從而可以安裝任意源上的包。
http://www.javashuo.com/article/p-uscdvfoa-bn.html
https://tecadmin.net/top-5-yum-repositories-for-centos-rhel-systems/