Câu trả lời:
Trên đường đi là sử dụng equery
's depends
chứ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/gentoolkit
gó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.
USE
thô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 --all
nhưng nó không được xây dựng vim
lại libperl.so
.
vim
phụ thuộc vào perl
nếu nó được xây dựng với perl
useflag! (Đó 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-rebuild
là đ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.