1. 程式人生 > >7.1-7.9 軟件包的安裝與卸載

7.1-7.9 軟件包的安裝與卸載

yum linux centos

7.1 軟件包安裝和卸載

7.1 安裝軟件包的三種方法

rpm工具

rpm(Redhat Package Manager)RPM軟件包管理器,是以一種數據庫記錄的方式來將我們所需要的套件安裝到Linux主機的一套管理程序。rpm包是預先在Linux機器上編譯好並打包好的文件,安裝起來非常快捷。但是有一個缺點:安裝環境必須與編譯時的一致或相當;包與包之間存在著相互依賴的情況,安裝或卸載包時需要先把依賴的包安裝/卸載,如果依賴的包時系統所必須的,那就不能卸載這個包。

yum工具

yum命令是在Fedora和RedHat以及SUSE中基於rpm的軟件包管理器,它可以使系統管理人員交互和自動化地更細與管理RPM軟件包,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。

源碼包

Linux軟件的源代碼分發是指提供了該軟件所有程序源代碼的發布形式,需要用戶自己編譯成可執行的二進制碼並進行安裝。其優點是配置靈活,可以隨意去掉或保留某些功能/模塊,適應多種硬件/操作系統平臺及編譯環境;缺點是難度較大。


7.2-7.3 rpm工具

rpm包介紹(準備工作)

掛載系統安裝盤鏡像(掛載到一個空目錄,此處/mnt/目錄未使用,所以直接掛載到/mnt/目錄下)

[root@gaohanwei ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/sda3        28G  1.3G   27G    5% /
devtmpfs        483M     0  483M    0% /dev
tmpfs           493M     0  493M    0% /dev/shm
tmpfs           493M  6.8M  486M    2% /run
tmpfs           493M     0  493M    0% /sys/fs/cgroup
/dev/sda1       197M  109M   88M   56% /boot
tmpfs            99M     0   99M    0% /run/user/0
[root@gaohanwei ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@gaohanwei mnt]# ls
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@gaohanwei Packages]# ls
yum-plugin-changelog-1.1.31-40.el7.noarch.rpm
yum-plugin-fastestmirror-1.1.31-40.el7.noarch.rpm
yum-plugin-tmprepo-1.1.31-40.el7.noarch.rpm
yum-plugin-verify-1.1.31-40.el7.noarch.rpm
yum-plugin-versionlock-1.1.31-40.el7.noarch.rpm
……
(rpm包格式:包名、版本號、發布版本號、平臺)

rpm包存放在Packages該文件下!

rpm工具用法

安裝rpm包

  • 語法: rpm [options] [參數]
  • Options:

    -i:=install,安裝

    -v:可視化

    -h:顯示安裝進度

    在安裝一個rpm包時常用附帶選項:
    --force:強制安裝

    --nodeps:=no dependent 無依賴安裝(忽視與其他包之間的依賴關系)

實例

  1. 安裝一個rpm包(無依賴包)
[root@gaohanwei Packages]# rpm -ivh x86info-1.30-6.el7.x86_64.rpm
準備中...                          ################################# [100%]
正在升級/安裝...
   1:x86info-1:1.30-6.el7             ################################# [100%]
  1. 安裝一個rpm包(有依賴包)
[root@gaohanwei Packages]# rpm -ivh yp-tools-2.14-3.el7.x86_64.rpm
錯誤:依賴檢測失敗:
    ypbind 被 yp-tools-2.14-3.el7.x86_64 需要
## 即,兩個包之間存在依賴關系
## 解決辦法:
①:
[root@gaohanwei Packages]# rpm -ivh yp-tools-2.14-3.el7.x86_64.rpm yp-tools-2.14-3.el7.x86_64
②:
[root@adai002 Packages]# rpm -ivh --force yp-tools-2.14-3.el7.x86_64.rpm
(添加--force或--nodeps選項即可安裝)

說明: 安裝有依賴關系的包時,可以先安裝其所依賴的包再安裝目標包(同時安裝存在依賴關系的包),或者使用--force或--nodeps選項進行強行安裝(不建議使用)。

