如何从源代码编译 msmtp,安装在正确的位置并为 18.04 安装服务启动脚本?

如何从源代码编译 msmtp,安装在正确的位置并为 18.04 安装服务启动脚本?

我发现msmtpUbuntu 18.04 的软件包很旧,缺少一个组件。当前包含的软件包是版本1.6.6 自 2016-11-14 起并且缺失msmtpd。我想安装版本1.8.6 自 2019-09-27 起它经过了重大更新,并且包括了msmtpd

哪些正确的配置参数可以使其与make installUbuntu 18.04 的适当位置进行编译?

此外,为此创建快速启动脚本的过程是什么,/etc/init.d/以确保该服务在启动时启动并且可以轻松重新启动?

一个简单的例子./configure给出了以下输出,它似乎缺少 TLS,而且我不认为 /usr/local 是其他包默认的首选文件夹:

Install prefix ......... : /usr/local
NLS support ............ : yes
TLS support ............ : no (Library: none)
IDN support ............ : yes (no library required)
GNU SASL support ....... : no (most likely unnecessary)
Libsecret support (GNOME): no
MacOS X Keychain support : no
Build msmtpd ............: yes

答案1

首先,/usr/local通常是手动安装的软件包存放的位置 ( /usr/local/bin)。这将覆盖已安装软件包/usr/bin所使用的或其他目录中的任何软件包apt

接下来,安装构建依赖项:

sudo apt build-dep msmtp

现在,cd进入 msmtp 目录并运行以下命令:

make clean
./configure
make
sudo make install 

这将安装到正确的位置,即/usr/local。当您安装到此目录时,您无需卸载版本,apt这样依赖的软件包msmtp就不会损坏。当您或系统运行 时,将使用msmtp中的版本。/usr/local

要卸载,cd请进入 msmtp 目录并运行以下命令:

sudo make uninstall

相关内容