7 安裝軟件包的三種方法 rpm包介紹 rpm工具用法 yum工具用法 yum搭建本地倉庫

1.安裝軟件包的三種方法。node

  • 使用RPM工具安裝某一個程序時,有可能由於該程序包依賴另外一個程序包而沒法安裝。
  • 使用yum工具時,就能夠連同依賴的程序包一塊兒安裝。
  • 源碼包安裝

2.rpm包介紹。python

  • linux系統中存在着一個關於RPM的數據庫,它記錄了安裝的包以及包與包之間的依賴關係。
  • RPM包是預先在linux機器上編譯並打包的文件,安裝很是快捷。
  • 缺點:安裝環境必須與編譯時的環境一致或者至關,包與包之間存在着相互依賴的狀況,卸載包時須要先把依賴的包卸載。若是依賴的包是系統所必需的,就不能卸載這個包,不然系統會崩潰。
  • 每一個RPM包的名稱都由-和.分紅若干部分。
  • 有些RPM包並無寫具體的平臺而是noarch,說明這個RPM包沒有硬件平臺限制。

加載光驅linux

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# 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 ~]# ls /mnt/Packages/|head
389-ds-base-1.3.7.5-18.el7.x86_64.rpm
389-ds-base-libs-1.3.7.5-18.el7.x86_64.rpm
abattis-cantarell-fonts-0.0.25-1.el7.noarch.rpm
abrt-2.1.11-50.el7.centos.x86_64.rpm
abrt-addon-ccpp-2.1.11-50.el7.centos.x86_64.rpm
abrt-addon-kerneloops-2.1.11-50.el7.centos.x86_64.rpm
abrt-addon-pstoreoops-2.1.11-50.el7.centos.x86_64.rpm
abrt-addon-python-2.1.11-50.el7.centos.x86_64.rpm
abrt-addon-vmcore-2.1.11-50.el7.centos.x86_64.rpm
abrt-addon-xorg-2.1.11-50.el7.centos.x86_64.rpm

3.rpm工具介紹git

安裝PRM命令數據庫

cd /mnt/Packages/vim

[root@localhost Packages]# rpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm
準備中...                          ################################# [100%]
正在升級/安裝...
   1:libjpeg-turbo-devel-1.2.90-5.el7 ################################# [100%]
  • -i:表示安裝
  • -v:表示可視化
  • -h:表示顯示安裝進度
  • --force:表示強制安裝,即便覆蓋屬於其餘包的文件也要安裝。
  • --nodeps:表示當要安裝的RPM包依賴於其餘包時,即便其餘包沒有安裝,也要安裝這個包。

升級RPM包centos

rpm -Uvh filename         -U選項表示升級。緩存

卸載RPM包bash

rpm -qa:先查架構

rpm -e filename

[root@localhost Packages]# rpm -qa libjpeg-turbo-devel
libjpeg-turbo-devel-1.2.90-5.el7.x86_64
[root@localhost Packages]# rpm -e libjpeg-turbo-devel

 

 

-e 選項後的filename和安裝時有區別的。安裝時,是把一個存在的文件做爲參數,而卸載時須要包名便可。

查詢一個包是否已安裝

rpm -q RPM 包名   包名是不帶平臺信息和後綴名的。

[root@localhost Packages]# rpm -ivh libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm
準備中...                          ################################# [100%]
正在升級/安裝...
   1:libjpeg-turbo-devel-1.2.90-5.el7 ################################# [100%]
[root@localhost Packages]# rpm -q libjpeg-turbo-devel
libjpeg-turbo-devel-1.2.90-5.el7.x86_64

rpm -qa 查詢當前系統全部已安裝的RPM包。

[root@localhost Packages]# rpm -q libjpeg-turbo-devel
libjpeg-turbo-devel-1.2.90-5.el7.x86_64
[root@localhost Packages]# rpm -qa |head
desktop-file-utils-0.23-1.el7.x86_64
man-db-2.6.3-9.el7.x86_64
ibus-gtk2-1.5.17-2.el7.x86_64
libreport-python-2.1.11-40.el7.centos.x86_64
hyperv-daemons-0-0.32.20161211git.el7.x86_64
tzdata-2018c-1.el7.noarch
libX11-common-1.6.5-1.el7.noarch
kexec-tools-2.0.15-13.el7.x86_64
keybinder3-0.3.0-1.el7.x86_64
libvisual-0.4.0-16.el7.x86_64

