Centos離線安裝gcc-c++,make, nginx

最近公司一個項目的服務器由於安全因素的考慮不會提供互聯網環境,不能使用yum和wget,因此只能上傳離線包安裝應用。html

使用tar源碼包安裝應用應用時須要make編譯,因此依賴gcc和g++環境,先查看有沒有這些:node

[root@localhost local]# gcc -v
bash: gcc: 未找到命令...
^C
[root@localhost local]# g++ -v
bash: g++: 未找到命令...
^C
[root@localhost local]# make -v
bash: make: 未找到命令...

好吧,啥都沒有,rpm應該能用吧linux

[root@localhost local]# rpm
RPM 版本 4.14.3
版權全部 (C) 1998-2002 - 紅帽公司。

安裝gcc-c++

那就用rpm一個一個裝吧,先查看一下操做系統類型版本nginx

# 查看系統版本信息
[root@localhost local]# cat /etc/centos-release
CentOS Linux release 8.3.2011

# 查看Linux版本信息 此命令輸出結果包含了系統內核版本、gcc編譯器版本和Red Hat版本號
[root@localhost local]# cat /proc/version
Linux version 4.18.0-240.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Sep 25 19:48:47 UTC 2020

根據上面的版本信息在本身有網的電腦上去 https://pkgs.org/ 下載對應的gcc-c++的rpm包
image.png
就是這個,能夠看到它依賴了不少包
image.png
先不用管這些依賴的包,先把這gcc-c++-8.2.1-3.5.el8.x86_64.rpm這個包下下來傳到服務器上去,在這裏進行下載:
image.png
上傳以前先規劃好服務器存放目錄:c++

# 我的喜歡把全部的包放在這個目錄下
[root@localhost baseenv]# cd /usr/local

# 建立一個baseenv目錄用於存放基礎環境包
[root@localhost local]# mkdir baseenv

# 在baseenv下建立gcc-c++目錄存放gcc-c++相關的包
[root@localhost local]# cd baseenv/
[root@localhost baseenv]# mkdir gcc-c++

上傳以後使用rpm進行安裝segmentfault

[root@localhost gcc-c++]# ll
總用量 12540
-rw-r--r--. 1 root root 12839856 5月  14 05:59 gcc-c++-8.3.1-5.1.el8.x86_64.rpm

# 使用rpm進行安裝
[root@localhost gcc-c++]# rpm -ivh gcc-c++-8.3.1-5.1.el8.x86_64.rpm 
警告:gcc-c++-8.3.1-5.1.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID 8483c65d: NOKEY
錯誤:依賴檢測失敗:
        gcc = 8.3.1-5.1.el8 被 gcc-c++-8.3.1-5.1.el8.x86_64 須要
        libstdc++-devel = 8.3.1-5.1.el8 被 gcc-c++-8.3.1-5.1.el8.x86_64 須要
[root@localhost gcc-c++]#

以前說不用管那些依賴是由於,那些依賴並非全部的都須要,因此經過嘗試去讓系統檢測咱們須要那些包,而後咱們根據提示去找對應的包
image.png
點進去用一樣的方式進行下載安裝,只有全部的依賴都安裝好了,父包才能安裝成功,由於有的包依賴的層級比較深,因此找包的過程比較麻煩,一共涉及到9個包:centos

[root@localhost gcc-c++]# ls
cpp-8.3.1-5.1.el8.x86_64.rpm           isl-0.16.1-6.el8.x86_64.rpm
gcc-8.3.1-5.1.el8.x86_64.rpm           kernel-headers-4.18.0-240.22.1.el8_3.x86_64.rpm
gcc-c++-8.3.1-5.1.el8.x86_64.rpm       libstdc++-devel-8.3.1-5.1.el8.x86_64.rpm
glibc-devel-2.28-127.el8.x86_64.rpm    libxcrypt-devel-4.1.1-4.el8.x86_64.rpm
glibc-headers-2.28-127.el8.x86_64.rpm

