我有 CentOS 7,它带有 Rsync 3.0.9。我下载了 3.1.1 el7 rpm 并使用 rpm -Uvh 安装。
现在守护进程拒绝启动。我试图创建:
/usr/lib/systemd/system/rsyncd.service
[Unit]
Description=A program for synchronizing files over a network
After=syslog.target network.target
ConditionPathExists=/etc/rsyncd.conf
[Service]
EnvironmentFile=-/etc/sysconfig/rsyncd
ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"
[Install]
WantedBy=multi-user.target
没运气 :
/bin/systemctl status rsyncd.service
● rsyncd.service
Loaded: not-found (Reason: No such file or directory)
Active: failed (Result: exit-code) since Thu 2016-04-21 15:27:00 EDT; 56min ago
Main PID: 1452 (code=exited, status=20)
请注意配置中存在的那些引用文件:
-rw-r--r-- 1 root root 1699 Feb 4 14:27 /etc/rsyncd.conf
-rw-r--r-- 1 root root 11 Apr 21 16:09 /etc/sysconfig/rsyncd
我在 Fedora 22 下有 3.1.1。
所需的配置文件
rsyncd
在rsync-daemon
包中。我在下面列出了每个包中的文件。我只是安装额外的软件包。
但是,我确实注意到您的配置文件中有错字...
改变:
进入:
以下是包中的文件列表
rsync
:以下是包中的文件列表
rsync-daemon
:更新:
我不确定你的意思是什么依赖,但我查看了 rpm 的
.spec
文件并列出了systemd-units
,但我找不到 rpm 。不太清楚这意味着什么。文件是否提取/安装?你能
ls -l
对他们做吗?作为最后的手段,你试过了rpm --nodeps --force
吗?给定一个
.rpm
文件,可以使用rpm2cpio
[should be part of the already installedrpm
package]cpio
或pax
[与 非常相似,但同时tar
理解和格式化档案] 手动提取文件。tar
cpio
我通常使用
pax
. 它有自己的 rpm [要安装:yum install pax
]。事实上,我从来没有让rpm2cpio/cpio
组合正确地用于提取。使用以下命令列出 rpm 文件
pax
:要使用以下方法提取 rpm 文件
pax
:您可能需要查阅一些日志文件,例如
/var/log/messages
、/var/log/audit/audit.log
、/var/log/secure
,并且可能必须使用该journalctl
程序来查看 systemd 日志。您可能
selinux
需要修复一些 [愚蠢的] 安全限制。您可能必须restorecon
在配置文件上运行。此外,您可能必须在
/etc
文件中添加一些内容,因为它rsync
本身可能不想启动(而systemd
不是启动rsync
)。以下是
rsync-daemon
文件的内容,除了手册页文件 [它太大而无法包含在此处]。手册页文件可以在这里找到:http: //linux.die.net/man/5/rsyncd.conf/etc/rsyncd.conf
/etc/sysconfig/rsyncd
/usr/lib/systemd/system/rsyncd.service
/usr/lib/systemd/system/[email protected]
/usr/lib/systemd/system/rsyncd.socket
我发现这
systemctl daemon-reload
是加载服务所必需的。这样做之后,它立即起作用。