惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Stack Overflow Blog
Stack Overflow Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
美团技术团队
P
Proofpoint News Feed
S
Schneier on Security
P
Privacy International News Feed
Last Week in AI
Last Week in AI
Scott Helme
Scott Helme
V
Vulnerabilities – Threatpost
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
S
SegmentFault 最新的问题
Security Latest
Security Latest
月光博客
月光博客
A
About on SuperTechFans
Martin Fowler
Martin Fowler
A
Arctic Wolf
C
Cyber Attacks, Cyber Crime and Cyber Security
腾讯CDC
Schneier on Security
Schneier on Security
H
Hacker News: Front Page
TaoSecurity Blog
TaoSecurity Blog
NISL@THU
NISL@THU
B
Blog RSS Feed
C
Cybersecurity and Infrastructure Security Agency CISA
Cyberwarzone
Cyberwarzone
V2EX - 技术
V2EX - 技术
Hacker News - Newest:
Hacker News - Newest: "LLM"
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
W
WeLiveSecurity
Cisco Talos Blog
Cisco Talos Blog
MyScale Blog
MyScale Blog
M
MIT News - Artificial intelligence
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Proofpoint News Feed
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
N
News and Events Feed by Topic
The Last Watchdog
The Last Watchdog
Engineering at Meta
Engineering at Meta
博客园 - 叶小钗
T
Tenable Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LINUX DO - 热门话题
Help Net Security
Help Net Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
G
Google Developers Blog

博客园 - Leone-

华为韬定律8家核心公司梳理,先进封装+晶圆代工+底层硬核全解析 暴涨10%+,江波龙这玩笑开大了 我用 AI Agent 写了个"美股看门狗",每天早上替我分析 A 股方向 为什么电脑用久了会变得越来越卡顿,其背后的计算机原理是什么? 实测GitHub开源项目:功能强大的K线量化神器 我的三板斧:只做上升趋势、只做首次回踩、只做放量启动 从通达信人工看盘到策略自动执行:零代码搭建自动盯盘交易系统! 多因子选股量化策略怎么构建 我做了个ETF轮动GUI界面版 炒股止损设多少?5%+ATR双重保护,一个公式解决 早盘竞价10分钟,如何用56个因子“算”出涨停股 完整交易系统实例:从选股到买卖全写明,避开搭建误区 双周期共振策略看着容错率高,多数人败在大小周期信号不同步 把“分歧转一致”刻进骨子里,抓主升浪就靠这一招 但凡出现“天量阴回踩”,仓位拉满,不是大涨就是连板 告别“凭感觉”炒股:看清K线背后的资金博弈逻辑 开源免费AI股票分析&交易系统 A股股票数据接口库 五年磨一剑:我把交易系统改了4次,终于做到稳定盈利 用7只ETF布局全球:我的十年定投计划,用纪律换十年后的自由 交易计划模板 通达信AI盯盘实操:3种方和4个技巧,帮你告别无效盯盘 从选股到复盘:我用 AI Agent 跑了一套股票辅助系统 牛股三绝 别只盯着K线图了!本周GitHub上这10个AI项目,正在改变交易圈 别以为均线挨得近就是粘合!少1个条件,全是诱多陷阱 A股2026一季报全景透视 从零开始构建一个现代化的前端项目:使用Vite + React + TypeScript 用好仓位管理,让高胜率落地 全市场 ETF 动量分析脚本 【如何判断一个指标是好指标】 从0到1搭建个人量化系统:我花3个月踩过的7个深坑 通达信公式预警转自动买入完整方案,Python+TRAE 实现 lesson70:jQuery Ajax完全指南:从基础到4.0新特性及现代替代优秀的方案引言:jQuery Ajax的时代价值与演进 使用 ffmpeg 为视频文件添加封面 最全剖析!霍尔木兹海峡长期封锁下 十大产业链危机脉络梳理 如何选择合适的免费待办事项App:10款软件推荐 yt-dlp无法使用--cookies-from-browser解决方法 短线高手私藏的3个量能绝技,学会就是赚 运行bat时隐藏cmd窗口 顾比均线、顾比倒数线与趋势线相结合,加上仓位管理,可构成一套完整的趋势型交易系统 成长能量场,为了终身不进医院,我一直坚持的好习惯 Win 开机自启动顺序 盘点国内14家热门智能体 CentOS运维常用命令 股票技术指标有哪些?最常用的4种指标分析教学 龙头战法:如何上车、如何持有、如何下车,看懂就开窍,值得收藏 交易日志必须记录的五个维度的信息,否则等于白写 如何配置 Nginx 使其支持对 PHP 程序的请求 /etc/systemd/system和/lib/systemd/system的区别
如何在 CentOS 上编译安装最新版 libzip
Leone- · 2025-11-08 · via 博客园 - Leone-


libzip 是一个用来读取、创建及修改 Zip 文件的 C 函数库,被其它很多软件项目所依赖,比如 Chromium、MySQL Workbench、PHP 的 Zip 扩展等。

如果你在 CentOS 上编译安装的软件依赖 libzip,但通过 Yum 或 DNF 包管理器安装的版本却不满足要求,即可按照本文提供的最佳实践编译安装最新版 libzip。

