각 저장소를 로컬 미러로 가져오기 위해 서로 다른 dnf/yum 저장소를 rsync하는 몇 가지 bash 스크립트(기본적으로 서로의 모든 복제본)가 있습니다. 수동으로(루트로) 실행하면 스크립트가 올바르게 실행됩니다.
또한 systemd 장치/서비스 파일(아래)과 해당 타이머 파일도 있습니다. 타이머가 실행되고 서비스가 실행되는 한 이 모든 것이 잘 작동합니다. 그러나 서비스가 실행 중일 때(타이머를 통해 또는 루트로 수동으로) 다음 오류가 발생합니다(스크립트 중 하나의 로그 - 각 스크립트는 동일한 오류를 보고함).
누구든지 내가 어디로 잘못 가고 있는지 말해 줄 수 있습니까? 감사해요.
유닛 파일
[Unit]
Description=Sync the local DNF mirror server with upstream repo servers
Wants=network-online.target
After=multi-user.target
[Service]
Type=oneshot
User=root
ExecStart=/etc/rsync.d/sync_ceph_repos.sh
ExecStart=/etc/rsync.d/sync_elrepo_repos.sh
ExecStart=/etc/rsync.d/sync_epel_repos.sh
ExecStart=/etc/rsync.d/sync_gf_repos.sh
ExecStart=/etc/rsync.d/sync_nginx_repos.sh
ExecStart=/etc/rsync.d/sync_remi_repos.sh
ExecStart=/etc/rsync.d/sync_rocky_repos.sh
[Install]
WantedBy=multi-user.target
로그의 오류 메시지
rsync: [Receiver] failed to connect to mirror.digitalpacific.com.au (101.0.120.90): Permission denied (13)
rsync error: error in socket IO (code 10) at clientserver.c(138) [Receiver=3.2.3]
rsync: [Receiver] failed to connect to mirror.digitalpacific.com.au (101.0.120.90): Permission denied (13)
rsync error: error in socket IO (code 10) at clientserver.c(138) [Receiver=3.2.3]
답변1
귀하의 서비스가 Sync.service라고 가정합니다. ausearch -c 'Sync' --raw audit2allow -M my-Sync semodule-i my-Sync.pp
그런 다음 "systemctl start Sync.service"를 다시 실행해 보세요. 실패하면 헹구고 반복하세요. SElinux 시스템에서 권한 변경을 반복하고 있습니다. 누군가가 더 나은 답변을 갖기를 바랍니다.