aptitude: liệt kê tất cả các gói được đề xuất trước đó


8

Đôi khi khi cài đặt một gói, aptitude đề xuất một số gói khác.

Có cách nào để hiển thị tất cả các gói được đề xuất trước đó của tất cả các gói đã cài đặt không?

Biên tập:

Cảm ơn đã trả lời cho đến nay. Tôi đã thử:

aptitude show ~i | grep '^Recommends' | cut -d ' ' -f 2-

Đó là chủ yếu ok. Nhưng nó cũng mang lại những điều như:

 console-setup | console-data (>= 2002.12.04dbs-1)

Tôi muốn một cách dễ dàng, để cài đặt tất cả các gói được đề nghị thiếu.

Vì thế

 aptitude install console-setup | console-data (>= 2002.12.04dbs-1)

sẽ không làm việc ;-)

Có cách nào, mà không cần kiểm tra thủ công tất cả các mục, để làm điều này?

Câu trả lời:



2

Có thể có một cách thanh lịch hơn, nhưng điều này làm việc cho tôi,

for package in $(dpkg --get-selections | grep -v deinstall | awk '{print $1}')
  do
    echo $package
    dpkg-query -s $package | grep Recommends
  done

2

đề nghị khác:

awk '/(^Package|^Recomm)/' /var/lib/dpkg/status | grep -B1 ^Recommends

@EightBitTony: awk cũng rất giỏi trong việc tìm kiếm, hãy thử điều này:

dpkg --get-selections | awk ' !/deinstall$/{print $1}'

2

Theo cách của tôi - báo cáo cho các đề xuất mất tích :)

apt-cache --no-pre-depends --no-depends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances depends `dpkg --get-selections | grep '\sinstall$' | cut -f1` | grep -vf <(dpkg --get-selections | grep '\sinstall$' | cut -f1 | sed -e 's/^/ /' -e 's/\(:.*\|\)$/$/') | grep -B1 '^ '
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.