軟件及軟件包管理和安裝
一、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來裝你所需要的工具了。