시스템 rpmdb를 로컬 복사본과 동기화

시스템 rpmdb를 로컬 복사본과 동기화

비즈니스 서버에서는 다양한 이유로 rpm 패키지를 사용하고 싶지만 시스템 데이터베이스(권한, 다중 인스턴스 등)에 rpm 패키지를 설치할 수 없습니다. 그래서 우리는 자체 로컬 rpmdb를 생성하고 --dbpath 인수를 사용하여 루트가 아닌 사용자로 패키지를 설치했습니다. 따라서 현재 로컬 DB에는 10개의 패키지만 있을 수 있습니다. 이는 잘 작동하며, 루트가 아닌 사용자 설치도 허용하고, 여러 rpmdb가 사용되기 때문에 동일한 패키지의 여러 인스턴스를 허용합니다. 단점은 로컬 데이터베이스가 시스템 수준에 설치된 패키지를 볼 수 없기 때문에 --nodeps를 사용하여 모든 것을 설치해야 한다는 것입니다.

--nodeps 문제를 해결하기 위해 현재 시스템 db로 로컬 데이터베이스를 초기화할 수 있는 여러 가지 방법이 있습니다(예: /var/lib/rpm/Packages를 복사하고 다시 빌드하기만 하면 됩니다). 그런 다음 애플리케이션 패키지를 맨 위에 설치하면 종속성을 완전히 사용할 수 있습니다. 그러나 문제는 첫 번째 복사 후 시스템 패키지를 동기화 상태로 유지하는 방법입니다. 관리자가 시스템 패치를 설치하면 시스템 rpmdb만 업데이트됩니다. 업데이트를 비교하고 데이터베이스 업데이트만 로컬 복사본에 적용하는 야간 일괄 작업을 작성하는 방법을 찾고 있습니다.

이를 수행하기 위해 어떤 명령을 사용할 수 있는지 생각해 보셨나요?

도움을 주셔서 감사합니다. 브라이언

답변1

--nodeps, 재배치 가능한 패키지, Berkeley DB 수동 관리는 각각 고통스럽습니다. 그리고 세 가지를 모두 하고 싶나요? 나는 이것을 권장하지 않습니다. 패키지 관리 분야에서 20년 전으로 거슬러 올라가는 것입니다.Fedora 또는 EL에서 재배치 가능한 패키지는 거의 없습니다., yum으로는 관리할 수 없기 때문입니다. 또한 nodeps는 yum으로 쉽게 해결할 수 없는 종속성에 빠질 수 있음을 의미합니다.


사용자에게 필요한 각 인스턴스에 대해 "호스트"를 제공합니다. VM, 컨테이너, chroot( yum --installroot) 등은 RPM을 사용하여 시간을 낭비하는 것보다 비용이 저렴할 수 있습니다.

프로비저닝을 자동화합니다. 사용자가 적시에 검토되는 패키지 세트의 변경 사항을 제안할 수 있는 절차를 마련하십시오. 일부 사용자에게 인스턴스를 테스트할 수 있는 권한을 부여하여 중요한 내용을 손상시키지 않고 작업을 시도할 수 있습니다.

재배치나 대체 rpmdb가 필요하지 않도록 모든 항목을 다시 패키지합니다. 충돌하지 않는 경로로 이동하고 이름에 버전 번호가 있는 별도의 패키지를 만듭니다. 일반적으로 Fedora RPM 패키징 지침을 따르십시오. 그런 다음 yum을 사용하여 패키지를 관리할 수 있습니다.

관련 정보