Có nhiều cách để hiển thị các gói được cài đặt thủ công bằng cách sử dụng apt
, chẳng hạn như:
apt-mark showmanual
Nhưng đôi khi đầu ra đó là quá nhiều. Ví dụ: nếu người dùng cài đặt gói thủ công foo
:
apt-get install foo
... và foo
phụ thuộc vào bar
và baz
sau đó apt-mark showmanual
sẽ xuất ra:
bar
baz
foo
Làm thế nào chúng ta chỉ có thể liệt kê các gói được cài đặt thủ công ( tức là foo
) mà không phụ thuộc vào chúng ( tức là không baz
, cũng không bar
)?
Đoạn mã sau có vẻ hoạt động, nhưng GNU parallel
gọi apt-rdepends
vài trăm lần thì quá chậm, (ba giờ với CPU 4 lõi):
apt-mark showmanual |
tee /tmp/foo |
parallel "apt-rdepends -f Depends,PreDepends,Suggests,Recommends {} |
tail +2" 2> /dev/null |
tr -s ' ' '\n' |
grep -v '[():]' |
sort -Vu |
grep -wv -f - /tmp/foo