yum——替你排憂解難的前端包安裝工具

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

(0)
megedugaomegedugao
上一篇 2016-08-24 10:12
下一篇 2016-08-24 10:13

相關推薦

  • Linux的誕生史

    Linux誕生史 遠古記憶-UNIX的誕生 Multics計劃—開始 這是由麻省理工學院,通用電氣和AT&T的貝爾實驗室合作的操作系統項目,用于使用在GE-645大型主機上的。但是由于整個目標過于龐大,Multics雖然發布了一些產品,但是性能都很低,AT&T退出了Mulitcs項目,計劃終止。肯.湯姆遜當時也參加了這個項目,很不…

    2017-07-11
  • 常用命令總結

    &:將要執行的進程送入后臺進行執行alias:定義命令別名authconfig :對系統資源進行安全認證basename:抓取一個目錄的基名basename pwdbzip2:壓縮工具bzip2 case.sh case.sh.bz2    -[1-9]:指定壓縮比   &nbsp…

    Linux干貨 2017-04-09
  • 【社招】【小米-北京】大數據運維工程師

    【社招】【小米-北京】大數據運維工程師 【工作地點】北京市海淀區安寧莊東路72號科利源大廈 【薪酬福利】15k-30k  期權獎勵、六險一金、水果花茶、班車、健身房、食堂 【投遞方式】郵件主題“崗位+姓名”發送至lipengcheng3@xiaomi.com   工作職責: 1、負責大數據平臺相關系統的運維保障,包括:Hadoo…

    Linux干貨 2017-07-28
  • n28-第二周

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 cp:copy files and directories 復制文件和目錄 -i:交互式復制 默認情況下是別名定義了alias cp=’cp -i’ -f:強制復制 #cp -f /etc/issue /tmp/first.txt -r:遞歸復制目錄 將/etc目錄遞歸復制到/tmp…

    Linux干貨 2017-12-10
  • 服務器故障的解決方法以及基本腳本的編寫

    1,當開機時一直重新啟動怎么辦? 在開機時就如字符界面后按下a鍵然后進入單用戶模式,通過設置 [root@CentOS6 boot]# vim /etc/inittab 這個文件,將里面的開機啟動項改為多用戶模式就可。 # id:3:initdefault: “/etc/inittab” 26L, 884C 講id這項設置完成后重新啟動就好。 2,忘記roo…

    Linux干貨 2017-05-15
  • 第十一周作業

    1、詳細描述一次加密通訊的過程,結合圖示最佳。   發送者:     1)使用單向加密算法提取要發送文件的特征碼;     2)使用自己的私鑰加密特征碼并附加在數據后面;     3)生成用于對稱加密的臨時密碼;     4)用此臨時密鑰加密數據和已經使用私鑰加密后的特…

    2017-05-08
欧美性久久久久