軟件包管理rpm和yum基本使用

RPM是RedHat Package Manager(RedHat軟件包管理工具)類似Windows里面的“添加/刪除程序”因而廣受歡迎。逐漸受到其他發行版的采用。RPM套件管理方式的出現,讓Linux易于安裝,升級,間接提升了Linux的適用度。


rpm 執行安裝包

二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,而源代碼包將會由RPM自動編譯、安裝。源代碼包經常以src.rpm作為后綴名。

源代碼:name-VERSION.tar.gz|bz2|xz

VERSION: major.minor.release

rpm包命名方式:

name-VERSION-release.arch.rpm

例:bash-4.2.46-19.el7.x86_64.rpm

VERSION: major.minor.release

release:release.OS

常見的arch:

x86: i386, i486, i586, i686

x86_64: x64, x86_64, amd64powerpc: ppc

跟平臺無關:noarch

程序包管理器:

功能:將編譯好的應用程序的各組成文件打包一個或幾個程序包文件,從而方便快捷地實現程序包的安裝、卸載、查詢、升級和校驗等管理操作

語法格式

rpm [option] [argiment]


常用組合命令

-ivh:安裝顯示安裝進度–install–verbose–hash

-Uvh:升級軟件包–Update;

-qpl:列出RPM軟件包內的文件信息[Query Package list];

-qpi:列出RPM軟件包的描述信息[Query Package install package(s)];

-qf:查找指定文件屬于哪個RPM軟件包[Query File];

-Va:校驗所有的RPM軟件包,查找丟失的文件[View Lost];

-e:刪除包[erase]


rpm -ivh file.rpm ?。安裝新的rpm并用#顯示進度]–install–verbose–hash  

rpm -ivh –relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm    #指定安裝目錄

rpm -ivh –test gaim-1.3.0-1.fc4.i386.rpm    #測試安裝用來檢查依賴關系;并不是真正的安裝;

rpm -Uvh –oldpackage gaim-1.3.0-1.fc4.i386.rpm #新版本降級為舊版本,當新版本不穩定時。

rpm -qa | grep httpd      #搜索指定rpm包是否安裝–all搜索*httpd*

rpm -ql httpd        ?。K阉鱮pm包–list所有文件安裝目錄

rpm -q tree //#查詢程序是否安裝,安裝了會顯示軟件包名。

rpm -qpi  #查看rpm包–query–package–install package信息

rpm -qpi tree-1.5.3-3.el6.x86_64.rpm #查看rpm包–file

rpm -qpR file.rpm      ?。查看包]依賴關系

rpm2cpio file.rpm |cpio -div    #[抽出文件]

rpm -Uvh file.rpm    #[升級一個rpm]–upgrade

rpm -e file.rpm      #[刪除一個rpm包]–erase


常用參數:

Install/Upgrade/Erase options:安裝,升級,卸載

-i, –install                     install package(s) #安裝軟件包

-v, –verbose                     provide more detailed output #顯示安裝的軟件

-h, –hash                        print hash marks as package installs (good with -v)#以(#)顯示安裝進度

-e, –erase                       erase (uninstall) package #刪除軟件包

-U, –upgrade=<packagefile>+            upgrade package(s) #升級更新安裝,存在即更新,不存在即安裝

{-F|–freshen} [install-options] PACKAGE_FILE… #更新升級,不存在即不安裝

--replacepkge                    無論軟件包是否已被安裝,都強行安裝軟件包

–test                            安裝測試,并不實際安裝

–nodeps                          忽略軟件包的依賴關系強行安裝

–force                           忽略軟件包及文件的沖突


Query options (with -q or –query):查詢

-q 軟件名    #查詢軟件是否安裝

-a, –all   query/verify all packages #查詢所有已安裝的軟件包

-p, –package   query/verify a package file #指明軟件包

-l, –list    list files in package #查詢軟件生成文件列表

-d, –docfiles   list all documentation files #查詢軟件(不是軟件包)生成的目錄文件

-f, –file  query/verify package(s) owning file # 查詢根(/)上的文件是由哪個軟件包生成的

-c, –configfiles   #查詢程序的配置文件

-R, –requires   #查詢軟件的依賴關系


導入所需要公鑰:

rpm -K|checksigrpmfile檢查包的完整性和簽名

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

CentOS 7發行版光盤提供:RPM-GPG-KEY-CentOS-7

rpm -qagpg-pubkey*


示例

centos7環境下

若想安裝rpm包,你先得把安裝光配掛載起來

[root@localhost yum.repos.d]# mkdir /media/cdrom #創建掛載目錄(media和mnt常用來當掛載目錄)
[root@localhost yum.repos.d]# mount /dev/cdrom /media/cdrom/ #掛載
mount: /dev/sr0 is write-protected, mounting read-onl #掛載成功
[root@localhost cdrom]# ls#列出/media/cdrom下的文件
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 cdrom]# rpm --import ./RPM-GPG-KEY-CentOS-7 #導入公鑰
[root@localhost cdrom]# rpm -ivh /media/cdrom/Packages/tree-1.6.0-10.el7.x86_64.rpm #安裝tree軟件包等功能就可以使用了
Preparing...                          ################################# [100%]
Updating / installing...
   1:tree-1.6.0-10.el7                ################################# [100%]


yum

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


語法

 yum [options] [command] [package …]


常用選項

1 安裝

yum install :全部安裝

yum install package1 安裝指定的安裝包package1

yum groupinsall "group1"…  安裝指定的組包

2 更新和升級

yum update 全部更新

yum update package1 更新指定程序包package1

yum check-update 檢查可更新的程序

yum upgrade package1 升級指定程序包package1

yum groupupdate group1 升級程序組group1

3 查找和顯示

yum info package1 顯示安裝包信息package1

yum list 顯示所有已經安裝和可以安裝的程序包

yum list package1 顯示指定程序包安裝情況package1

yum groupinfo group1 顯示程序組group1信息yum search string 根據關鍵字string查找安裝包

4 刪除程序

yum remove | erase package1 刪除程序包package1

yum groupremove group1 刪除程序組group1

yum deplist package1 查看程序package1依賴情況

5 清除緩存

yum clean packages 清除緩存目錄下的軟件包

yum clean headers 清除緩存目錄下的 headers

yum clean oldheaders 清除緩存目錄下舊的 headers

yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers


在使用yum之前首先要安裝yum庫。

yum倉庫的三種格式安裝

ftp://

http://

file:/// (最后一個為/路徑)

yum客戶端配置文件:

/etc/yum.conf:為所有倉庫提供公共配置