升級rpm包

  • 語法: rpm [-U] [包名]
[root@gaohanwei Packages]# rpm -Uvh x86info-1.30-6.el7.x86_64.rpm
Preparing...                          ################################# [100%]
    package x86info-1:1.30-6.el7.x86_64 is already installed

說明: 如果升級一個已經安裝的最新版本的包,執行該命令後無任何操作。

卸載一個rpm包

  • 語法: rpm [-e] [包名]
[root@gaohanwei Packages]# rpm -e x86info-1.30-6.el7.x86_64.rpm
error: package x86info-1.30-6.el7.x86_64.rpm is not installed
[root@gaohanwei Packages]# rpm -e x86info

註: 卸載時直接跟報名,無需跟該包的信息;當包之間存在依賴關系時也需要先卸載其依賴包。

查詢rpm包

查詢已安裝的包
  • 語法:

    rpm [-q] [包名] 查詢指定包

    rpm [-qa] 查詢所有已安裝包

實例:

[root@gaohanwei Packages]# rpm -q kmod
kmod-20-9.el7.x86_64
#########################################
[root@gaohanwei Packages]# rpm -qa |head -5
trousers-0.3.13-1.el7.x86_64
filesystem-3.2-21.el7.x86_64
net-tools-2.0-0.17.20131004git.el7.x86_64
bind-license-9.9.4-37.el7.noarch
fxload-2002_04_11-16.el7.x86_64
查詢已安裝包的相關信息
  • 語法: rpm [-qi] [包名]

    i=information

[root@gaohanwei Packages]# rpm -qi filesystem
Name        : filesystem
Version     : 3.2
Release     : 21.el7
Architecture: x86_64
Install Date: Mon May 22 01:19:49 2017
Group       : System Environment/Base
Size        : 0
……
查詢某包所安裝的文件
  • 語法: rpm [-ql] [包名]

    l=list

[root@gaohanwei Packages]# rpm -ql vim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
查看某文件的安裝包
  • 語法: rpm [-qf] [文件絕對路徑]
[root@gaohanwei Packages]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-1.el7_3.1.x86_64

即,通過其絕對路徑查詢到其安裝包,當不知道其絕對路徑時,使用which命令查詢。

反引號命令

反引號的作用就是將反引號內的Linux命令先執行,然後將執行結果賦予變量。即,在命令行上把Linux命令放在反引號中,這個命令會首先被執行,然後將其結果作為為該命令行的一個參數。

[root@gaohanwei Packages]# rpm -qf `which cd`
bash-4.2.46-20.el7_2.x86_64

說明: 先執行“which cd”命令,其次將“which cd”的結果作為“rpm -qf”的參數執行該命令。


7.4 yum工具用法

列出所有rpm包

  • 語法: yum list
[root@gaohanwei Packages]# yum list 
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.tuna.tsinghua.edu.cn
Installed Packages
NetworkManager-libnm.x86_64                1:1.4.0-12.el7              @anaconda
NetworkManager-team.x86_64                 1:1.4.0-12.el7              @anaconda
zsh.x86_64                                        5.0.2-25.el7_3.1                    updates  
zsh-html.x86_64                                   5.0.2-25.el7_3.1                    updates  
zziplib.i686                                      0.13.62-5.el7                       base     
zziplib.x86_64                                    0.13.62-5.el7                       base   
……
Exiting on Broken Pipe

說明: 第一列是包名,第二列是版本號,第三列是庫,庫所在位置有“@”表示已安裝;“updates”表示已安裝,有新版本,需要升級;其他的表示可安裝但還未安裝的rpm包。

  • yum配置文件
[root@gaohanwei Packages]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repo
CentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo
  • 配置文件base的信息
