RedHat系列软件管理(第二版) --二进制软件包管理
RedHat系列軟件管理
--二進(jìn)制軟件包管理
Linux學(xué)習(xí)思想-Linux相對(duì)與Windows來(lái)非常透明,因此,無(wú)論是系統(tǒng),還是軟件,都會(huì)有本身自帶,或者是Man給提供的非常詳細(xì)的說(shuō)明/幫助文檔,只要我們利用好這些文檔,只要英文足夠好,不需要任何教科書(shū),任何教學(xué)視頻,你都可以學(xué)好Linux!
?
RPM包管理
Linux軟件包命名形式
sudo-1.7.2p1-5.el5.i386.rpm?
#其中包括軟件名(sudo),版本號(hào)(1.7.2pl),發(fā)行號(hào)(5.el5),和硬件平臺(tái)(i386)
?
卸載軟件包
rpm?-e?[soft-name] #如果其它軟件包有依賴(lài)關(guān)系,卸載時(shí)會(huì)產(chǎn)生提示信息
rpm?-e?--nodeps?[soft-name] #添加--nodeps,可強(qiáng)行卸載;但是不建議這樣卸載
安裝軟件包
rpm?-ivh?[軟件包名]【如:sudo-1.7.2p1-5.el5.i386.rpm】
v:? 表示顯示詳細(xì)信息,可選
h: 表示顯示安裝進(jìn)度,可選
?
1、 掛載光盤(pán):【最佳實(shí)踐:將光盤(pán),U盤(pán)等掛載到/mnt目錄下】
mkdir?/mnt/cdrom
mount?/dev/cdrom?/mnt/cdrom #現(xiàn)在打開(kāi)/mnt/cdrom就相當(dāng)與訪(fǎng)問(wèn)光盤(pán)內(nèi)容
2、 查詢(xún)是否存在:ls?|?grep?sudo
?
3、 安裝: rpm?-ivh??sudo-1.7.2p1-5.el5.i386.rpm
?
4、 查看是否已安裝:rpm?-q?sudo
?
5、 rpm?-qa?|?grep?samba #查詢(xún)所有與samba有關(guān)的軟件包
【-qa表示查詢(xún)安裝了的所有的軟件包】
rpm其他安裝選項(xiàng)
--excludedocs 不安裝軟件的文檔
--prefix=PATH? 將軟件包安裝到由PATH指定的路徑下
如:rpm?-ivh?–prefix=/usr/local?sudo-1.7.2p1-5.el5.i386.rpm
【但是:大部分的rpm包都不允許改變安裝路徑】
--test 只是進(jìn)行測(cè)試,而不進(jìn)行真正安裝,比如獲取依賴(lài)關(guān)系,該軟件包是否已經(jīng)安裝
?
附-光盤(pán)中所有的二進(jìn)制軟件全部保存在CentOS|Packages[新版centOS]目錄下
?
特殊情況
A.覆蓋安裝
--replacepkgs 覆蓋軟件安裝包
B.安裝沖突
如果要安裝的軟件包中有一個(gè)文件已在安裝其它軟件包時(shí)安裝,會(huì)出現(xiàn)以下錯(cuò)誤信息:?
rpm -ivh sudo-1.8.6p3-7.el6.i686.rpm warning: sudo-1.8.6p3-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Preparing... ########################################### [100%] package sudo-1.8.6p3-7.el6.i686 is already installed
?使--replacefiles忽略改出錯(cuò)信息,覆蓋安裝
?
C.未解決依賴(lài)關(guān)系
該軟件包可能依賴(lài)于其它軟件包,在安裝了特定的軟件包之后才能安裝該軟件包。
rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm failed dependencies: sudo is needed by bark-3.2-1l使用--nodeps?選項(xiàng),可以強(qiáng)制安裝此軟件包,十有八九運(yùn)行不了。
升級(jí)軟件包
sudo?-Uvh?sudo-1.8.6p3-7.el6.i686.rpm??
?
查詢(xún)【重要】
-a? 查詢(xún)所有已安裝的軟件包.?
-f? 查詢(xún)文件所屬軟件包?
-p? 查詢(xún)軟件包,還沒(méi)安裝的軟件包?
-q? 查詢(xún)軟件包是否安裝
-i? 顯示軟件包信息?
-l? 顯示軟件包中的文件列表及所在位置
-d? 顯示被標(biāo)注為文檔的文件列表及所在位置
-c? 顯示被標(biāo)注為配置文件的文件列表及所在位置
?
實(shí)例:
1、查詢(xún)文件/命令隸屬的軟件包
rpm?-qf?/etc/services #配置文件
rpm?-qf?/bin/ls #命令
2、查詢(xún)軟件包信息
rpm?-qi?samba //查詢(xún)一個(gè)已經(jīng)安裝的軟件包
rpm?-qip?samba-3.6.9-151.el6.i686.rpm #可以查詢(xún)還沒(méi)有安裝的rpm包,全稱(chēng)!
3、查詢(xún)安裝包的安裝文件,及安裝文件所在位置
rpm?-ql?sudo
rpm?-qip?vsftpd-2.2.2-11.el6_3.1.i686.rpm #沒(méi)有安裝,全稱(chēng)!
4、查詢(xún)軟件包幫助文檔及所在位置
rpm?-qd?sudo?
rpm?-qdp?vsftpd-2.2.2-11.el6_3.1.i686.rpm #沒(méi)有安裝,全稱(chēng)!
5、查詢(xún)軟件包配置文件及所在位置
rpm?-qc?
rpm?-qcp //同上
RPM綜合運(yùn)用實(shí)例
一、vncserver是干什么用的???
rpm?-qf?vncserver
然后 rpm?-qi?vnc-server #得知仔細(xì)信息
?
二、查詢(xún)vim的標(biāo)準(zhǔn)注釋
1.查詢(xún)系統(tǒng)中是否已經(jīng)安裝某個(gè)安裝包用:rpm?-qa?|?grep?vim
而不是直接用: ???rpm?-a?vim
查詢(xún)示例文檔:rpm?-qa?vim?|?grep?example
2.然后打開(kāi)并查看
vi?/usr/share/vim/vim72/vimrc_example.vim
?
校驗(yàn)
#可用于幫助我們判斷軟件包是否出現(xiàn)問(wèn)題,以及出現(xiàn)的問(wèn)題在哪里
rpm?-V?name 正常情況下不會(huì)有任何提示,他的任何文件都沒(méi)與更改
【rpm在安裝一個(gè)軟件到系統(tǒng)中時(shí),會(huì)自動(dòng)生成一個(gè)rpm庫(kù),校驗(yàn)時(shí),會(huì)和這個(gè)庫(kù)比對(duì)】
?
5?文件的md5校驗(yàn)值?
S?文件大小?
L?鏈接文件?
T?文件的創(chuàng)建或最后修改時(shí)間?
D?設(shè)備文件?
U?文件的用戶(hù)?
G?文件的用戶(hù)組?
M?文件的權(quán)限
?
附-md5sum:通過(guò)md5算法對(duì)文件生成唯一的校驗(yàn)值,只要文件的內(nèi)容不變,則校驗(yàn)值就不會(huì)變,對(duì)該文件內(nèi)容做任何一個(gè)微小的改變,他的校驗(yàn)值都會(huì)改變
?
重要文件修復(fù)
比如/etc/inittab文件被刪除,可以將該文件從原始的安裝光盤(pán)中提取出來(lái)
1.定位該文件隸屬于哪個(gè)軟件包
rpm?-qf?/etc/inittab?
?
2.解壓所有文件到當(dāng)前目錄【不推薦】?
rpm2cpio?initscripts-8.45.30-2.el5.centos.i386.rpm?|?cpio?-idv?
???解壓指定文件到當(dāng)前目錄【推薦】?
rpm2cpio?/mnt/cdrom/initscripts-8.45.30-2.el5.centos.i386.rpm?|?cpio?-idv?./etc/inittab?【注意:./etc/inittab 只允許提取到當(dāng)前目錄下】
【在Linux?Server系統(tǒng)的管理上,我們更傾向與穩(wěn)定,而不是最新版】
?
YUM軟件包管理
應(yīng)用YUM的好處
(1)自動(dòng)解決軟件安裝包依賴(lài)關(guān)系
(2)方便軟件包的升級(jí)
(3)可信任,官方軟件包
?
1、安裝
yum?install?sudo
?
2、檢測(cè)升級(jí)
yum?check-update?sudo
yum?check-update #檢測(cè)所有的軟件包的升級(jí)
3、升級(jí)【比較重要,常用的軟件包要經(jīng)常升級(jí)一下】
yum?update?sudo
?
4、查詢(xún)軟件包信息
yum?list //會(huì)列出軟件源上的所有軟件包
最佳實(shí)踐: yum?list?|?less
yum?list?|?grep?samba
?
5、查詢(xún)軟件包信息
yum?info?[軟件名]
yum?info?sudo
?
6、卸載軟件包
yum?remove?sudo
?
7、查看幫助信息
yum?--help 或者? man?yum
【最佳實(shí)踐:yum?--help?|?less】
總結(jié)
以上是生活随笔為你收集整理的RedHat系列软件管理(第二版) --二进制软件包管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 开源监控软件ganglia安装手册
- 下一篇: 选择云备份:应当怎样和云供应商签合同