openvas 安裝


fedora14 64位上安裝openvas,以gvm-10為例子

首先需要更新依賴

設置/etc/ld.so.conf

添加/usr/lib64

1.cmake 3.0以上

下載地址https://cmake.org/files/cmake-3.9.2-Linux-x86_64.tar.gz

創建/usr/bin/cmake 到解壓包的軟連接

ln -s xxxxx /usr/bin/cmake

2.glib更新

本機2.26.0---->2.42以上

本機2.26.0時

[root@banel64 gvm-libs-10.0.1]# pkg-config --cflags --libs glib-2.0

-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -lglib-2.0

 

安裝2.42.1步驟:

rm -rf /usr/include/glib-2.0/

mkdir /usr/include/glib-2.0/

configure --prefix=/usr/  --libdir=/usr/lib64

make

make install

安裝完之后

[root@banel64 ~]# pkg-config --cflags --libs glib-2.0

-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include  -lglib-2.0 

 

 

 

3.zlib更新

本機1.2.5----->1.2.8以上

本機1.2.5時

[root@banel64 gvm-libs-10.0.1]# rpm -qa|grep zlib

zlib-1.2.5-2.fc14.x86_64

zlib-devel-1.2.5-2.fc14.x86_64

下載源碼更新

wget https://www.zlib.net/zlib-1.2.11.tar.gz

安裝步驟:

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

安裝完成之后

