天天看點

yum管理包流程_學習筆記

時間:2017.12.03

作者:李強

參考:man,info,magedu講義,萬能的internet

聲明:以下英文純屬個人翻譯,英文B級,歡迎糾正,以下内容純屬個人了解,并沒有對錯,隻是參考,盜版不糾,才能有限,希望不誤人子弟為好。

1、yum生成的一些檔案

首先我們需要安裝yum,生成以下檔案

通過rpm -ql yum檢視:

二進制

/usr/bin/yum

庫檔案

/var/lib/yum:(yum的庫)

/usr/lib/yum-plugins :插件的庫(可執行二進制檔案)

/usr/lib/python2.7/site-packages/yum

配置檔案

/etc/logrotate.d/yum

/etc/yum:yum配置存放的目錄

/etc/yum.conf :yum全局配置

/etc/yum.repos.d:倉庫本地配置

/etc/yum/fssnap.d:快照配置

/etc/yum/pluginconf.d:插件配置

/etc/yum/protected.d:保護包的配合

/etc/yum/vars:yum可以使用的變量設定

/etc/yum/version-groups.conf:

幫助檔案目錄

/usr/share/locate

/usr/share/doc

/usr/share/man

緩存檔案

/var/cache/yum :yum程式使用中的一些緩存檔案,

2、下面我們使用如下:

yum管理包流程_學習筆記
這裡面的1,2,3,4都是分别幹了什麼。

  • plugins是什麼東西?
  • hostfile是什麼東西?

然後就是我們在/etc/yum.reops.d/下配置了若幹個.repo的倉庫配置,每個倉庫配置檔案裡,配置了若幹個repo.id,repo.id 下又配置了多個baseurl=url1,url2...,baseurl好了解,預設是輪詢,還可以設定順序查找,

repo.id 也好了解用cost值來按照值來查找,預設為1000,越小優先級越高

然後就是.repo配置檔案的事情,它是按什麼順序查找,cost值是不是全局有效呢。幾個.repo裡的比較cost值。

yun 指令使用注意事項

yum clean 清理的是目前有效的一些倉庫的資訊,無效的需要加選項

--enablerepo='*'

而要清理cache下緩存的一些目錄需要用rm -rf /var/cache/yum/

我們要檢視一些幫助檔案來助我們找到答案

1、man 5 yum.conf 分析,

yum配置分為main和repository兩個部分,main放在yum.conf中,repository放在yum.repos.d/.repo中

main為global config有些選項如下。

cachedir:緩存應用的cache和db檔案,預設/var/cache/yum

persistdir:緩存應用的資訊,當有多個版本存在的情況,預設/var/lib/yum

keepache:确定是否保留包和頭檔案的緩存。預設為0不保留

reposdir:預設為/etc/yum.repos.d/conf

debuglevel,errorlevel,rpmverbosity,

protected_packages:保護一些包不被解除安裝,配置在/etc/yum/protected.d/conf中,預設有systemd.conf 内容為systemd

systemd包受到保護,不允許yum remove操作。

protected_multilib:預設為1,确定是否檢查包的本台是否是同一版本的,一個軟體同時隻能被安裝一個版本。kernel允許多版本同時存在。

config_file_path:配置檔案路徑,預設/etc/yum.conf

logfile:日志檔案,預設為/var/yum/log

ip_resolve:解析域名為ipv4還是ipv6,預設是4

plugins:是否啟用yum plugins,預設是1,具體看man 8 yum

plugins是擴充yum的功能,插件是python ,以.py結尾的檔案,檔案存放pluginpath和pluginconfpath的路徑下,要想生效需要/etc/yum.conf 中plugins=1,還要/etc/yum/pluginconf.d/.conf 中enable=1

pluginpath:plugins路徑預設/usr/share/yum-plugins 和/usr/lib/yum-plugins

pluginconfpath:plugins配置預設在/etc/yum/pluginconf.d/.conf

fssnap_devices:預設配置在/etc/yum/fssnap.d/.conf,lvm 裝置的snapshots(快照)

repository中的一些選項是會覆寫main中的配置對目前repo.id有效,

baseurl=

如果有多個最後一個生效,而且會有警告。

$releasever $arch $basearch $uuid 等變量可以用在name,baseurl,command上簡化配置和擴充性。

變量:/etc/yum/vars 在這裡建議個infra的檔案,然後添加内容為stock就是一個可以被yum識别的變量名infra,對應變量值的是stock

python -c 'import yum, pprint; yb = yum.YumBase();pprint.pprint(yb.conf.yumvar, width=1)' //檢視yum變量。

yum管理包流程_學習筆記

FILES:

yum管理包流程_學習筆記