應用程序與系統命令的關係
文件位置
系統命令:一般在/bin和/sbin目錄中,或爲Shell內部指令
應用程序:通常在/usr/bin和/usr/sbin目錄中
主要用途
系統命令:完成對系統的基本管理工作,例如IP配置工具
應用程序:完成相對獨立的其他輔助任務,例如網頁瀏覽器
適用環境
系統命令:一般只在字符操作界面中運行
應用程序:根據實際需要,有些程序可在圖形界面中運行
運行格式
系統命令:一般包括命令字、命令選項和命令參數
應用程序:通常沒有固定的執行格式
典型應用程序的目錄結構
文件類型 | 保存目錄 |
普通執行程序文件 | /usr/bin |
服務器執行程序文件和管理程序文件 | /usr/sbin |
應用程序配置文件 | /etc |
日誌文件 | /var/log |
應用程序文檔文件 | /usr/share/doc |
應用程序手冊頁文件 | /usr/share/man |
常見的軟件包封裝類型
封裝類型 | 說明 |
rpm軟件包 | 擴展名爲“.rpm” |
deb軟件包 | 擴展名爲“.deb” |
源代碼軟件包 | 一般爲“.tar.gz”、“.tar.bz2”等格式的壓縮包 包含程序的原始代碼 |
附帶安裝程序的軟件包 | 在壓縮包內提供install.sh、setup等安裝程序 或以“.bin”格式的單個執行文件提供 |
綠色免安裝的軟件包 | 在壓縮包內提供已編譯好的執行程序文件 解開壓縮包後的文件即可直接使用 |
RPM Package Manager
由Red Hat公司提出,被衆多Linux發行版所採用
建立統一的數據庫文件,詳細記錄軟件包安裝、卸載等變化信息,能夠自動分析軟件包依賴關係
一般命名格式:
bash-3.1-16.1.i386.rpm
軟件名稱版本號發佈次數硬件平臺 擴展名
RPM包管理命令——rpm
主要功能
1. 查詢RPM軟件、包文件的相關信息
2. 安裝、升級、卸載RPM軟件包
3. 維護RPM數據庫信息
查詢已安裝的RPM軟件信息
格式:rpm -q[子選項] [軟件名]
用法:結合不同的子選項 完成不同查詢
-qa:查看系統中已安裝的所有RPM軟件包列表(結合管道 rpm -qa | wc -l 顯示已安裝的RPM軟件個數)
-qi:查看指定軟件的詳細信息
-ql:查詢指定軟件包所安裝的目錄、文件列表
-qc:僅顯示指定軟件包安裝的配置文件
-qd:僅顯示指定軟件包安裝的文檔文件
-qf:查看指定的文件或目錄是又哪個軟件包所安裝的
例如:查詢文件或目錄屬於哪個RPM軟件
格式:rpm -qf 文件或目錄名
查詢未安裝的RPM包文件
格式:rpm -qp[子選項] RPM包文件
用法:結合不同的子選項 完成不同查詢
-qpi:通過.rpm包文件查看該軟件的詳細信息
-qpl:查看.rpm安裝包內所包含的目錄、文件列表
-qpc:查看.rpm安裝包內包含的配置文件列表
-qpd:查看.rpm安裝包內包含的文檔文件列表
安裝或升級RPM軟件
格式:rpm [選項] RPM包文件...
用法:不同選項適用於不同情況
-i:安裝一個新的rpm軟件包
-U:升級某個rpm軟件,若原本未裝,則進行安裝
-F:更新某個rpm軟件,若原本未裝,則放棄安裝
例如:卸載指定的RPM軟件
格式:rpm -e 軟件名
輔助選項
--force:強制安裝所指定的rpm軟件包
--nodeps:安裝、升級或卸載軟件時,忽略依賴關係
-h:以“#”號顯示安裝的進度
-v:顯示安裝過程中的詳細信息
--rebuilddb或--initdb:重建RPM數據庫
--imoort:導入驗證公鑰
解決軟件包依賴關係
安裝有依賴關係的多個軟件時
被依賴的軟件包需要先安裝
同時指定多個.rpm包文件進行安裝
卸載有依賴關係的多個軟件時
依賴其他程序的軟件包需要先卸載
同時指定多個軟件名進行卸載
忽略依賴關係
結合“--nodeps”選項,但可能導致軟件異常