yum介紹 yum(全稱為 Yellow dog Updater, Modified)是一個在 Fedora和 RedHat 以及 CentOS 中的 Shell 前端軟體包管理器。基於 RPM 包管理,能夠從指定的伺服器自動下載 RPM 包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟 ...
yum介紹
yum
(全稱為 Yellow dog Updater, Modified)是一個在 Fedora
和 RedHat
以及 CentOS
中的 Shell
前端軟體包管理器。基於 RPM
包管理,能夠從指定
的伺服器自動下載 RPM
包並且安裝,可以自動處理依賴
性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum 的配置文件分為兩部分:main 和repository
/etc/yum.conf 為所有倉庫提供公共配置
/etc/yum.repos.d/*.repo:為倉庫的指向提供配置
main配置:
1 [main] #yum倉庫ID
2 cachedir=/var/cache/yum/$basearch/$releasever #yum 緩存的目錄,yum 在此存儲下載的rpm 包和資料庫,預設設置為/var/cache/yum
3 keepcache=0 #安裝完成後是否保留軟體包,0為不保留(預設為0),1為保留
4 debuglevel=2 #debug級別
5 logfile=/var/log/yum.log #yum的日誌文件
6 exactarch=1 #有1和0兩個選項,設置為1,則yum 只會安裝和系統架構匹配的軟體包
7 obsoletes=1 #這是一個update 的參數
8 gpgcheck=1 #檢查包的來源
9 plugins=1 #是否啟用插件,預設1為允許,0表示不允許。我們一般會用yum-fastestmirror這個插件
10 installonly_limit=5 #允許同時安裝幾個程式包
11 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
12 distroverpkg=centos-release #ditribution version pkg 發行版版本號獲取
repository配置:
- yum的repo配置文件中可用的變數:
- $releasever: 當前OS的發行版的主版本號
- $arch: 平臺,i386,i486,i586,x86_64等
- $basearch:基礎平臺;i386, x86_64
- $YUM0-$YUM9:自定義變數
1 [base] #yum倉庫id
2 name=cdrom base #yum倉庫描述性文字
3 baseurl=file:///misc/cd #路徑,可以寫多個
4 https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
5 gpgcheck=1 #檢查包的來源,0表示不檢查包,1表示啟用
6 gpgkey=file:///misc/cd/RPM-GPG-KEY-CentOS-7 #導入key文件
7 enabled=1 #1表示啟用,0表示禁用,預設啟用
yum用法:
安裝
yum install package1
yum install -y package1:安裝包
yum reinstall -y package1:重新安裝
卸載
yum remove|erase package1
:卸載包,預設不卸載依賴包,如果連同依賴包一塊卸載,可使用yum history進行卸載
yum history:查看yum操作歷史記錄
yum history info 10 :查看第10條記錄
yum history undo 11 -y:撤銷yum歷史記錄第11條的操作,如果11條是安裝操作,會撤銷安裝,即可卸載依賴包
yum history redo 11 -y:重新執行11條記錄的操作
顯示倉庫列表
yum repolist
顯示啟用的倉庫列表
顯示程式包
yum list all
顯示所有可用包
yum grouplist
顯示包組
yum list installed
顯示已安裝的包
yum list available 顯示未安裝包
升級程式包
yum update [package1] [package2]
不跟包名的話,是更新所有包,帶包名的是更新具體的包
yum downgrade package1 [package2] [...] (降級)
yum check-update
檢查可用升級
yum info 查看程式包information
yum provides | whatprovides feature1 [feature2] [...] 命令是由哪個包提供的。
yum clean all 清除緩存,(如果還清不了,可以手動刪除rm -rf /var/cache/yum
)
yum makecache 構建
緩存
yum search string1 [string2] [...] 以指定的關鍵字搜索程式包名及summary信息
yum deplist package1 [package2] [...] 查看指定包所依賴的capabilities
安裝及升級本地程式包:
yum localinstall rpmfile1 [rpmfile2] [...] (用install替代) yum localupdate rpmfile1 [rpmfile2] [...] (用update替代) 包組管理的相關命令: yum groupinstall group1 [group2] [...] yum groupupdate group1 [group2] [...] yum grouplist [hidden] [groupwildcard] [...] yum groupremove group1 [group2] [...] yum groupinfo group1 [...]</yum的命令行選項:
--nogpgcheck:禁止進行gpg check -y: 自動回答為“yes” -q:靜默模式 --disablerepo=repoidglob:臨時禁用此處指定的repo --enablerepo=repoidglob:臨時啟用此處指定的repo --noplugins:禁用所有插件 yum常用命令: yum install | remove | list | provides | repolist | clean all | history undo,redo N | search | info基於http協議的yum源(centos6,centos7)
http伺服器端配置 1,關閉selinux,關閉防火牆 setenforce 0;systemctl stop firewalld2,安裝http yum install -y httpd
3,在/var/www/html目錄下新建目錄(/var/www/html是http的預設根目錄) cd /var/www/html/
mkdir -p centos/{6,7}/os/x86_64
4,掛載光碟到新建的目錄 mount /dev/sr0 /var/www/html/centos/7/os/x86_64/ mount /dev/sr1 /var/www/html/centos/6/os/x86_64/ 客戶端配置 5,配置.repo文件(在/etc/yum.repo.d/目錄下) [base]
name=cdrom base
baseurl=http://192.168.3.234/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://192.168.3.234/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
enabled=1
6,yum repolist --查看庫
yum list --查看包含的包
另一種方法: 伺服器端:在/var/www/html/目錄下創建文件yum.txt
vim yum.txt --可以配置多個路徑
http://192.168.3.234/centos/$releasever/os/$basearch/
https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
客戶端:
mirrorlist=http://192.168.3.234/yum.txt --原來的baseurl替換為mirrorlist,指向yum.txt文件路徑,讀取yum.txt裡面的內容
自己創建yum倉庫
伺服器端
1,在/var/www/html/目錄下創建dnf目錄
2,將rpm包拷貝到/var/www/html/dnf/目錄下
3,進入dnf目錄,創建庫,createrepo . ,會生成repodata目錄
客戶端
4,在/etc/yum.repo.d/目錄下創建一個dnf.repo文件
[dnf]
name=dnf
baseurl=http://192.168.3.234/dnf --路徑指向伺服器端的庫所在目錄
gpgcheck=0
5,查看庫 yum repolist