Công cụ libtree
Tính năng
- Chuyển đầu ra của lệnh
ldd sang dạng cây
- Giải thích thư viện dùng chung được phát hiện như thế nào hoặc vì sao không thể tìm thấy
Đầu ra
- Mặc định, một số phụ thuộc chuẩn nhất định sẽ không được hiển thị
- Có thể dùng các lệnh sau để có đầu ra chi tiết hơn:
libtree -v: hiển thị các thư viện bị ẩn theo mặc định
libtree -vv: hiển thị phụ thuộc của các thư viện bị ẩn
libtree -vvv: hiển thị phụ thuộc của các thư viện đã được phát hiện
- Dùng cờ
--path hoặc -p để hiển thị đường dẫn thay vì soname:
- Ví dụ:
libtree -p $(which tar)
- Có thể giới hạn độ sâu đệ quy bằng cờ
--max-depth
Cài đặt
- Binary dựng sẵn của phiên bản v3.1.1:
- aarch64 (linux):
c5d4fbcd4e3fb46f02c028532f60fcf1c92f7c6aad5b07a991c67550c2554862
- armv6l (linux):
16f5a7503a095bd88ebc5e21ec4ba8337c5d9712cac355bf89399c9e6beef661
- armv7l (linux):
17f493621e7cc651e2bddef207c1554a64a114e1c907dbe5b79ff0e97180b29e
- i686 (linux):
230a163c20f4a88a983d8647a9aa793317be6556e2c6a79e8a6295389e651ef5
- x86_64 (linux):
49218482f89648972ea4ef38cf986e85268efd1ce8f27fe14b23124bca009e6f
- Fedora / RHEL / CentOS:
$ dnf install epel-release (với RHEL và các bản phân phối phái sinh, hãy bật EPEL trước)
$ dnf install libtree-ldd
- Ubuntu 22.04+:
$ apt-get install libtree
- GNU Guix:
Build từ mã nguồn
libtree cần trình biên dịch C hỗ trợ c99
Ý kiến từ GN⁺
- libtree hữu ích để hiểu trực quan các phụ thuộc của thư viện dùng chung. Điều này rất hữu ích cho việc gỡ lỗi và quản trị hệ thống.
- libtree có thể được cài đặt dễ dàng trên nhiều bản phân phối Linux khác nhau, nên có tính tiếp cận cao.
- Có thể build trực tiếp từ mã nguồn, nên cho phép tùy biến.
- Công cụ này đặc biệt hữu ích trong việc quản lý phụ thuộc thư viện ở các dự án phức tạp.
- Các công cụ cung cấp chức năng tương tự gồm
ldd và readelf, nhưng libtree trực quan hơn nhờ cách biểu diễn theo cấu trúc cây.
1 bình luận
Trông có vẻ hay đấy!!