linux yum包管理工具
yum 構成簡介
C/S架構:Client --> Server
yum倉庫
base庫:通常為系統發行版所提供的程序包
updates庫:
extra庫:
epel庫:
數據: 各個rpm包; 元數據: 數據文件 包名、版本信息、各包所包含的文件列表、依賴關系、包分組信息 centos5: xml, centos6,7: sqlite createrepo: 制作yum倉庫元數據的工具 yum客戶端:
指供repo配置文件,指明倉庫訪問路徑及各種屬性信息
主配置文件(中心配置文件):/etc/yum.conf
一個或幾個相關倉庫的配置信息可保存為一個文件,文件名都以.repo結尾:/etc/yum.repos.d/
在.repo文件定義一個yum repo指向的格式:
[REPOID]
name=Some name for this repository
baseurl=file:///media/cdrom
ftp://172.16.0.1/pub/ftp/centos
Must be a URL to the directory where the yum repository‘s ‘repodata‘ directory lives
enabled={0|1}
gpgcheck={0|1}
gpgkey=URL
mirrorlist=URL to a file
mirrorlist Specifies a URL to a file containing a list of baseurls
cost={1..n}
默認為1000,指定訪問此倉庫的開銷
安裝程序包 第一步:獲取倉庫元數據,緩存於本地:/var/cache/yum 第二步:安裝程序包:yum客戶端程序在本地分析元數據文件,並結合本地系統環境(已安裝的包)做出要安裝的程序包的決策 第三步:獲取程序包: 根據決策聯系Yum倉庫,下載各程序包緩存於本地後,一並進行安裝;
yum客戶端命令的使用
1、列出所有可用repo yum repolist {enabled|disabled|all} 2、列出rpm包 yum list {all|installed|available} yum list KEYWORD* 3、包的描述信息 yum info package_name 4、列出所有的包組信息 yum grouplist 5、顯示包組的信息:例如組中包含的程序包列表 yum groupinfo "GROUP NAME" CentOS6 跟開發相關的包組: Development Tools Server Platform Development Desktop Platform Development 6、清理緩存 yum clean {all|packages|metadata|expire-cache|rpmdb|plugins} 7、安裝程序包 yum install package_name 重新安裝: yum reinstall package_name 8、升級 yum check-update: 檢查可用的升級包 yum update package_name x-1.3.1 x-1.3.2, x-1.3.3, x-2.0.1 yum update x-1.3.2 yum downgrade package_name 9、卸載 yum remove|erase package_name 10、查詢某文件是由哪個包安裝生成的 yum whatprovides|provides /path/to/somefile 11、安裝包組 yum groupinstall "GROUP NAME" 12、卸載包組 yum groupremove "GROUP NAME" 假設:從其它處獲得一個rpm包,如果此包依賴於其它包(在倉庫中),如何安裝? 如果僅是單次安裝需要: yum install /path/to/packe_file
自建yum倉庫
自建提供yum倉庫的中心服務器 ftp, http, nfs http為例,創建步驟: (1) 安裝httpd程序,並啟動服務 # rpm -ivh httpd- 或者 # yum install httpd 啟動服務 # service httpd start # chkconfig httpd on (2) httpd的文檔根目錄為/var/www/html: 創建子目錄,存放某相關的所有rpm包 (3) 為倉庫生成元數據文件,以使能夠作為倉庫使用 # rpm -ivh createrepo- 或者 # yum install createrepo # createrepo /path/to/rpm_repo/ (4) 配置yum客戶端使用此倉庫即可
linux yum包管理工具