Linux基礎之軟件包管理

一.概述

在redhat系列的發行版中,采用rpm軟件包管理器,rpm原名是Red Hat Package Manager,后來當其他發行版也采用這種軟件包管理機制以后,重新命名,改為RPM Package Manager,它所能提供的功能是將編譯好的應用程序文件打包成一個或幾個程序文件,從而使得用戶能夠方便的安裝,升級,卸載軟件,而yum則是rpm包管理器的前端工具。

二.rpm包的命名格式以及基本使用

1.rpm命名格式,rpm包分為核心包和功能包

對于核心包,命名格式為:

name-version-release.arch.rpm,其中version指明了程序源碼的版本信息,組成是:major.minor.release

例如:GeoIP-1.5.0-9.el7.x86_64.rpm

對于功能包,命名格式為:

name-function-version-release.arch.rpm 其中version指明了程序源碼的版本信息,組成是:major.minor.release

例如:GeoIP-devel-1.5.0-9.el7.x86_64.rpm

2.rpm命令的基本使用

rpm的功能包括:安裝,卸載,升級,查詢,軟件包校驗,數據庫維護等功能。

rpm的使用方式:rpm [option] [package_name]

(1)軟件的安裝

 rpm  <-i,–install> [option] package_name

常用選項:

-v,-vv:詳細顯示軟件包的安裝過程,v的個數表示信息的詳細程度
-h:安裝過程中以#顯示安裝進度條,每個#代表2%的進度
–test:測試安裝,檢查并報告依賴關系
–nodeps:忽略軟件的依賴關系,強制安裝,不過最好別這么做
–replacepkgs:重新安裝

(2)軟件的卸載

rpm <-e,–erease> [option] package_name

常用選項:

–allmatch:卸載跟包名匹配到的所有軟件包
–nodeps:忽略所有依賴關系,強制進行卸載,最好不要這么做
–test:只是測試卸載,并不是真正卸載

(3)軟件的升級

rpm <-q,–query> [option] package_name

常用選項:

-a,-all:查看已經安裝的軟件信息
-f <file> : 查看指定的文件是由哪個軟件包安裝之后生成的
-l,–list:查看軟件安裝生成了哪些文件
-i,–info:查看跟指定軟件包相關的信息
-c,–configfiles:查看軟件的配置文件信息
-d,–docfiles:查看指定軟件包安裝生成的文檔文件
-R,–require:查看指定軟件的依賴關系
–provides:查看指定軟件包提供的內容
–scripts:查看安裝指定軟件包所生成的腳本

(4)軟件的校驗

 rpm <-V,–verify> [option] package_name

常用選項:

-a:查看軟件包的完整性

有時候還需要檢驗軟件包的來源合法性:

a.獲取并導入軟件包制作者的密鑰:

 rpm –import /etc/pki/rpm-pgp/RPM-GPG-KEY-CentOS-6

b.手動驗證:

rpm -k package_name

(5)軟件的升級

rpm <-F,-U> [option] package_name

常用選項:

-U:升級或安裝
-F:升級軟件
–force:強制升級

(6)軟件包信息數據庫的管理

之所以能使用rpm對軟件包進行管理,是因為rpm根據其所維護的軟件包信息數據庫進行,而此數據庫位于/var/lib/rpm中

 –initdb:初始化數據庫
 –rebuilddb:重建數據庫

三.yum的使用

yum全稱:Yellowdog Update Modifer,是rpm包管理器的前端工具,根據yum的配置文件中定義的yum倉庫的位置,在倉庫中找到合適的軟件包,然后進行安裝。

1.yum的配置文件

/etc/yum.conf:提供yum工具的公共配置信息

/etc/yum.repo/ :提供yum倉庫的配置信息

2.yum倉庫的定義

[base] #定義yum倉庫的ID

name=CentOS-$releasever – Base – 163.com #定義yum倉庫的名稱

