nginx安装过程中为啥同时需要zlib与zlib-devel,不是有zlib就可以了吗?

为啥需要zlib-devel?
同样有openssl了,为啥还需要openssl-devel?


回答:

那是RHEL和Debian的分包策略喜欢分成所谓的“运行环境”和“构建环境”,实际上ArchLinux之类的包管理策略就不用这种了,就一个zlib包,相当于同时包含了Debian的zlib和zlib-devel。

言归正传,以Debian/Ubuntu为例,按照他们一贯的分包策略,zlib只包含运行环境,也就是大概libz.so文件,一些手册,一些LISCENSE文件之类的东西

而zlib-devel包含构建环境的依赖,一般就是/usr/include/下的头文件,以及pkgconfig的配置文件zlib.pc文件,只有编译程序的时候你的程序依赖zlib可能才需要用这个包

你安装的如果是二进制包,比如nginx-full,那么自然不需要这些-devel包,如果你要在本地编译安装,那肯定需要devel包,否则会告诉你找不到头文件之类的错误。

实际上我们检查nginx包的依赖,确实是不会有devel包的:

# apt depends nginx

nginx

Depends: libc6 (>= 2.28)

Depends: libcrypt1 (>= 1:4.1.0)

Depends: libpcre3

Depends: libssl1.1 (>= 1.1.1)

Depends: zlib1g (>= 1:1.1.4)

Depends: lsb-base (>= 3.0-6)

Depends: adduser

Conflicts: nginx-common

Conflicts: nginx-core

Replaces: nginx-common

Replaces: nginx-core

以上是 nginx安装过程中为啥同时需要zlib与zlib-devel,不是有zlib就可以了吗? 的全部内容, 来源链接: utcz.com/p/944282.html

回到顶部