Làm thế nào để hiển thị trực quan phụ thuộc của một gói?


31

Đây chỉ là cho vui và tò mò: có một công cụ sử dụng mà tôi có thể thấy trực quan các phụ thuộc của gói dưới dạng biểu đồ không?

Đó là, các gói mà một gói nhất định phụ thuộc vào. Đây có thể là một công cụ dòng lệnh hiển thị bằng đồ họa ASCII (như cây hoặc biểu đồ của Mercurial) hoặc một công cụ GUI hiển thị biểu đồ phụ thuộc một cách trực quan. Bất kỳ sự kết hợp nào khác của các công cụ có thể hiển thị các phụ thuộc trực quan cũng hoạt động.


Và các trục của đồ thị sẽ là gì?

1
@ vasa1: Vertice sẽ là các gói và các cạnh là các phụ thuộc.
Ashwin Nanjappa

Câu trả lời:


34

nợ

Theo trang web của ứng dụng , debtreegói cung cấp "biểu đồ phụ thuộc gói trên steroid" .

Lưu ý: Điều này cũng rất hữu ích khi lập kế hoạch nâng cấp phần mềm. Ứng dụng này có thể biểu đồ phụ thuộc vào các gói chưa được cài đặt trên hệ thống của bạn. Điều này sẽ đọc từ sources.listtệp (thường nằm ở /etc/apt/sources.list) và nó sẽ thực hiện một truy vấn trực tiếp bằng cách sử dụng danh sách đó.

Sơ đồ sau đây là một ví dụ về việc chạy debtreengược lại gói dpkg. Đây là bản đồ phụ thuộc của nó:

Để cài đặt debtreetừ dòng lệnh ( Ctrl- Alt- t), hãy nhập lệnh:

sudo apt-get install debtree

Sử dụng

  • Tạo một tệp .dot (bản vẽ đồ thị có hướng - xem man dottrang chủ)

    debtree --with-suggests <package> >out.dot
    
  • Tạo biểu đồ (PNG) từ tệp .dot

    dot -T png -o out.png out.dot
    
  • Tạo một biểu đồ (Postcript) và xem nó bằng Okular

    debtree <package> | dot -Tps | okular - &
    

Xin lưu ý rằng khi chạy ứng dụng này với các gói lớn hơn (ví dụ như gedit), hình ảnh có thể nhanh chóng trở nên khó sử dụng và không thể đọc được.

Lưu ý rằng apt-rdependscũng có thể được sử dụng theo cách tương tự, nhưng theo tôi, đầu ra đường ống vào một đồ họa phức tạp hơn một chút.

Xem thêm: Trang con người Ubuntu Ubuntu


1
--no-skiphoặc thậm chí --show-alllà các tùy chọn rất hữu ích để bao gồm nhiều gói hơn như libc6.
đăng xuất

2

Có thể không "đồ họa" như vậy nhưng nếu bạn không muốn cài đặt bất kỳ gói bổ sung nào, bạn cũng có khả năng chỉ chạy

apt-cache rdepends <package>

Bạn cũng có thể muốn xem xét dependstùy chọn.

Bạn cũng có:

  • apt rdepends <package>
  • Sử dụng tập lệnh này ,apt-rdepends-tree <package>
  • apt-rdepends <package>hoặc là nợ apt-rdepends --dotty package | springgraph > dependencies.png

1

Công cụ dòng lệnh Apitude là một công cụ tuyệt vời để xem xét các phụ thuộc. không có đồ thị ưa thích, nhưng nó cung cấp cho bạn một biểu diễn phân cấp phụ thuộc đẹp cho một gói cụ thể.


Nathan Cazell: Bạn có thể giải thích làm thế nào tôi có thể xem biểu đồ phân cấp này cho một gói nhất định không?
Ashwin Nanjappa

Khi bạn mở Aptitude, chỉ cần tìm kiếm một gói bằng cách sử dụng / sau đó nhấn enter cho gói bạn muốn và nó sẽ hiển thị tất cả thông tin về gói bao gồm một cây phụ thuộc với các phụ thuộc chưa được đáp ứng và cả các gói xung đột.
Ntc

Nathan Cazell: Bạn đang đề cập đến công cụ năng khiếu dòng lệnh?
Ashwin Nanjappa

Đã chỉnh sửa. Xin lỗi vì đã không làm rõ trước đó
Ntc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.