/etc/yum.repos.d/*.repo:為倉庫的指向提供配置 

倉庫指向的定義:

[repositoryID]

name=Some name for this repository

baseurl=url://path/to/repository/ #必須填

enabled={1|0}

gpgcheck={1|0}

gpgkey=URL

enablegroups={1|0}

failovermethod={roundrobin|priority}

默認為:roundrobin,意為隨機挑選;

cost= 默認為1000


yum-config-manager –add-repo= http:/10.1.0.1/cobbler/ks_mirror/CentOS-X-x86_64/ 自動生成倉庫文件

yum-config-manager –disable “倉庫名" 禁用倉庫

yum-config-manager –enable “倉庫名” 啟用倉庫


示例,篇幅太長就不多做示例了!

[root@localhost repository]# yum -y install httpd #安裝httpd軟件及它所依賴的包
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.4.6-40.el7.centos will be installed
--> Processing Dependency: httpd-tools = 2.4.6-40.el7.centos for package: httpd-2.4.6-40.el7.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.4.6-40.el7.centos.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
---> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=====================================================================================================================================
 Package                        Arch                      Version                                Repository                     Size
=====================================================================================================================================
Installing:
 httpd                          x86_64                    2.4.6-40.el7.centos                    repository                    2.7 M
Installing for dependencies:
 apr                            x86_64                    1.4.8-3.el7                            repository                    103 k
 apr-util                       x86_64                    1.5.2-6.el7                            repository                     92 k
 httpd-tools                    x86_64                    2.4.6-40.el7.centos                    repository                     82 k
Transaction Summary
=====================================================================================================================================
Install  1 Package (+3 Dependent packages)
Total download size: 3.0 M
Installed size: 9.9 M
Downloading packages:
(1/4): apr-1.4.8-3.el7.x86_64.rpm                                                                             | 103 kB  00:00:00     
(2/4): apr-util-1.5.2-6.el7.x86_64.rpm                                                                        |  92 kB  00:00:00     
(3/4): httpd-2.4.6-40.el7.centos.x86_64.rpm                                                                   | 2.7 MB  00:00:00     
(4/4): httpd-tools-2.4.6-40.el7.centos.x86_64.rpm                                                             |  82 kB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                2.7 MB/s | 3.0 MB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : apr-1.4.8-3.el7.x86_64                                                                                            1/4 
  Installing : apr-util-1.5.2-6.el7.x86_64                                                                                       2/4 
  Installing : httpd-tools-2.4.6-40.el7.centos.x86_64                                                                            3/4 
  Installing : httpd-2.4.6-40.el7.centos.x86_64                                                                                  4/4 
  Verifying  : httpd-2.4.6-40.el7.centos.x86_64                                                                                  1/4 
  Verifying  : apr-util-1.5.2-6.el7.x86_64                                                                                       2/4 
  Verifying  : httpd-tools-2.4.6-40.el7.centos.x86_64                                                                            3/4 
  Verifying  : apr-1.4.8-3.el7.x86_64                                                                                            4/4 
Installed:
  httpd.x86_64 0:2.4.6-40.el7.centos                                                                                                 
Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7             apr-util.x86_64 0:1.5.2-6.el7             httpd-tools.x86_64 0:2.4.6-40.el7.centos            
Complete!
[root@localhost repository]# yum grouplist all  #查看配置的yum倉庫
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Warning: no environments/groups match: all
[root@localhost repository]# yum repolist all
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id                                                repo name                                                       status
base                                                   cent7 repository                                                enabled: 8,508
repository                                             CentOS7 repository                                              enabled: 9,007
repolist: 17,515

原創文章,作者:ladsdm,如若轉載,請注明出處:http://www.www58058.com/39621

(0)
ladsdmladsdm
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • MySQL常用字符函數

    MySQL常用字符函數簡介 CONCAT(S1,S2…Sn) 連接S1,S2…Sn為一個字符串 concat函數,把傳入的參數連接成為一個字符串。 例如: 把“aaa”、“bbb”、”ccc”3個字符串連接成一個字符串,“aaabbbccc”.另外任何與NULL進行連接的結果都將是NULL. >SELEC…

    Linux干貨 2017-05-01
  • Linux 第七天: (08月05日) Linux文本處理工具

    Linux 第七天: (08月05日) 文本處理工具       head -n 指定貨權前n行tail -n 指定獲取后n行tail -f 顯示文件新追加內容 tail -n 0 -f /var/log/messages & 后臺監控日志 cut -d 指明分隔符,默認tabcut -f 第幾個字段cut -c 按字符…

    Linux干貨 2016-08-08
  • 網絡管理之nmcli命令的使用

    nmcli命令      地址配置工具:nmcli nmcli[ OPTIONS ] OBJECT { COMMAND | help }     device -show and manage network interfaces     …

    Linux干貨 2016-09-19
  • gitlab-ce并發超過30引起ip被封1小時的問題

    系統環境描述 System information System:     Ubuntu 14.04 Current User:   git Using RVM:  no Ruby Version: …

    Linux干貨 2015-09-06
  • 推薦-?以各種方式實現yum源,簡單暴力,絕對實操干貨!

    以各種方式實現yum源,簡單暴力,絕對實操干貨! 科普:yum不是程序包安裝工具,而是rpm包前端管理工具,通過yum可以更好的管理rpm的安裝卸載 以各種方式實現yum源,簡單暴力,絕對實操干貨! 一、本地yum源之“掛載光盤鏡像實現”! 二、本地yum源之“掛載本地磁盤上的鏡像文件”! 三、如能上網,實現自定義指定鏡像網站yum源 四、炸天重磅來襲?。?!…

    Linux干貨 2016-04-11
  • linux磁盤管理及文件系統介紹

        硬盤是計算機必備組成部分,現在的硬盤分固態硬盤和傳統機械硬盤,這里要介紹的是傳統機械硬盤。     一.硬盤最基本結構         1.硬盤是由堅硬金屬材料制成的涂以磁性介質的盤片,不同容量硬盤的盤片數不等?!?/p>

    Linux干貨 2016-06-22
欧美性久久久久