目錄
前言
一、應用程式概述
1、命令與程式的關系
2、程式的組成
3、軟體包封裝型別
二、RPM
1、RPM概述
2、RPM用法
三、編譯安裝
1、解包
2、配置
3、編譯
4、安裝
5、啟用httpd服務
結語
前言
在Linux中的應用程式被視為將軟體包安裝到系統中后產生的各種檔案,其中包括可執行檔案、組態檔、用戶手冊等內容,這些檔案被組織為一個有機的整體,為用戶提供特定的功能,因此對于“安裝軟體包”與“安裝應用程式”這兩種說法,并不做嚴格的區分
一、應用程式概述
1、命令與程式的關系
在Linux作業系統中,一直以來命令和應用程式并沒有特別明確的區別,從長期使用習慣來看可以通過以下描述來對兩者進行區別
- 應用程式命令的執行檔案大多比較小,通常放置在/bin和/sbin目錄中,對于內部命令常集成在Bash程式內,而不是獨立地執行檔案,命令檔案一般在安裝作業系統時一起安裝,用于輔助作業系統本身的管理,命令列大多適用于“命令字 選項 引數”形式的一般格式,命令只在字符操作界面中運行
- 應用程式的執行檔案通常放在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin中,應用程式一般需要在作業系統之外另行安裝,提供相對獨立于作業系統的功能,有時候等同于“軟體”的概念,應用程式一般沒有固定的執行格式,運行方式由程式開發者自行定義,應用程式可能會用到圖形界面,形式多樣,有些應用程式提供的執行檔案,能夠使用像Linux命令一樣的運行格式,所以也經常被稱為程式命令
2、程式的組成
安裝完一個軟體包以后,可能會向系統中復制大量的資料檔案,并進行相關設定,在Linux作業系統中,典型的應用程式通常由以下幾部分組成
- 普通的可執行程式檔案:一般保存在/usr/bin目錄中,普通用戶即可執行
- 服務器程式、管理程式檔案:一般保存在/usr/sbin目錄中,只有管理員能執行
- 組態檔:一般保存在/etc目錄中,組態檔較多時會建立相應的子目錄
- 日志檔案:一般保存在/var/log目錄中
- 關于應用程式的參考檔案等資料:一般保存在/usr/share/doc/目錄中
- 執行檔案及組態檔的man手冊頁:一般保存在/usr/share/man/目錄中
3、軟體包封裝型別
對于各種應用程式的軟體包,在封裝時可以采用各種不同的型別,不同型別的軟體包其安裝方法也各不相同,常見的軟體包封裝型別如下
- RPM軟體包:這種軟體包檔案的擴展名為“.rpm”,只能在使用RPM(RPM Package Manager, RPM軟體包管理器)機制的Linux作業系統中安裝,如RHEL、Fedora、CentOS等,RPM軟體包一般針對特定版本的作業系統量身定制,因此依賴性較強,安裝RPM軟體包可使用作業系統中的rpm命令
- DEB軟體包:這種軟體包檔案的擴展名為“.deb”,只能在使用DPKG(Debian Package,Debian包管理器)機制的Linux作業系統中進行安裝,如Debian、Ubuntu等,安裝DEB軟體包可使用作業系統中的dpkg命令
- 源代碼軟體包:這種軟體包是程式員開發完成的原始代碼,一般被制作成“.tar.gz”或“.tar.bz2”等格式的壓縮包檔案,因多數使用tar命令打包而成,所以經常被稱為“TarBall”,安裝源代碼軟體包需要使用相應的編譯工具,如Linux中的C語言編譯器gcc,因此,在安裝作業系統的時候盡量勾選“開發工具”一項來安裝基本的編譯環境
- 附帶安裝程式的軟體包:這種軟體包的擴展名不一,但仍以TarBall格式的居多,軟體包中會提供用于安裝的可執行程式或腳本檔案,如install、 sh、 setup等,有時候會以“.bin”格式的單個安裝檔案形式出現,安裝時只需運行安裝檔案就可以根據向導程式的提示完成安裝操作
開放源代碼的自由軟體絕大多數選擇以TarBall的形式發布,而RPM軟體包、DEB軟體包等則使了二進制的檔案格式,代碼相對比較封閉
二、RPM
1、RPM概述
RPM軟體包管理機制最早由Red Hat公司提出,后來隨著版本的升級逐漸融入更多的優秀特性,成為眾多Linux發行版中公認的軟體包管理標準,使用RPM機制封裝的軟體包檔案擁有約定俗成的命名格式,一般使用 “軟體名-軟體版本-發布次數.作業系統型別.硬體架構型別.rpm” 的檔案名形式
2、RPM用法
rpm 選項 rpm -qa 顯示系統中以rpm方式安裝的所有軟體串列 rpm -q 軟體包名稱 查看某個安裝包是否安裝 rpm -qi 軟體包名稱 查看指定軟體包詳細資訊 rpm -ql 軟體包名稱 顯示軟體包安裝后所在的目錄及檔案串列 rpm -qf 檔案或目錄名 查看檔案或目錄是由哪個軟體包安裝的 rpm -ivh 軟體包名稱 以rpm方式安裝軟體(不推薦,還要裝依賴包,推薦使用yum) rpm -qp 查詢未安裝軟體 rpm -e 軟體包名稱 卸載安裝包 rpm -U 軟體包名稱 升級安裝或新安裝 rpm -F 軟體包名稱 升級安裝,未安裝則不安裝 rpm -h 軟體包名 顯示安裝進度 rpm -v 軟體包名 顯示安裝程序詳細資訊 rpm --force 軟體包名 強制安裝,舊版本安裝 rpm --nosignature 安裝時不檢查密鑰
三、編譯安裝
以安裝httpd為例
1、解包
解壓依賴包sj.tar.gz yum install 依賴包內軟體包名稱 yum install gcc gcc-c++ make pcre-devel expat-devel perl pcre-devel.x86_64 apr-util-devel.x86_64 解壓httpd包 tar zxf httpd.tar.gz -C /usr
2、配置
httpd包解壓到usr目錄下后會有解壓后的httpd目錄,進入解壓后的該目錄進行后續配置 cd /usr/httpd ./configure --prefix=/指定安裝引數檔案位置
3、編譯
make
4、安裝
make install
5、啟用httpd服務
cd /引數安裝位置/bin ./apachectl
結語
大多數的Linux發行版都提供了相當豐富的應用程式,而這些程式的版本往往滯后于該軟體的最新源代碼版本,因為大多數的開源軟體總是以源代碼的形式最先發布,之后才會逐漸出現.rpm、.deb等二進制封裝的版本,下載應用程式的最新源代碼包并編譯安裝,可以在程式功能、安全補丁等方面得到及時更新
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/404234.html
標籤:其他
上一篇:Linux相關內容(四)
下一篇:Linux學習筆記(1)