能夠一個一個去進行rpm安裝,也能夠找齊全部的包以後一塊兒進行強制安裝(gcc-c++相關rpm包已上傳至百度網盤-->連接:https://pan.baidu.com/s/1hmXj...
提取碼:933g ,版本合適者自取):安全

# 忽略依賴強制安裝全部rpm包
[root@localhost gcc-c++]# rpm -ivh *.rpm --nodeps --force
警告:cpp-8.3.1-5.1.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...
   1:libstdc++-devel-8.3.1-5.1.el8    ################################# [ 11%]
   2:kernel-headers-4.18.0-240.22.1.el################################# [ 22%]
   3:glibc-headers-2.28-127.el8       ################################# [ 33%]
   4:libxcrypt-devel-4.1.1-4.el8      ################################# [ 44%]
   5:glibc-devel-2.28-127.el8         ################################# [ 56%]
   6:isl-0.16.1-6.el8                 ################################# [ 67%]
   7:cpp-8.3.1-5.1.el8                ################################# [ 78%]
   8:gcc-8.3.1-5.1.el8                ################################# [ 89%]
   9:gcc-c++-8.3.1-5.1.el8            ################################# [100%]

檢查如下是否安裝成功bash

[root@localhost gcc-c++]# gcc -v
[root@localhost gcc-c++]# g++ -v

安裝make

依然在 https://pkgs.org/ 中搜索make相關包
image.png
在baseenv下建立make路徑存放make包,下載好rpm包後進行安裝:服務器

[root@localhost make]# ll
總用量 500
-rw-r--r--. 1 root root 509448 5月  14 06:27 make-4.2.1-10.el8.x86_64.rpm

# 安裝make
[root@localhost make]# rpm -ivh make-4.2.1-10.el8.x86_64.rpm 
警告:make-4.2.1-10.el8.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
準備中...                          ################################# [100%]
正在升級/安裝...
   1:make-1:4.2.1-10.el8              ################################# [100%]

# 安裝成功後測試如下
[root@localhost make]# make -v
GNU Make 4.2.1
爲 x86_64-redhat-linux-gnu 編譯
Copyright (C) 1988-2016 Free Software Foundation, Inc.
許可證:GPLv3+:GNU 通用公共許可證第 3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本軟件是自由軟件:您能夠自由修改和從新發布它。
在法律容許的範圍內沒有其餘保證。

安裝nginx

環境安裝好以後,使用tar包安裝個nginx吧,直接將tar包傳到/usr/local下,進行解壓安裝:

# 解壓壓縮包
tar -zxvf  nginx-1.20.0.tar.gz
# 切換到/usr/local/nginx-1.20.0下編譯安裝
./configure

運行到這一步發現不能經過了

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

由於nginx自己依賴pcre,和zlib,因此先安裝這兩個:

  • 安裝pcre

    • 獲取pcre編譯安裝包,在 http://www.pcre.org/ 上能夠獲取當前最新的版本
    • 解壓縮pcre-xx.tar.gz包。
    • 進入解壓縮目錄,執行./configure。
    • make & make install
  • 安裝zlib

    • 獲取zlib編譯安裝包,在 http://www.zlib.net/ 上能夠獲取當前最新的版本。
    • 解壓縮openssl-xx.tar.gz包。
    • 進入解壓縮目錄,執行./configure。
    • make & make install

安裝好以後就能夠進行nginx的安裝了:

# 切換到/usr/local/nginx-1.20.0下編譯安裝
./configure
make
make install

至此nginx已經安裝成功了,若是要進行systemd管理或安裝其餘應用,詳情請參考個人另外一篇文章 https://segmentfault.com/a/11...

參考文章:

https://www.cnblogs.com/dyd16...
https://blog.csdn.net/huaishu...

相關文章
相關標籤/搜索