GNU/Linux >> Belajar Linux >  >> Ubuntu

Ubuntu – Mengapa 'apt-get Autoremove' Tidak Bekerja dengan Benar?

Saya menginstal Pipelight dari arsip PPA, sesuai dengan petunjuk ini.

Perintah instalasi, sudo apt-get install --install-recommends pipelight-multi hanya untuk satu paket, tetapi memerlukan pengunduhan dan penginstalan sekitar 180 paket ketergantungan, sekitar 40 di antaranya merupakan peningkatan ke paket yang saat ini diinstal.

Oleh karena itu, sekitar 140 paket baru telah diinstal.

Pipelight kemudian tidak berfungsi, jadi saya menghapusnya:

sudo apt-get purge pipelight-multi

Tidak ada paket lain yang dihapus.

Saya kemudian menggunakan sudo apt-get autoremove . Perintah ini menghapus semua paket auto-removeable. Ada persis 100 di antaranya (ada juga persis 100 paket di daftar 'Autoremovable' Synaptic Package Manager).

Jadi ini menyisakan sekitar 40 paket yang tidak dianggap auto-removeable, jadi tidak dihapus. Saya harus menghapusnya secara manual.

Tidak ada dependensi yang belum terpenuhi pada sistem saya sebelum saya menginstal Pipelight; dan saya belum menandai paket apa pun sebagai yang diinstal secara manual, diinstal, atau dihapus apa pun, atau semacamnya. Hanya sekitar sepuluh menit berlalu antara memasang Pipelight dan melepasnya.

Jadi setelah saya menghapus Pipelight, mengapa tidak semua dependensinya yang tidak dibutuhkan ditandai sebagai dapat dilepas secara otomatis?

Jawaban yang Diterima:

Tebakan terbaik saya adalah bahwa 40 paket direkomendasikan oleh paket lain yang telah Anda instal; pipelight-multi bersama dengan --install-recommends opsi menyebabkannya diinstal, tetapi disimpan setelah dihapus karena rekomendasi tersebut. Karena Anda telah menghapus paket secara manual, sulit untuk menentukannya, tetapi di masa mendatang Anda dapat menjalankan aptitude why ${package} untuk setiap paket yang menurut Anda harus dihapus secara otomatis, dan aptitude akan memberi tahu Anda mengapa itu disimpan.

Mekanisme di balik ini belum tentu intuitif. Ketika sebuah paket ditandai sebagai auto-removable, baik secara manual atau otomatis (dalam kasus terakhir, karena diinstal secara otomatis untuk memenuhi ketergantungan atau rekomendasi), flag auto-removal adalah satu-satunya informasi yang disimpan; sistem tidak ingat mengapa sebuah paket diinstal secara otomatis. Paket-paket tersebut disimpan hanya selama beberapa paket lain bergantung padanya, atau merekomendasikannya (ini adalah pengaturan default, dapat diubah).

Semua ini akan menjelaskan situasi Anda sebagai berikut. Anda sudah memiliki beberapa paket lain, A , terpasang; paket ini merekomendasikan B tetapi yang terakhir tidak diinstal. Anda menginstal pipelight-multi yang juga merekomendasikan B; mengingat bahwa Anda secara eksplisit menetapkan --install-recommends , kita tahu B kemudian diinstal bersama dengan pipelight-multi . Saat Anda menghapus pipelight-multi dan jalankan apt-get autoremove , B ditandai sebagai dapat dilepas otomatis dan diperiksa, tetapi karena A masih terpasang, B disimpan, meskipun paket yang menyebabkannya diinstal di tempat pertama hilang. Karena A hanya merekomendasikan B , Anda dapat menghapus B . secara manual untuk kembali ke situasi awal.

Terkait:Bagaimana cara kerja antarmuka sakelar?
Ubuntu
  1. Cara Mendaftar Paket yang Diinstal di Ubuntu 20.04

  2. Cadangkan Paket yang Terinstal Dan Pulihkan Di Sistem Ubuntu yang Baru Diinstal

  3. Cara Mendaftar Repositori yang Terinstal Di Ubuntu &Debian

  1. Cara Mendaftar Paket yang Diinstal di Ubuntu

  2. Daftar Paket yang Diinstal di Ubuntu 20.04 - Bagaimana cara melakukan tugas ini?

  3. Kernel Tidak Mengupgrade Antara 14,04 Lts Menjadi 16,04 Lts?

  1. Mengapa `keluar &` Tidak Berfungsi?

  2. Instalasi Ubuntu Trusty Red5-server Gagal Memulai?

  3. Ubuntu 16.04 Paket Rusak Setelah Instal Baru?