yum으로 무언가를 설치할 때마다 x86_64 및 i386 버전의 패키지를 모두 설치하려고합니다. 패키지의 아치를 지정하지 않고 금지 할 수있는 방법이 있습니까?
yum으로 무언가를 설치할 때마다 x86_64 및 i386 버전의 패키지를 모두 설치하려고합니다. 패키지의 아치를 지정하지 않고 금지 할 수있는 방법이 있습니까?
답변:
multilib_policy = best 를 /etc/yum.conf에 추가하십시오
Yum은 이제 시스템에 "best"package.arch를 설치하려고 시도하고 가능한 한 해당 패키지 만 설치합니다.
64 비트 시스템을 사용한다고 가정하면 yum은 먼저 package.x86_64 설치를 시도합니다. 존재하지 않는 경우 i386과 noarch로 돌아갑니다.
기본 설정은 multilib_policy = all 이며 가능한 모든 아치를 설치합니다.
나는 한동안 /etc/yum.conf 에서 exactarch = 1 옵션을 사용 하고 있었고 그것은 나를 위해 일했다.
여전히 수동으로 아치를 지정할 수는 있지만 아치를 지정하지 않으면 x86_64 만 설치하고 둘 다 설치하지는 않습니다.
el6 매뉴얼 에 따르면 yum.conf (5) :
exactarch Either ‘1’ or ‘0’. Set to ‘1’ to make yum update only update the architectures of packages that you have installed. ie: with this enabled yum will not install an i686 package to update an i386 package. Default is ‘1’.
...
multilib_policy Can be set to ’all’ or ’best’. All means install all possible arches for any package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on x86_64, if it is available. Best means install the best arch for this platform, only.
BTW, multilib_policy = best 및 exactarch = 1 은 모두 한동안 기본값으로 보입니다.
-x, --exclude = package 모든 리포지토리의 업데이트에서 이름 또는 glob별로 특정 패키지를 제외합니다. 구성 옵션 : 제외
--disableexcludes = [all | main | repoid] 구성 파일에 정의 된 제외를 비활성화합니다. 다음 세 가지 옵션 중 하나를 사용합니다. all == disable all excludes main == yum.conf의 [main]에 정의 된 exclude 제외 repoid == 해당 repo에 대해 정의 된 exclude 제외
위의 남자에서 사용하거나 yumex를 설치하여 설치 해야하는 rpm을 선택할 수 있습니다.
나를 위해 일하는 것은 머신에서 모든 ix86 패키지를 제거하는 것입니다. 이제 32 비트를 설치하라는 메시지가 표시되지 않습니다.
먼저 다음과 같이 .rpmmacros를 설정하십시오.
cat ~/.rpmmacros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
그런 다음 이것을 실행하십시오 (bash라고 가정합니다).
rpm -qa | egrep "i.86$"
현재 설치된 비 x86_64 rpm의 목록이 표시됩니다. 이것으로 모든 것을 제거 할 수 있습니다.
rpm -e $(rpm -qa | egrep "i.x86$")
이제 순수한 64 비트 시스템이 있습니다.
데이브