獲得一個已安裝的RPM包的相關信息

rpm -qi 包名,不須要加平臺信息和後綴名。

[root@localhost Packages]# rpm -qi libjpeg-turbo-devel
Name        : libjpeg-turbo-devel
Version     : 1.2.90
Release     : 5.el7
Architecture: x86_64
Install Date: 2018年06月26日 星期二 15時04分27秒
Group       : Development/Libraries
Size        : 321621
License     : IJG
Signature   : RSA/SHA256, 2014年07月04日 星期五 10時55分32秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : libjpeg-turbo-1.2.90-5.el7.src.rpm
Build Date  : 2014年06月10日 星期二 11時48分52秒
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://sourceforge.net/projects/libjpeg-turbo
Summary     : Headers for the libjpeg-turbo library
Description :
This package contains header files necessary for developing programs which
will manipulate JPEG files using the libjpeg-turbo library.

列出一個RPM包的安裝文件

rpm -ql 包名

[root@localhost Packages]# rpm -ql libjpeg-turbo-devel
/usr/include/jconfig.h
/usr/include/jerror.h
/usr/include/jmorecfg.h
/usr/include/jpeglib.h
/usr/lib64/libjpeg.so
/usr/share/doc/libjpeg-turbo-devel-1.2.90
/usr/share/doc/libjpeg-turbo-devel-1.2.90/coderules.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.90/example.c
/usr/share/doc/libjpeg-turbo-devel-1.2.90/jconfig.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.90/libjpeg.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.90/structure.txt

列出某個文件屬於哪一個rpm包

[root@localhost Packages]# rpm -qf /usr/lib64/libjpeg.so
libjpeg-turbo-devel-1.2.90-5.el7.x86_64

4.yum工具的用法

列出全部可用的RPM包

yum list

[root@localhost Packages]# yum list |head -n 20
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.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.10-1.el7               @base    
ModemManager-glib.x86_64                    1.6.10-1.el7               @base    
NetworkManager.x86_64                       1:1.10.2-14.el7_5          @updates 
NetworkManager-adsl.x86_64                  1:1.10.2-14.el7_5          @updates 
NetworkManager-bluetooth.x86_64             1:1.10.2-14.el7_5          @updates 
NetworkManager-glib.x86_64                  1:1.10.2-14.el7_5          @updates 
NetworkManager-libnm.x86_64                 1:1.10.2-14.el7_5          @updates 
NetworkManager-libreswan.x86_64             1.2.4-2.el7                @base    
NetworkManager-libreswan-gnome.x86_64       1.2.4-2.el7                @base    
NetworkManager-ppp.x86_64                   1:1.10.2-14.el7_5          @updates 
NetworkManager-team.x86_64                  1:1.10.2-14.el7_5          @updates 
NetworkManager-tui.x86_64                   1:1.10.2-14.el7_5          @updates

搜索RPM包

yum search vim [相關關鍵詞]

[root@localhost Packages]# yum search vim
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.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

用grep來過濾,從而找到相應的RPM包

[root@localhost Packages]# yum list |grep 'vim'
vim-common.x86_64                           2:7.4.160-4.el7            @base    
vim-enhanced.x86_64                         2:7.4.160-4.el7            @base    
vim-filesystem.x86_64                       2:7.4.160-4.el7            @base    
vim-minimal.x86_64                          2:7.4.160-4.el7            @anaconda
protobuf-vim.x86_64                         2.5.0-8.el7                base     
vim-X11.x86_64                              2:7.4.160-4.el7            base

安裝RPM包

yum install [-y] [RPM包名],不加-y選項,以用戶交互的方式安裝。

[root@localhost Packages]# yum install -y protobuf-vim
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
base                                                                                                                                                                    | 3.6 kB  00:00:00     
extras                                                                                                                                                                  | 3.4 kB  00:00:00     
updates                                                                                                                                                                 | 3.4 kB  00:00:00     
正在解決依賴關係
--> 正在檢查事務
---> 軟件包 protobuf-vim.x86_64.0.2.5.0-8.el7 將被 安裝
--> 解決依賴關係完成

依賴關係解決

===============================================================================================================================================================================================
 Package                                          架構                                       版本                                               源                                        大小
