GNU/Linux >> Belajar Linux >  >> Ubuntu

"Sudo Apt-get Install Foo-" Penyebab Menghapus Paket Foo Dan Semuanya Bergantung Padanya?

Pertanyaan ini sudah memiliki jawaban di sini :apt-get install dengan ‘-‘ (minus / tanda hubung) menghapus paket

(2 jawaban)
Tutup 2 tahun yang lalu.

Saat bekerja di command prompt, saya tidak sengaja mengetik perintah berikut:

sudo apt-get install python3-

dan ubuntu mulai menghapus python3 dan semua yang bergantung padanya (termasuk Firefox dan banyak lagi). Untungnya saya segera menutup terminal itu dan mengembalikan semuanya dengan mencentang dpkg log file, tapi saya bertanya-tanya mengapa install perintah harus bertindak seperti hapus?

Apakah itu bug?

Pertimbangkan situasi saat Anda mencari nama paket (menekan Tab dua kali) dan menelusuri kemungkinan dengan menekan tombol Enter dan tombol Enter tersebut tetap berada di buffer keyboard dan…. haaaa… apt-get menghapus seluruh instalasi di depan mata Anda.

Jawaban yang Diterima:

Baru saja mencoba tanda minus (atau tanda hubung) ini setelah sebuah paket dan ya, apt-get bertindak seperti remove .

Lucunya saya tidak tahu fungsi apt-get ini . Tanda minus ini berlaku untuk setiap paket. Saya mencoba dengan smplayer- dengan firefox- dan selalu bertindak seperti remove .
Jadi satu-satunya hal yang dapat saya pikirkan adalah bahwa tanda hubung di akhir paket dianggap oleh apt-get seperti minus dan install perintah diubah menjadi remove .

Jika Anda ingin menginstal segala sesuatu tentang python3 , maka Anda harus menambahkan tanda asterisk setelah tanda hubung (minus) ini

sudo apt-get install python3-*

Awalnya saya pikir ini hanya masalah konflik, tapi ternyata tidak. Terkadang ketika Anda menginstal beberapa paket dan bentrok dengan paket lain maka paket yang sudah diinstal akan dihapus karena paket baru yang diinstal, tetapi ini bukan situasi kami di sini.

Kami telah mempelajari sesuatu yang berguna hari ini.

Dari halaman manual apt-get . Untuk membaca halaman manual melalui terminal Anda, berikan man apt-get

Jika tanda hubung (-) ditambahkan ke nama paket (tanpa spasi
yang mengganggu), paket yang diidentifikasi akan dihapus jika saat ini
diinstal. Demikian pula tanda plus (+) dapat digunakan untuk menunjuk sebuah
paket yang akan diinstal. Fitur terakhir ini dapat digunakan untuk mengganti
keputusan yang dibuat oleh sistem resolusi konflik apt-get.

Akhirnya bukan pilihan baru atau sesuatu yang aneh , hanya saja kita tidak membaca halaman manual dengan hati-hati.

Terkait:ImportError:Tidak bernama '_tkinter', silakan instal paket python3-tk?
Ubuntu
  1. Apakah Rsync ~/foo Target/foo Sama Dengan Rsync ~/foo/ Target/foo/?

  2. Pkgproblemresolver Error Saat Menjalankan Package Manager Dan Memperbarui 12.04?

  3. Bagaimana Cara Menjalankan Script Hanya Selama Instalasi Pertama Paket Dan Tidak Selama Peningkatan?

  1. Menggunakan Sudo Apt-get Install, Mengapa Tidak Ada Kode Sumber?

  2. Bagaimana Cara Menginstal Openssh-server, Tcsh, Autofs Dan Ypbind Di Ubuntu 14.04 Versi Desktop?

  3. Apa Perbedaan Antara `Sudo Apt-get -f Install` Dan `Sudo Apt-get Install -f`?

  1. Cara Menginstal dan Menggunakan Snap Package Manager di Ubuntu 20.04

  2. tidak dapat menginstal paket libc6

  3. E:Tidak dapat menemukan paket python-pip di Ubuntu 18.04