EPEL을 사용하여 Fail2ban을 설치 yum install
한 다음 백업하는 것을 잊어버린 후 구성을 엉망으로 만들었습니다 /etc/fail2ban
.
이제 원래 구성을 복원하고 싶습니다.
처음에 시도해 보았지만 기존 구성 파일을 덮어쓰지 않기 yum reinstall fail2ban
때문에 어리석었습니다 . yum install
그런 다음 다른 곳에서 다시 시도했는데 mv
, 일부 오래된 블로그 게시물에 따르면 원래 구성이 제공될 것입니다. 그런 행운은 없습니다. 제거하고 다시 설치해 보았습니다. 그런 행운은 없습니다. 나는 뭔가 이상한 시스템 발견이 진행되고 있다고 생각하여 좌절감을 느끼고 내 디렉토리를 편집했습니다. 재설치 후에도 여전히 작동하지 않습니다./etc/fail2ban
yum reinstall fail2ban
rpm -e
rm -rf
/etc/fail2ban.backup
마지막으로 RPM 소스 코드를 다운로드하여 압축을 풀고 디렉터리를 rsync
편집 하면 config
거의 /etc/fail2ban
완료되었습니다. 그러나 로그 파일을 설정하고 systemd와 통합하는 방법에는 여전히 몇 가지 차이점이 있습니다. 나는 뭔가를 함께 던지고 싶지 않고 단지 원래 구성을 복원하고 싶습니다.
YUM 또는 기타 도구를 사용하여 RPM 패키지(구성 및 로그 파일 포함)를 강제로 새로 설치하는 방법이 있습니까? 저는 표준 Linode CentOS 7 이미지를 사용하고 있습니다(중요한 경우).
답변1
내 생각에 yum은 당신이 원하는 것을 하기에는 너무 보수적이라고 생각해요. 최상의 결과를 얻으려면 일부 rpm 명령을 사용할 준비도 되어 있어야 합니다.
이렇게 하면 rpm(ergo yum)이 알고 있거나 Fail2ban 패키지에 속하는 신뢰하는 모든 파일이 지워집니다.
rpm -e --justdb --nodeps fail2ban
그런 다음 /etc 파일을 삭제/이동하면 yum이 다시 설치됩니다.
yum/rpm이 구성 파일에 수행하는 모든 마법은 RPM 사양 파일에 있습니다. 여기에는 접두사 "%config(noreplace)"와 매크로 "%{_sysconfdir}"가 포함되어 있습니다. 이는 귀하의 경우 "/etc"를 의미합니다. 이를 모두 제외하면 rpm이 모든 기본 구성 파일을 설치합니다.
%config(noreplace) %{_sysconfdir}/fail2ban
%config(noreplace) %{_sysconfdir}/logrotate.d/fail2ban
%config(noreplace) %{_sysconfdir}/fail2ban/jail.d/00-firewalld.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/hostsdeny.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/complain.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/mail-*.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/sendmail-*.conf
%config(noreplace) %{_sysconfdir}/fail2ban/action.d/shorewall.conf
%config(noreplace) %{_sysconfdir}/fail2ban/jail.d/00-systemd.conf
직접 확인해보세요:
curl 'http://pkgs.fedoraproject.org/cgit/rpms/fail2ban.git/plain/fail2ban.spec?h=epel7' |
grep '^%config(noreplace)'
답변2
내 시스템에서 fall2ban은 실제로 여러 패키지에 분산되어 있습니다.
- 실패 2 금지
- Fail2ban-방화벽
- failure2ban-systemd
- 실패 2에서는 이메일 전송이 금지됩니다.
- Fail2ban-서버
- 시스템Python
분명히 위의 일부 또는 전부가 설치되지 않으면 구성 파일이 생성되지 않습니다. yum autoremove
이를 제거하고 yum install fail2ban
원래 프로필을 복원하십시오.
답변3
동일한 문제를 해결하려면 다음 단계를 수행해야 합니다.
sudo yum autoremove fail2ban -y
sudo yum autoremove fail2ban-server -y
sudo yum install fail2ban -y