RHEL5 : 64 비트 시스템에 i386 패키지 설치를 금지합니까?


13

yum으로 무언가를 설치할 때마다 x86_64 및 i386 버전의 패키지를 모두 설치하려고합니다. 패키지의 아치를 지정하지 않고 금지 할 수있는 방법이 있습니까?

답변:


16

multilib_policy = best/etc/yum.conf에 추가하십시오

Yum은 이제 시스템에 "best"package.arch를 설치하려고 시도하고 가능한 한 해당 패키지 만 설치합니다.

64 비트 시스템을 사용한다고 가정하면 yum은 먼저 package.x86_64 설치를 시도합니다. 존재하지 않는 경우 i386과 noarch로 돌아갑니다.

기본 설정은 multilib_policy = all 이며 가능한 모든 아치를 설치합니다.


1
+1 네, 그게 가장 좋은 대답입니다. 불행히도, 대부분의 사람들은 이제이 옵션을 사용하지 않습니다.
knweiss

3

나는 한동안 /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 = bestexactarch = 1 은 모두 한동안 기본값으로 보입니다.


2

yum.conf에서 제외 기능을 사용하십시오 :

exclude=*.i386 *.i686

또는 exclude=*.i?86(/etc/yum.conf). 그렇게하면 yum 검색에는 32 비트 패키지가 나열되지 않습니다.
basic6

1

x86_64 버전이 이미 설치되어 있으면 i386 버전을 설치하려고합니다.

에주의 것을 사용 yum.conf에서 제외하는 경우 패키지는 i386을 아치에서 사용할 수있는 제외 수

더 안전한 방법은 설치시 아치명시 적으로 요청하는 것입니다 .

yum install package.x86_64

0

-x, --exclude = package 모든 리포지토리의 업데이트에서 이름 또는 glob별로 특정 패키지를 제외합니다. 구성 옵션 : 제외

--disableexcludes = [all | main | repoid] 구성 파일에 정의 된 제외를 비활성화합니다. 다음 세 가지 옵션 중 하나를 사용합니다. all == disable all excludes main == yum.conf의 [main]에 정의 된 exclude 제외 repoid == 해당 repo에 대해 정의 된 exclude 제외

위의 남자에서 사용하거나 yumex를 설치하여 설치 해야하는 rpm을 선택할 수 있습니다.

http://www.yum-extender.org/blog/


제외에 대해 알고 있습니다. 매번 입력하고 싶지 않으며 별칭을 만들고 싶지도 않습니다. 나는 기본적으로 64 비트 시스템에 i386을 설치하는 것이 좋은 것이라고 생각하지 않습니다.
Nikolai Prokoschenko

이 경우 gui에서 더 나은 옵션을 선택하십시오
Rajat

0

나를 위해 일하는 것은 머신에서 모든 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 비트 시스템이 있습니다.

데이브


-3

i386 목록

yum list installed | grep i386

이제 제거하거나 x86_64로 업데이트 할 수 있습니다


1
이것은 질문에 대답하지 않습니다.
Sven

그것은 상황을 복구하는 데 유용 할 수 있지만, 처음에 설치되지 못하게하는 방법에 대한 질문에 대한 대답은 아닙니다.
HBruijn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.