前言

在Debian系统中安装openssl-dev(通常称为libssl-dev,因为Debian和基于Debian的发行版使用libssl-dev作为OpenSSL开发库的软件包名称)


更新软件包列表

在运行安装命令之前,建议先更新你的软件包列表以确保你获得的是最新的软件包版本。使用以下命令:

sudo apt update


查找可用的版本

root@debian:/opt/mysql/openssl-1.1.1w# apt-cache policy libssl-dev
libssl-dev:
  Installed: (none)
  Candidate: 3.2.2-1
  Version table:
     3.2.2-1 500
        500 http://ftp.debian.org/debian sid/main arm64 Packages
     1.1.1w-0+deb11u1 500
        500 http://ftp.cn.debian.org/debian bullseye/main arm64 Packages
root@debian:~# cat /etc/apt/sources.list
deb http://ftp.cn.debian.org/debian bullseye main
deb http://ftp.debian.org/debian sid main

说明

添加了两个仓库源,所以可以检索到两个不同的版本


查看已经安装的版本

root@cvos:~# dpkg -s libssl-dev
Package: libssl-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 12099
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: openssl
Version: 3.0.2-0ubuntu1.15
Depends: libssl3 (= 3.0.2-0ubuntu1.15)
Suggests: libssl-doc
Conflicts: libssl1.0-dev
Description: Secure Sockets Layer toolkit - development files
 This package is part of the OpenSSL project's implementation of the SSL
 and TLS cryptographic protocols for secure communication over the
 Internet.
 .
 It contains development libraries, header files, and manpages for libssl
 and libcrypto.
Homepage: https://www.openssl.org/
Original-Maintainer: Debian OpenSSL Team <pkg-openssl-devel@alioth-lists.debian.net>

说明安装版本Version: 3.0.2-0ubuntu1.15



安装libssl-dev

使用apt包管理器来安装libssl-dev软件包。这将包括OpenSSL的开发库、头文件和其他必要的文件,以便你可以编译和调试使用OpenSSL的程序。使用以下命令:

如下指令会默认安装 3.2.2-1版本的开发包

sudo apt install libssl-dev

这条命令会请求管理员权限(通过sudo),并告诉包管理器apt去安装libssl-dev包及其所有依赖项

如下指令安装指定版本的OpenSSL

sudo apt-get install libssl-dev=1.1.1w-0+deb11u1

MySQL5.7.30版本依赖OpenSSL1.1.1版本,3.2.2-1cmake指令失败

因此可以先卸载然后重新安装指定版本

sudo apt-get remove libssl-dev
sudo apt-get install libssl-dev=1.1.1w-0+deb11u1


查看安装文件

使用dpkg-query -L命令可以列出libssl-dev包安装的所有文件

root@debian:~# dpkg-query -L libssl-dev
/.
/usr
/usr/include
/usr/include/aarch64-linux-gnu
/usr/include/aarch64-linux-gnu/openssl
/usr/include/aarch64-linux-gnu/openssl/opensslconf.h
/usr/include/openssl
/usr/include/openssl/aes.h
/usr
/usr/include/
/usr/lib
/usr/lib/aarch64-linux-gnu
/usr/lib/aarch64-linux-gnu/libcrypto.a
/usr/lib/aarch64-linux-gnu/libssl.a
/usr/lib/aarch64-linux-gnu/pkgconfig
/usr/lib/aarch64-linux-gnu/pkgconfig/libcrypto.pc
/usr/lib/aarch64-linux-gnu/pkgconfig/libssl.pc
/usr/lib/aarch64-linux-gnu/pkgconfig/openssl.pc
/usr/share
/usr/share/doc
/usr/share/doc/libssl-dev
/usr/share/doc/libssl-dev/changelog.Debian.gz
/usr/share/doc/libssl-dev/changelog.gz
/usr/share/doc/libssl-dev/copyright
/usr/lib/aarch64-linux-gnu/libcrypto.so
/usr/lib/aarch64-linux-gnu/libssl.so


验证安装

安装完成后,你可以通过编译一个简单的测试程序来验证OpenSSL开发库是否已正确安装。这通常涉及包含OpenSSL的头文件(如<openssl/ssl.h>)并调用其API。但在这里,为了简单起见,我们可以使用find命令来查找OpenSSL的头文件,以确保它们已被安装在你的系统中:


find /usr/include -name "*ssl*.h"

如果找到了相关的头文件,那么说明libssl-dev已经成功安装。


注意事项

libssl-dev是OpenSSL的开发库,它包含了编译和链接OpenSSL应用程序所需的头文件和库文件。如果你只是想运行使用OpenSSL的程序,而不是开发它们,那么你可能只需要安装openssl软件包(而不是libssl-dev)。