인터넷에 연결되지 않은 노드에 Ansible을 설치해야 합니다. 모든 종속성을 다운로드하여 설치했습니다. 이제 모든 종속성을 포함하는 완전한 패키지를 만들고 싶습니다.
메인 rpm - ansible-2.3.0.0-3.el7.noarch.rpm
종속성
- python2-pyvmomi-6.5-1.el7.noarch.rpm
- python-crypto-2.0.1-1.el7.rf.x86_64.rpm
- python-crypto-2.6.1-1.el7.rf.x86_64.rpm
- 파이썬-ecdsa-0.11-3.el7.centos.noarch.rpm
- python-httplib2-0.7.7-3.el7.noarch.rpm
- 파이썬-keyczar-0.71c-2.el7.noarch.rpm
- 파이썬-paramiko-1.15.1-1.el7.noarch.rpm
- 파이썬-pyasn1-0.1.6-2.el7.noarch.rpm
- PyYAML-3.10-11.el7.x86_64.rpm
- sshpass-1.05-5.el7.x86_64.rpm
누군가가 도움을 줄 수 있는 경우를 대비해 전체 목록은 다음과 같습니다.
패키지를 만드는 특별한 프로세스가 있나요?
답변1
이러한 패키지는 하나씩 설치되며 이름을 바꾸면 향후 시스템 업데이트가 중단될 수 있습니다. 또한 모놀리식 패키지를 작성하는 데는 시간이 많이 소요됩니다(으, 아마도 많은 것을 배우게 될 것입니다).
모든 종속성(예: tar.gz)을 압축하여 단일 파일로 이동할 수 있습니다.
tar cvfz ansible-2-3-fulldeps.tar.gz *.rpm
파일의 압축을 푼 후 와일드카드를 사용하여 모든 패키지를 한 번에 설치할 수 있습니다.
tar xvfz ansible-2-3-fulldeps.tar.gz
yum install *.rpm
답변2
이 모든 것을 포함하는 패키지를 만들 필요가 없습니다. 저도 직장에서 비슷한 일을 한 적이 있습니다. 폴더에 필요한 모든 rpm을 다운로드한 후 사용할 수 있습니다(종속성 + 실제 Ansible 설치 프로그램).
yum --nogpgcheck localinstall *.rpm
음종속성을 개별적으로 해결하는 방법을 알고 수동으로 순서대로 설치할 필요가 없습니다.
x.rpm을 설치하는 것이 얼마나 짜증나는지 알고 있으며 출력은 "x.rpm이 성공적으로 설치되었습니다." 대신 "y.rpm을 먼저 설치해야 합니다."입니다.
원하는 경우 다른 사람이 사용할 수 있는 로컬 저장소를 만들고 더 나은 방법으로 설치할 수 있습니다. 건배!