天天看點

Linux軟體包安裝和解除安裝——rpm、yum、源碼包安裝Linux軟體包安裝和解除安裝

Linux軟體包安裝和解除安裝

一、rpm工具

rpm,全稱是red hat package manager, 是Red Hat公司提出了軟體安裝管理程式。rpm 包是預先在linux系統上編譯打包的檔案,就在我們之前的安裝centos7 的CD光牒鏡像裡。

1.1 加載CD光牒

Linux軟體包安裝和解除安裝——rpm、yum、源碼包安裝Linux軟體包安裝和解除安裝
Linux軟體包安裝和解除安裝——rpm、yum、源碼包安裝Linux軟體包安裝和解除安裝

将光驅挂載到 /mnt 目錄

[[email protected] ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,将以隻讀方式挂載
[[email protected] ~]# df -h
檔案系統        容量  已用  可用 已用% 挂載點
/dev/sda3        27G  1.7G   25G    7% /
devtmpfs        907M     0  907M    0% /dev
tmpfs           916M     0  916M    0% /dev/shm
tmpfs           916M  8.6M  908M    1% /run
tmpfs           916M     0  916M    0% /sys/fs/cgroup
/dev/sda1       197M  113M   84M   58% /boot
tmpfs           184M     0  184M    0% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /mnt

           

檢視rpm包

[[email protected] ~]# cd /mnt/
[[email protected] mnt]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[[email protected] mnt]# cd Packages/
[[email protected] Packages]# ls

           

此時我們看到字尾名為 “.rpm”的包,顔色都為紅色;

Linux軟體包安裝和解除安裝——rpm、yum、源碼包安裝Linux軟體包安裝和解除安裝

1.2 rpm命名格式

rpm包有主包和支包(主包的子包)之分,支包作為主包的功能性補充。

1.2.1. 其中rpm主包的命名格式為:name-VERSION-release.arch.rpm。各個部分解釋如下:

  • name:程式名
  • VERSION:版本 VERSION由三部分組成:
    • major:程式的主版本号;
    • minor:程式的次版本号 ;
    • release:程式的修訂号;
  • release[.os].arch:代表rpm包的發行号
    • release[.os]:rpm版本+作業系統
    • arch:archetecture,支援的硬體架構。
Linux軟體包安裝和解除安裝——rpm、yum、源碼包安裝Linux軟體包安裝和解除安裝

1.2.2. 對于支包來說,其命名格式為:

  • name-function-VERSION-release.arch.rpm
  • 常見的function有:devel, utils(工具程式), libs, ...

1.3 rpm包工具用法

常見參數 用法
-i 安裝
-v 可視化
-h 顯示安裝進度
-U 更新rpm包
-e 解除安裝一個包
-q 查詢一個包是否已經安裝
-qi 查詢指定包資訊
-ql 查詢指定包資訊
-qf 查詢檔案絕對路徑
–force 特殊用法,強制安裝,即使覆寫其他包也會安裝
–nodeps 即使依賴包沒有安裝,也要強制安裝

安裝rpm封包件 -ivh

  • 安裝檢測:--test 用來檢查依賴關系,并不是真正的安裝;
[[email protected] Packages]# rpm -ivh --test zlib-devel-1.2.7-17.el7.x86_64.rpm
準備中...                          ################################# [100%]
           
  • 安裝:rpm -ivh [rpm包名稱]
[[email protected] Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm
準備中...                          ################################# [100%]
正在更新/安裝...
   1:zlib-devel-1.2.7-17.el7          ################################# [100%]
           
  • 為軟體包指定安裝目錄: rpm -ivh --relocate [rpm包名稱]
[[email protected] Packages]# rpm -ivh --relocate /=/root/NBA/zlib-devel/ zlib-devel-1.2.7-17.el7.x86_64.rpm
準備中...                          ################################# [100%]
	軟體包 zlib-devel-1.2.7-17.el7.x86_64 已經安裝
	path / in package zlib-devel-1.2.7-17.el7.x86_64 is not relocatable         //不可重新定位
           
注:通常情況下,centos執行檔案都放在 /bin 或者 /sbin目錄下,指定目錄可能會導緻找不到指令,解決方法:在 /bin 或者 /sbin 目錄下建立一個軟連結檔案,然後設定軟連結:ln -s [源檔案] [目标檔案]
  • 更新RPM包 : rpm -Uvh [rpm包名稱]
[[email protected] Packages]# rpm -Uvh zlib-devel-1.2.7-17.el7.x86_64.rpm
準備中...                          ################################# [100%]
	軟體包 zlib-devel-1.2.7-17.el7.x86_64 已經安裝
           
  • 由新版本降級為舊版本: rpm -Uvh --oldpackage [rpm包名稱]
[[email protected] Packages]# rpm -Uvh --oldpackage zlib-devel-1.2.7-17.el7.x86_64.rpm
準備中...                          ################################# [100%]
	軟體包 zlib-devel-1.2.7-17.el7.x86_64 已經安裝

           
  • rpm 包解除安裝:rpm -e [軟體包名];** 注意**:這裡的 軟體包名是不包括平台資訊和字尾名的;隻是包的name;
[[email protected] Packages]# rpm -e zlib-devel

           

rpm 包的查詢: rpm [參數] [rpm包名]

分以下幾種用法:

  • 查詢系統已安裝的軟體: rpm -q [軟體名]
[[email protected] Packages]# rpm -q zlib-devel
zlib-devel-1.2.7-17.el7.x86_64

           
  • 檢視系統中所有已經安裝的包:rpm -qa [軟體名]
[[email protected] Packages]# rpm -qa
           
  • 查詢已安裝的檔案屬于哪個軟體包:rpm -qf [檔案名]
[[email protected] Packages]# rpm -qf /usr/bin/zip     //注:此處的檔案需要使用絕對路徑
zip-3.0-11.el7.x86_64
           
此處如果不用絕對路徑,那麼就要用:rpm -qf which [程式名] 注意:這裡不是引号,而是`,就是鍵盤左上角的那個鍵。
[[email protected] ~]# rpm -qf `which zip` 
zip-3.0-11.el7.x86_64

           
  • 查詢已安裝軟體包資訊:rpm -qi [軟體名]
[[email protected] Packages]# rpm -qi zip
Name        : zip
Version     : 3.0
Release     : 11.el7
Architecture: x86_64
Install Date: 2018年05月26日 星期六 15時35分55秒
Group       : Applications/Archiving
Size        : 815173
License     : BSD
Signature   : RSA/SHA256, 2016年11月21日 星期一 05時04分58秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : zip-3.0-11.el7.src.rpm
Build Date  : 2016年11月06日 星期日 00時49分55秒
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://www.info-zip.org/Zip.html
Summary     : A file compression and packaging utility compatible with PKZIP
Description :
The zip program is a compression and file packaging utility.  Zip is
analogous to a combination of the UNIX tar and compress commands and
is compatible with PKZIP (a compression and file packaging utility for
MS-DOS systems).

Install the zip package if you need to compress files using the zip
program.
           
  • 查詢已安裝軟體位置:rpm -ql [軟體名]
[[email protected] Packages]# rpm -ql zip
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/share/doc/zip-3.0
/usr/share/doc/zip-3.0/CHANGES
/usr/share/doc/zip-3.0/LICENSE
/usr/share/doc/zip-3.0/README
/usr/share/doc/zip-3.0/README.CR
/usr/share/doc/zip-3.0/TODO
/usr/share/doc/zip-3.0/WHATSNEW
/usr/share/doc/zip-3.0/WHERE
/usr/share/doc/zip-3.0/algorith.txt
/usr/share/man/man1/zip.1.gz
/usr/share/man/man1/zipcloak.1.gz
/usr/share/man/man1/zipnote.1.gz
/usr/share/man/man1/zipsplit.1.gz

           
  • 檢視已安裝軟體所依賴的軟體包: rpm -qR [軟體名] 或者rpm -qpR [rpm包]
[[email protected] Packages]# rpm -qR zlib-devel
/usr/bin/pkg-config
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
zlib = 1.2.7-17.el7
rpmlib(PayloadIsXz) <= 5.2-1

           

二、yum工具

yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。 基於RPM包管理,能夠從指定的伺服器自動下載下傳RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載下傳、安裝。 yum提供了查找、安裝、删除某一個、一組甚至全部軟體包的指令,而且指令簡潔而又好記。

  • 列出可用rpm包:yum list
[[email protected] Packages]# yum list |head -10 ; yum list |tail -3
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.cn99.com
已安裝的軟體包
GeoIP.x86_64                                1.5.0-11.el7               @anaconda
NetworkManager.x86_64                       1:1.8.0-9.el7              @anaconda
NetworkManager-libnm.x86_64                 1:1.8.0-9.el7              @anaconda
NetworkManager-team.x86_64                  1:1.8.0-9.el7              @anaconda


由于管道被破壞而退出
zziplib-devel.i686                          0.13.62-5.el7              base     
zziplib-devel.x86_64                        0.13.62-5.el7              base     
zziplib-utils.x86_64                        0.13.62-5.el7              base 

           
上述資訊中,mirrors.cn99.com,ftp.sjtu.edu.cn是擷取包資源的下載下傳路徑;清單有3列,第一列是RPM包名,中間是版本資訊,最右側是安裝資訊(倉庫名)。@anaconda 是已安裝的包; base 是未安裝的包;
  • 找到這些存放rpm包的倉庫資訊:ls /etc/yum.repos.d/
[[email protected] Packages]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[[email protected] Packages]# ls /etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-Base.repo
[[email protected] Packages]# cat /etc/yum.repos.d/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

#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-7

#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-7

           
  • 搜尋RPM包:yum search vim
[[email protected] Packages]#  yum search vim

           
  • 用grep過濾,找到相應的RPM包,|是管道符,傳遞結果給下一個指令.
[[email protected] Packages]# yum list |grep 'vim'
vim-common.x86_64                           2:7.4.160-4.el7            @base    
vim-enhanced.x86_64                         2:7.4.160-4.el7            @base    
vim-filesystem.x86_64                       2:7.4.160-4.el7            @base    
vim-minimal.x86_64                          2:7.4.160-2.el7            @anaconda
protobuf-vim.x86_64                         2.5.0-8.el7                base     
vim-X11.x86_64                              2:7.4.160-4.el7            base     
vim-minimal.x86_64                          2:7.4.160-4.el7            base
           
  • 有些指令不知道安裝包在哪,通過以下指令:yum provides “/*/vim” 不指定具體路徑(通配)來查找,然後安裝
[[email protected] Packages]# yum provides “/*/vim”

           
  • 安裝:yum install -y [rpm 名]
[[email protected] Packages]# yum install -y vim-X11.x86_64

           
  • 更新 rpm 包:yum update [-y] [rpm 名]
[[email protected] Packages]# yum update -y vim-X11.x86_64

           
  • 解除安裝:yum remove [rpm 名]
[[email protected] Packages]# yum remove  vim-X11.x86_64

           
注:解除安裝跟安裝類似,解除安裝也可以加上-y參數,省略互動環節;不過穩妥起見,還是不加-y比較好。

安裝軟體也可以一組一組安裝,yum還支援一堆一堆的安裝,就是按照功能把軟體分組,一次安裝一組軟體。

  • 先查詢組:yum grouplist
[[email protected] Packages]# yum grouplist
已加載插件:fastestmirror
沒有安裝組資訊檔案
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: ftp.sjtu.edu.cn
 * updates: mirrors.cn99.com
可用的環境分組:
   最小安裝                         //安置系統的時候,我們就隻選了這個組
   基礎設施伺服器
   計算節點
   檔案及列印伺服器
   基本網頁伺服器
   虛拟化主機
   帶 GUI 的伺服器
   GNOME 桌面
   KDE Plasma Workspaces
   開發及生成工作站
可用組:
   傳統 UNIX 相容性
   相容性程式庫
   圖形管理工具
   安全性工具
   開發工具                         //Development Tools  注意:下面我要安裝
   控制台網際網路工具
   智能卡支援
   科學記數法支援
   系統管理
   系統管理工具
完成

           
  • yum groupinstall [組名] 安裝,注意此處的組名要用單引号括起來,由于我們是中文版的,寫組名的時候,要寫英文;
[[email protected] Packages]# yum groupinstall 'Development Tools'    //安裝"開發工具"組 

           

2.2 yum搭建本地倉庫

相較于rpm,使用yum安裝要友善很多,但是當系統無法聯網,就不能使用yum安裝軟體了。這裡的變通的方法,是搭建本地倉庫。

  • 首先,挂在光驅鏡像 //前面已做過
[[email protected] ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 寫保護,将以隻讀方式挂載
[[email protected] ~]# df -h
檔案系統        容量  已用  可用 已用% 挂載點
/dev/sda3        27G  1.7G   25G    7% /
devtmpfs        907M     0  907M    0% /dev
tmpfs           916M     0  916M    0% /dev/shm
tmpfs           916M  8.6M  908M    1% /run
tmpfs           916M     0  916M    0% /sys/fs/cgroup
/dev/sda1       197M  113M   84M   58% /boot
tmpfs           184M     0  184M    0% /run/user/0
/dev/sr0        4.3G  4.3G     0  100% /mnt

           
  • 接着,備份一個檔案 友善恢複
[[email protected] ~]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d.bak

           
  • 然後:删除 /etc/yum.repos.d 目錄下所有repos檔案
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] 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
[[email protected] yum.repos.d]# rm -rf ./*

           
  • 再,建立dvd.repo
[[email protected] yum.repos.d]# vim /etc/yum.repos.d/dvd.repo


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

           
  • 重新整理repos生成緩存
    • yum clean all //先清楚之前到緩存
    • yum makecache //生成緩存
    • yum list //保險起見,可以檢視一下,清單中最後一列辨別為dvd的都是本地repos

2.3 yum更換國内源

  • 删除自己建立的DVD本地yum庫,恢複之前的備份;
[[email protected] ~]# cd /etc/yum.repos.d 
[[email protected] yum.repos.d]# ls 
dvd.repo
[[email protected] yum.repos.d]# rm -f dvd.repo                        
[[email protected] yum.repos.d]# cp /etc/yum.repos.d.bak/* /etc/yum.repos.d   //cp拷貝的檔案下所有的配置檔案,到本目錄下。
           
  • 更換yum源,把源碼包删除掉
[[email protected] 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
[[email protected] yum.repos.d]# rm -f CentOS-Base.repo 
           
  • 下載下傳一個國内源碼包
[[email protected] yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo  //由于源碼包被删除,wget用不了
-bash: wget: 未找到指令
[[email protected] yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo   //利用 curl -O 指令
           
[email protected] 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

[[email protected] yum.repos.d]# yum install -y vim-minimal.x86_64

           
  • 最後還需要 清除緩存
[[email protected] yum.repos.d]# yum clean all
           

這一步是必須要執行的,這樣可以生成緩存,友善下次使用

[[email protected] yum.repos.d]# yum list
           

2.3 安裝擴充源

隻安裝一個CentOS7-Base-163.repo基礎源是不夠用的,有時候安裝RPM包的時候沒有一些擴充的東西。

  • 安裝擴充源epel
[[email protected] yum.repos.d]# yum install -y epel-release

           
  • 重新整理
[[email protected] yum.repos.d]# yum list
 
           
  • 檢視到的檔案太多,可以用grep過濾
[[email protected] yum.repos.d]# yum list |grep epel

           
  • 安裝一個rpm包:yum install -y [包名]
[[email protected] yum.repos.d]# yum install -y zsh --downloadonly

           
  • 檢視rpm預設下載下傳路徑:ls /var/cache/yum/x86_64/7/updates/
[[email protected] yum.repos.d]# ls /var/cache/yum/x86_64/7/updates/
cachecookie                                                                          mirrorlist.txt
d94a7500ce5b2da5a87ec4a88472b7d4668293b0aea3704dbbe23ef9819dbef0-primary.sqlite.bz2  packages
gen                                                                                  repomd.xml

           
  • 如果指定下載下傳的rpm路徑
[[email protected] yum.repos.d]# yum install -y znc --downloadonly --downloaddir=/tmp/
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.zju.edu.cn
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.aliyun.com
正在解決依賴關系
--> 正在檢查事務
---> 軟體包 znc.x86_64.0.1.6.6-1.el7 将被 安裝

           
  • 打開/tmp/目錄,發現znc-1.6.6-1.el7.x86_64.rpm 已經被安裝到此目錄下;
[[email protected] yum.repos.d]# ls /tmp/
newdisk
passwd
systemd-private-b921614b1c7747c08af71e52c079206b-chronyd.service-HTv3N4
systemd-private-b921614b1c7747c08af71e52c079206b-vgauthd.service-BuqRTr
systemd-private-b921614b1c7747c08af71e52c079206b-vmtoolsd.service-RKxskg
yum_save_tx.2018-05-30.10-10.RuvKi7.yumtx
yum_save_tx.2018-05-30.10-28.pmEM9D.yumtx
znc-1.6.6-1.el7.x86_64.rpm
[[email protected] yum.repos.d]# 

           

三、源碼包安裝

安裝源碼包通常需要以下3個步驟:

  1. ./configyre。這一步可以定制功能,加上相應的選項即可; 具體有什麼選項可以通過指令 ./configure --help檢視。 這一步會自動檢測你的Linux系統于相關的套件是否有編譯該源碼包時所需要的庫, 因為一但缺少某個庫,就能完成編譯。
  2. make。使用這個指令,會進行預設參數編譯。
  3. make install,用于安裝,用于建立相關軟體的存放目錄和配置檔案
注意:采用源碼包安裝的方式,需要用編譯器進行。linux下的c語言編譯器是gcc,centos下運作 yum install -y gcc 進行安裝。
[[email protected] httpd-2.4.33]# yum install -y gcc

           
  • 統一的源碼包位址 /usr/local/src ;定義到其目錄下;
[[email protected] yum.repos.d]# cd
[[email protected] ~]# cd /usr/local/src

           
  • 先下載下傳一個apache的包;
[[email protected] src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.33.tar.gz
--2018-05-29 10:53:55--  http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.33.tar.gz
正在解析主機 mirrors.cnnic.cn (mirrors.cnnic.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
正在連接配接 mirrors.cnnic.cn (mirrors.cnnic.cn)|101.6.8.193|:80... 已連接配接。
已發出 HTTP 請求,正在等待回應... 200 OK
長度:9076901 (8.7M) [application/octet-stream]
正在儲存至: “httpd-2.4.33.tar.gz”

100%[===========================================================>] 9,076,901    638KB/s 用時 14s    

2018-05-29 10:54:09 (656 KB/s) - 已儲存 “httpd-2.4.33.tar.gz” [9076901/9076901])

           
  • 解壓這個包: tar-zxvf httpd-2.4.33.tar.gz
[[email protected] src]# ls
httpd-2.4.33.tar.gz  mysql-5.5.55.tar.gz
[[email protected] src]# tar -zxvf httpd-2.4.33.tar.gz

           
  • 用ls指令檢視解壓後的檔案;
[[email protected] src]# ls
httpd-2.4.33  httpd-2.4.33.tar.gz
[[email protected] src]# ls httpd-2.4.33
ABOUT_APACHE     BuildBin.dsp    emacs-style     LAYOUT        NOTICE            srclib
acinclude.m4     buildconf       httpd.dep       libhttpd.dep  NWGNUmakefile     support
Apache-apr2.dsw  CHANGES         httpd.dsp       libhttpd.dsp  os                test
Apache.dsw       CMakeLists.txt  httpd.mak       libhttpd.mak  README            VERSIONING
apache_probes.d  config.layout   httpd.spec      LICENSE       README.cmake
ap.d             configure       include         Makefile.in   README.platforms
build            configure.in    INSTALL         Makefile.win  ROADMAP
BuildAll.dsp     docs            InstallBin.dsp  modules       server

           

./configuer --prefix=/usr/local/apache2,prefix指定安裝路徑,apache2表示版本

[[email protected] src]# cd httpd-2.4.33
[[email protected] httpd-2.4.33]# ./configure --prefix=/usr/local/apache2
checking for chosen layout... Apache
checking for working mkdir -p... yes
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
configure: 
configure: Configuring Apache Portable Runtime library...
configure: 
checking for APR... no                                                
configure: error: APR not found.  Please read the documentation.        //有問題

           
  • 用指令檢測 echo $? 如果生成為非0,那麼久是有問題;
[[email protected] httpd-2.4.33]# echo $?                               
1
           

幫助指令:./configure --help

[[email protected] httpd-2.4.33]# ./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.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

  //篇幅原因,下面省略
           
  • 再用echo $? 檢測上條指令;
[[email protected] httpd-2.4.33]# echo $?
0

           

由于源碼包網址有問題,試驗先暫停,查詢下資料,再續上;

版權聲明:本文為CSDN部落客「weixin_34101784」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34101784/article/details/92416458