對比一下/usr/lib64庫文件 /usr/lib64/pkgconfig/*.pc文件 /usr/include/zlib.h 版本和修改日期

最后發現這個命令還可以加版本號

[root@banel64 tools]# pkg-config --cflags --libs "zlib >= 1.2.11"

 -lz 

4.安裝libgmp

假如libgmp之前未安裝或者安裝的版本太低,導致nettle安裝之后libhogweed.so未安裝。gnutls ./configure配置依然出錯。

 

之前安裝的gmp版本及庫

[root@banel64 ~]# rpm -qa|grep gmp

gmp-4.3.1-7.fc14.x86_64

gmp-devel-4.3.1-7.fc14.x86_64

[root@banel64 ~]# ll /usr/lib64/libgmp*

lrwxrwxrwx. 1 root root     15  5月 16 2012 /usr/lib64/libgmp.so -> libgmp.so.3.5.0

lrwxrwxrwx. 1 root root     15  5月 16 2012 /usr/lib64/libgmp.so.3 -> libgmp.so.3.5.0

-rwxr-xr-x. 1 root root 380888  3月  2 2010 /usr/lib64/libgmp.so.3.5.0

lrwxrwxrwx. 1 root root     13  5月 16 2012 /usr/lib64/libgmpxx.so -> libgmpxx.so.4

lrwxrwxrwx. 1 root root     17  5月 16 2012 /usr/lib64/libgmpxx.so.4 -> libgmpxx.so.4.1.0

-rwxr-xr-x. 1 root root  17992  3月  2 2010 /usr/lib64/libgmpxx.so.4.1.0

下載源碼

wget https://gmplib.org/download/gmp/gmp-6.0.0.tar.xz

安裝步驟:

xz -d gmp-6.0.0.tar.xz

tar -xvf gmp-6.0.0.tar

cd gmp-6.0.0

./configure --prefix=/usr --libdir=/usr/lib64 --disable-static --enable-cxx

make

make check

make install

安裝之后

[root@banel64 ~]# ll /usr/lib64/libgmp*

-rwxr-xr-x. 1 root root    902  7月 31 17:43 /usr/lib64/libgmp.la

lrwxrwxrwx. 1 root root     16  7月 31 17:43 /usr/lib64/libgmp.so -> libgmp.so.10.2.0

lrwxrwxrwx. 1 root root     16  7月 31 17:43 /usr/lib64/libgmp.so.10 -> libgmp.so.10.2.0

-rwxr-xr-x. 1 root root 524610  7月 31 17:43 /usr/lib64/libgmp.so.10.2.0

lrwxrwxrwx. 1 root root     15  5月 16 2012 /usr/lib64/libgmp.so.3 -> libgmp.so.3.5.0

-rwxr-xr-x. 1 root root 380888  3月  2 2010 /usr/lib64/libgmp.so.3.5.0

-rwxr-xr-x. 1 root root    931  7月 31 17:43 /usr/lib64/libgmpxx.la

lrwxrwxrwx. 1 root root     17  7月 31 17:43 /usr/lib64/libgmpxx.so -> libgmpxx.so.4.4.0

lrwxrwxrwx. 1 root root     17  7月 31 17:43 /usr/lib64/libgmpxx.so.4 -> libgmpxx.so.4.4.0

-rwxr-xr-x. 1 root root  17992  3月  2 2010 /usr/lib64/libgmpxx.so.4.1.0

-rwxr-xr-x. 1 root root  34567  7月 31 17:43 /usr/lib64/libgmpxx.so.4.4.0

 

5.安裝nettle

nettle依賴pmg

 

安裝gnutls需要先安裝nettle

下載地址

wget https://ftp.gnu.org/gnu/nettle/nettle-3.4.tar.gz

./configure --prefix=/usr/ --libdir=/usr/lib64

 

在config.log文件中出現

configure:6218: WARNING: GNU MP not found, or too old. GMP-6.0 or later is needed, see https://gmplib.org/.

      Support for public key algorithms will be unavailable.

表明系統之前安裝的libgmp版本太低,需要更新libgmp,要6.0版本以上,跑到步驟4

make

make install

安裝之后

[root@banel64 nettle-3.4]# pkg-config --cflags --libs nettle

 -lnettle

[root@banel64 nettle-3.4]# pkg-config --cflags --libs hogweed

 -lhogweed

 [root@banel64 nettle-3.4]# ^C

[root@banel64 nettle-3.4]# ll /usr/lib64/libnettle*

-rw-r--r--. 1 root root 4801850  7月 31 17:53 /usr/lib64/libnettle.a

lrwxrwxrwx. 1 root root      16  7月 31 17:53 /usr/lib64/libnettle.so -> libnettle.so.6.4

lrwxrwxrwx. 1 root root      16  7月 31 17:53 /usr/lib64/libnettle.so.6 -> libnettle.so.6.4

-rw-r--r--. 1 root root 4079456  7月 31 17:53 /usr/lib64/libnettle.so.6.4

[root@banel64 nettle-3.4]# ll /usr/lib64/libhogweed*

-rw-r--r--. 1 root root 6105568  7月 31 17:53 /usr/lib64/libhogweed.a

lrwxrwxrwx. 1 root root      17  7月 31 17:53 /usr/lib64/libhogweed.so -> libhogweed.so.4.4

lrwxrwxrwx. 1 root root      17  7月 31 17:53 /usr/lib64/libhogweed.so.4 -> libhogweed.so.4.4

-rw-r--r--. 1 root root 5470297  7月 31 17:53 /usr/lib64/libhogweed.so.4.4

發現libnettle.so和libhogweed.so都安裝了,假如libhogweed.so沒安裝,等會gnutls的.configure命令還會報錯。

 

6.安裝libtasn1

安裝好nettle之后,繼續gnutls的./configure,出現如下錯誤:

configure: error:

  ***

  *** Libtasn1 4.9 was not found. To use the included one, use --with-included-libtasn1

[root@banel64 gnutls-3.6.9]# rpm -qa|grep tasn1             

libtasn1-devel-2.7-1.fc14.x86_64

libtasn1-2.7-1.fc14.x86_64

[root@banel64 gnutls-3.6.9]# pkg-config --modversion libtasn1

2.7

本地裝了libtasn1雖然版本不夠,但是也可以讓gnutls 的

./configure --prefix=/usr/ --libdir=/usr/lib64 --with-included-libtasn1不再報libtasn1的錯誤,就沒再更新libtasn1.

由於跟蹤問題,所以最后這個庫還是安裝了。
libtasn1-4.9.tar.gz
./configure --prefix=/usr/ --libdir=/usr/lib64
make
make install
sz /usr/lib64/libtasn1.so.6.5.2

安裝之后:

7.安裝unbound

gnutls

./configure --prefix=/usr/ --libdir=/usr/lib64 --with-included-libtasn1 --with-included-unistring --without-p11-kit 時,最后沒有unbound產生的key文件

yum info unbound

yum install unbound

8.gnutls更新

安裝gnutls需要許多依賴,依次安裝各個依賴,需要發費一些功夫。

gnutls我下載的3.6.4版本,nettle下載的3.4版本。

最后make guntls 需要修改源碼,不過問題不大,可以接受。

 

剛開始下的3.6.9,編譯一堆爛七八糟的問題。

gnutls依賴nettle、libtasn1

本機2.8.6------>3.6.4

本機2.8.6時

[root@banel64 tools]# pkg-config --cflags --libs gnutls

 -lgnutls

[root@banel64 tools]# ll /usr/lib64/libgnu*

lrwxrwxrwx. 1 root root     27  5月 16 2012 /usr/lib64/libgnutls-extra.so -> libgnutls-extra.so.26.14.12

lrwxrwxrwx. 1 root root     27  5月 16 2012 /usr/lib64/libgnutls-extra.so.26 -> libgnutls-extra.so.26.14.12

-rwxr-xr-x. 1 root root  31736  6月  2 2010 /usr/lib64/libgnutls-extra.so.26.14.12

lrwxrwxrwx. 1 root root     29  5月 16 2012 /usr/lib64/libgnutls-openssl.so -> libgnutls-openssl.so.26.14.12

lrwxrwxrwx. 1 root root     29  5月 16 2012 /usr/lib64/libgnutls-openssl.so.26 -> libgnutls-openssl.so.26.14.12

-rwxr-xr-x. 1 root root  42128  6月  2 2010 /usr/lib64/libgnutls-openssl.so.26.14.12

lrwxrwxrwx. 1 root root     21  5月 16 2012 /usr/lib64/libgnutls.so -> libgnutls.so.26.14.12

lrwxrwxrwx. 1 root root     21  5月 16 2012 /usr/lib64/libgnutls.so.26 -> libgnutls.so.26.14.12

-rwxr-xr-x. 1 root root 662752  6月  2 2010 /usr/lib64/libgnutls.so.26.14.12

lrwxrwxrwx. 1 root root     23  5月 16 2012 /usr/lib64/libgnutlsxx.so -> libgnutlsxx.so.26.14.12

lrwxrwxrwx. 1 root root     23  5月 16 2012 /usr/lib64/libgnutlsxx.so.26 -> libgnutlsxx.so.26.14.12

-rwxr-xr-x. 1 root root  58240  6月  2 2010 /usr/lib64/libgnutlsxx.so.26.14.12

 

下載3.6.4版本

wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.4.tar.xz

./configure --prefix=/usr/ --libdir=/usr/lib64 --with-included-libtasn1 --with-included-unistring --without-p11-kit

make

make install

make時會出現一些編譯錯誤和警告,警告忽略,錯誤都是一些小錯誤,通過修改源碼就可以解決。

最后終於編譯出so庫了,不容易啊,吐糟一下gnutls,發布了還存在編譯錯誤!

 

[root@banel64 gnutls-3.6.4]# pkg-config --modversion gnutls

3.6.4

[root@banel64 gnutls-3.6.4]# ll /usr/lib64/libgnutls*

lrwxrwxrwx. 1 root root      27  5月 16 2012 /usr/lib64/libgnutls-extra.so -> libgnutls-extra.so.26.14.12

lrwxrwxrwx. 1 root root      27  5月 16 2012 /usr/lib64/libgnutls-extra.so.26 -> libgnutls-extra.so.26.14.12

-rwxr-xr-x. 1 root root   31736  6月  2 2010 /usr/lib64/libgnutls-extra.so.26.14.12

-rwxr-xr-x. 1 root root     994  7月 31 18:23 /usr/lib64/libgnutls.la

lrwxrwxrwx. 1 root root      29  5月 16 2012 /usr/lib64/libgnutls-openssl.so -> libgnutls-openssl.so.26.14.12

lrwxrwxrwx. 1 root root      29  5月 16 2012 /usr/lib64/libgnutls-openssl.so.26 -> libgnutls-openssl.so.26.14.12

-rwxr-xr-x. 1 root root   42128  6月  2 2010 /usr/lib64/libgnutls-openssl.so.26.14.12

lrwxrwxrwx. 1 root root      20  7月 31 18:23 /usr/lib64/libgnutls.so -> libgnutls.so.30.22.0

lrwxrwxrwx. 1 root root      21  5月 16 2012 /usr/lib64/libgnutls.so.26 -> libgnutls.so.26.14.12

-rwxr-xr-x. 1 root root  662752  6月  2 2010 /usr/lib64/libgnutls.so.26.14.12

lrwxrwxrwx. 1 root root      20  7月 31 18:23 /usr/lib64/libgnutls.so.30 -> libgnutls.so.30.22.0

-rwxr-xr-x. 1 root root 8130154  7月 31 18:23 /usr/lib64/libgnutls.so.30.22.0

-rwxr-xr-x. 1 root root    1028  7月 31 18:23 /usr/lib64/libgnutlsxx.la

lrwxrwxrwx. 1 root root      21  7月 31 18:23 /usr/lib64/libgnutlsxx.so -> libgnutlsxx.so.28.1.0

lrwxrwxrwx. 1 root root      23  5月 16 2012 /usr/lib64/libgnutlsxx.so.26 -> libgnutlsxx.so.26.14.12

-rwxr-xr-x. 1 root root   58240  6月  2 2010 /usr/lib64/libgnutlsxx.so.26.14.12

lrwxrwxrwx. 1 root root      21  7月 31 18:23 /usr/lib64/libgnutlsxx.so.28 -> libgnutlsxx.so.28.1.0

-rwxr-xr-x. 1 root root  182491  7月 31 18:23 /usr/lib64/libgnutlsxx.so.28.1.0

9.安裝libuuid 2.25.0

之前系統裝的2.18版本

[root@banel64 gnutls-3.6.4]# pkg-config --modversion uuid

2.18.0

[root@banel64 gnutls-3.6.4]# ll /usr/lib64/libuuid*

lrwxrwxrwx. 1 root root 28 10月 24 2013 /usr/lib64/libuuid.so -> ../../lib64/libuuid.so.1.3.0

 

因為找不到安裝包,所以將uuild.pc文件的版本修改為2.25.0以后有問題再說。

Version: 2.18.0         =》   Version:2.25.0

10.安裝libssh 0.7.4

下載網址https://www.libssh.org/files/

xz -d libssh-0.7.4.tar.xz

tar -xvf libssh-0.7.4.tar

mkdir build

cd build

cmake -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=/usr/lib64 ..

make

make install

安裝成功

[root@banel64 build]# pkg-config --modversion libssh

0.7.4

11. 安裝libhiredis

下載0.10.1版本

https://github.com/redis/hiredis/releases/tag/v0.10.1

這個版本沒有pc文件,需要自己寫pc文件。

就換了個包, hiredis-master.zip

mkdir build

cd build

cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib64 ..

 

最后修改一下.pc文件

[root@banel64 build]# cat /usr/lib64/pkgconfig/hiredis.pc   

prefix=/usr

exec_prefix=${prefix}

libdir=/usr/lib64

includedir=${prefix}/include

pkgincludedir=${libdir}/pkgconfig

 

Name: hiredis

Description: Minimalistic C client library for Redis.

Version: 0.14.0

Libs: -L${libdir} -lhiredis

Cflags: -I${includedir} -D_FILE_OFFSET_BITS=64

12.安裝libgpgme-error

gpgme依賴libgpgme-eror

##https://www.gnupg.org/ftp/gcrypt/libgpg-error/

https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.36.tar.bz2

##下載libgpg-error-1.24.tar.bz2

下載libgpg-error-1.36.tar.bz2

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

13.安裝libassuan

gpgme依賴libassuan

https://www.gnupg.org/ftp/gcrypt/libassuan/

下載libassuan-2.5.3.tar.bz2

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

14.安裝gpgme

我系統上裝了gpgme 的1.2.0版本,但是缺pc文件

[root@banel64 build]# rpm -qa|grep gpgme

gpgme-1.2.0-3.fc14.x86_64

pygpgme-0.1-21.20101027bzr69.fc14.x86_64

后來發現還缺頭文件,就把devel包裝了

yun install gpgme-devel

 

回頭更新gpgme,下載gpgme-1.13.1.tar.bz2和libassuan-2.5.3.tar.bz2

 

cd gpgme-1.13.1

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

15. 安裝libldap2

系統已經裝了。

 

16.安裝gvm-libs

下載gvm-libs-10.0.1.tar.gz

安裝步驟:

mkdir build

cd build

 

cmake  -DCMAKE_INSTALL_PREFIX=/usr ..

make

編譯出錯,提示gpgmeutils.c有問題,有類型未定義。

更新gpgme 1.13.1之后,再make install

 

gvm-libs安裝成功,僅僅表示openvas的基本庫都裝完了。

萬里長城的一小段完成了。

 

17.安裝libical

gvm依賴libical1.0.0以上,本機版本0.46太低。

wget https://github.com/libical/libical/releases/download/v1.0.1/libical-1.0.1.tar.gz

 

mkdir build

cd build

我要裝到/usr/lib64,

cmake  -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64 -DSHARED_ONLY=True ..

make && make install

 

18.安裝sqlite3.8.3

本機sqlite 3.6.23.1版本不夠,需要升級。

官網下載最新版本sqlite-autoconf-3290000.tar.gz,

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

 

17.安裝GVM-8.0.1

下載gvmd-8.0.1.tar.gz

安裝步驟

cmake  -DCMAKE_INSTALL_PREFIX=/usr ..

make

make install

 

18.安裝libgcrypt

libgcrypt1.6版本

wget https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.4.tar.bz2

./configure --prefix=/usr/ --libdir=/usr/lib64

依賴libgpg-error-1.36,回頭更新libgpg-error

make

make install

19.安裝ksba

https://gnupg.org/ftp/gcrypt/libksba/libksba-1.3.5.tar.bz2

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

19.安裝bison2.5

下載http://alpha.gnu.org/gnu/bison/bison-2.5_rc1.tar.gz

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

 

 

20.安裝openvas-6.0.1

cmake  -DCMAKE_INSTALL_PREFIX=/usr ..

make

make install

21.安裝redis

下載redis4.0.14.tar.gz

make

make PREFIX=/usr install

22.安裝node

node-v10.16.2-linux-x64.tar.xz

下載的包,直接解壓,建立/usr/bin/node和/usr/bin/npm的軟連接即可。

23.安裝yarn

ln -s /root/GATEWAY/Openvas/tools/yarn-v1.13.0/bin/yarn /usr/bin/yarn

 

24.安裝libmicrohttpd

下載libmicrohttpd-0.9.59.tar.gz

./configure --prefix=/usr/ --libdir=/usr/lib64

make

make install

 

25.安裝gsa-8.0.1

安裝gsa之前需要安裝node,yarn,libmicrohttpd

cmake  -DCMAKE_INSTALL_PREFIX=/usr ..

make

make install

 

 

26.升級openssl

參考這篇文章 https://www.cnblogs.com/blueyunchao0618/p/11419615.html

升級1.1.0g版本

注:需要升級openssl,curl等,支持TLS1.2協議。

 

27.安裝python3.7.4

需要pip工具,python2.7.9以上才有。

下載https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz

./configure --prefix=/usr/ --libdir=/usr/lib64 --enable-shared

make

make install

 

因為安裝到/usr/lib64/下,好多modules找不到,需要建個軟連接。

建個軟連接ln -s /usr/lib64/python3.5/lib-dynload/ /usr/lib/python3.5/lib-dynload

--------------------------------------------------------------------------------------------------------------------

因為3.5.6不能引用openssl1.1.0g版本,所以下載了3.7.4版本。

安裝命令一樣。

./configure --prefix=/usr/ --libdir=/usr/lib64 --enable-shared

make

make install

 

因為安裝到/usr/lib64/下,好多modules找不到,需要建個軟連接。

建個軟連接ln -s /usr/lib64/python3.7/lib-dynload/ /usr/lib/python3.7/lib-dynload

28.安裝gvm-tools

現有版本是

gvm-tools(v2.0.0.beta1),

python-gvm(1.0.0.beta3),

都是beta版本。

gvm-tools-2.0.0.beta1.tar.gz和python-gvm-1.0.0.beta3.tar.gz.

gvm-tools里面不包含gvm-script腳本。

方法一、

升級了pip3之后,

可以直接用pip3 install gvm-tools 從PYPI源上安裝,

安裝之后只有gvm-cli和gvm-pyshell,沒有gvm-script.

如果安裝gvm-script,需要從git上安裝最新的。

pip3 install -e ./gvm-tools         #gvm-tools是git下載的代碼目錄

安裝之后,

不能用root執行gvm-cli,

我把gvmtools/helper.py的do_not_run_as_root()函數的代碼注釋掉了,函數體換成return.

重新執行pip3 install -e ./gvm-tools,就ok了。

發現發行版和git上的腳本的參數順序有些變化,變化不大,可以接受。

方法二、

git clone https://github.com/greenbone/python-gvm.git

git clone https://github.com/greenbone/gvm-tools.git

 

pip3 install ./

pip3 install ./

-----------------------------------------------------分割線-----------------------------------------------------------

10月中旬 向設備上移植了 openvassd gvmd gsad后,發現openvass發布了新的正式版。

在2019年9月18號,發布了python-gvm 1.0.0 正式版 python-gvm-1.0.0.tar.gz

在2019年9月19號,發布了gvm-tools 2.0.0正式版 gvm-tools-2.0.0.tar.gz

在2019年10月11號,發布了gvm-libs v11.0新版本  gvm-libs-11.0.0.tar.gz(gvm-libs-10.0.1.tar.gz)

在2019年10月11號,發布了openvas v7.0.0新版本 openvas-7.0.0.tar.gz (openvas-6.0.1.tar.gz)

在2019年10月14號,發布了gvmd v9.0.0新版本 gvmd-9.0.0.tar.gz(gvmd-8.0.1.tar.gz)

在2019年10月14號,發布了gsa 9.0.0 新版本 gsa-9.0.0.tar.gz(gsa-8.0.1.tar.gz)

 

下載了新版本,還未開始安裝。

期初:用以下命令安裝,發現庫還在本地目錄,但是sys.path加入了本地目錄。

為了以后便於移植到設備,使用pypi安裝方式。

pip3 install --upgrade pip         #升級pip3 到19.3.1版本

pip3 install - e ./python-gvm     

#使用本地安裝,庫沒有安裝到/usr/lib/python3.7/site-package下

pip3 install gvm-tools

 

所以最后使用

<<都是通過pypi安裝的,

pip3 install python-gvm

pip3 install gvm-tools>>

pip3 install --upgrade pip        #升級pip3 到19.3.1版本

pip3 install python-gvm         #使用pypi安裝庫

pip3 install gvm-tools安裝      #使用pypi安裝命令行

安裝之后,

不能用root執行gvm-cli,

我把/usr/lib/python3.7/site-packages/gvmtools/helper.py的do_not_run_as_root()函數的代碼注釋掉了,函數體換成return.

 

29.注意 升級庫

因為gnutls編譯出來的certtool工具,移植到設備上不能運行,出現illegal instruction。
嘗試很多方法,修改configure的配置選項,依然無法解決問題。
跟蹤代碼,gnutls調用nettle,nettle調用gmplib庫。
gmplib編譯時在mpn/x86_64位下,有幾個子目錄。
最后嘗試了mini-gmp,mini-nettle選項,依然無法解決問題。
最后將三個庫都換成最新版本,移植到設備上發現可以運行。
編譯gnutls禁止硬件加速。
以下為新的庫編譯步驟:
gmp-6.1.2.tar.xz
nettle-3.5.1.tar.gz
gnutls-3.6.10.tar.xz
分別解壓三個庫,
cd gmp-6.1.2
./configure --prefix=/usr --libdir=/usr/lib64 --disable-static --enable-cxx #棄用
./configure --prefix=/usr --libdir=/usr/lib64 --disable-static
make
make check
make install
sz .libs/libgmp.so.10.3.2 (libgmp.so.10.2.0)

cd nettle-3.5.1
./configure --prefix=/usr/ --libdir=/usr/lib64
make
make check
make install
sz /usr/lib64/libnettle.so.7.0 (libnettle.so.6.4)
sz /usr/lib64/libhogweed.so.5.0 (libhogweed.so.4.4)

cd gnutls-3.6.10
./configure --prefix=/usr/ --libdir=/usr/lib64 --with-included-libtasn1 --with-included-unistring --without-p11-kit #棄用
./configure --prefix=/usr/ --libdir=/usr/lib64 --with-included-libtasn1 --with-included-unistring --without-p11-kit --disable-hardware-acceleration #為了編譯通過,禁止硬件加速
make
make check
make install
sz /usr/lib64/libgnutls.so.30.26.0(libgnutls.so.30.22.0) 移植庫
sz /usr/bin/certtool 移植命令

因為libnettle和libhogweed庫的主版本號變了,所以依賴這兩個庫的程序都需要重新編譯。
但是最后發現,只有gnutls依賴兩個庫,其他的例如openvassd都是依賴gnutls,然后通過gnutls依賴nettle和hogweed。

 

至此,所有組件安裝完畢,

運行的話,見下一篇文章。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM