USE
나는 병합을 해제하고 ithread를 포함하도록 플래그를 변경한 다음 다시 Perl을 변경하여 스레드가 아닌 버전의 Perl을 스레드 버전으로 변경하는 실수를 저질렀습니다 . Perl에 의존하는 대부분의 패키지는 이제 손상되었습니다. 어떻게 재구축하나요?
답변1
equery
한 가지 방법은 이 함수를 사용하여 depends
패키지에 의존하는 항목의 목록을 얻는 것입니다.
# equery depends perl
모두 다시 빌드하려면 다음을 시도해 보세요.
# emerge -a --oneshot `equery depends perl|awk '{print " ="$1}'`
포티지 트리에서 제거된 패키지를 설치하면 문제가 발생하므로 미리 동기화하고 월드 업데이트하는 것이 좋습니다.
이 특정 사례의 경우 살펴보고 싶을 수도 있습니다 app-admin/perl-cleaner
. Perl 모듈을 다시 빌드하기 위한 특정 기능이 있습니다.
답변2
사용해 보세요revdep-rebuild
( app-portage/gentoolkit
포장에서, 와 동일 equery
). 시스템에서 손상된 종속성(예: 누락된 공유 라이브러리)을 검사하고 손상된 종속성이 있는 패키지를 다시 빌드하는 도구입니다. 이것에 비해 한 가지 장점은매트의 방법예, 대부분의 경우 재구축할 필요가 없습니다.모두다른 패키지에 의존하는 패키지입니다.