Mengapa hampir semua paket ditandai sebagai diinstal secara manual?

11

Saya baru saja menginstal Maverick dan terkejut bahwa hampir semua paket ditandai sebagai diinstal secara manual (linux-header dan wireless-crda tidak). Bukankah itu mengalahkan tujuan diferensiasi antara paket yang diinstal secara otomatis dan manual?

htorque
sumber

Jawaban:

9

Sepertinya kekuatan Google saya melemah: ini adalah bug yang dikenal (berkonsentrasi pada komentar dari Colin Watson) dan itu berkeliaran untuk beberapa waktu tanpa perbaikan yang terlihat:

Mengutip Colin Watson :
[...] Membiarkan semua paket yang diinstal secara manual tidak enak dilihat tetapi konsekuensi dari bug ini umumnya terbatas karena tidak mengelola cukup pintar untuk menghapus paket yang tidak diperlukan lagi. Kelemahan pada arah sebaliknya akan jauh lebih buruk, karena bisa menyebabkan paket dihapus ketika masih dibutuhkan. Mengingat bahwa tampaknya tidak ada perbaikan yang benar benar tersedia, lebih baik mengudara dengan hati-hati. [...]
htorque
sumber
udara? err, tentu saja.
TRiG
1
Ya, tetapi jika saya memperbaikinya, itu tidak akan menjadi kutipan lagi. : P
htorque
Yang saya heran adalah: karena bagian "yang dipasang secara manual" ini jelas tidak relevan (tidak dapat digunakan), mengapa mereka tidak menyembunyikannya saja? Tidak perlu menampilkannya jika Anda tidak dapat melakukan apa-apa dengan itu ... yang tampaknya menjadi titik pandang saya. Kemudian jika mereka mendapatkan perbaikan suatu hari nanti, mereka dapat menunjukkannya lagi. Ini sudah ada di Ubuntu sejak Lela atau Karmic kalau saya ingat dengan baik ...
Little Jawa
1
Meskipun ketika dia memperbaikinya di komentar berikutnya, saya pikir Anda dapat menyesuaikan kutipan. :)
@ Sedikit: Ini bisa berguna untuk paket yang Anda instal nanti, hanya saja tidak termasuk apa pun ketika awalnya diinstal.
1

Oke, sekarang ini hal pertama yang saya lakukan setelah instalasi. Saya menandai (hampir) setiap paket sebagai terinstal secara otomatis , dan mereka tetap sebagai dependensi dari ubuntu-desktop:

apt-mark showmanual | xargs sudo apt-mark auto
sudo apt-mark unmarkauto ubuntu-desktop 

Idealnya, itu sudah cukup. Tetapi seperti Colin Watson , dunia tidak begitu sempurna, dan kita perlu lebih banyak pemolesan. Pengulangan:

apt-get autoremove --simulate
# ...
# output of what's to be autoremoved
sudo apt-mark unmarkauto <package>

di mana <package>untuk saya berakhir setidaknya masing-masing ubuntu-standard, ubuntu-minimal, ubuntu-restricted-addons. Juga beberapa paket bahasa.

Perlu dicatat juga aptitude, yang dengan TUI-nya dapat membantu proses.

Setelah melakukan ini, laporan manajer paket sistem saya terlihat jauh lebih menyenangkan dan dapat dipahami:

$ apt-mark showmanual
aptitude
dkms
git
subversion
ubuntu-desktop
ubuntu-minimal
ubuntu-restricted-addons
ubuntu-standard
vim
zsh

Voila!

ulidtko
sumber
jangan coba jawaban ini dengan Willy terbaru. Anda akan kacau
Stefano Mtangoo
@StefanoMtangoo Saya sudah melakukan ini pada wily sendiri. Saat ini saya memiliki 97 paket bertanda manual, dan 2.455 paket bertanda otomatis. 97 itu mewakili cukup akurat semua yang apt-get installtelah saya lakukan. Manajemen ketergantungan yang cukup bersih menurut saya.
ulidtko
Saya melakukannya dan yang saya dapatkan adalah hampir semua paket diatur ke autoremove dan harus melalui rasa sakit melepas dan menginstal kembali ... pengalaman yang tidak terlalu bagus
Stefano Mtangoo
@Stefano, apakah anda melihat saya dijelaskan lingkaran dari autoremove --simulatediikuti oleh unmarkautopaket payung ulung? Itulah kuncinya. Anda seharusnya tidak benar-benar menghapus dan menginstal kembali paket. Semua perubahan yang Anda lakukan pada sistem terdiri dari menandai paket yang diinstal secara manual, atau secara otomatis - sebagai ketergantungan (sering tidak langsung) dari beberapa paket yang diinstal secara manual lainnya.
ulidtko