x86_64 시스템에서 - 명령을 실행하면 yumdownloader <pkg_name>
i686 및 x86_64 아치 패키지가 모두 다운로드되는 반면, i686 시스템에서는 i686 패키지만 다운로드됩니다. 이 문제를 어떻게 해결하나요? Archlist 옵션을 제공하는 것 외에 다른 솔루션이 있습니까?
답변1
i686 패키지를 자동으로 제외합니다:
yumdownloader -x '*i686'
답변2
한 가지 가능성: /etc/yum.conf
당신은 변화할 수 있다다중 저장소 전략기본적으로 일치시키려면 "모두"에서 "최적"으로 이동하세요 x86_64
.
나중에 스키마를 지정할 수도 있습니다.패키지 이름. 예를 들어 yumdownloader guile.x86_64
.
그러나 이것은 현재 일어나고 있는 일이며 이를 "수정"하는 방법을 보여줍니다. 아키텍처를 사용하거나 제공하지 않는 경우 --archlist
"guile", "guile"과 같은 패키지는 각 패키지에 필요한 모든 종속 항목이 제공되는 경우 "guile.x86_64" 및 "guile.i686" 두 패키지와 일치합니다.
따라서 여기서 나쁜 피드백 루프는 패키지의 두 가지 버전을 더 많이 설치할수록(예: 패키지를 제공하지 않거나 --archlist
다운로드 시 아치를 표시하는 경우) 그럴 가능성이 더 높다는 것입니다.미래설치 또는 다운로드는 여러 패키지와 일치합니다. 그러면 두 종속성을 모두 충족할 가능성이 높기 때문입니다.
따라서 이 문제를 해결하는 또 다른 더 지루한 방법은 패키지의 종속성을 조회하는 것입니다. i686
버전이 존재하는 경우제거하다그것들. 이렇게 하려면 점점 더 많은 패키지를 제거해야 하며 해당 패키지의 버전이 i686
있는지 확인해야 할 수도 있습니다 . x86_64
경우에 따라 패키지가 없거나 다른 패키지가 없을 수도 있습니다.
예를 들어 스크립트를 입력하여 자동화된 방식으로 이 시스템을 구축하는 경우파이썬x86_64
또는 puppet이나 Chef와 같은 구성 관리 시스템에서 로드할 패키지를 나열할 때 패키지 이름 뒤에(예: guile.x86_68
대신 guile
) arch를 추가하여 각 패키지가 32비트와 32비트 모두에 설치되는 위험을 줄일 수 있습니다. 비트 운영 체제에 문제가 있습니다. 또는 64비트 모드.
마지막으로, 32비트 형식으로만 존재하는 일부 패키지가 있다는 점을 지적하고 싶습니다.