Linux中的軟件包(即二進制包),主要分爲兩類node
.rpm
"。.deb
"。不管是RPM仍是DPKG機制,都存在軟件包依賴問題,好比軟件包A依賴軟件包B,軟件包B又依賴軟件包C,即依賴關係是 "A -> B -> C",那麼就必須先安裝C,在安裝B,最後A才能安裝成功。爲了解決這種依賴問題,Linux開發商都提供了在線安裝機制,經過這種機制能夠自動解決依賴關係,安裝A時會自動安裝B和C,就不須要手動去一步步安裝B和C了。基於RPM包管理機制開發出了YUM在線安裝機制,基於DPKG包管理機制開發出了APT在線安裝機制。mysql
發行版表明 | 軟件包管理機制 | 相關指令 | 在線安裝機制(指令) |
---|---|---|---|
Red Hat/CentOS | RPM | rpm, rpmbuild | YUM(yum)) |
Debian/Ubuntu | DPKG | dpkg | APT(apt-get) |
軟件包安裝優缺點linux
優勢:web
缺點:正則表達式
所謂源碼包通常就是指C語言開發的源代碼文件的一個壓縮包(.tar.gz
或.tar.bz2
)。源碼包的編譯用到了linux系統裏的編譯器 gcc,利用它就能夠把C語言變成可執行的二進制文件,因此若是要使用源碼包安裝必須先安裝 gcc 編譯器(可使用 yum install -y gcc
完成安裝)。sql
源碼包安裝優缺點shell
優勢數據庫
缺點apache
RPM 軟件包的命名規則爲:軟件包名-版本-發佈次數-Linux平臺-硬件平臺.rpm
以Apache軟件包的包全名爲例:"httpd-2.2.15-69.el6.centos.x86_64.rpm"
一、httpd:軟件包名
二、2.2.15:軟件版本
三、69:軟件發佈的次數
四、el6.centos:適合的Linux平臺
五、x86_64:適合的硬件平臺,這裏表示64位
六、rpm:rpm包的擴展名,注意Linux是沒有擴展名的概念,這裏是爲了方便管理員識別segmentfault
RPM 包來源:
第二種方式,經過掛載安裝光盤,光盤中包含全部的RPM包。以 Centos6 爲例:
/dev/cdrom
、/dev/cdrom1
mkdir /mnt/cd1/ /mnt/cd2/
mount /dev/cdrom /mnt/cd1/
、mount /dev/cdrom1 /mnt/cd2/
。掛載完成後,可在/mnt/cd1/Packages/
和/mnt/cd2/Packages/
目錄下看到全部的RPM包RPM 包的默認安裝位置以下:
路徑 | 說明 |
---|---|
/etc/ | 配置文件的安裝目錄 |
/usr/bin/ | 可執行的命令安裝目錄 |
/usr/lib/ | 程序所使用的函數庫保存位置 |
/usr/share/doc/ | 基本的軟件使用手冊保存位置 |
/usr/share/man/ | 幫助文件保存位置 |
RPM軟件包的管理工具是 rpm
命令,命令格式:rpm 選項 [軟件包名]
/var/lib/rpm/
目錄下的數據庫文件中(這個目錄下的數據庫文件很重要,後續軟件升級和卸載就就依賴於這個數據庫)安裝命令:rpm -ivh 包全名
選項
-i
:安裝(install)-v
:顯示詳細信息-h
:打印#顯示安裝進度--nodeps
:不檢測依賴性安裝。軟件安裝時會檢測依賴性,若是所依賴的軟件還未安裝則會報錯,加上這個選項則不檢測依賴強制安裝,但這樣安裝的軟件通常不能使用,建議不要這樣作。--replacefiles
:替換文件安裝。若是安裝的軟件包中的部分文件已經存在,則會安裝報錯,使用該選項就會覆蓋現有文件繼續安裝--replacepkgs
:替換軟件安裝。若是軟件包已經安裝,使用該選項可把軟件包從新安裝一遍--force
:強制安裝。無論是否已經安裝,都從新安裝,至關於 "--replacefiles" 和 "--replacepkgs" 的綜合--test
:測試安裝。不會實際安裝,只是檢測一下依賴--prefix=安裝路徑
:指定安裝路徑。爲安裝的軟件指定安裝路徑,而不是使用默認安裝路徑。注意:若是指定了安裝路徑,軟件沒有安裝到默認路徑中的話,系統會找不到這些安裝的軟件,而須要進行手工配置才能被系統識別,因此RPM包通常建議採用默認路徑安裝升級命令:rpm -Uvh 包全名
或 rpm -Fvh 包全名
選項
-U
:升級安裝。若是沒有安裝過,系統直接安裝,若是已安裝的版本較舊,則升級到新版本-F
:升級安裝。若是沒有安裝過,則不會安裝,必須安裝有較舊版本才能升級卸載命令:rpm -e 包名
選項
-e
:卸載軟件包--nodeps
:卸載時不檢查依賴性。若是卸載的軟件被其餘軟件依賴,卸載失敗,加上此選項可強制卸載注意:卸載已安裝的軟件使用包名便可,不須要使用包全名
1. 查詢軟件包是否安裝:rpm -q 包名
選項:
-q
:查詢(query)2. 查詢系統中全部安裝的軟件包:rpm -qa
選項:
-a
:全部(all)3. 查詢軟件包的詳細信息
已安裝:rpm -qi 包名
未安裝:rpm -qip 包全名
選項:
-i
:查詢軟件信息(information)-p
:查詢沒有安裝的軟件包(package)4. 查詢軟件包的文件列表和安裝目錄
已安裝:rpm -ql 包名
未安裝:rpm -qlp 包全名
選項:
-l
:列出軟件包中全部文件和軟件所安裝的目錄(list)5. 查詢系統文件屬於哪一個軟件包:rpm -qf 系統文件
選項:
-f
:查詢擁有指定文件的軟件包(file)6. 查詢軟件包所依賴的其餘軟件包
已安裝:rpm -qR 包名
未安裝:rpm -qRp 包全名
選項:
-R
:查詢軟件包的依賴性(required)1. 校驗指定的已安裝RPM包:rpm -V 包名
選項:
-V
:校驗指定的RPM包中的文件(verify)若是執行命令後無任何提示,代表沒有作任何修改,若是執行命令後有內容輸出,則軟件包中的文件被修改過。下面假設已安裝的Apache配置文件 "/etc/httpd/conf/httpd.conf" 被修改過爲例,來講明一下校驗輸出的內容:
[root@localhost ~]# rpm -V httpd S.5....T. c /etc/httpd/conf/httpd.conf
第一列("S.5....T.")是驗證的內容,具體字母含義以下:
S
: 文件大小是否改變M
: 文件的類型或文件的權限( rwx )是否被改變5
: 文件MD5 校驗和是否改變( 能夠當作文件內容是否改變 )D
: 設備的主從代碼是否改變L
: 文件路徑是否改變U
: 文件的屬主( 全部者 ) 是否改變G
: 文件的屬組是否改變T
: 文件的修改時間是否改變第二列("c")是被修改的文件類型,有如下幾種:
c
: 配置文件(config file)d
: 普通文檔(documentation)g
: "鬼"文件, 不多見, 就是該文件不該該被這個RPM包包含(ghost file)L
: 受權文件(license file)r
: 描述文件(read me)2. 校驗本機全部已安裝RPM包:rpm -Va
3. 校驗某個系統文件是否被修改:rpm -Vf 系統文件
yum 源指的就是獲取 rpm 包的位置(默認就是官網服務器,包含全部的軟件包)。yum源配置文件保存在 /etc/yum.repos.d/
目錄下,一共有5個擴展名爲 ".repo" 的文件 CentOS-Base.repo
、CentOS-fasttrack.repo
、CentOS-Vault.repo
、CentOS-Debuginfo.repo
、CentOS-Media.repo
。默認狀況下只有 CentOS-Base.repo
文件是生效,文件內容以下:
[root@localhost yum.repos.d]# cat CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] 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/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
在 CentOS-Base.repo 文件中有5個 yum 源容器,這裏主要解釋一下 [base]
容器(其餘容器相似):
[base]
:容器名稱,必定要放在 [ ] 中name
:容器說明,能夠本身隨便寫mirrorlist
:鏡像站點,這個能夠註釋掉baseurl
:yum源服務器的地址。mirrorlist是由yum程序自行去找鏡像站點,baseurl則是指定固定的一個地址enabled
:此容器是否生效,若是不寫或者enabled=1則表示此容器生效,寫成enabled=0則表示次容器不生效gpgcheck
:若是爲1表示RPM的數字證書生效;若是爲0表示RPM的數字證書不生效gpgkey
:數字證書的公鑰文件保存位置搭建本地光盤爲yum源
若是在沒有網的狀況下,能夠把掛載的光盤做爲yum源。
第一步,首先掛載光盤。這裏假設已經掛載了兩張光盤,掛載點分別爲/mnt/cd1/
和/mnt/cd2/
第二步,修改 CentOS-Media.repo
文件。修改baseurl爲兩個光盤的掛載點,修改enabled=1。以下:
[c6-media] name=CentOS-$releasever - Media # 地址爲本地光盤的掛載點 baseurl=file:///mnt/cd1/ file:///mnt/cd2/ gpgcheck=1 # 把 enabled 改成1讓這個容器生效 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
第三步,爲了CentOS-Media.repo
文件真正的生效,須要使其餘的yum源配置文件失效。由於只有擴展名爲 "*.repo" 的文件才能做爲yum源配置文件,能夠修改其餘yum源配置爲備份文件,如 mv CentOS-Base.repo CentOS-Base.repo.bak
yum命令是在Fedora和RedHat以及SUSE中基於 rpm 的軟件包管理器,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum 命令格式:yum [選項] COMMAND [軟件包]
選項:
-y
:自動回答"yes",再也不詢問。若是不加該選項,安裝過程當中每一個涉及的包安裝都要手工回答 "yes" or "no"-q
:靜默模式。不顯示安裝過程-C
:徹底從緩存中運行,而不去下載或者更新任何頭文件COMMAND (要進行的操做)
install
:執行安裝操做update
:執行升級操做remove
:執行卸載操做list
:顯示可用軟件包列表search
:根據關鍵字匹配軟件包info
:顯示軟件包信息安裝指定軟件包:yum -y install 包名
安裝所有軟件包:yum -y isntall
(不經常使用)
升級指定軟件包:yum -y update 包名
升級所有軟件包:yum -y update
(不經常使用)
卸載指定軟件包:yum remove 包名
1. 查詢軟件包列表
查詢yum源服務器上全部可安裝的軟件包列表:yum list
查詢yum源服務器上是否存在某個軟件包:yum list 包名
2. 查詢關鍵字屬於哪一個軟件包
命令格式:yum search 關鍵字
通常用於查找 某個指令 是由哪一個軟件包提供的。好比,要使用 "ifconfig" 指令,須要先安裝 "net-tools" 包
[root@localhost yum.repos.d]# yum search ifconfig 已加載插件:fastestmirror, security Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com =================================================== Matched: ifconfig =================================================== net-tools.x86_64 : Basic networking tools
3. 查詢指定軟件包信息:yum info 軟件包
默認狀況下,經過 yum 成功安裝軟件後,會把下載的軟件包刪除。若是要保留下載的軟件包,能夠編輯配置文件 /etc/yum.conf
,把裏面 "keepcache" 參數改成 1 (默認 keepcache=0 ),這樣每次經過 yum 安裝軟件時,會把下載的軟件包緩存在 /var/cache/yum/
目錄下,下次再安裝相同的軟件時,能夠從緩存中獲取軟件包,即便在沒有網絡的狀況下也可正常安裝。
1. 清除緩存:yum clean packages|headers|oldheaders|all
packages
:清除緩存目下的軟件包headers
:清除緩存目錄下的 headersoldheaders
:清除緩存目錄下舊的 headersall
:清除所有
2. 從新創建新的緩存:yum makecache
3. 只從緩存中查找軟件包並安裝:yum -C install 包名
軟件組指的是一組相關的軟件包(注意,這裏指的不是依賴關係),經過 yum 命令能夠對組內軟件包批量管理。
1. 列出全部可用軟件組:yum grouplist
[root@localhost yum.repos.d]# yum grouplist 已加載插件:fastestmirror, security 設置組進程 Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com 已安裝的組: Java 平臺 NFS 文件服務器 ...省略... Installed Language Groups: 中文支持 [zh] 亞美尼亞語支持 [hy] ...省略... 有效的組: MySQL 數據庫服務器 萬維網服務器 ...省略... Available Language Groups: 上索布語支持 [hsb] 不丹語支持 [dz] ...省略... 完成
2. 查詢組內包含哪些軟件:yum groupinfo "軟件組名"
[root@localhost yum.repos.d]# yum groupinfo "萬維網服務器" 已加載插件:fastestmirror, security 設置組進程 Loading mirror speeds from cached hostfile * base: mirrors.huaweicloud.com * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com 組:萬維網服務器 描述:容許將系統做爲 web 服務器使用,並運行 Perl 和 Python web 應用程序。 必要的軟件包: httpd 默認的軟件包: crypto-utils httpd-manual mod_perl mod_ssl mod_wsgi webalizer 可選的軟件包: certmonger libmemcached memcached mod_auth_kerb ...省略...
注意:使用本地終端查出的組名都是英文的,命令中的軟件組名也須要使用英文;遠程終端(如Xshell)若是支持中文,查出的軟件組名是中文的,因此命令中的軟件組名既可使用中文,也可使用英文,yum groupinfo "萬維網服務器"
和 yum groupinfo "Web Server"
是等效的
3. 安裝軟件組內全部軟件:yum groupinstall "軟件組名"
4. 卸載軟件組內多有軟件:yum groupremove "軟件組名"
DPKG 軟件包的命名規則爲:軟件包名_版本號-修訂號_平臺.deb
例如:openssh-server_8.2p1-4_amd64.deb
DPKG 包的管理工具是 dpkg
命令,命令格式:dpkg 選項 [軟件包名]
/var/lib/dpkg/
目錄下的數據庫文件中,通常"/var/lib/dpkg/status" 文件中存儲軟件狀態和控制信息,"/var/lib/dpkg/info/xxx.list"文件中記錄了軟件安裝文件清單 安裝命令:dpkg -i 包全名
選項
-i
:安裝--unpack
:解開軟件包--configure
:配置軟件包-i
選項所作操做包含解開軟件包和配置軟件包,至關於這兩步操做:
dpkg --unpack 包全名
dpkg --configure 包名
卸載命令:dpkg -r|-P 包名
選項
-r
:刪除已安裝的軟件包,但保留配置文件-P
:刪除已安裝軟件包,徹底清除包(含配置文件)1. 查詢已安裝軟件包列表,命令:dpkg -l [包名]
選項
-l
:查詢已安裝軟件包列表,包含狀態、版本信息包名
:查詢指定的軟件包,若是省略查詢所有已安裝軟件包。包名可以使用通配符示例:
圖中,第一列表示軟件包狀態標識,狀態標識共三位字符表示,
第一位,指望狀態:u(Unknown)
: 狀態未知,這意味着軟件包未安裝,而且用戶也未發出安裝請求i(Install)
: 用戶請求安裝軟件包r(Remove)
: 用戶請求卸載軟件包p(Purge)
: 用戶請求清除軟件包h(Hold)
: 用戶請求保持軟件包版本鎖定
第二位,當前狀態:n(Not)
:軟件包未安裝i(Inst)
:軟件包安裝並完成配置c(Conf-files)
:軟件包之前安裝過,如今刪除了,可是它的配置文件還留在系統中U(Unpacked)
:軟件包僅被解包,還未配置F(halF-conf)
:試圖配置軟件包,可是失敗了H(Half-inst)
:軟件包安裝,可是可是沒有成功W(trig-aWait)
:觸發器等待T(Trig-pend)
:觸發器未決
第三位,錯誤狀態:h
:軟件包被強制保持,由於有其它軟件包依賴需求,沒法升級R
:Reinst-required,軟件包被破壞,可能須要從新安裝才能正常使用(包括刪除)x
:軟包件被破壞,而且被強制保持
2. 列出軟件包關聯文件,命令:dpkg -L 包名
或 dpkg -L 包全名
選項
-L
:列出已安裝軟件包關聯文件列表-c
:列出未安裝軟件包關聯文件列表也能夠經過該命令查看軟件包文件安裝目錄位置
3. 顯示軟件包的詳細狀態,命令:dpkg -s 包名
選項
-s
或 --status
:顯示軟件包的詳細狀態4. 搜索含有指定文件的軟件包,命令:dpkg -S 文件名
選項
-S
或 --search
:搜索含有指定文件的軟件包。文件名可以使用通配符示例:
taicw@taicw-PC:~/Downloads$ dpkg -S apache2.conf apache2: /etc/apache2/apache2.conf
APT 與 YUM 相似,都是從遠程軟件倉庫獲取軟件包進行安裝。其中相關文件說明以下:/etc/apt/sources.list
:記錄了軟件源的地址var/lib/dpkg/available
:文件的內容是軟件包的描述信息,該文件包括當前系統所使用的安裝源中的全部軟件包,其中包括當前系統中已安裝的和未安裝的軟件包信息/var/lib/apt/lists/
:使用 "apt-get update
" 命令掃會描軟件源服務器,併爲源服務器全部軟件資源創建索引文件保存至本地目錄"/var/lib/apt/lists/"下,提升系統查詢效率/var/cache/apt/archives/
:經過 "apt-get" 安裝下載的軟件包都緩存在這裏。
APT 管理軟件包,主要由如下幾個命令組成:apt-get
:主要用來安裝、升級和卸載軟件,智能解決依賴關係(新版可用 apt
命令代替,去掉了"-get")apt-cache
:查詢軟件包緩存文件apt-file
:軟件包查找工具,能夠查到軟件包所含的文件和安裝的位置
命令:apt-get update
該命令掃描源服務器,更新軟件包列表。最好按期運行這一命令以確保軟件包列表是最新的,或者在安裝和升級軟件以前執行該命令
安裝命令:apt-get install 包名
升級命令:
apt-get upgrade
apt-get dist-upgrade
卸載命令:
apt-get remove 包名
apt-get --purge remove 包名
apt-get autoremove
使用 apt-get 安裝軟件時,會自動到軟件源服務器下載須要的軟件包(xxx.deb
文件),這些文件緩存在 "/var/cache/apt/archives" 目錄下,若是不須要這些文件能夠執行以下命令將其清除,節約磁盤空間。
緩存清理命令:
apt-get clean
apt-get autoclean
檢查軟件包是否有損壞的依賴:apt-get check 包名
apt-cacheapt-cache
能夠查詢和顯示已安裝和可安裝軟件包的可用信息,它專門工做在本地的數據緩存上,不依賴於軟件源的可用性(即離線查詢),而這些緩存能夠經過好比 apt-get update
命令來更新。若是距離上一次更新的時間過久,那麼它顯示的信息可能就會過期。經常使用命令以下:
apt-cache stats
:顯示統計信息apt-cache show 包名
:以便於閱讀的格式介紹該軟件包apt-cache showpkg 包名
:顯示軟件包常規信息,依賴關係等apt-cache policy 包名
:顯示軟件包的安裝設置狀態apt-cache depends 包名
:顯示指定軟件包所依賴的軟件包apt-cache rdepends 包名
:顯示軟件包的反向依賴關係,即被哪些軟件包依賴apt-cache search 字符串
:根據正則表達式搜索軟件包列表apt-fileapt-file
軟件包查找工具,能夠查找某個文件屬於哪一個軟件包。apt-file 個獨立的軟件包,使用以前須要先安裝(apt-get install apt-file
)。經常使用命令以下:
apt-file update
:更新軟件包的文件庫,第一次使用或執行apt-get update
後都需執行一次apt-file search 文件名
:查找包含指定文件名的軟件包,包括未安裝的apt-file list 包名
:顯示指定軟件包的文件下載源碼包
xxx.tar.gz
或 xxx.tar.bz2
。linux下載工具參考:wget 與 curl 命令詳解 wget https://archive.apache.org/dist/httpd/httpd-2.2.15.tar.gz
解壓縮
/usr/local/src/
目錄下。解壓縮命令參考: Linux經常使用命令 tar -zxvf httpd-2.2.15.tar.gz -C /usr/local/src/
進入解壓目錄
cd /usr/local/src/httpd-2.2.15/
編譯前準備,命令:./configure --prefix=安裝目錄
--prefix=安裝目錄
:指定安裝目錄。若是不指定,默認狀況下會安裝在 /usr/local/包名/bin
, /usr/local/包名/lib
等目錄下,安裝文件比較分散不利於刪除configure
指令是每一個源碼包都自帶的腳本程序(即解壓目錄下一個名爲"configure"的腳本文件),非系統指令執行時必須指明路徑,即"./
"代表是當前路徑下。執行該指令主要有以下做用:
./configure --help
" 來查看./configure --prefix=/usr/local/apache2
編譯,命令:make
make
會調用 gcc
編譯器,並讀取 Makefile 文件中的信息進行系統軟件編譯。編譯的目的就是把源碼程序轉變爲能被 Linux 識別的可執行文件,這些可執行文件保存在當前目錄下。編譯過程較爲消耗時間,須要耐心等待報錯清空編譯內容(非必須步驟),命令:make clean
./configure
" 或者 "make
" 命令時報錯,解決報錯問題後,須要從新執行命令時必定要先執行一下 "make clean
" 命令,它會清空 Makefile 文件和編譯產生的 ".o" 頭文件安裝,命令:make install
注意:
1.執行./configure
命令時可能會提示缺乏gcc
等依賴程序,因此須要使用 yum 等方式先安裝依賴程序便可2.並非全部的源碼包安裝必定是執行 "
./configure
"、"make
"、"make install
" 這三個命令,只有極少數源碼包安裝命令可能有些不一樣,好比 mysql 版本 5.5 之後的源碼包安裝時,使用 "cmake
" 命令替代了 "./configure
"。通常源碼包解壓後都有安裝的說明文檔,安裝以前能夠先閱讀如下說明文檔3.通常去第三方官網下載源碼包時,也會提供已經編譯好的二進制包,這種二進制包裏面包括了已經通過編譯能夠立刻運行的程序,因此解壓後直接進入 "xxx/bin/" 目錄找到相關命令直接運行便可
經過源碼包安裝時若是指定了安裝目錄,好比 "./configure --prefix=/usr/local/apache2
",卸載時只須要刪除整個安裝目錄就能夠了 "rm -rf /usr/local/apache2
",並且是100%卸載,不會像windows那樣常常會殘留那多註冊表之類的垃圾。
若是源碼包安裝時沒有指定安裝目錄,那麼安裝軟件生成的文件會分別存儲在 /usr/local/ 下的 bin、lib、etc 等目錄下,刪除起來就比較麻煩一點了。因此建議源碼包安裝必定要指定安裝目錄,方便卸載。