本文以 libzip 当前最新版本 1.11.4 为例,详细介绍了如何在 CentOS 上通过编译源代码的方式安装 libzip。本文提供的安装步骤在 CentOS 7、CentOS 8 以及 CentOS Stream 8 中均实际测试过,对于在编译过程中可能遇到的问题也做了详细说明。

本文假设你登录的账户已取得管理员账户(root)权限,因为文中出现的命令大部分都需要用到 root 账户权限。如果你登录的是普通账户,可运行 sudo -s 命令切换到带有 root 权限的 Shell,否则需要在每条命令前添加 sudo 命令。

本文在用到包管理器时,会统一使用 yum 命令,但是要知道在 CenOS 8、CentOS Stream 8/9/10 及更新版本的 CentOS 中,yum 命令已被 dnf 命令替代(以符号链接的形式存在),运行 yum 命令实际上是运行 dnf 命令。

一、编译环境

libzip 主要是用 C 语言编写的,因此编译 libzip 需要确保 CentOS 系统中安装了 C 编译器,本文以 GCCGNU Compiler Collection)为例,当然你也可以使用你所喜欢的其它 C 编译器。

另外还需要安装两款自动化构建工具 CMakeMake。前者的作用是生成项目构建系统(Buildsystem),里面包含 Makefile 文件(待执行的一组任务规则,告诉 make 如何编译和链接程序)。后者的作用是根据配置好的 Makefile 文件自动将源代码构建成可执行程序和库。

运行以下命令为 CentOS 系统安装 GCC 及 make 程序:

yum install gcc make

编译 libzip 要求 CMake 的最低版本为 3.0.2。对于 CentOS 8 或 CentOS Stream 8 来说,可以直接运行以下命令完成安装:

yum install -y cmake

而对于 CentOS 7 来说,通过包管理器 Yum 安装的 CMake 版本过低,需要手动安装更新的版本,具体步骤可参考下面这篇文章:

不论通过何种方式安装 CMake,都需要确保运行以下命令后,能够正常显示 CMake 的版本号,且版本号不低于 3.0.2

cmake --version

二、下载源码

从 libzip 官方下载页面获取最新版源代码压缩包的下载链接:

libzip 官方下载下面:https://libzip.org/download/

libzip 提供了两种类型的压缩包格式,XZ(扩展名为 .xz)和 Gzip(扩展名为 .gz),可根据自己的需要选择,本文以 XZ 格式为例。

切换到系统的源代码存放目录,将 libzip 的源代码压缩包下载下来:

cd /usr/local/src
curl -LO https://libzip.org/download/libzip-1.11.4.tar.xz

解压缩 libzip 源代码压缩包,并切换到源代码所在目录(注意,除非有说明,所有操作都会在该目录下进行,切勿离开):

tar -xvf libzip-1.11.4.tar.xz
cd libzip-1.11.4

三、开始编译

由于编译 libzip 需要依赖很多函数库(Library),所以需要在正式编译前准备好这些库。具体依赖哪些库可以查看源代码目录下的 INSTALL.md 文件,里面有详细说明。如果缺少某些库,在运行下面给出的 cmake 命令后会中断并给出提示。

为节省时间,你可以直接运行以下命令为操作系统安装所有依赖库:

yum install -y zlib-devel bzip2-devel xz-devel libzstd-devel openssl-devel 

注意,libzip 支持五种 AES(高级加密标准)实现,分别是 Apple’s CommonCrypto、GnuTLS、mbed TLS、OpenSSL 和 Microsoft Windows Cryptography Framework,但是只需要选择其中一种。本文示例选用的是 OpenSSL,所以安装了 openssl-devel。

接下来就可以运行下面这三条命令生成含有 Makefile 文件的项目构建系统:

mkdir build
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/libzip \
-DENABLE_OPENSSL=on \
-DENABLE_GNUTLS=off \
-DENABLE_MBEDTLS=off

注意,这里使用了四个 CMake 选项配置 libzip,其用途如下表所示:

选项 用途
CMAKE_INSTALL_PREFIX 指定 libzip 库安装位置
ENABLE_OPENSSL=on 指定使用 OpenSSL 作为 AES 实现
ENABLE_GNUTLS=off
ENABLE_MBEDTLS=off
禁用被自动检测到的其它 AES 实现

配置 libzip 项目构建系统

命令执行后,如果进度达到 100% 且没有出现任何错误,即可运行以下命令正式开始编译:

make

待编译进度达到 100% 且没有任何错误,即可运行以下命令完成安装:

make install

至此,libzip 就成功编译安装完成了。

四、升级 libzip

如果想要升级到 libzip 今后发布的新版本,只需要按照以上步骤重新操作一遍即可。

五、总结

完成以上流程后,应该能够得到如下所示的这些可用文件或信息,有些可能会被其它软件用到。

libzip 的 pkg-config 配置文件目录:

/usr/local/libzip/lib64/pkgconfig

libzip 头文件目录:

/usr/local/libzip/includes

libzip 库文件目录:

/usr/local/libzip/lib64