[완료] 젠투에서 특정패키지의 업데이트를 막으려면?
글쓴이: crazyraven / 작성시간: 금, 2007/11/09 - 11:19오후
간만에 업데이트를 하려고 하는데 궁금한게 있습니다.
emerge --update --pretend --deep --newuse world 로 업데이트를 하려는데
특정 패키지는 업데이트 안하게 할 수 있을까요?
제가 비슷한 내용을 한국 젠투포럼에서 본 것 같은데 지금 접속이 안되어서 질문드려봅니다.
Forums:
/etc/portage/package.mask에
/etc/portage/package.mask에서 예를 들어
>sys-kernel/gentoo-sources-2.6.21-r4
음...
음... /var/lib/portage/world 였나? 거기 보면 world의 목록이 있습니다.
여기서 업데이트 되길 원하지 않는 것들을 지우면 됩니다.
물론, 다른 것에 의존성 걸려서 같이 올라가는 경우, 이것 까지 막기는 힘들죠...
----
Lee Yeosong(이여송 사도요한)
E-Mail: yeosong@gmail.com
HomePage: http://lys.lecl.net:88/
Wiki(Read-Only): http://lys.lecl.net:88/wiki/
Blog: http://lys.lecl.net:88/blog
MSN: ysnglee2000@hotmail.com
----
절이 싫으면 중이 떠나는 것이 아니라, 절이 싫으면 중이 절을 부숴야 한다.
사람천사
제가 했던 방법은 이것입니다.
/etc/portage/profile/package.provided 파일에 자동으로 업데이트나 설치가 되지 않길 원하시는 패키지를 적어주세요.
그럼 전체 업데이트나 설치 시에 그 패키지는 제외하게 됩니다. 물론, 그 프로그램의 다른 버전도 설치하지 않게 됩니다.
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.
package.maskworldpackage.pr
package.mask
world
package.provided
세 파일의 수정으로 비슷한 결과를 얻을 수 있겠지만 원하시는 상황에서는 pacakge.mask를 수정하시는 것이 가장 적절한 것 같습니다. 물론 이 경우는 mask 된 버전이 어떤 패키지의 의존성에도 걸리지 않아야 정상적으로 emerge가 진행됩니다. abc-1.1 이상 패키지에 의존하는 def 패키지를 설치하려는데 abc-1.1 이상을 mask 하셨다면 경고와 함께 emerge가 멈춥니다. 아마 --deep 옵션을 뺀 상태에서는 그 패키지 버전이 설치되지 않을때만 정상적으로 진행될 것입니다.
package.provided 파일은 아예 설치도 하지 않은 패키지를 설치 한 것처럼 하고 싶을 때 사용합니다. 커널을 emerge로 설치하지 않고 따로 받아서 설치했다거나 그래픽 카드 드라이버를 제조사 홈페이지에서 따로 받아 설치했다거나 하는 경우에 사용될 수 있겠지요. 여기에 적어주면 해당 패키지가 '있다고 믿고' 작업을 진행하도록 할 수 있습니다.
world 파일 수정은 권장하고 싶지 않습니다.
--
마잇
--
마잇
답변달아주신 분들
답변달아주신 분들 모두 감사드리고요.
package.mask 로 막는방법은 ebuild가 portage overlay로 되어있는것들은 막아주진 못하는거 같습니다.
world를 직접수정하는건 위험하다고 하시고.. package.provided로 한 번 해봐야겠네요.
그나저나 gentoo.or.kr 빨리 복구되었으면 좋겠네요. :)
살기엔 참 피곤한 세상이야..
오버레이로 되있는
오버레이로 되있는 것도 별 문제 없이 잘 막아줍니다. /etc/portage/package.unmask 에서 unmask 해준게 아닌지 체크해보세요.
mask 로 마스킹하는거보다 unmask 가 더 우선순위가 높거든요.
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오 좋은내용이네요.
젠투 공부하는 저로써는 무척 유용한 정보 +_+
지금 확인해보니
지금 확인해보니 portage overlay에 쓰인 ebuild가 ACCEPT_KEYWORDS="~x86"으로 설치된것이어서(안전성을 위해 make.conf에 추가하지 않았음) 업데이트 하려니까 자꾸 전 버전으로 다운그레이드 하려 합니다.
정리하자면 제가 업데이트를 안하려는 패키지는 grub-0.96-r2(gfxboot위해 패치된것, 이 패키지만 "~x86"으로 설치됨)인데 그냥 시스템 업데이트를 하면 grub-0.97 버전으로 올리려고하고, 위에 답변주신것처럼 package.mask에 추가하면 grub-0.96-r1으로 다운그레이드 하려고 합니다.
그냥 make.conf에 ACCEPT_KEYWORDS="~x86" 넣어줘야 할까요?
살기엔 참 피곤한 세상이야..
package.mask에 정확히
package.mask에 정확히 어떻게 추가해주셨나요?
--
마잇
--
마잇
>sys-boot/grub-0.96-r2 이렇
>sys-boot/grub-0.96-r2
이렇게 적어주었습니다. 혹시나 해서 /usr/local/portage/sys-boot/grub.0.96-r2도 해봤는데 안되더군요.
살기엔 참 피곤한 세상이야..
설치시 ~x86으로
설치시 ~x86으로 지정하여 설치하셔서 기본 시스템 프로필은 x86인 상태에서 업데이트 하려니 하위 버전을 설치하려고 하는 것이군요. 상위 버전은 마스크 되어 있고...
/etc/portage/package.keywords
위 파일에 다음과 같이 설정해 보면 어떨까요.
sys-boot/grub ~x86
위 파일은 패키지별로 기본값과 다른 키워드를 사용할 때를 위한 파일입니다.
http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3#doc_chap2
공식 트리에는 현재 0.96-r2버전이 안정 버전 상태인데(x86) 오버레이로 쓰셔서 다른가 봅니다.
--
마잇
--
마잇
크앗~ 마잇님
크앗~ 마잇님 감사합니다. 드디어 해결되었습니다. 답변주신대로 해보니 업데이트 목록에 드디어 grub이 사라졌습니다.
정말 해결안되면 업데이트 할때마다 grub다시깔아줘야 하나.. 했었는데. 역시 방법이 있었군요!!
[완료] 해놓고 추가질문이 너무 많았었네요. 답변주신 모든분들께 감사드립니다 :)
살기엔 참 피곤한 세상이야..
댓글 달기