yum
CentOS前端工具: yum, dnf
統一資源定位符:URL
YUM: Yellowdog Update Modifier,rpm的前端程序,用來解決軟件包相關依賴性,可以在多個庫之間定位軟件包,自動安裝軟件包,以及該軟件包的依賴包,up2date的替代工具
yum repository: yum repo (yum倉庫)
存儲了眾多rpm 包,以及包的相關的元數據文件(放置于特定目錄repodata下)
文件服務器:
ftp://
http://
file:///
yum客戶端配置文件:
/etc/yum.conf:為所有倉庫提供公共配置
/etc/yum.repos.d/*.repo:為倉庫的指向提供配置
倉庫定義:(/etc/yum.repos.d/*.repo里的配置文件)
[repositoryID]
name=Some name for this repository //倉庫文字,默認可以不寫
baseurl=url://path/to/repository/ //倉庫的位置,必須填寫的內容
enabled={1|0} //是否啟用該倉庫,0:不啟用,1:啟用,默認為1(不寫),為啟用狀態
gpgcheck={1|0} //是否開啟包完整性檢查,0:不開啟,1:開啟,默認為1(不寫),為開啟包檢測狀態
gpgkey=URL //包完整性檢測的包路徑,若gpgcheck為0,可以不填寫此項
enablegroups={1|0}
failovermethod={roundrobin|priority} //倉庫被使用的次序,默認是隨機,priority按優先級
默認為:roundrobin ,意為隨機挑選;
cost= //倉庫開銷,值越小,優先級越高
默認為1000
eg:CentOS6系統的yum配置
[root@CentOS6 ~]# cat /etc/yum.repos.d/centos6-service.repo [base] name=CentOS6 service repo baseurl=http://10.1.0.1/cobbler/ks_mirror/6/ gpgcheck=0
yum命令的用法:
yum [options] [command] [package …]
[package …]:直接使用包名,而不是包文件名。(注意區別:rpm的安裝,是使用包文件名,rpm查詢是使用的包名)
[options]
-y:自動回答為“yes”
-q:靜默模式
–nogpgcheck:禁止進行gpgcheck
–disablerepo=repoidglob:臨時禁用此處指定的repo
–enablerepo=repoidglob:臨時啟用此處指定的repo
–noplugins:禁用所有插件
command is one of:
* repolist [all|enabled|disabled]
顯示倉庫列表
[root@CentOS6 ~]# yum repolist Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile base | 4.0 kB 00:00 repo id repo name status base CentOS6 service repo 6,696 repolist: 6,696* list […]
顯示程序包
yum list [all|glob_exp|…]
yum list [available|installed|updates]
[root@CentOS6 ~]# yum list | less Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile Installed Packages ConsoleKit.x86_64 0.4.1-6.el6 @anaconda-CentOS-201605220104.x86_64/6.8 ConsoleKit-libs.x86_64 0.4.1-6.el6 @anaconda-CentOS-201605220104.x86_64/6.8 ConsoleKit-x11.x86_64 0.4.1-6.el6 @anaconda-CentOS-201605220104.x86_64/6.8 DeviceKit-power.x86_64 014-3.el6 @anaconda-CentOS-201605220104.x86_64/6.8 GConf2.x86_64 2.28.0-6.el6 @anaconda-CentOS-201605220104.x86_64/6.8 GConf2-gtk.x86_64 2.28.0-6.el6 @anaconda-CentOS-201605220104.x86_64/6.8 MAKEDEV.x86_64 3.24-6.el6 @anaconda-CentOS-201605220104.x86_64/6.8 ModemManager.x86_64 0.4.0-5.git20100628.el6 @anaconda-CentOS-201605220104.x86_64/6.8* install package1 [package2] […]
安裝程序包
* reinstall package1 [package2] […]
重新安裝程序包
* update [package1] [package2] […]
升級程序包
* downgrade package1 [package2] […]
降級安裝
[root@CentOS6 ~]# yum install zsh Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package zsh.x86_64 0:4.3.11-4.el6.centos.2 will be installed --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================== Package Arch Version Repository Size =============================================================================================================================== Installing: zsh x86_64 4.3.11-4.el6.centos.2 base 2.2 M Transaction Summary =============================================================================================================================== Install 1 Package(s) Total download size: 2.2 M Installed size: 5.1 M Is this ok [y/N]: <--------此處回答y即可安裝程序包* check-update
檢測可用升級
[root@CentOS6 ~]# yum check-update Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile acpid.x86_64 2.0.19-2.0.1.el6.centos.alt xen4centos kernel.x86_64 3.18.12-11.el6 xen4centos kernel-firmware.noarch 3.18.12-11.el6 xen4centos kernel-headers.x86_64 3.18.12-11.el6 xen4centos* remove | erase package1 [package2] […]
卸載程序包
[root@CentOS6 ~]# yum remove tree Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package tree.x86_64 0:1.5.3-3.el6 will be erased --> Finished Dependency Resolution Dependencies Resolved =============================================================================================================================== Package Arch Version Repository Size =============================================================================================================================== Removing: tree x86_64 1.5.3-3.el6 @base 65 k Transaction Summary =============================================================================================================================== Remove 1 Package(s) Installed size: 65 k Is this ok [y/N]:<--------此處回答y即可卸載程序包* info […]
查看程序包information
[root@CentOS6 ~]# yum info tree Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile Installed Packages Name : tree Arch : x86_64 Version : 1.5.3 Release : 3.el6 Size : 65 k Repo : installed From repo : base Summary : File system tree viewer URL : http://mama.indstate.edu/users/ice/tree/ License : GPLv2+ Description : The tree utility recursively displays the contents of directories in a : tree-like format. Tree is basically a UNIX port of the DOS tree : utility.* provides | whatprovides feature1 [feature2] […]
查看指定的特性(可以是某文件)是由那個程序包提供
[root@CentOS6 ~]# yum provides /etc/fstab Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile setup-2.8.14-20.el6_4.1.noarch : A set of system configuration and setup files Repo : base Matched from: Filename : /etc/fstab setup-2.8.14-20.el6_4.1.noarch : A set of system configuration and setup files Repo : installed Matched from: Other : Provides-match: /etc/fstab
* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
清除本地緩存
* makecache
構建緩存
[root@CentOS6 ~]# yum clean all Loaded plugins: fastestmirror, refresh-packagekit, security Cleaning repos: base Cleaning up Everything Cleaning up list of fastest mirrors [root@CentOS6 ~]# yum makecache Loaded plugins: fastestmirror, refresh-packagekit, security Determining fastest mirrors base | 4.0 kB 00:00 base/group_gz | 226 kB 00:00 base/filelists_db | 6.3 MB 00:00 base/primary_db | 4.7 MB 00:00 base/other_db | 2.8 MB 00:00 Metadata Cache Created* search string1 [string2] […]
以指定的關鍵字搜素程序包及summary信息
* deplist package1 [package2] […]
查看指定包所依賴的capabilities
* history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
查看yum事務歷史
yum history info 6
查看事務歷史第6條的詳細信息
yum history undo 6
撤銷事務歷史第6條的操作,卸載的撤銷就是安裝,安裝的撤銷就是卸載
[root@CentOS6 ~]# yum history Loaded plugins: fastestmirror, refresh-packagekit, security ID | Login user | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 5 | root <root> | 2016-08-21 08:17 | Install | 1 4 | root <root> | 2016-08-21 01:04 | Install | 25 3 | root <root> | 2016-08-21 00:46 | Install | 46 2 | root <root> | 2016-08-20 23:24 | Install | 1 1 | System <unset> | 2016-08-20 22:01 | Install | 1123 history list [root@CentOS6 ~]# yum history info 5 Loaded plugins: fastestmirror, refresh-packagekit, security Transaction ID : 5 Begin time : Sun Aug 21 08:17:40 2016 Begin rpmdb : 1195:acc15ce6b2a873ade9434d29bdca2e6c6a9f5fa4 End time : 08:17:43 2016 (3 seconds) End rpmdb : 1196:83eaa621cb52947d60d21e648bb8f7a7d925156c User : root <root> Return-Code : Success Command Line : install -y tree Transaction performed with: Installed rpm-4.8.0-55.el6.x86_64 @anaconda-CentOS-201605220104.x86_64/6.8 Installed yum-3.2.29-73.el6.centos.noarch @anaconda-CentOS-201605220104.x86_64/6.8 Installed yum-plugin-fastestmirror-1.1.30-37.el6.noarch @anaconda-CentOS-201605220104.x86_64/6.8 Packages Altered: Install tree-1.5.3-3.el6.x86_64 @base history info
* localinstall rpmfile1 [rpmfile2] […]
(maintained for legacy reasons only – use install)
老版本的安裝及升級本地rpm包命令,現在可以直接使用install進行安裝
* localupdate rpmfile1 [rpmfile2] […]
(maintained for legacy reasons only – use update)
老版本的安裝及升級本地rpm包命令,現在可以直接使用update進行升級
* help [command]
查看幫助
* grouplist [hidden] [groupwildcard] […]
顯示包組(hidden:顯示隱藏的包組)
* groupinstall group1 [group2] […]
安裝包組
* groupupdate group1 [group2] […]
更新包組
* groupremove group1 [group2] […]
移除包組
* groupinfo group1 […]
包組信息
如何使用光盤當作本地yum 倉庫:
(1) 掛載光盤至某目錄,例如/media/cdrom
# mount /dev/cdrom /media/cdrom
(2) 創建配置文件
[CentOS6]
name=
baseurl=
gpgcheck=
eg:光盤yum倉庫
[root@CentOS6 ~]# cat /etc/yum.repos.d/centos6-cdrom.repo [cdrom] name=CentOS6 cdrom repo baseurl=file:///media/cdrom/ gpgcheck=0
yum的repo配置文件中可用的變量:
$releasever:當前OS的發行版的主版本號
$arch:平臺,i386,i486,i586,x86_64等 等
$basearch:基礎平臺;i386
$YUM0-$YUM9:自定義變量
eg:http://mirrors.gaomengedu.com/centos/$releaserver/$basearch
http://server/centos/$releasever/$basearch/
http://server/centos/7/x86_64
http://server/centos/6/i384
如何創建yum倉庫
(1)把網上/其他的rpm包下載到某一路徑下
(2)安裝createrepo包(安裝了此包的可以跳過此步)
(3)進入下載的rpm包的路徑下
(4)createrepo ./
把rpm包的repodate目錄文件創建在此目錄下
–basedir 設置repodate目錄的路徑,默認在當前工作路徑
[root@CentOS6 xen]# pwd /testdir/xen [root@CentOS6 xen]# ls | wc 41 41 1498 [root@CentOS6 xen]# createrepo ./ Spawning worker 0 with 41 pkgs Workers Finished Gathering worker results Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@CentOS6 xen]# ls | wc 42 42 1507 [root@CentOS6 xen]# ll | grep repo drwxr-xr-x. 2 root root 4096 Aug 21 08:28 repodata
原創文章,作者:megedugao,如若轉載,請注明出處:http://www.www58058.com/39228