aptitude: Arti kurung keriting, yaitu package1 {b} package2 {a} package3 {u}


14

Saat menggunakan aptitude , daftar paket yang diubah terkadang memiliki satu karakter dalam kurung keriting di belakang beberapa nama paket. Halaman manual memiliki dua contoh tetapi tidak menjelaskannya (versi 0.6.10-1).

Saya perhatikan {b}, {a} dan {u} sejauh ini. Yang pertama tampaknya muncul ketika berjalan aptitude installdan mencoba menginstal ulang paket yang saya hapus (misalnya melalui debfoster, bagaimana saya bisa menonaktifkan itu?), Dua yang terakhir tampaknya ada hubungannya dengan resolusi ketergantungan otomatis.

Apa arti karakter-karakter ini, adakah yang lain, dan implikasi apa yang mereka miliki untuk operasi lain? Apakah informasi tambahan itu tersedia untuk dpkgatau apt?

Jawaban:


8

Ini tidak didokumentasikan. Dugaan saya aadalah untuk instalasi otomatis, uuntuk upgrade (otomatis?) Dan buntuk paket yang diinstal untuk memperbaiki paket yang rusak.

Ini berarti debfostermenghapus paket yang tidak seharusnya, perhatikan bahwa situs web mengatakan:

As of 2006-01-01, debfoster is officially deprecated.

Mungkin bug ini telah berkembang selama bertahun-tahun karena perubahan aptsistem. Anda dapat mengkonfirmasi ini dengan melakukan aptitude search '~b'setelah menggunakan debfoster(itu akan menampilkan paket yang rusak)

Perhatikan bahwa aptsekarang mendukung flag otomatis untuk paket dependensi dan telah apt-get autoremove. Dengan bakat Anda juga bisa melakukannya aptitude remove '~g'.

Memperbarui

Bermain-main dengan bakat, ternyata jika saya menekan ?ketika saya mendapatkan Do you want to continue? [Y/n/?]prompt, saya mendapatkan pesan berikut:

In the list of actions to be performed, some packages will be followed by one or
more characters enclosed in braces; for instance: "aptitude{u}".  These
characters provide extra information about the package's state, and can include
any combination of the following:

  'a': the package was automatically installed or removed.
  'b': some of the package's dependencies are violated by the proposed changes.
  'p': the package will be purged in addition to being removed.
  'u': the package is being removed because it is unused.

Jadi sepertinya itu buntuk paket yang rusak. Meskipun, dalam kasus Anda tampaknya ada bug yang ditampilkan jika tidak ada yang rusak. Saya tidak dapat membuat ulang masalah, tetapi aptitudemencoba menginstal ulang paket yang saya hapus apt-gethanya dengan tanpa kawat gigi.

Perhatikan juga bahwa aptitude keep-allmungkin lebih aman daripada menghapus/var/lib/aptitude/pkgstates


ps auxfmenunjukkan bahwa debfoster hanya menelepon apt-get --purge remove pkg1 pkg2 etc., cari '~ b' tidak menghasilkan apa-apa, dan aptitude installinstal ulang berikutnya pgk1 pkg2 dll.
finite graygreen

1
@ finitegraygreen, saya kira itu bukan untuk paket yang rusak kalau begitu! Anda dapat mencoba menggunakan aptitude whyuntuk menemukan apa yang sedang terjadi atau hanya --show-whyopsi.
Graeme

@finitegraygreen, apa kesimpulannya di sini? Apakah bkarena sudah rusak atau aptitude whyada alasan lain? Saya yakin saya akan menemukan ini lagi di beberapa titik, akan menyenangkan untuk mengetahui ...
Graeme

Nah, kesimpulannya adalah "Ini tidak didokumentasikan." Dan saya menghentikan gangguan antara apt-get dan aptitude dengan memaksa amnesia pada yang terakhir melalui penghapusan /var/lib/aptitude/pkgstates. Kalau tidak, saya masih akan mendapatkan apt-get remove pkg; aptitude why pkg"Tidak dapat menemukan alasan untuk menginstal"; aptitude installlalu instal pkg.
grey green terbatas

@finitegraygreen, ternyata ada deskripsi apa artinya ini. Lihat jawaban yang diperbarui.
Graeme

1

Posting ini oleh penulis bakat menjelaskan {a}dan {u}:

  • {a} berarti bahwa paket tersebut akan diinstal tambahan di samping apa yang Anda minta.
  • {u} berarti bahwa paket tersebut tidak digunakan oleh sistem dan akan dihapus.

Sayangnya itu tidak menjelaskan {b}.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.