Câu trả lời:
Trên đường đi là sử dụng equery's dependschức năng để có được danh sách những thứ mà phụ thuộc vào một gói.
# equery depends perl
Nếu bạn muốn xây dựng lại tất cả chúng, hãy thử một cái gì đó như:
# emerge -a --oneshot `equery depends perl|awk '{print " ="$1}'`
Bạn sẽ gặp vấn đề với điều đó nếu bạn đã cài đặt các gói đã bị xóa khỏi cây portage, do đó, đồng bộ hóa và cập nhật thế giới trước đó là một ý tưởng tốt.
Đối với trường hợp cụ thể này, bạn cũng có thể muốn xem xét app-admin/perl-cleaner- nó có các tính năng cụ thể để xây dựng lại các mô-đun perl.
Hãy thử sử dụng revdep-rebuild(từ app-portage/gentoolkitgói, giống như equery). Nó là một công cụ quét hệ thống cho các phụ thuộc bị hỏng (như các thư viện chia sẻ bị thiếu) và xây dựng lại các gói đã bị hỏng phụ thuộc. Một lợi thế của phương pháp này so với phương pháp của Mat là trong hầu hết các trường hợp, bạn không cần phải xây dựng lại tất cả các gói phụ thuộc vào một số gói khác.
USEthông tin phụ thuộc chính xác. Dù sao, vì nó là một vấn đề với perl, có một công cụ đặc biệt cho công việc đó : app-admin/perl-cleaner.
perl-cleaner --allnhưng nó không được xây dựng vimlại libperl.so.
vimphụ thuộc vào perl nếu nó được xây dựng với perluseflag! (Đó cũng là một lý do tại sao phương pháp của Mat có thể buộc phải xây dựng lại quá nhiều.)
revdep-rebuildlà điều đầu tiên tôi đã thử, nhưng nó không thể xử lý trường hợp này vì thư viện (libperl.so) có mặt nhưng thiếu một số biểu tượng.