===============================================================================================================================================================================================
正在安裝:
 protobuf-vim                                     x86_64                                     2.5.0-8.el7                                        base                                     8.7 k

事務概要
===============================================================================================================================================================================================
安裝  1 軟件包

總下載量:8.7 k
安裝大小:3.7 k
Downloading packages:
protobuf-vim-2.5.0-8.el7.x86_64.rpm                                                                                                                                     | 8.7 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 數據庫已被非 yum 程序修改。
  正在安裝    : protobuf-vim-2.5.0-8.el7.x86_64                                                                                                                                            1/1 
  驗證中      : protobuf-vim-2.5.0-8.el7.x86_64                                                                                                                                            1/1 

已安裝:
  protobuf-vim.x86_64 0:2.5.0-8.el7                                                                                                                                                            

完畢!

卸載RPM包

yum remove [-y] [RPM包名].

[root@localhost Packages]# yum remove protobuf-vim
已加載插件:fastestmirror, langpacks
正在解決依賴關係
--> 正在檢查事務
---> 軟件包 protobuf-vim.x86_64.0.2.5.0-8.el7 將被 刪除
--> 解決依賴關係完成

依賴關係解決

===============================================================================================================================================================================================
 Package                                          架構                                       版本                                              源                                         大小
===============================================================================================================================================================================================
正在刪除:
 protobuf-vim                                     x86_64                                     2.5.0-8.el7                                       @base                                     3.7 k

事務概要
===============================================================================================================================================================================================
移除  1 軟件包

安裝大小:3.7 k
是否繼續?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在刪除    : protobuf-vim-2.5.0-8.el7.x86_64                                                                                                                                            1/1 
  驗證中      : protobuf-vim-2.5.0-8.el7.x86_64                                                                                                                                            1/1 

刪除:
  protobuf-vim.x86_64 0:2.5.0-8.el7                                                                                                                                                            

完畢!

升級RPM包

yum update [-y] [RPM包]。

[root@localhost Packages]# yum update bash
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
No packages marked for update

5.yum搭建本地倉庫

掛載光盤

[root@localhost Packages]# mount /dev/cdrom /mnt
mount: /dev/sr0 寫保護,將以只讀方式掛載
mount: /dev/sr0 已經掛載或 /mnt 忙
       /dev/sr0 已經掛載到 /mnt 上

刪除/etc/yum.repos.d目錄下全部的repo文件(刪除以前,最好先作一個備份)。

[root@localhost Packages]# cp -r /etc/yum.repos.d /etc/yum.repos.d_bak
[root@localhost Packages]# rm -rf /etc/yum.repos.d/*

建立新文件dvd.repo。

[root@localhost Packages]# vim /etc/yum.repos.d/dvd.repo

刷新repos生成緩存。安裝tftp的RPM包。

[root@localhost Packages]# yum makecache
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
dvd                                                                                                                                                                     | 3.6 kB  00:00:00     
(1/4): dvd/group_gz                                                                                                                                                     | 166 kB  00:00:00     
(2/4): dvd/filelists_db                                                                                                                                                 | 3.1 MB  00:00:00     
(3/4): dvd/primary_db                                                                                                                                                   | 3.1 MB  00:00:00     
(4/4): dvd/other_db                                                                                                                                                     | 1.3 MB  00:00:00     
元數據緩存已創建
[root@localhost Packages]# yum install -y tftp
已加載插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解決依賴關係
--> 正在檢查事務
---> 軟件包 tftp.x86_64.0.5.2-22.el7 將被 安裝
--> 解決依賴關係完成

依賴關係解決

===============================================================================================================================================================================================
 Package                                     架構                                          版本                                               源                                          大小
===============================================================================================================================================================================================
正在安裝:
 tftp                                        x86_64                                        5.2-22.el7                                         dvd                                         38 k

事務概要
===============================================================================================================================================================================================
安裝  1 軟件包

總下載量:38 k
安裝大小:52 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安裝    : tftp-5.2-22.el7.x86_64                                                                                                                                                     1/1 
  驗證中      : tftp-5.2-22.el7.x86_64                                                                                                                                                     1/1 

已安裝:
  tftp.x86_64 0:5.2-22.el7                                                                                                                                                                     

完畢!
相關文章
相關標籤/搜索