두 개의 CentOS 시스템과 하나의 6.3 상자(ㅏ) 및 또 다른 CentOS 6.1. (두번째)
6.3 상자에는 인터넷이 연결되어 있지만 6.1 상자에는 인터넷이 연결되어 있지 않습니다.
Box A에 있는 제품의 모든 종속 항목을 다운로드한 다음 이 n개의 Box B를 복사하여 제품을 설치하고 싶습니다.
나는 전에 시도했다
yum --downloadonly --downloaddir=*~/downloadrepo* -y install *product*`
cd *~/downloadrepo*
createrepo .
그런 다음 내 저장소를 제외한 모든 저장소를 비활성화하고(--disablerepo 사용) 동일한 시스템(상자 A)에 제품을 설치했습니다. 오류가 없습니다.
yum install *product*
이제 이 저장소를 Box B에 복사하고 동일한 명령을 사용하여 설치하려고 하면 설치가 시작되지만 다음과 같은 오류가 많이 발생합니다.
오류: 종속성 누락: 패키지 php-ldap-5.1.6-27.el5_5.3.x86_64에는 libldap-2.3.so.0()(64비트)이 필요합니다(이미 설치됨).
내가 필요한 것을 달성할 수 있는 방법이 있나요?
고쳐 쓰다
@rkosegi가 제안한 옵션을 사용하기 시작했을 때(--releasever=버전), 동일한 버전의 CentOS 6.1(씨)
Box C에서 위 명령을 시도하고 Box B에 복사했습니다. 여전히 실패합니다. 그 이유는 두 상자가 모두 6.1이지만 동일하지 않기 때문입니다(이름 없음 -r다른 문자열을 반환합니다).
Yum은 이미 설치된 종속성을 다운로드하지 않습니다. 따라서 내 저장소에는 OpenJDK를 포함한 일부 종속성이 포함되어 있지 않습니다. 그래서 Box B에 설치하려고 하면 실패합니다.
정말 실망스럽습니다!
그런데 '라는 명령을 찾았습니다.되돌아가다'여기.
cd ~/downloadrepo
repotrack -p . -a x86_64 product
createrepo .
나는 yum보다 훨씬 더 많은 파일을 얻고 있으며 그것이 효과가 있기를 바랍니다.
일단 설치해보고 업데이트하겠습니다.
고쳐 쓰다
명령 되돌림이 작동하지 않습니다. "repotrack"을 사용하여 생성된 저장소에서 설치하려고 하면 다음 오류가 발생합니다.
Error: Package: perl-CGI-3.51-127.el6.x86_64 (repo-local)
Requires: perl = 4:5.10.1-127.el6
Installed: 4:perl-5.10.1-119.el6_1.1.x86_64 (@anaconda-CentOS-201112102333.x86_64/6.2)
perl = 4:5.10.1-119.el6_1.1
Error: Package: audit-libs-python-2.2-2.el6.x86_64 (repo-local)
Requires: audit-libs = 2.2-2.el6
Installed: audit-libs-2.1.3-3.el6.x86_64 (@anaconda-CentOS-201112102333.x86_64/6.2)
audit-libs = 2.1.3-3.el6
폴더에서 두 파일을 모두 삭제하고 "createrepo"를 사용하여 저장소를 다시 구축해 보았습니다. 또 다른 오류 세트가 발생합니다.
지금 내 선택이 무엇인지 잘 모르겠습니다 ...
답변1
이 작업을 자주 수행해야 한다면 설정하는 데 시간이 걸릴 수 있습니다.우주 유영. 자동으로 저장소를 생성하고 적절한 패키지(또는 원할 경우 모든 패키지)로 채웁니다. 다른 모든 일은 말할 것도 없고...
답변2
yum --downloadonly --downloaddir=~/downloadrepo -y install product
대상 머신(6.1)과 동일한 버전 저장소에서 다운로드하도록 yum에 지시해야 합니다.
또한 다운로드(6.3)를 수행할 시스템이 대상 시스템(6.1)에 누락된 일부 종속성을 설치하지 않았는지 확인해야 합니다.
답변3
"깨끗한" 기계를 구할 수 없는 경우 yum provides
누락된 부품을 사용하거나 수동으로 검색 해야 합니다.
저장소의 기존 rpm을 확인하고 해당 종속성을 쿼리해야 합니다
rpm -qp --requires RPM
. 저장소에 아직 없는 새 콘텐츠가 이 목록에 나타나면 해당 콘텐츠를 추가해야 합니다.