[root@gaohanwei Packages]# cat /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
#
……
[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-7
……

說明: 該文件下有rpm包所在庫base的鏡像地址信息!

搜索rpm包

  • 語法: yum search [關鍵詞]
[root@gaohanwei Packages]# yum search vim
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.tuna.tsinghua.edu.cn
====================================== N/S matched: vim =============================
golang-vim.noarch : Vim plugins for Go
protobuf-vim.x86_64 : Vim syntax highlighting 
vim-minimal.x86_64 : A minimal version of the VIM editor

  Name and summary matches only, use "search all" for everything.

說明: 使用該命令搜索時會列出所有包含‘vim’(關鍵詞)的信息,不精確,為了只搜索相關rpm包,可用如下方法:

[root@gaohanwei Packages]# yum list |grep vim
Failed to set locale, defaulting to C
vim-common.x86_64                          2:7.4.160-1.el7_3.1         @updates 
vim-enhanced.x86_64                        2:7.4.160-1.el7_3.1         @updates 
vim-filesystem.x86_64                      2:7.4.160-1.el7_3.1         @updates 
vim-minimal.x86_64                         2:7.4.160-1.el7             @anaconda

說明: grep表示過濾。

列出rpm包組

  • 語法: yum grouplist
[root@gaohanwei Packages]# yum grouplist
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.tuna.tsinghua.edu.cn
Available Environment Groups:
   Minimal Install
   Compute Node
……
Available Groups:
   Compatibility Libraries
   Console Internet Tools
……
Done

安裝rpm包

  • 語法: yum install [-y] [包名]
  • 說明: 如果不加‘-y’選項,則會以與用戶交互的方式安裝。首先是列出需要安裝的rpm包,然後會問用戶是否需要安裝,輸入‘y’則安裝,輸入‘n’則不安裝,這樣太麻煩,所以直接加上‘-y’選項,省略與用戶之間的交互。

    安裝rpm包組

    語法: yum groupinstall [-y] [包的組名]
    如果不知道組名,可用yum grouplist查看(註:進行安裝時只能用英文名)。

卸載rpm包

  • 語法: yum remove [-y] [包名]
  • 說明: ‘-y’選項同install的用法,需要註意的是,在使用該命令進行卸載時會將目標文件所依賴的所有包同時刪除,所以要謹慎使用!

升級rpm包

  • 語法: yum update [-y] [包名]
  • 說明: 如果不加包名,則會升級系統內所有包以及系統本身(慎用,一般只在剛安裝完系統時使用)。

yum provides(該命令的作用是通過已知命令名稱來搜索其rpm包名。)

用法:

[root@gaohanwei Packages]# yum provides “/*/vim”

說明: 因為該命令位置不確定,所以進行搜索時使用‘*’(通配符)來代表其路徑。


7.5 yum搭建本地倉庫

有時候Linux系統無法聯網,此時無法使用網上的yum源,需要我們利用Linux系統光盤制作一個yum源。

步驟
掛載光盤——刪除/etc/yum.repos.d/目錄所有repo文件——創建新文件dvd.repo——清除原有緩存‘yum clean all’。

[root@gaohanwei ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
備份原.repo文件
[root@gaohanwei ~]# cd /etc/yum.repos.d 切換目錄
[root@gaohanwei yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo CentOS-fasttrack.repo
CentOS-CR.repo CentOS-Media.repo CentOS-Vault.repo
[root@gaohanwei yum.repos.d]# rm -rf ./*
刪除原有repo文件
[root@gaohanwei yum.repos.d]# vim dvd.repo

[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0

此部分內容除baseurl目錄根據個人實際操作更改外,其余內容固定。

[root@adai002 yum.repos.d]# yum clean all
清除系統原有緩存
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Cleaning repos: dvd
Cleaning up everything
Cleaning up list of fastest mirrors
[root@gaohanwei ~]# yum list
……
Available Packages 還未安裝的可安裝rpm包的庫都變成dvd
ypserv.x86_64 2.31-8.el7 dvd
yum-langpacks.noarch 0.4.2-7.el7 dvd
yum-plugin-aliases.noarch 1.1.31-40.el7 dvd
yum-plugin-changelog.noarch 1.1.31-40.el7 dvd
yum-plugin-tmprepo.noarch 1.1.31-40.el7 dvd
……

配置完成後便可直接使用yum安裝所需要的rpm包。如果不想使用本地yum源,需要刪除/etc/yum.repos.d/dvd.repo文件,然後恢復原來的配置文件。


擴展1:yum保留已經安裝過的包

可以設置使yum保留已經下載的rpm包,供以後升級或重新安裝時使用。
修改/etc/yum/conf即可:
[main]
cachedir=/home/soft1/yumcache
keepcache=1
debuglevel=2

cachedir是放置下載的包的地方,可以修改成自己想放置的位置。
keepcache為1時表示保存已經下載的rpm包。

擴展2:yum局域網軟件源搭建

搭建Apache服務器或ftp服務器

yum安裝或二進制包安裝.

準備RPM包

把CentOS的DVD1和DVD2.iso都下載下來,把DVD1.iso裏的所有內容解壓出來,放到/var/www/html/centos-6目錄下,然後把DVD2.iso解壓出來的Packages目錄下的rpm包復制到/var/html/centos-6/Packages目錄下,這樣/var/html/centos-6/Packages裏面就有了6000多個rpm包。

創建yum倉庫

準備createrepo:yum -y install createrepo
創建repository:createrepo /var/www/html/centos-6/
創建完成之後,會在/var/www/html/centos-6/repodata下生成一些文件。
使用軟件源
在其他centos機器上試試軟件源能不能用。

  • 首先修改機器上軟件源配置文件:
    技術分享圖片
    CentOS-Base.repo文件修改之後如下:
    技術分享圖片
    保存之後,就可以使用局域網的軟件源了:
    # yum update

7.6 yum更換國內源

  • 恢復系統默認yum源配置:
[root@gaohanwei Packages]# cd /etc/yum.repos.d
[root@gaohanwei yum.repos.d]# ls
dvd.repo
[root@gaohanwei yum.repos.d]# rm -f dvd.repo
[root@gaohanwei yum.repos.d]# ls
[root@gaohanwei yum.repos.d]# cp ../yum.repos.d.bak/* .
[root@gaohanwei yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
  • 自定義yum源:
[root@gaohanwei yum.repos.d]# rm -f CentOS-Base.repo

先刪除默認yum源,然後使用wget命令建立新yum源:

[root@gaohanwei yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
-bash: wget: 未找到命令

此時wget命令未安裝,同時刪除了yum源文件,無法安裝wget包。
所以用下面的方法:“curl命令”

[root@gaohanwei yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1572  100  1572    0     0   8959      0 --:--:-- --:--:-- --:--:--  8982
[root@gaohanwei yum.repos.d]# ls
CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo

說明: 執行完curl命令後,原有yum源文件CentOS-Base.repo被替換成CentOS7-Base-163.repo。查看該yum源文件:

[root@gaohanwei yum.repos.d]# vim CentOS7-Base-163.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 - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
 "CentOS7-Base-163.repo" 41L, 1572C        

其鏡像文件地址更換為:“baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/”。

註: 該過程中使用的yum源需要事先下載。


7.7 yum下載rpm包

安裝擴展源epel

安裝一個擴展源文件(epel-release)即可:

[root@gaohanwei yum.repos.d]# ls
CentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo
[root@gaohanwei yum.repos.d]# yum install -y epel-release
……
已安裝:
  epel-release.noarch 0:7-9 

完畢!
[root@gaohanwei yum.repos.d]# ls
CentOS7-Base-163.repo  CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      epel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo    epel-testing.repo

安裝完成後,yum.repos.d/下增加“epel.repo”、“epel-testing.repo”兩個文件:

[root@gaohanwei yum.repos.d]# cat epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
……

查看:

[root@gaohanwei yum.repos.d]# yum list
……
zulucrypt-doc.noarch                             5.0.1-1.el7                          epel     
zulucrypt-libs.x86_64                            5.0.1-1.el7                          epel     
zvbi.x86_64                                      0.2.35-1.el7                         epel     ……

增加了很多來自epel庫的rpm包。


7.8下載rpm包

下載

命令:yum install -y [包名] --downloadonly

[root@gaohanwei yum.repos.d]# yum install -y  zsh --downloadonly
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
……
zsh-5.0.2-25.el7_3.1.x86_64.rpm                                         | 2.4 MB  00:00:02     
exiting because "Download Only" specified
[root@gaohanwei yum.repos.d]# rpm -q zsh
未安裝軟件包 zsh 

即,該命令的含義就是只下載不安裝。
下載的包默認保存位置為:

[root@gaohanwei yum.repos.d]# ls /var/cache/yum/x86_64/7/updates/packages
zsh-5.0.2-25.el7_3.1.x86_64.rpm

自定義下載目錄
命令:

yum install -y [包名] --downloadonly --downloaddir=/tmp/(自定義目錄)

[root@gaohanwei yum.repos.d]# yum install -y  zsh --downloadonly --downloaddir=/tmp/
[root@gaohanwei yum.repos.d]# ls /tmp/
zsh-5.0.2-25.el7_3.1.x86_64.rpm

下載一個已經安裝過的包:

[root@gaohanwei yum.repos.d]# yum install -y  vim-enhanced --downloadonly --downloaddir=/tmp/
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
 * epel: mirror01.idc.hinet.net
軟件包 2:vim-enhanced-7.4.160-1.el7_3.1.x86_64 已安裝並且是最新版本
無須任何處理
[root@gaohanwei yum.repos.d]# yum reinstall -y  vim-enhanced --downloadonly --downloaddir=/tmp/
已加載插件:fastestmirror
……
[root@gaohanwei yum.repos.d]# ls /tmp/
vim-enhanced-7.4.160-1.el7_3.1.x86_64.rpm
zsh-5.0.2-25.el7_3.1.x86_64.rpm

說明: 當下一個已經安裝過的包時系統不會執行任何操作,此時可以使用“reinstall”來下該包。


7.8-7.9 源碼包安裝

先下載一個源碼包!

註: 今後所有源碼包放到目錄“/usr/local/src/”!!!

[root@gaohanwei src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.32.tar.gz  
下載Apache!該地址來自於“阿銘碼市”。
下載完後解壓該文件:
[root@gaohanwei src]# tar zxvf httpd-2.2.32.tar.gz
[root@gaohanwei src]# ls
httpd-2.2.32  httpd-2.2.32.tar.gz

查看文件httpd-2.2.32的內容:

[root@gaohanwei src]# cd httpd-2.2.32
[root@gaohanwei httpd-2.2.32]# 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.txt
buildconf     httpd.dep      LAYOUT          modules       ROADMAP

安裝Apache:

① 
[root@gaohanwei httpd-2.2.32]# ./configure --prefix=/usr/local/apache2
checking for chosen layout... Apache
checking for working mkdir -p... yes
……
checking for chosen layout... apr
checking for gcc... no
checking for cc... no

當某命令運行結束後,使用"echo $?"檢驗其是否正確:

[root@gaohanwei httpd-2.2.32]# echo $?
1
當該值為0時表示上一條命令正確,如果值為1則錯誤。
此處值為1,即上面命令錯誤,查看其安裝過程發現“checking for gcc... no”——表示“gcc”編譯器不存在,所以需要先安裝gcc編譯器:
[root@gaohanwei httpd-2.2.32]# yum install -y gcc
…………
完畢!
[root@gaohanwei httpd-2.2.32]# ./configure --prefix=/usr/local/apache2
再次安裝。
[root@gaohanwei httpd-2.2.32]# echo $?
0
檢測,正確。
②
[root@gaohanwei httpd-2.2.32]# make   編譯!
……
[root@gaohanwei httpd-2.2.32]# echo $?
0

③
[root@gaohanwei httpd-2.2.32]# make install
……
[root@gaohanwei httpd-2.2.32]# echo $?
0
每次命令執行完後用“echo $?”進行檢測,確保其正確。
安裝完成!
查看其安裝目錄的內容:
[root@gaohanwei httpd-2.2.32]# ls /usr/local/apache2/
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules

註: 下載源碼包要到官方網站或可信任站點——安全!

7.1-7.9 軟件包的安裝與卸載