Instale o rsync 3.1.1 no systemd

2

Eu tenho o CentOS 7 e ele vem com o Rsync 3.0.9. Eu baixei o 3.1.1 el7 rpm e instalei com rpm -Uvh.

Agora o daemon se recusa a começar. Eu tentei criar:

/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

Sem sorte:

/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)

Observe que existem os arquivos referenciados na configuração:

-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
    
por Bastien974 21.04.2016 / 22:24

2 respostas

2

Descobri que systemctl daemon-reload é necessário para carregar o serviço. Depois disso, funcionou imediatamente.

    
por 09.05.2016 / 20:18
3

Eu tenho 3.1.1 no fedora 22.

Os arquivos de configuração necessários para rsyncd estão no pacote rsync-daemon . Eu listei os arquivos em cada pacote abaixo.

Eu acabei de instalar o pacote extra.

Mas, eu notei um erro de digitação no seu arquivo de configuração ...

Alterar:

EnvironmentFile=-/etc/sysconfig/rsyncd

Em:

EnvironmentFile=/etc/sysconfig/rsyncd

Aqui está uma lista de arquivos no pacote 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

Aqui está uma lista de arquivos no pacote 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

ATUALIZAÇÃO:

I tried to force install rsync-daemon on my Centos 7, given that it's just text file, I took a chance and ignored the dependency.

Não tenho certeza de qual dependência você quer dizer, mas observei o arquivo .spec do rpm e ele lista systemd-units , mas não consigo encontrar um rpm para isso.

No luck.

Não tenho certeza do que isso significa. Os arquivos extraíram / instalaram ou não? Você pode fazer ls -l neles? Como último recurso, você tentou rpm --nodeps --force ?

Dado um arquivo .rpm , é possível extrair arquivos manualmente usando rpm2cpio [deve ser parte do pacote rpm já instalado] e cpio ou pax [que é muito semelhante a tar , mas compreende ambos tar e cpio arquivos de formato].

Eu geralmente tive mais sorte usando pax . Ele tem seu próprio rpm [para instalar: yum install pax ]. Na verdade, nunca consegui que a combinação rpm2cpio/cpio funcionasse corretamente para extração.

Para listar um arquivo rpm usando pax :

rpm2cpio rpmfile | pax -v

Para extrair um arquivo rpm usando pax :

rpm2cpio rpmfile | pax -v -r

I also tried to extract the file directly, but it still refuses to start.

Você pode ter que consultar alguns arquivos de log, como /var/log/messages , /var/log/audit/audit.log , /var/log/secure , e pode ter que usar o programa journalctl para visualizar o log systemd.

Você pode ter alguma restrição de segurança [silly] selinux que precisa ser corrigida. Você pode ter que executar restorecon nos arquivos de configuração.

Além disso, talvez você tenha que adicionar algo aos arquivos /etc , pois pode ser rsync em si que não deseja iniciar (vs. systemd não está iniciando rsync ).

Abaixo estão os conteúdos dos arquivos rsync-daemon , exceto para o arquivo de página man [que é muito grande para incluir aqui]. O arquivo de página man pode ser encontrado aqui: link

/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
    
por 21.04.2016 / 23:01

Tags