1. 程式人生 > >19.軟件安裝rpm,yum

19.軟件安裝rpm,yum

ocata 兼容性 只讀 wifi uil remove /usr 文件 googl

五周第一次課(1月8日)

7.1 安裝軟件包的三種方法

7.2 rpm包介紹

7.3 rpm工具用法

7.4 yum工具用法

7.5 yum搭建本地倉庫

Linux下安裝軟件的三種方法

  • [ ] rpm
  • [ ] yum
  • [ ] 源碼包

RPM工具

在虛擬光驅中有安裝盤的鏡像,裏面就有RPM包,首先連接我們的系統鏡像文件

技術分享圖片

技術分享圖片

  • 將光驅用mount掛載,然後進入/mnt/

[root@localhost mnt]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost mnt]# cd /mnt/
[root@localhost mnt]# ls
CentOS_BuildTag  images    repodata
EFI              isolinux  RPM-GPG-KEY-CentOS-7
EULA             LiveOS    RPM-GPG-KEY-CentOS-Testing-7
GPL              Packages  TRANS.TBL

[root@localhost mnt]# cd Packages
[root@localhost mnt]# ls  //下圖中的大量紅色rpm包

技術分享圖片

每個RPM包的名稱有-和.分成了若幹部分,比如在“python-libs-2.7.5-58.el7.x86_64.rpm”,python為包名,2.7.5為版本信息,58.el7為發布版本號,x86_64為運行平臺,noarch表示該RPM 包沒有硬件平臺限制

  • 安裝RPM包

  • [ ] rpm -ivh rpm包文件 //安裝
    命令如下:

[root@localhost Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm
準備中...                          ################################# [100%]
正在升級/安裝...
   1:zsh-5.0.2-28.el7                 ################################# [100%]
  • 升級RPM包
  • [ ] rpm -Uvh rpm包文件 //升級

[root@localhost Packages]# rpm -Uvh zsh-5.0.2-28.el7.x86_64.rpm
  • 卸載RPM包
  • [ ] rpm -e 包名 //卸載

[root@localhost Packages]# rpm -e zsh
  • 查詢一個包是否已安裝
  • [ ] rpm -qa //查詢安裝的包

[root@localhost Packages]# rpm -qa |head
libmtp-1.1.6-5.el7.x86_64
trousers-0.3.13-1.el7.x86_64
xorg-x11-drv-ati-7.6.1-3.20160215gitd41fccc.el7.x86_64
telepathy-mission-control-5.16.3-3.el7.x86_64
avahi-0.6.31-17.el7.x86_64
libvisio-0.1.1-2.el7.x86_64
fxload-2002_04_11-16.el7.x86_64
xorg-x11-drv-evdev-2.9.2-2.el7.x86_64
colord-libs-1.2.7-2.el7.x86_64
mlocate-0.26-6.el7.x86_64
  • 查詢制定包是否安裝
  • [ ] rpm -q 包名 //查詢指定包是否安裝



  • [ ] rpm -qi 包名 //查詢指定包信息



    [root@localhost Packages]# rpm -qi vim-enhanced
    Name        : vim-enhanced
    Epoch       : 2
    Version     : 7.4.160
    Release     : 1.el7_3.1
    Architecture: x86_64
    Install Date: 2017年08月09日 星期三 00時10分28秒
    Group       : Applications/Editors
    Size        : 2292098
    License     : Vim
    Signature   : RSA/SHA256, 2016年12月22日 星期四 01時14分11秒, Key ID 24c6a8a7f4a80eb5
    Source RPM  : vim-7.4.160-1.el7_3.1.src.rpm
    Build Date  : 2016年12月22日 星期四 01時00分52秒
    Build Host  : c1bm.rdu2.centos.org
    Relocations : (not relocatable)
    Packager    : CentOS BuildSystem <http://bugs.centos.org>
    Vendor      : CentOS
  • 查找包安裝了哪些文件
  • [ ] rpm -ql 包名 //列出包安裝的文件

[root@localhost Packages]# rpm -ql vim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
  • 查看文件由哪個安裝包安裝
  • [ ] rpm -qf 文件絕對路徑 //查看一個文件是由哪個包安裝的

[root@localhost Packages]# rpm -qf `which cd`
bash-4.2.46-20.el7_2.x86_64 //bash包安裝

yum工具

yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。
基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。

  • [ ] yum list //列出可用rpm包

[root@localhost Packages]# yum list |head -20
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
已安裝的軟件包
GConf2.x86_64                               3.2.6-8.el7                @base    
GeoIP.x86_64                                1.5.0-11.el7               @anaconda
ModemManager.x86_64                         1.6.0-2.el7                @base    
ModemManager-glib.x86_64                    1.6.0-2.el7                @base    
NetworkManager.x86_64                       1:1.4.0-20.el7_3           @updates 
NetworkManager-adsl.x86_64                  1:1.4.0-20.el7_3           @updates 
NetworkManager-bluetooth.x86_64             1:1.4.0-20.el7_3           @updates 
NetworkManager-glib.x86_64                  1:1.4.0-20.el7_3           @updates 
NetworkManager-libnm.x86_64                 1:1.4.0-20.el7_3           @updates 
NetworkManager-libreswan.x86_64             1.2.4-1.el7                @base    
NetworkManager-libreswan-gnome.x86_64       1.2.4-1.el7                @base    
NetworkManager-team.x86_64                  1:1.4.0-20.el7_3           @updates 
NetworkManager-tui.x86_64                   1:1.4.0-20.el7_3           @updates 
NetworkManager-wifi.x86_64                  1:1.4.0-20.el7_3           @updates 

上述信息中,mirrors.163.com,centos.ustc.edu.cn是獲取包資源的下載路徑,共有3列,第一列是RPM包名,中間是版本信息,最右側是安裝信息(倉庫名)。

找到這些存放rpm包的倉庫信息

  • [ ] ls /etc/yum.repos.d/
    [root@localhost Packages]# 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@localhost Packages]# ls /etc/yum.repos.d/CentOS-Base.repo
    /etc/yum.repos.d/CentOS-Base.repo
    [root@localhost Packages]# cat /etc/yum.repos.d/CentOS-Base.repo 

    技術分享圖片

  • 搜索RPM包
  • [ ] yum search vim //搜索包

[root@localhost Packages]# 
[root@localhost Packages]# yum search vim
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: centos.ustc.edu.cn
 * updates: centos.ustc.edu.cn
========================================================= N/S matched: vim ==========================================================
protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptions
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor
vim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancements
vim-filesystem.x86_64 : VIM filesystem layout
vim-minimal.x86_64 : A minimal version of the VIM editor


  名稱和簡介匹配 only,使用“search all”試試。
  • 用grep過濾,找到相應的RPM包,|是管道符,傳遞結果給下一個命令.
    技術分享圖片
  • 安裝RPM包
  • [ ] yum install [-y]

  • 列出可安裝的環境分組
  • [ ] yum grouplist
    [root@localhost Packages]#  yum grouplist
    已加載插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    * base: mirrors.163.com
    * extras: centos.ustc.edu.cn
    * updates: centos.ustc.edu.cn
    已安裝環境分組:
    GNOME 桌面
    可用的環境分組:
    最小安裝
    基礎設施服務器
    計算節點
    文件及打印服務器
    基本網頁服務器
    虛擬化主機
    帶 GUI 的服務器
    KDE Plasma Workspaces
    開發及生成工作站
    可用組:
    傳統 UNIX 兼容性
    兼容性程序庫
    圖形管理工具
    安全性工具
    開發工具
    控制臺互聯網工具
    智能卡支持
    科學記數法支持
    系統管理
    系統管理工具
    完成
  • 安裝環境分組,這裏必須輸入英文名稱才可以。yum groupinstall ‘#######’
  • [ ] yum groupinstall [-y]

  • 卸載RPM包
  • [ ] yum remove [-y]
  • 升級RPM包
  • [ ] yum update [-y]

  • ==有些命令不知道安裝包在哪,通過以下指令,不指定具體路徑(通配)來查找,然後安裝==
  • [ ] yum provides “/*/vim”

yum本地倉庫

掛載鏡像到/mnt目錄

  • [ ] cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
  • [ ] rm -f /etc/yum.repos.d/*





前面我們已經掛載了磁盤

[root@localhost Packages]# ls /mnt/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost Packages]# cd
[root@localhost ~]#  cp -r /etc/yum.repos.d /etc/yum.repos.d.bak //備份一份
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@localhost yum.repos.d]# rm -rf ./*  //把上述所有repo文件刪除

[root@localhost yum.repos.d]# vi dvd.repo

輸入:

[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0

技術分享圖片

  • yum 清理
  • [ ] yum clean all

[root@localhost yum.repos.d]# yum clean all
已加載插件:fastestmirror, langpacks
正在清理軟件源: dvd
Cleaning up everything
Cleaning up list of fastest mirrors
  • [ ] yum list

- [root@localhost yum.repos.d]# yum list |less  //用ctrl+F 分屏查看

19.軟件安裝rpm,yum