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