1. 程式人生 > >rpm,yum,yum搭建本地倉庫

rpm,yum,yum搭建本地倉庫

yum 搭建 本地倉庫

安裝軟件包的三種方法
  • rpm工具,需要手動安裝依賴包
  • yum工具,python開發的,自動安裝依賴包
  • 源碼包,可以看到源代碼,需要先編譯

rpm包介紹

  • 由包名+版本號(主版本,次版本)+ 發布版本號+支持的平臺+後綴名組成
    [root@aminglinux02 ~]# mount /dev/cdrom /mnt
    mount: /dev/sr0 寫保護,將以只讀方式掛載
    [root@aminglinux02 ~]# cd /mnt/
    [root@aminglinux02 mnt]# ls
    CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
    EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
    [root@aminglinux02 mnt]# cd Packages/
    [root@aminglinux02 Packages]# ls
    zenity-3.8.0-5.el7.x86_64.rpm
    zip-3.0-11.el7.x86_64.rpm
    zlib-1.2.7-17.el7.x86_64.rpm
    zlib-devel-1.2.7-17.el7.x86_64.rpm
    zsh-5.0.2-25.el7.x86_64.rpm
    zziplib-0.13.62-5.el7.x86_64.rpm

rpm工具用法

  • rpm -ivh 包文件---安裝包
  • rpm -Uvh 包文件---升級包
  • rpm -e 包名---卸載包
    [root@aminglinux02 Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
    準備中...                          ################################# [100%]
    正在升級/安裝...
    1:zsh-5.0.2-28.el7                 ################################# [100%]
    [root@aminglinux02 Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm
    準備中...                          ################################# [100%]
    軟件包 zsh-5.0.2-28.el7.x86_64 已經安裝
    [root@aminglinux02 Packages]# rpm -e zsh
    沒有提示就是卸載成功
  • rpm -qa ----查詢已經 安裝的包
  • rpm -q 包名---查詢指定包是否安裝
  • rpm -qi 包名---查詢指定包信息
  • rpm -ql 包名---列出包安裝的文件
  • rpm -qf 文件絕對路徑---查看一個文件是由哪個包安裝的
    [root@aminglinux02 ~]# rpm -qf /usr/bin/xxd
    vim-common-7.4.160-2.el7.x86_64
    [root@aminglinux-02 Packages]# rpm -qf `which cd` (反引號包含命令)
    bash-4.2.46-20.el7_2.x86_64
    [root@aminglinux-02 Packages]# which cd
    /usr/bin/cd
    [root@aminglinux-02 Packages]# 

yum工具的用法

  • yum list ---列出可用rpm包,最左側為包名,中間版本號平臺,最右側為base倉庫。
    yum的配置文件
    [root@aminglinux-02 ~]# ls /etc/yum.repos.d/
    CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
    CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
    [root@aminglinux-02 ~]# 
  • yum search vim // yum list |grep ‘vim’---搜索包,後一個更準確
    [root@aminglinux02 ~]# yum list |grep ‘vim‘
    vim-common.x86_64                           2:7.4.160-2.el7            @base    
    vim-enhanced.x86_64                         2:7.4.160-2.el7            @base    
    vim-filesystem.x86_64                       2:7.4.160-2.el7            @base    
    vim-minimal.x86_64                          2:7.4.160-2.el7            @anaconda
    protobuf-vim.x86_64                         2.5.0-8.el7                base     
    vim-X11.x86_64                              2:7.4.160-2.el7            base     
  • yum install [-y] ---安裝包-y不用詢問直接安裝
  • yum grouplist ---列出可用的組
  • yum groupinstall [-y]---安裝組包
  • yum remove [-y]---卸載包包括依賴的包
  • yum update [-y]---升級包,不加包名,默認升級所有包和系統,裝完環境不要用。
  • yum provides "/*/vim" ---搜vim命令要安裝那個包

yum搭建本地倉庫

  • 當本地不能聯網時可以使用光盤安裝包
    1. 掛載鏡像到/mnt目錄
    2. 備份,cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
    3. rm -f /etc/yum.repos.d/*
    4. vim /etc/yum.repos.d/dvd.repo //加入以下內容
      [dvd]
      name=install dvd     自定義名稱
      baseurl=file:///mnt  光驅路徑
      enable=1             是否可用,0時不可用
      gpgcheck=0           是否檢測,0不檢測
    5. yum clean all 清除緩存
    6. yum list 生成緩存 ,@符號表示已經安裝的包
      NetworkManager.x86_64                       1:1.8.0-9.el7              @anaconda   
      NetworkManager-libnm.x86_64                 1:1.8.0-9.el7              @anaconda
      NetworkManager-team.x86_64                  1:1.8.0-9.el7              @anaconda
      NetworkManager-tui.x86_64                   1:1.8.0-9.el7              @anaconda

rpm,yum,yum搭建本地倉庫