1. 程式人生 > >軟件及軟件包管理和安裝

軟件及軟件包管理和安裝

Linux

軟件及軟件包管理和安裝

一、rpm包管理

1、rpm包安裝

u 安裝:

rpm {-i|--install} PACKAGE_FILE…

-v: verbose顯示詳細過程

-i: 安裝

-h: 以#顯示程序包管理執行進度

rpm -ivh PACKAGE_FILE ...(最簡單的安裝方式)

2、rpm包升級

u 升級:

rpm {-U|--upgrade} PACKAGE_FILE...

rpm {-F|--freshen} PACKAGE_FILE...

upgrade:安裝有舊版程序包,則“升級”

如果不存在舊版程序包,則“安裝”

rpm -Uvh PACKAGE_FILE ...

freshen:安裝有舊版程序包,則“升級”

如果不存在舊版程序包,則不執行升級操作

rpm -Fvh PACKAGE_FILE ...

--oldpackage:降級

--force: 強制安裝

u 升級註意項

註意:

(1) 不要對內核做升級操作;Linux支持多內核版本並存,因此, 應該用rpm -ivh直接安裝新版本內核

(2) 如果原程序包的配置文件安裝後曾被修改,升級時,新版本 的提供的同一個配置文件並不會直接覆蓋老版本的配置文 件,而把新版本的文件重命名(FILENAME.rpmnew)後保留

3、rpm包查詢

u rpm {-q|--query} [select-options] [query-options]

u [select-options]:

-a: 所有包,如:rpm -qa |grep bas

-f: 查看指定的文件由哪個程序包安裝生成

-p rpmfile:針對尚未安裝的程序包文件做查詢操作

u [query-options]

--changelog:查詢rpm包的changelog

-c: 查詢程序的配置文件

-d: 查詢程序的文檔

-i: information查看包的安裝信息

-l: 查看指定的程序包安裝後生成的所有文件

--scripts:程序包自帶的腳本

--provides: 列出指定程序包所提供的CAPABILITY

-R: 查詢指定的程序包所依賴的CAPABILITY

u rpm2cpio 包文件|cpio –itv 預覽包內文件

u

rpm2cpio 包文件|cpio –id “*.conf” 釋放包內文件

4、rpm包卸載:

rpm {-e|--erase} PACKAGE_NAME ...

二、yum管理

1、yum介紹

u CentOS: yum, dnf

u YUM: Yellowdog Update Modifier,rpm的前端程序,可解決軟件包相關依賴性,可在多個庫之間定位軟件包,up2date的替代工具

u yum repository: yum repo,存儲了眾多rpm包,以及包的相關的元數據文件(放置於特定目錄repodata下)

u 文件服務器:

http://

https://

ftp://

file://

2、yum配置文件

u 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:意為隨機挑選,默認值

priority:按順序訪問

cost= 默認為1000

3、yum倉庫

u yum的repo配置文件中可用的變量:

$releasever: 當前OS的發行版的主版本號

$arch: 平臺,i386,i486,i586,x86_64等

$basearch:基礎平臺;i386, x86_64

$YUM0-$YUM9:自定義變量

4、yum源

u 阿裏雲repo文件:

http://mirrors.aliyun.com/repo/

u CentOS系統的yum源

阿裏雲:https://mirrors.aliyun.com/centos/$releasever/os/x86_64/

u EPEL的yum源:

阿裏雲:https://mirrors.aliyun.com/epel/$releasever/x86_64

5、yum命令

u yum命令的用法:

yum [options] [command] [package ...]

u 顯示倉庫列表:

yum repolist [all|enabled|disabled]

u 顯示程序包:

yum list

yum list [all | glob_exp1] [glob_exp2] [...]

yum list {available|installed|updates} [glob_exp1] [...]

u 安裝程序包:

yum install package1 [package2] [...]

yum reinstall package1 [package2] [...] (重新安裝)

u 升級程序包:

yum update [package1] [package2] [...]

yum downgrade package1 [package2] [...] (降級)

u 檢查可用升級:

yum check-update

u 卸載程序包:

yum remove | erase package1 [package2] [...]

u 查看程序包information:

yum info [...]

u 查看指定的特性(可以是某文件)是由哪個程序包所提供:

yum provides | whatprovides feature1 [feature2] [...]

u 清理本地緩存:

清除/var/cache/yum/$basearch/$releasever緩存

yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

u 構建緩存:

yum makecache

u 搜索:yum search string1 [string2] [...]

以指定的關鍵字搜索程序包名及summary信息

u 查看指定包所依賴的capabilities:

yum deplist package1 [package2] [...]

u 查看yum事務歷史:

yum history [info|list|packages-list|packages-info|

summary|addon-info|redo(回復)|undo(撤銷)|

rollback|new|sync|stats]

yum history

yum history info 6

yum history undo 6

u yum的命令行選項:

--nogpgcheck:禁止進行gpg check

-y: 自動回答為“yes”

-q:靜默模式

--disablerepo=repoidglob:臨時禁用此處指定的repo

--enablerepo=repoidglob:臨時啟用此處指定的repo

--noplugins:禁用所有插件

6、yum倉庫配置

1)進入到yum的配置文件目錄,新建一個目錄bak,把裏邊的配置文件移動至bak目錄,再新建一個配置文件.repo結尾的文件,習慣命名為:base.repo。如圖2.1

技術分享圖片

圖2.1

2)查看是否有autofs這個服務:#rpm -q autofs

(3)如果沒有,先找到虛擬機右下角,找到一個光盤的圖標,把它連接上,如圖2.2。再到/run/media/root/CentOS\ 7\ x86_64/Packages/目錄下安裝這個服務

:rpm -ivh /run/media/root/CentOS\ 7\ x86_64/Packages/autofs-5.0.7-69.el7.x86_64.rpm

技術分享圖片

圖2.2

3)啟動這個服務:#systemctl start autofs(CentOS 7)

#service autofs start(CentOS 6)

(4)設置為開機啟動:#systemctl start autofs(CentOS 7)

#chkconfig autofs on(CentOS 6)

(5)進入到/misc/cd/(自動掛載)這個目錄中:#cd /misc/cd/

6)找到repodate目錄的父目錄路徑,如圖2.2

技術分享圖片

圖2.2

7)寫入配置文件內容,一個是系統光盤路徑,一個是網絡的yum源,如圖2.3。

技術分享圖片

圖2.3

8)配置好就可以用yum來裝你所需要的工具了。


軟件及軟件包管理和安裝