显然没有可用于安装 DNScrypt 的 .deb 软件包。因此我被迫进行编译和安装。
我从这里下载了包http://download.dnscrypt.org/dnscrypt-proxy/
按照这里的说明进行操作http://dnscrypt.org/
解压后,我使用 cd 进入目录,./configure
然后输入时make
得到:
No targets specified and no make file found.
发生了什么事?如何安装 dnscrypt?
答案1
我敢打赌你忘了 libsodium 库:
checking for library containing sodium_init... no
configure: error: libsodium not found
引用安装指南:
安装 libsodium。您的操作系统可能已经有一个预先构建的二进制包。
不幸的是,Ubuntu 没有 libsodium 软件包。因此,您应该libsodium
按如下方式下载、构建和安装:
从以下位置下载较新的 tar 档案https://download.libsodium.org/libsodium/releases/(你也可以从https://github.com/jedisct1/libsodium)。如果您下载了 tar.gz 文件,你应该验证哈希值:
$ dig +dnssec +short txt libsodium-0.4.2.tar.gz.download.libsodium.org "1a7901cdd127471724e854a8eb478247dc0ca67be549345c75fc6f2d4e05ed39" $ shasum -a 256 libsodium-0.4.2.tar.gz 1a7901cdd127471724e854a8eb478247dc0ca67be549345c75fc6f2d4e05ed39 libsodium-0.4.2.tar.gz
我们可以看到,两者都是完全相同的。您也可以使用该
.sig
文件。遵循以下仪式:
tar xzf libsodium-0.4.2.tar.gz cd libsodium-0.4.2/ ./configure make && make check && sudo make install
您应该考虑将软件包 debian 化,以便以后更轻松地卸载/更新。有很多关于此的指南。
安装完成后,您必须重新加载/重建 GNU 链接器。简单操作
sudo ldconfig
就够了。现在运行
./configure
它应该会生成 makefile。(我假设你至少build-essentials
安装了包)。checking for library containing sodium_init... -lsodium ..... checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands config.status: executing libtool commands
这些是的结束语
./configure
。
请记住密切关注这两个软件包的更新和错误,因为可能存在漏洞这个问题需要费力才能解决。
答案2
其实,问题在于 dnscrypt.org 上的说明是错误的。在执行 ./configure 之前,您必须执行 ./autogen.sh。
./autogen.sh
./configure.sh
(如上所示安装 libsodium。提示sudo apt-get install checkinstall
:)make
sudo checkinstall
答案3
对于以后遇到类似错误的人,可能是因为你没有libsodium-dev
安装。安装后就可以dnscrypt
成功编译。当然,更简单的方法是使用脚本dnscrypt-autoinstall
。