从Ubuntu 16.04的源代码编译和安装dante服务器

分享于 

5分钟阅读

ubuntu

  繁體

问题:

用于Ubuntu 16.04的dante服务器的apt存储库已过时(版本1.1)。需要从源代码编译程序并安装它,因为我不想使用不受信任的PPA。

以下是我目前所做的:

我从网站 https://www.inet.no/dante/download.html下载了dante-1.4.2.tar.gz,并做了:


./configure


make


make check


sudo make install



但当我尝试danted -v时,我看到它没有安装,(我还检查了/usr/bin/usr/sbin/etc/init.d),从下载的tar.gz文件内的INSTALL readme,我发现该程序安装在/usr/local中。


$ ls /usr/local/bin


socksify


$ ls /usr/local/sbin


sockd



但正如你看到的,它没有安装,只安装了socksify和sockd,

另外,我在systemctl中没有找到名为danted的服务,如何安装该服务?

configure状态:


 Configure status:



Client: Enabled


Server: Enabled


Preloading: Enabled


Libwrap: Disabled, tcpd.h missing


BSD Auth: Disabled, usable bsd_auth.h not found


PAM: Disabled, security/pam_appl.h missing


GSSAPI: Not found/disabled


KRB5: Not found/disabled


SASL: Not found/disabled


UPNP: Not found/disabled


Compatability: issetugid setproctitle strlcpy strvis



 Modules:



redirect: Not found


bandwidth: Not found


ldap: Not found




答案1:

当你从源代码sockdtarball文件安装dante服务器时,它将二进制文件作为和conf文件安装为sockd.conf

从源代码安装时,服务文件没有安装,因为它在spec文件dante.spec中被提到在SPEC文件夹下(请参见目录dante-1.4.2/SPECS/ )

我建议你使用rpmbuild从spec文件构建rpm包,并将它转换为debian包。


sudo apt install rpmbuild alien 



安装用于构建dante rpm软件包的依赖项。


sudo apt install build-essential bison flex libtool libpam0g-dev


cd dante-1.4.2/SPECS/


sudo rpmbuild -ba dante.spec



将rpm包作为输出,你可以将它转换为debian包。


sudo alien <dante rpm package> 



安装dante debian软件包。


sudo dpkg -i dante-*.deb 




答案2:

二进制文件已经正确安装。

手动编译/安装时,二进制文件的默认安装位置是/usr/local/bin。使用echo $PATH检查这是否在您的PATH变量中。

libscompat/timer.h是一个C头文件。

/usr/local/man/man5/socks.conf不是一个配置文件,它是一个man页。

man /usr/local/man/man5/socks.conf读取这个文件的内容,你会得到一个关于/etc/socks.conf的想法

通常可以使用systemctl enable dante.service启用这个功能,但是你需要在/usr/lib/systemd/system/中手动创建systemd服务文件

下面是danted.service来自20.04的示例:


[Unit]


Description=SOCKS (v4 and v5) proxy daemon (danted)


Documentation=man:danted(8) man:danted.conf(5)


After=network.target



[Service]


Type=simple


PIDFile=/run/danted.pid


ExecStart=/usr/sbin/danted


ExecStartPre=/bin/sh -c ' 


 uid=`sed -n -e"s/[[:space:]]//g" -e"s/#.*//" -e"/^user.privileged/{s/[^:]*://p;q;}" /etc/danted.conf`; 


 if [ -n"$uid" ]; then 


 touch /var/run/danted.pid; 


 chown $uid /var/run/danted.pid; 


 fi 


 '


PrivateTmp=yes


InaccessibleDirectories=/boot /home /media /mnt /opt /root


ReadOnlyDirectories=/bin /etc /lib -/lib64 /sbin /usr /var


DeviceAllow=/dev/null rw



[Install]


WantedBy=multi-user.target





COM  Server  Source  Ubuntu  installing  APT  
相关文章