记录的启动 svnserve 的方法在 Ubuntu 12.04 LTS 中不再有效。
参考:https://help.ubuntu.com/community/Subversion
“inetd” 脚本已经过时。“xinetd” 脚本现在是非标准的。
建议使用第三方 upstart 脚本 http://pelam.fi/published_sources/svnserve.conf
看起来是假的。上面有一行
exec /usr/bin/svnserve --foreground --daemon --config-file /etc/svnserve.conf --root /home/svn/
它使用 svnserve 文档中没有的选项“--config-file”,在前台运行(不适合守护进程),并且似乎以 root 身份运行。Upstart 默认以 root 身份运行所有操作。“Upstart 的未来版本将原生支持(不以 root 身份运行)”。
这应该在 Ubuntu 打包期间处理。
我该如何解决这一困境?
答案1
我修改了 upstart 脚本来运行我的程序:
sudo vim /etc/init/svnserve.conf
# svnserve - Subversion server
description "Subversion server"
start on (local-filesystems and net-device-up IFACE=lo and started udev-finish)
stop on runlevel [06]
chdir /home/svn
respawn
respawn limit 2 3600
exec /usr/bin/svnserve --daemon --root /home/svn --log-file /var/log/svnserve.log
然后运行sudo initctl reload-configuration
当您满意时,您可以删除“--log-file /var/log/svnserve.log”部分。