AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 772073
Accepted
Bastien974
Bastien974
Asked: 2016-04-22 12:24:21 +0800 CST2016-04-22 12:24:21 +0800 CST 2016-04-22 12:24:21 +0800 CST

在 systemd 上安装 rsync 3.1.1

  • 772

我有 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
rsync systemd
  • 2 2 个回答
  • 9143 Views

2 个回答

  • Voted
  1. Craig Estey
    2016-04-22T13:01:02+08:002016-04-22T13:01:02+08:00

    我在 Fedora 22 下有 3.1.1。

    所需的配置文件rsyncd在rsync-daemon包中。我在下面列出了每个包中的文件。

    我只是安装额外的软件包。

    但是,我确实注意到您的配置文件中有错字...

    改变:

    EnvironmentFile=-/etc/sysconfig/rsyncd
    

    进入:

    EnvironmentFile=/etc/sysconfig/rsyncd
    

    以下是包中的文件列表rsync:

    /usr/bin/rsync
    /usr/share/doc/rsync
    /usr/share/doc/rsync/NEWS
    /usr/share/doc/rsync/OLDNEWS
    /usr/share/doc/rsync/README
    /usr/share/doc/rsync/support
    /usr/share/doc/rsync/support/Makefile
    /usr/share/doc/rsync/support/atomic-rsync
    /usr/share/doc/rsync/support/cvs2includes
    /usr/share/doc/rsync/support/deny-rsync
    /usr/share/doc/rsync/support/file-attr-restore
    /usr/share/doc/rsync/support/files-to-excludes
    /usr/share/doc/rsync/support/git-set-file-times
    /usr/share/doc/rsync/support/instant-rsyncd
    /usr/share/doc/rsync/support/logfilter
    /usr/share/doc/rsync/support/lsh
    /usr/share/doc/rsync/support/lsh.sh
    /usr/share/doc/rsync/support/mapfrom
    /usr/share/doc/rsync/support/mapto
    /usr/share/doc/rsync/support/mnt-excl
    /usr/share/doc/rsync/support/munge-symlinks
    /usr/share/doc/rsync/support/rrsync
    /usr/share/doc/rsync/support/rsync-no-vanished
    /usr/share/doc/rsync/support/rsync-slash-strip
    /usr/share/doc/rsync/support/rsyncstats
    /usr/share/doc/rsync/support/savetransfer.c
    /usr/share/doc/rsync/tech_report.tex
    /usr/share/licenses/rsync
    /usr/share/licenses/rsync/COPYING
    /usr/share/man/man1/rsync.1.gz
    

    以下是包中的文件列表rsync-daemon:

    /etc/rsyncd.conf
    /etc/sysconfig/rsyncd
    /usr/lib/systemd/system/rsyncd.service
    /usr/lib/systemd/system/rsyncd.socket
    /usr/lib/systemd/system/[email protected]
    /usr/share/man/man5/rsyncd.conf.5.gz
    

    更新:

    我试图在我的 Centos 7 上强制安装 rsync-daemon,因为它只是文本文件,所以我抓住了机会并忽略了依赖关系。

    我不确定你的意思是什么依赖,但我查看了 rpm 的.spec文件并列出了systemd-units,但我找不到 rpm 。

    没运气。

    不太清楚这意味着什么。文件是否提取/安装?你能ls -l对他们做吗?作为最后的手段,你试过了rpm --nodeps --force吗?

    给定一个.rpm文件,可以使用rpm2cpio[should be part of the already installed rpmpackage]cpio或pax[与 非常相似,但同时tar理解和格式化档案] 手动提取文件。 tarcpio

    我通常使用pax. 它有自己的 rpm [要安装:yum install pax]。事实上,我从来没有让rpm2cpio/cpio组合正确地用于提取。

    使用以下命令列出 rpm 文件pax:

    rpm2cpio rpmfile | pax -v
    

    要使用以下方法提取 rpm 文件pax:

    rpm2cpio rpmfile | pax -v -r
    

    我也尝试直接提取文件,但它仍然拒绝启动。

    您可能需要查阅一些日志文件,例如/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/rsyncd: configuration file for rsync daemon mode
    
    # See rsyncd.conf man page for more options.
    
    # configuration example:
    
    # uid = nobody
    # gid = nobody
    # use chroot = yes
    # max connections = 4
    # pid file = /var/run/rsyncd.pid
    # exclude = lost+found/
    # transfer logging = yes
    # timeout = 900
    # ignore nonreadable = yes
    # dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
    
    # [ftp]
    #        path = /home/ftp
    #        comment = ftp export area
    

    /etc/sysconfig/rsyncd

    OPTIONS=""
    

    /usr/lib/systemd/system/rsyncd.service

    [Unit]
    Description=fast remote file copy program daemon
    ConditionPathExists=/etc/rsyncd.conf
    
    [Service]
    EnvironmentFile=/etc/sysconfig/rsyncd
    ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"
    
    [Install]
    WantedBy=multi-user.target
    

    /usr/lib/systemd/system/[email protected]

    [Unit]
    Description=fast remote file copy program daemon
    ConditionPathExists=/etc/rsyncd.conf
    
    [Service]
    EnvironmentFile=/etc/sysconfig/rsyncd
    ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"
    StandardInput=socket
    

    /usr/lib/systemd/system/rsyncd.socket

    [Unit]
    Description=Rsync Server Socket
    Conflicts=rsyncd.service
    
    [Socket]
    ListenStream=873
    Accept=yes
    
    [Install]
    WantedBy=sockets.target
    
    • 3
  2. Best Answer
    Bastien974
    2016-05-10T10:18:08+08:002016-05-10T10:18:08+08:00

    我发现这systemctl daemon-reload是加载服务所必需的。这样做之后,它立即起作用。

    • 2

相关问题

  • 强制 rsync 进入非交互模式

  • 比较(diff)完整目录结构的最佳方法?

  • 如何使用 rsync 保持完整路径?

  • Rsyncing到USB驱动器时不时地失败

  • 使用 rsync 维护名称更改的目录的副本

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve