本次操做的環境依然仍是在CentOS6.6上。
html
第一部分:rpm解釋說明前端
1、對rpm包的一些簡單的解釋node
在windows系統中,安裝一個程序很簡單。直接點擊下一步一直安裝下去便可。可是在linux系統下,卻不是。若是玩轉linux系統,卻連軟甲都不會裝,確實有些說不過去。所以,今天寫點關於linux程序包管理安裝的東西。linux
一、先對linux軟件程序須要的程序包進行必定的瞭解。所謂程序包,其實就是所需程序的安裝包。在不一樣的linux系統上,程序包的格式以及管理工具也有些不一樣在redhat上以rpm爲後綴,其以人rpm爲管理器;而在debian上,以deb爲軟件包後綴名,以dpt爲管理工具等;一些格式。就目前發展趨勢,rpm有成爲linux系統程序包標準規範的趨勢。並且每一個程序包都有相對應的平臺。shell
爲了說明區別,特地拿出一個軟件包來對其裏報名上的一些格式進行說明:device-mapper-libs-1.02.90-2.el6.x86_64.rpm。其中標藍色的部分是表示軟件包的報名。在linux系統中,一般把一個很大的軟件包拆分紅幾個或多個小的軟件包。紅色標記的部分表示的是軟件的主版本號;粉紅色部分指的是軟件包的次版本號;綠色部分指的是軟件包的修訂號;深紅色部分表示的是軟件的適應的系統爲redhat6企業級;青綠色部分指的是軟件包使用的平臺;最後黑色部分表示的是軟件包是rpm格式的軟件包。一個軟件包的發現每每有不少的平臺的。常見的有x86:i386 i486 i586 i686 x86_64:x64,x86_64等一系列的平臺。可是其中會有一類帶noarch的軟件包,代表的是此類的軟件包是無平臺的。數據庫
程序包的管理主要表如今將編譯好的應用程序的各組成文件打包一個或幾個程序包文件,從而方便快捷地實現程序包的安裝、卸載、查詢、升級和校驗等管理操做。具體這裏就不詳細說明,閒話很少說,接下來對rpm命令進一步的說明解釋。apache
二、對rpm命令使用基本解釋vim
對於rpm這條命的字面解釋意思,紅帽程序包管理器。(我的解釋)。Rpm命令對於程序包至關重要。它能跟的選項參數也不少。接下來對其一些經常使用的選項參數進行分類簡單的說明。windows
2.1、首先說明其rpm安裝程序包的一些選項參數,通常在安裝程序包的時候基本上都會使用到其中-ivh上個選項參數。但是針對瞭解這個三個參數的意義嗎?接下對其進行一些簡單的說明。centos
rpm {-i|--install} [install-options] PACKAGE_FILE ...
-i:表示的安裝程序包;
-v:verbose指的是安裝過程顯示詳細信息;
-vv:顯示更加詳細的信息,這個選項參數通常不多使用,基本-V就能知足使用;
-h #:顯示程序包軟件進度,默認爲2%。可是能夠本身手動修改百分比;
rpm -ivh package_file....
[install-options]
--test::測試安裝,但不真正執行安裝過程;避免時間浪費;
--nodeps:linux不少程序包是拆分的,因此不少包之間都存在依賴關係的,而這個選項能夠忽略依賴關係。
--replacepkgs:從新安裝(替換原來的程序包)
--nodigest :不檢查包合法性
--nosignature:不檢查來源合法性
--noscripts:表示不執行程序包的腳本片斷;大致有四類腳本
對上面的一些安裝選項參數進行簡單的演示一遍:
[root@www Packages]# rpm -ivh --test httpd-devel-2.2.15-39.el6.centos.x86_64.rpm
warning: httpd-devel-2.2.15-39.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
apr-devel is needed by httpd-devel-2.2.15-39.el6.centos.x86_64
apr-util-devel is needed by httpd-devel-2.2.15-39.el6.centos.x86_64
httpd=2.2.15-39.el6.centos is needed by httpd-devel-2.2.15-39.el6.centos.x86_64
--test測試安裝,但不真正執行安裝過程;
[root@wwwPackages]#rpm-ivh--test --nodeps httpd-devel-2.2.15-39.el6.centos.x86_64.rpm
warning: httpd-devel-2.2.15-39.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
--nodeps:忽略依賴關係,再也不回出現依賴關係的提示
[root@www Packages]# rpm -ivh --test --nodeps --nosignature httpd-devel-2.2.15-39.el6.centos.x86_64.rpm
Preparing... ########################################### [100%]
[root@www Packages]#
--nosignature:不檢查來源合法性
在這裏須要簡單的說明一些問題。在生產環境當中,安裝的程序包。儘可能避免隨意從網絡隨意下載使用。一但程序包中夾帶病毒等而已代碼,很容易致使服務器出現故障問題。本人給出幾點建議:1、儘可能衝程序包的官方站點下載,或者使用系統光盤。2、在鏡像站點下載。在項目官方的站點下載,3、在一些值得信賴的第三方組織的官網官網中下;4、若是你認爲本身技術過硬,能夠本身製做一個安裝包。即便你在這些站點下的軟件包,也須要對其進行來源和程序包的完整性進行校驗。
2.2、rpm卸載程序包。既然有裝上程序包,確定也有相對應的卸載程序包。而它所能適應的選項參數,和安裝即便相對應的。
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...
-e:指明的是卸載程序包;
--allmatches:指明的是軟件包的全部路徑;
--nodeps:忽略程序包的依賴關係,
--test:進行測試卸載程序包;
對上面的一些安裝選項參數進行簡單的演示一遍:
[root@www Packages]# rpm --erase --nodeps zsh
[root@www Packages]# echo $?
0
在linux系統,沒有保存就是最好的結果
2.三、程序包升級。既然安裝了程序包,有時候也是須要對軟件包升級的操做,接下來對升級一些操做進行一些說明;
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
檢查舊版本的程序包,若是新的比舊的版本高,則升級;若是程序包不存在,則「安裝」
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
對上面的解釋進行一些簡單的操做演示;
[root@www Packages]# rpm -U --nosignature zsh-4.3.10-7.el6.x86_64.rpm
[root@www Packages]# rpm -qa | grep zsh
zsh-4.3.10-7.el6.x86_64
[root@www Packages]# rpm -F --nosignature zsh-4.3.10-7.el6.x86_64.rpm
[root@www Packages]#
[root@www Packages]# rpm -qa | grep zsh
[root@www Packages]#
檢查舊版本的程序包,若是新的比舊的版本高,則升級;若是程序包不存在,則「不安裝」
既然存在軟件包升級那必然反正有程序包降級。否則就會出現許升不需降的狀況。對於一個系統來講不符合邏輯的。其實降級也很簡單,只須要跟下面這個選項參數便可;
--oldpackage:降級
--force:強行的;
在這裏須要提醒幾點的是:一、若是使用源碼包對程序包升級的時候,儘可能保留原有的配置信息。儘可能備份保留,以免一單若是新程序不能運行,致使整個生產線不能正常運行的狀況。二、儘可能不要對linux系統內核作升級,若是一旦內核升級出現問題或者升級失敗,頗有可能致使系統崩潰;這樣會致使嚴重的狀況。若是真的須要升級內核,能夠採用多內核並存的形式。
2.四、既然上面那些操做都有,那相應的也有查詢的操做。當你想對一個程序進行一些確認或者安裝卸載的時候,經過查詢,能夠確認本身想要的東西。接下來對查詢進行一些說明。
rpm {-q|--query} [select-options] [query-options]FILENAME
-q:對其進行查詢;
[select-options]
-a:全部安裝包
-f:查看指定的文件由那個程序包安裝生成;
-p /PATH/TO/PACKAGE_FILE:針對還沒有安裝的程序包文件作查詢操做--whatprovides CAPABILITY:查詢指定的CAPABILIY由哪一個包所提供;
--whatrequires CAPABILITY:查詢指定的CAPABILIY被哪一個包所依賴;
[query-options]安裝包名
--changelog:查詢rpm包的changlog
-c:查看安裝程序的配置文件
-d:程序的幫助文檔
-i:information
-l:查看指定程序包安裝後生成的全部文件
--scripts:程序包自帶的腳本片斷
-R:查詢指定的程序包所依賴的capability;
對於上面的選項參數,對其部分進行演示,其餘相似。
[root@www Packages]# rpm -qa zsh
zsh-4.3.10-7.el6.x86_64
[root@www Packages]# rpm -qf /bin/zsh
zsh-4.3.10-7.el6.x86_64
[root@www Packages]# rpm -qi zsh
Name : zsh Relocations: (not relocatable)
Version : 4.3.10 Vendor: CentOS
Release : 7.el6 Build Date: Mon 25 Nov 2013 01:40:59 AM CST
Install Date: Mon 24 Aug 2015 04:18:17 AM CST Build Host: c6b9.bsys.dev.centos.org
Group : System Environment/Shells Source RPM: zsh-4.3.10-7.el6.src.rpm
Size : 5009102 License: BSD
Signature : RSA/SHA1, Mon 25 Nov 2013 03:33:46 AM CST, Key ID 0946fca2c105b9de
Packager : CentOS BuildSystem <http://bugs.centos.org>
URL : http://zsh.sunsite.dk/
Summary : A powerful interactive shell
Description :
The zsh shell is a command interpreter usable as an interactive login
shell and as a shell script command processor. Zsh resembles the ksh
shell (the Korn shell), but includes many enhancements. Zsh supports
command line editing, built-in spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and more.
其餘一些選項參數使用方法rpm -qi zsh相似;
二、5對上面說的一些地方進行補充說明。補充說明包的校驗一些知識點。對於校驗碼的製做過程,就不作過多的解釋說明。在掛載光盤鏡像的時候,官方都會提供校驗碼。通常大多在使用本地源的時候,不少人都不會開啓祕鑰認證。可是若是你想使用驗證祕鑰。能夠導入使用。命令以下:
rpm --import /PATH/FROM/GPG-PUBKEY-FILE
-K,不導入驗證祕鑰
若是你的rpm數據庫損壞,你該若是辦呢?不要着急有辦法可以補救。你能夠經過rpm數據庫的初始化或者重建的就行數據庫回覆。
rpm{--initdb|--rebuilddb}
initdb:初始化
若是實現不存在數據庫,則新建之,不然,不執行任何操做;
rebuilddb:重建
不管當前存在與否,直接從新建立數據庫;
在這裏值得注意的一點是,也不是全部在什麼狀況下初始化或者重建都有效。當/var/lib/rpm/下的Packages文件損壞或者刪除的時候,初始化和重建都不能對其生效。可是/var/lib/rpm/下的其餘文件若是損毀,均可以經過初始化或者重建補救回來。對補救方式就行演示一下過程。
一、進入rpm數據庫目錄。能夠發現數據如今只剩軟件包,其餘都被刪除。
[root@www rpm]# pwd
/var/lib/rpm
[root@www rpm]# ll
total 60860
-rw-r--r-- 1 root root 62320640 Aug 24 04:38 Packages
[root@www rpm]#
接下來進行補救。
二、先對數據進行重建
[root@www rpm]# rpm --rebuilddb
[root@www rpm]# ll
total 73680
-rw-r--r-- 1 root root 5603328 Aug 24 04:41 Basenames
-rw-r--r-- 1 root root 12288 Aug 24 04:41 Conflictname
-rw-r--r-- 1 root root 1544192 Aug 24 04:41 Dirnames
-rw-r--r-- 1 root root 5373952 Aug 24 04:41 Filedigests
-rw-r--r-- 1 root root 24576 Aug 24 04:41 Group
-rw-r--r-- 1 root root 20480 Aug 24 04:41 Installtid
-rw-r--r-- 1 root root 77824 Aug 24 04:40 Name
-rw-r--r-- 1 root root 24576 Aug 24 04:41 Obsoletename
-rw-r--r-- 1 root root 62320640 Aug 24 04:38 Packages
-rw-r--r-- 1 root root 1331200 Aug 24 04:41 Providename
-rw-r--r-- 1 root root 679936 Aug 24 04:41 Provideversion
-rw-r--r-- 1 root root 462848 Aug 24 04:41 Requirename
-rw-r--r-- 1 root root 270336 Aug 24 04:41 Requireversion
-rw-r--r-- 1 root root 98304 Aug 24 04:41 Sha1header
-rw-r--r-- 1 root root 77824 Aug 24 04:41 Sigmd5
-rw-r--r-- 1 root root 12288 Aug 24 04:41 Triggername
三、對rpm數據庫進行初始化
[root@www rpm]# ll
total 74520
-rw-r--r-- 1 root root 5603328 Aug 24 04:41 Basenames
-rw-r--r-- 1 root root 12288 Aug 24 04:41 Conflictname
-rw-r--r-- 1 root root 24576 Aug 24 04:41 __db.001
-rw-r--r-- 1 root root 229376 Aug 24 04:41 __db.002
-rw-r--r-- 1 root root 1318912 Aug 24 04:41 __db.003
-rw-r--r-- 1 root root 753664 Aug 24 04:41 __db.004
-rw-r--r-- 1 root root 1544192 Aug 24 04:41 Dirnames
-rw-r--r-- 1 root root 5373952 Aug 24 04:41 Filedigests
-rw-r--r-- 1 root root 24576 Aug 24 04:41 Group
-rw-r--r-- 1 root root 20480 Aug 24 04:41 Installtid
-rw-r--r-- 1 root root 77824 Aug 24 04:40 Name
-rw-r--r-- 1 root root 24576 Aug 24 04:41 Obsoletename
-rw-r--r-- 1 root root 62320640 Aug 24 04:38 Packages
-rw-r--r-- 1 root root 1331200 Aug 24 04:41 Providename
-rw-r--r-- 1 root root 679936 Aug 24 04:41 Provideversion
-rw-r--r-- 1 root root 462848 Aug 24 04:41 Requirename
-rw-r--r-- 1 root root 270336 Aug 24 04:41 Requireversion
-rw-r--r-- 1 root root 98304 Aug 24 04:41 Sha1header
-rw-r--r-- 1 root root 77824 Aug 24 04:41 Sigmd5
-rw-r--r-- 1 root root 12288 Aug 24 04:41 Triggername
第二部分
一、yum工具解釋說明
在對yum解析以前,先說個另外的話題。就是軟件包的依賴關係。在linux系統中,軟件包的依賴關係很嚴重,有時候有個程序可能須要不少依賴關係,缺一不可運行。因此有時候爲了解決一個軟件包的依賴關係可能會花費不少的時間,有時候甚至有可能不能很好的解決依賴關係。對於上面的rpm軟件管理工具,在處理依賴關係的時候也比較麻煩。於是yum工具就出現了。
到這裏有些就會懷疑既然有了yum管理工具,還有rpm管理工具幹嗎?其實否則,yum只是rpm的前端工具。因此yum替代不了rpm工具。
其餘很少說了,進入正題。對於yum倉庫文件配置起來 其實仍是比較輕鬆的。Yum的服務端配置文件通常狀況下都存放在:/etc/yum.conf:爲全部倉庫指定公共配置或者不屬於倉庫的配置;/etc/yum.repos.d/*.repo(多倉庫指向)爲倉庫的指向提供配置。接下來進入配置文件對其進行簡單說明:
一、進入/etc/yum.repos.d/目錄,能夠看到不少的倉庫配置文件。
[root@www rpm]# ll /etc/yum.repos.d/
total 28
-rw-r--r--. 1 root root 1991 Oct 23 2014 CentOS-Base.repo
-rw-r--r-- 1 root root 647 Oct 23 2014 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root 289 Oct 23 2014 CentOS-fasttrack.repo
-rw-r--r-- 1 root root 630 Oct 23 2014 CentOS-Media.repo
-rw-r--r-- 1 root root 5394 Oct 23 2014 CentOS-Vault.repo
我們須要配置的文件第一個就夠了。其餘不須要配置。接着如配置文件,看看裏面的內容:
[root@www yum.repos.d]# vim CentOS-Base.repo.bak
[base]———指明的倉庫ID
name=CentOS-$releasever - Base———倉庫的名字
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra———軟件包的服務器端
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/———軟件包的服務器端
Enabled=0
gpgcheck=1——是否開啓過濾檢查
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6———校驗碼
enablegroups={1|0}默認爲1,是否批量管理組
failovermethod=((默認的roundrobin)輪詢|(priority)優先級)
cost=1000(默認的)
標紅色這些定義較爲少用到這裏就不過多介紹;
服務器端的類型有一下四種:ftp://,http://,nfs://,file://
接下來簡單的配置一個yum倉庫:
[base]
name=base name
baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/
gpgcheck=0
[ferdor]
name=ferdor name
baseurl=http://172.16.0.1/fedora-epel/6/x86_64/
gpgcheck=0
二、對yum的倉庫配置完成以後,接下來對yum的一些實驗選項參數進行說明。(這裏有個小提示,若是遇到不懂的命令,你能夠經過man命令進行尋求幫助)經過man命令你能夠很好的發現yum有着衆多的選項參數:
command is one of:
* install package1 [package2] [...]
* update [package1] [package2] [...]
* update-to [package1] [package2] [...]
* check-update
* upgrade [package1] [package2] [...]
* upgrade-to [package1] [package2] [...]
* distribution-synchronization [package1] [package2] [...]
* remove | erase package1 [package2] [...]
* list [...]
* info [...]
* provides | whatprovides feature1 [feature2] [...]
* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
* makecache
* groupinstall group1 [group2] [...]
* groupupdate group1 [group2] [...]
* grouplist [hidden] [groupwildcard] [...]
* groupremove group1 [group2] [...]
* groupinfo group1 [...]
* search string1 [string2] [...]
* shell [filename]
* resolvedep dep1 [dep2] [...]
* localinstall rpmfile1 [rpmfile2] [...](maintained for legacy reasons only - use install)
* localupdate rpmfile1 [rpmfile2] [...](maintained for legacy reasons only - use update)
* reinstall package1 [package2] [...]
* downgrade package1 [package2] [...]
* deplist package1 [package2] [...]
* repolist [all|enabled|disabled]
* version [ all | installed | available | group-* | nogroups* | grouplist |groupinfo ]
* history [info|list|packages-list|packages-info|summary|addon-info|redo|rollback|undo|new|sync|stats]
* load-transaction [txfile]
* check
* help [command]
2.1接下來對上面一下一些經常使用的屬性進行簡單介紹和說明:
顯示倉庫列表:* repolist [all|enabled|disabled]
[root@www ~]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id repo name status
base base name 4,184
ferdor ferdor name 12,922
repolist: 17,106
顯示程序包:list:
yum list [all | glob_exp1] [glob_exp2] [...](顯示全部的程序包)
yum list available [glob_exp1] [...](顯示可安裝的程序包)
yum list installed [glob_exp1] [...](已經安裝的程序包)
使用格式以下,就不進行執行,安裝包太多。
[root@www ~]# yum list available
[root@www ~]# yum list installed
[root@www ~]# yum list all
安裝程序包:install package1 [package2] [...]
[root@www ~]# yum install zsh
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
base | 3.2 kB 00:00
ferdor | 3.0 kB 00:00
Package zsh-4.3.10-7.el6.x86_64 already installed and latest version
Nothing to do
因爲能選擇的參數太多這裏就不一一演示說明,操做方法和上面的差很少。
update [package1] [package2] [...]:升級程序包;
check-update:檢查升級;
remove | erase package1 [package2] [...]:卸載程序包;
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]清理本地緩存;
Makecache:構建緩存:
reinstall package1 [package2] [...]:從新安裝
downgrade package1 [package2] [...]:程序版本降級:
deplist package1 [package2] [...]:查看指定包的依賴關係:
包組管理的相關命令,它的操做和程序包的操做區別不大。
* groupinstall group1 [group2] [...]安裝包組
* groupupdate group1 [group2] [...]更新包組
* grouplist [hidden] [groupwildcard] [...]列出包組
* groupremove group1 [group2] [...]刪除包組
* groupinfo group1 [...]查看包組信息
包組的使用方法和程序包的區別並不大。
[root@www ~]# yum grouplist Upper
Upper Sorbian Support [hsb]
[root@www ~]# yum groupinstall "Server Platform Development"
在包組安裝的過程中須要注意的一點的是,包組在安裝的過程當中,儘可能使用雙引號括起來。在有些情境下,不使用也是能夠的。
三、yum命令的一些補充說明
yum命令行選項:--nogpgcheck:禁止進行pgp check;可是通常狀況不建議跳過檢查。-y:自動回答爲「yes」,-q:quit表示啓用靜默模式
yum的repo配置文件中可用的變量:$releasever:當前os的發行版的主版本號;$arch:平臺;$basearch:基礎平臺
若是在本地有一堆的rpm包,可是卻沒有rpm庫文件,哪一個如何呢。可使用一條命令建立庫。
[root@www ~]#createrepo /path/to/somedir/
第三部分
一、事實上,其實對於軟件包安裝選擇方式,除了rpm和yum以外。其實還能夠選擇經過源碼包編譯的方式進行安裝。可是若是對於初學者來講,源碼編譯安裝能夠能是一個夢魘。可是,對於骨灰級使用者來講,更願意選擇源碼包編譯安裝的方式。可以隨意選擇本身想要安裝的功能。而rpm和yum的方式沒有這麼隨意方便。那源碼包是如何獲取的呢?能夠經過開源程序源代碼的獲取;官方自建站點;或者源代碼託管站點下載。這樣來源可靠性有必定的保證。
二、獲取到源碼包以後,接下來須要對源碼進行解壓縮,和查看一些基本的操做。
[root@www ~]# tar xf httpd-2.2.29.tar.bz2
[root@www ~]# cd httpd-2.2.29
[root@www httpd-2.2.29]#
[root@www httpd-2.2.29]# ls
ABOUT_APACHE CHANGES httpd.dsp libhttpd.dep NOTICE server acinclude.m4 config.layout httpd.mak libhttpd.dsp NWGNUmakefile srclib Apache.dsw configure httpd.spec libhttpd.mak os support build configure.in include LICENSE README test BuildAll.dsp docs INSTALL Makefile.in README.platforms VERSIONING BuildBin.dsp emacs-style InstallBin.dsp Makefile.win README-win32.txtbuildconf httpd.dep LAYOUT modules ROADMAP
[root@www httpd-2.2.29]#
在編譯以前須要閱讀README,INSTALL這兩個文檔,這兩個文檔是做者特別寫的一些安裝幫助文檔。可以很好幫助你們編譯源碼包
其中INSTALL安裝幫助文檔中有些特別的提示,以下:
$ ./configure --prefix=PREFIX
$ make
$ make install
$ PREFIX/bin/apachectl start
上面的這即步是用來講明該源碼該怎麼進行編譯安裝的。
三、在編譯軟件的過程當中第一步進行配置.configure。若是不知道若是使用能夠後面跟--help。因爲有很的選項參數,這裏不過多的解釋說明。
[root@www httpd-2.2.29]# ./configure --help
`configure' configures this package to adapt to many kinds of systems.
Usage: ./configure [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local/apache2]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
Fine tuning of the installation directories:
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--libdir=DIR object code libraries [EPREFIX/lib]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--htmldir=DIR html documentation [DOCDIR]
四、配置完成完成以後,接下來就是就行編譯安裝的過程。執行make命令
五、若是在編譯檢查環境沒有報錯,接下來就能夠進行make install安裝軟件。安裝完成以後能夠,去指定的文件夾試着能不能啓動安裝的軟件服務。
[root@www apache2]# ./bin/apachectl start
[root@www apache2]# echo $?
0
[root@www apache2]# netstat -tan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:36500 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
經過以上的命令查看能夠判斷,源碼包安裝成功了