Linux應用程式基礎與RPM軟體包管理工具以及原始碼編譯安裝
1.應用程式與系統命令的關係:
角色 | 系統命令 | 應用程式 |
---|---|---|
檔案位置 | 一般在/bin和/sbin目錄中,或為Shell內部命令 | 通常在/usr/bin和/usr/sbin目錄中 |
主要用途 | 完成對系統的基本管理工作,例如ip配置工具 | 完成相對獨立的其他輔助任務,錄入可瀏覽網頁瀏覽器 |
適用環境 | 一般只在字元操作介面中執行 | 根據實際需要,有些程式可在圖形介面中執行 |
執行格式 | 一般包括命令字,命令選項和命令引數 | 通常沒有固定的執行格式 |
2.典型應用程式的目錄結構
檔案型別 | 儲存目錄 |
---|---|
普通執行程式檔案 | /usr/bin |
伺服器執行程式檔案和管理程式檔案 | /usr/sbin |
應用程式配置檔案 | /etc |
日誌檔案 | /var/log |
應用程式參考文件檔案 | /usr/share/doc |
應用程式手冊頁檔案 | /usr/share/man |
3.常見的軟體包封裝型別:
檔案型別 | 儲存目錄 |
---|---|
RPM軟體包 | 副檔名為:“.rpm” |
DEB軟體包 | 副檔名為“.deb” |
原始碼軟體包 | 一般為“tar.gz”,“tar.bz2”等格式的壓縮包 |
綠色免安裝的軟體包 | 軟體包的副檔名不一,以TarBall格式的居多在壓縮包內提供以編譯好的執行程式檔案 解開壓縮包後的檔案即可直接使用 |
4.RPM包管理工具
Red-Hat Package Manager
由Red Hat 公司提出,被眾多LINUX發行版本採用
建立統一的資料庫檔案
詳細記錄軟體安裝包,解除安裝等變化資訊
自動分析軟體包依賴關係
RPM軟體包
軟體素材參考:http://www.rpm.org
一般命名格式:bash-4.1.2-15.el6_4.X86_64.rpm
rpm命令的格式
rpm命令能夠實現幾乎所有對RPM軟體包的管理功能
執行 “man rpm" 命令可以獲取得關於rpm命令的詳細幫助資訊
rpm命令功能
查詢,驗證RPM軟體包的相關資訊
安裝,升級,解除安裝RPM軟體包
維護rpm資料庫資訊等綜合管理操作
查詢RPM軟體包資訊
查詢已安裝的RPM的軟體資訊
格式:rpm -q [子選項] [軟體名}
常用選項
-qa -qi -ql -qf -qc -qd
查詢未安裝的RPM軟體包中文資訊
格式 rpm -qp[子選項] RPM包檔案
常用選項
-qpi -qpl -qpc -qpd
下表為軟體包命令查詢選項具體作用:
命令 | 作用 |
---|---|
rpm -qa | 顯示所有已安裝的程式名 |
rpm -qi +程式名 | 顯示已安裝的程式的詳細資訊 |
rpm -ql +程式名 | 顯示已安裝的的程式的檔案列表 |
rpm -qf +程式名 | 查詢已安裝的程式屬於哪個安裝包 |
rpm -qc +程式名 | 列出已安裝程式的配置檔案 |
rpm-qd +程式名 | 列出已安裝程式的軟體包文件所在位置 |
rpm -qR+程式名 | 列出已安裝程式的依賴的軟體包及檔案 |
rpm -qpi +程式名 | 顯示未安裝的程式的詳細資訊 |
rpm-qpl +程式名 | 顯示未安裝的程式的檔案列表 |
rpm -qpf +程式名 | 顯示未安裝的程式屬於哪個程式 |
rpm -qpc +程式名 | 顯示未安裝的程式的配置檔案 |
rpm -qpd +程式名 | 顯示未安裝的程式的軟體包文件的位置 |
字元 | 功能 |
---|---|
-q | 使用詢問模式,當遇到任何問題時,rpm指令會先詢問使用者 |
-R | 顯示套件的關聯性資訊 |
- S | 顯示檔案莊濤,本引數需配合“-1”引數使用 |
-U | <套件檔> 或–upgrade,<套件檔>:升級指定的套建檔 |
-v | 顯示指令執行過程 |
-vv | 詳細顯示指令執行過程,便於排錯 |
查詢rpm軟體包資訊的命令選項及含義:
命令 | 選項 | 作用 |
---|---|---|
rpm | -q +程式名 | 查詢軟體包是否安裝 |
rpm | -qa | 查詢xxx是否被安裝過 |
rpm | -i | 安裝 |
rpm | -e | 解除安裝 |
rpm | -U | 升級(不管程式是否安裝過,都給它升級) |
rpm | –force | 強制 |
rpm | –nodeps | 不檢查與其他軟體包的依賴關係 |
rpm | -v | 顯示過程資訊 |
rpm | -h | 在安裝或升級過程中以#顯示進度 |
如何安裝無簽名認證的rpm包
rpm的簽名機制是為了驗證rpm包來源的有效性和正當性,通過這個認證可以防止rpm包被惡意更改和確認包的來源,更加安全可靠
下面一條命令就是解決本地安裝rpm包,yum解決依賴關係但不是官方rpm包,缺乏簽名認證時的一種方法
yum --nogpgcheck .rpm (安裝.rpm包)
維護RPM資料庫
重建RPM資料庫 rpm --rebuilddb 或 rpm --initdb
-匯入驗證公鑰 rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7(在官網上下載相應金鑰)
解決軟體包依賴關係方法
安裝有依賴關係的多個軟體時
被依賴的軟體包需要先安裝
可同時指定多個.rpm包檔案進行安裝
解除安裝有依賴關係的多個軟體時
依賴其他程式的軟體包需要先解除安裝
可同時指定多個軟體名進行解除安裝
忽略依賴關係
結合 “--nodeps”選項,但可能導致軟體異常
5.原始碼編譯概述
使用原始碼安裝軟體的優點
獲得最新軟體版本,及時修復bug
根據使用者需要,靈活定製軟體功能
應用場合舉例
安裝較新版本的應用程式時
當前安裝的程式無法滿足需要時
需要為應用程式新增新的功能時
Tarball封包
.tar.gz和.tar.bz2格式據多
軟體素材參考:http://sourceforge.net
完整性校驗
md5sum校驗工具
確認原始碼編譯環境
需安裝支援C/C++程式語言編譯器
gcc, gcc-c++, make, ...
編譯安裝的基本過程
1,tar 解包
tar zvxf/jxvf xxx.tar.gz/xxx.tar.bz2 -C 目標路徑
2,配置
./configure --prefix=目標路徑(此軟體安裝到哪裡去)
3,編譯
make && make install
相關文章
- Greenplum_原始碼編譯安裝和RPM包安裝原始碼編譯
- 龍芯麒麟原始碼編譯MySQL生成軟體包進行安裝原始碼編譯MySql
- 徹底解除安裝rpm軟體包的指令碼指令碼
- 基於Linux的MySQL5.7原始碼編譯安裝LinuxMySql原始碼編譯
- centos(linux): rpm -V 驗證rpm包安裝程式的安全CentOSLinux
- 『現學現忘』Docker基礎 — 12、通過RPM軟體包方式安裝DockerDocker
- Linux環境PostGIS原始碼編譯安裝Linux原始碼編譯
- linux-原始碼的編譯安裝和解除安裝Linux原始碼編譯
- 基於Linux的MySQL5.7RPM包安裝LinuxMySql
- linux源瑪包編譯安裝Linux編譯
- 使用CheckInstall從原始碼製作RPM安裝包原始碼
- yum安裝軟體之後如何儲存rpm安裝包
- 04 原始碼編譯安裝與介紹原始碼編譯
- RPM包安裝與介紹
- Linux軟體包轉換-deb與rpm互轉Linux
- LINUX下編譯原始碼時所需提前安裝的常用依賴包列表Linux編譯原始碼
- 原始碼編譯安裝Redis原始碼編譯Redis
- rpm包安裝升級與解除安裝
- Linux軟體管理之RPM包1Linux
- Linux作業系統中軟體安裝:用RPM包管理器安裝軟體步驟Linux作業系統
- 『學了就忘』Linux軟體包管理 — 47、Linux原始碼包的安裝和解除安裝Linux原始碼
- RPM包的安裝與升級
- Linux rpm查詢命令以及RPM包驗證Linux
- 原始碼編譯安裝的原理原始碼編譯
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯
- Linux - openssh透過原始碼build rpm包Linux原始碼UI
- linux基礎:1、linux簡介、虛擬化軟體的安裝與配置、Xshell的安裝與配置Linux
- Linux RPM包安裝、解除安裝、升級命令講解Linux
- MySQL5.7.16原始碼編譯安裝MySql原始碼編譯
- 阿里雲mysql原始碼編譯安裝阿里MySql原始碼編譯
- nginx原始碼編譯安裝(詳解)Nginx原始碼編譯
- rpm 與 原始碼安裝的一些差異原始碼
- Ubuntu 16.04下 Mysql5.7.17原始碼編譯與安裝UbuntuMySql原始碼編譯
- 安裝的 Linux 軟體包有多少?Linux
- linux mint 19安裝 kvm 軟體包Linux
- Linux rpm -e --nodeps rpm解除安裝Linux
- Linux中軟體包安裝、查詢用哪個命令?Linux
- linux下基於官方原始碼編譯ipoptLinux原始碼編譯