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