#指明yum倉庫的位置,可以使用http,ftp等服務定義,也可以使用本地的文件路徑定義

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/  

gpgcheck={1|0} #是否進行校驗

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #要進行校驗時,要指明密鑰文件的位置 

enabled={1|0}:是否啟用此倉庫

a.掛載光盤(1)使用示例:將光盤作為本地的yum倉庫

mount -t iso9660 /dev/cdroom /media/cdroom

b.在/etc/yum.repo/目錄下創建一個以.repo結尾的文件,并添加如下內容即可                                                                                                                              

[my_yum_repo]

name=local repo

base=/media/Packages

gpgcheck=0

enabled=1   


3.yum的使用

使用格式:

yum [option] <command> [package]

其中常用的option:

-y:安裝過程中可能會安裝其他軟件包,此選項的意義是自動回答為yes,即都進行安裝
–noplugins:禁止安裝所有的插件
–nogpgcheck:安裝的時候不對軟件包的來源做驗證
–disablerepo=repo_name:臨時禁止使用指定的yum倉庫
–enablerepo=repo_name:臨時啟用指定的yum倉庫

常用的command:

install:安裝指定的軟件包
update:升級軟件包
remove:刪除指定的已經安裝的軟件包
list:列出yum倉庫中所有的rpm軟件包
info:查看指定的軟件包信息
clean {package,metadata,rpmdb,all}:清除指定的緩存信息
makecache:生成緩存信息
search:查找指定的軟件包
reinstall:重新安裝指定的軟件包
repolist:列出可用的yum倉庫
groupinstall:安裝指定的包組
groupinfo:查看指定包組的信息

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

(0)
zhangbaozhangbao
上一篇 2016-11-15
下一篇 2016-11-16

相關推薦

  • 20160803作業-用戶組和權限管理

    http://note.youdao.com/yws/public/redirect/share?id=46f06331b737c6d08a0e8c9c3d49ac9e&type=false

    Linux干貨 2016-08-08
  • CentOS 6.5 LVM磁盤管理學習筆記(二)

    ACTIVE            '/dev/vg51cto/LogVol04' [22.80 GiB]inherit  ACTIVE       …

    Linux干貨 2016-08-29
  • Shell腳本編程 流程控制—選擇

    流程控制可根據不同的情況做不同的處理,而且可重復執行指定的程序區域,在shell bash中流程控制可分為兩大類: "選擇"和"循環" 1.選擇:if、case、select 2.循環:for、while、until、select 命令結束狀態返回值: 在shell中命令執行狀態返回值分兩種,成功和失敗,0表示成功,非…

    Linux干貨 2016-08-24
  • 網絡接口bonding的設置

    網絡接口bonding的設置 一、什么是Bond 就是將多塊網卡綁定同一IP地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP地址是不可能的。通過bonding,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC地址。 二、Bonding的工作模式 Bond有七種策略模式(mode),其實指的是在傳輸數據包的時候,如何從已經…

    Linux干貨 2016-09-06
  • ansible的用法

    ansible 每臺主機擁有不同的功能,可能同時是http服務器,php-fpm的客戶端,共享存儲的客戶端等,這些功能是單獨定義的,不同主機需要的功能各不相同 應確保目標主機的狀態為事先給他定義的目標狀態 使目標主機達到目標狀態有兩種方法      agentless:由服務端主機通過ssh連接到目標主機執行命令,客戶端不需要額…

    Linux干貨 2016-11-11
  • LVS類型及工作原理

    lvs工作原理 lvs(Linux Virtual Server),工作于layer4,其原理是根據請求報文的目標IP和PORT將其轉發至后端主機集群中的某一提供服務的主機,具體轉發到哪一臺后端主機需要由挑選算法來決定。通俗來說,lvs的功能是通過在內核空間的netfilter上的INPUT鏈上的ipvs實現的,當報文由物理網絡接口進入主機后,ipvs將流經…

    Linux干貨 2016-12-05
欧美性久久久久