RHEL/CentOS 8에 대한 RPM 및 모든 종속 항목을 다운로드하세요.

RHEL/CentOS 8에 대한 RPM 및 모든 종속 항목을 다운로드하세요.

네트워크 연결이 없는 서버에 임의의 RPM 패키지 목록(보통 약 5-10개 패키지)을 설치해야 하는 시나리오가 있습니다. 일부 패키지는 EPEL에서 제공되었으며 자주 동기화해야 하므로 모든 저장소를 동기화하지 않으려고 합니다.

다음을 수행하여 RHEL/CentOS 7의 문제를 해결했습니다.

$ yum -y install epel-release createrepo
$ repotrack $PACKAGE_NAME
$ createrepo --database .

/etc/yum.repos.d그런 다음 USB 드라이브를 사용하여 이 폴더를 서버로 이동하고 그 안에 저장소 파일을 생성하여 yum --disablerepo="*" --enablerepo="my-custom-repo" install $PACKAGE_NAME.

dnf install이제 이를 RHEL/CentOS 8로 옮겼고 패키지의 절반에서 작동하는 동안 격리 서버에서 나머지 절반을 실행하면 다음 오류가 발생합니다.

모듈형 패키지 'podman-1.6.4-2.module_el8.1.0+272+3e64ee36.x86_64'에는 사용 가능한 모듈형 메타데이터가 없으므로 시스템에 설치할 수 없습니다.

나는 이것이 새로운 모듈식 시스템 때문이라고 생각하며 내 저장소에 필요한 모든 정보가 없습니다. 두 가지 설명서를 repotrack모두 읽어보았지만 createrepo둘 다 모듈에 대해 언급하지 않은 것 같습니다. 인터넷에서 검색하면 이미 가지고 있는 7에 대한 솔루션만 제공되었지만 8, 특히 모듈에 속한 패키지에 대해서는 아무것도 찾지 못했습니다.

그렇다면 모듈인 RHEL/CentOS 8 패키지와 모든 종속성을 디스크에 추출하여 다른 서버로 이동하고 거기에 설치하려면 어떻게 해야 합니까?

감사해요!

답변1

보세요modulemd 도구프로젝트. 당신은 찾을 수 있습니다EPEL의 사전 컴파일된 바이너리.

여러 개의 모듈식 rpm이 있다고 가정해 보겠습니다 ./my-custom-repo/Packages.

python36-3.6.8-2와 같은 모듈식 rpm 이름입니다.모듈_el8.1.0+245+c39af44f.x86_64.rpm

달리기:

cd my-custom-repo
# create traditional rpm repo
createrepo_c .
# generate modules meta info
repo2module  -s stable -d . modules.yaml
# adjust modules meta info to traditional rpm repo
modifyrepo_c --mdtype=modules modules.yaml repodata/

이 모든 작업이 완료되면 repodata 디렉터리에서 xxxx-modules.yaml.gz와 같은 파일 이름을 찾을 수 있습니다.

이제 저장소가 작동합니다.

답변2

yum은 여전히 ​​RHEL 8에서 작동합니다. 또한 DNF 및 yum에 대한 다운로드 전용 옵션도 있습니다.

--downloadonly rpm 트랜잭션(설치/업그레이드/삭제)을 수행하지 않고 확인된 패키지 세트를 다운로드합니다.

냠 설치 httpd --downloadonly

파일을 다운로드하여 원하는 위치에 복사한 후 실행하세요.

dnf localinstall packagename

관련 정보