Bisakah 'sudo apt-get remove [write]' menghancurkan Ubuntu saya?

59

Saya ingin menghapus aplikasi 'tulis' saya, jadi saya menemukan ini di situs: Untuk menghapus jenis paket:

sudo apt-get remove [package_name]

Jadi saya mengetik:

sudo apt-get remove [write]

Dan setelah itu saya menyetujui perintah itu, 'ya, lakukan apa yang saya katakan!' atau semacam itu. Dan voila! Ubuntu saya dihapus! Adakah yang bisa memberi tahu saya alasannya?

Jesper Joachim Sørensen
sumber
29
Saat yang dapat diajar tentang membaca hasil lengkap. Banyak dari kita telah melakukan hal serupa ... sekali.
user535733
7
Kiat yang baik jika Anda tidak yakin apa yang akan terjadi adalah menggunakan bendera --simulateatau di -sbawah aptatau yang apt-getpertama - Contoh: sudo apt -s remove php7.2-pspelltidak benar-benar menghapusnya. Hanya menunjukkan kepada Anda apa yang akan dihapus / terpengaruh (jika diinstal). Sama untuk 'instal'.
bshea
touch wpertama untuk menyelamatkan diri Anda dari kesedihan ;-).
Stephen Kitt
@ B.Tanner Saya senang mendengar bahwa jawaban saya benar-benar membantu, bukan hanya polarisasi. Anda selalu disambut di ruang obrolan umum AU jika Anda memiliki pertanyaan lebih lanjut (atau lainnya) atau hanya ingin menyapa!
hidangan penutup
Juga pelajaran yang baik tentang konvensi notasi di halaman manual.
chrylis -pada mogok-

Jawaban:

92

Perintah yang benar untuk menghapus paket bernama writeadalah:

sudo apt remove write

[write]adalah set karakter yang cocok dengan karakter "w", "r", "i", "t" dan "e" dan sebagai pencocokan dilakukan dengan substring oleh apt. Perintah yang Anda jalankan dengan demikian mencocokkan semua paket dengan salah satu karakter di dalamnya , yang tentu saja banyak . Mengutip aptdaftar keluaran hanya yang penting:

WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt adduser (due to apt) gpgv (due to apt) ubuntu-keyring (due to apt) libapt-pkg5.0 (due to apt) libc6 (due to apt) libgcc1 (due to apt) libgnutls30 (due to apt) libseccomp2 (due to apt)
  libstdc++6 (due to apt) base-files base-passwd libdebconfclient0 (due to base-passwd) bash libtinfo5 (due to bash) debianutils (due to bash) bsdutils libsystemd0 (due to bsdutils) coreutils
  libacl1 (due to coreutils) libattr1 (due to coreutils) libselinux1 (due to coreutils) dash dpkg (due to dash) diffutils libbz2-1.0 (due to dpkg) liblzma5 (due to dpkg) libzstd1 (due to dpkg)
  zlib1g (due to dpkg) tar (due to dpkg) e2fsprogs libblkid1 (due to e2fsprogs) libcom-err2 (due to e2fsprogs) libext2fs2 (due to e2fsprogs) libss2 (due to e2fsprogs) libuuid1 (due to e2fsprogs) fdisk
  libfdisk1 (due to fdisk) libmount1 (due to fdisk) libncursesw5 (due to fdisk) libsmartcols1 (due to fdisk) findutils grep libpcre3 (due to grep) install-info (due to grep) gzip hostname init
  systemd-sysv (due to init) init-system-helpers (due to init) perl-base (due to init-system-helpers) libc-bin login libaudit1 (due to login) libpam0g (due to login) libpam-runtime (due to login)
  libpam-modules (due to login) mount util-linux (due to mount) ncurses-base ncurses-bin sed sysvinit-utils libudev1 (due to util-linux)
0 upgraded, 0 newly installed, 2503 to remove and 0 not upgraded.
After this operation, 7238 MB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'

Banyak peringatan serta keharusan untuk mengetik secara harfiah

Ya, lakukan seperti yang saya katakan!

tersedia sarana keamanan untuk mencegah Anda menghancurkan sistem Anda, karena manajer paket sistem aptmampu melakukan hal itu dengan sempurna. Setiap perintah yang dijalankan sudoharus dijalankan dengan hati-hati dan penuh pertimbangan, tetapi jangan khawatir: Hampir setiap pengguna berpengalaman Ubuntu merusak sistem mereka setidaknya sekali, pada kenyataannya itu bagian yang menyenangkan jika Anda bertanya kepada saya.

Bacaan lebih lanjut

pencuci mulut
sumber
1
Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Thomas Ward
15

Untuk menambah apa yang dikatakan orang lain, Anda akan melihat sintaksis yang sering digunakan blogger dalam posting mereka.

Ada standar yang cukup konsisten yang digunakan saat menulis dokumentasi tentang cara menggunakan perintah. Di setiap halaman manual, Anda akan melihat struktur yang hampir sama.

Jika ada yang opsional , biasanya dalam kurung. ls [folder](Anda tidak perlu memberikan folder, tetapi Anda bisa. Jadi, opsional).

Jika ada file atau email , Anda biasanya akan melihatnya dalam kurung sudut.<likeThis.php>

Jika Anda memiliki pilihan antara sejumlah hal yang terbatas (yaitu Bulan), Anda akan melihatnya di kawat gigi seperti ini:{September,October,November,December}

Dengan salah satu dari ini, Anda dapat melihat ...yang menunjukkan bahwa banyak dari ini dapat diberikan.

Dan akhirnya, jika sesuatu benar-benar wajib, Anda akan melihat dokumentasinya terdaftar dan mungkin digarisbawahi. Misalnya,, man mvmanual mv, mengatakan ini:

mv [OPTION]... [-T] SOURCE DEST

Secara teknis, nama paket (tulis) bukan bagian yang diperlukan dari perintah. Cobalah. apt-get installatau apt-get removehanya akan menjalankan dan keluar dari program dengan sukses. Itu salah satu alasannya bisa disajikan dalam tanda kurung di blog itu.

Nathaniel Pisarski
sumber
9

Sebelum melakukan sudo apt-get, sebaiknya lakukan simulasi:

$ apt-get remove [write] -s | wc -l
65280

Ada hampir 65.280 paket yang memenuhi syarat untuk dihapus jika diinstal pada sistem Anda. [write]adalah pola pencarian untuk pencocokan Regex yang menyebabkan setiap paket dipilih jika mengandung:

  • Surat watau ratau iatau tataue

Output disalurkan ke perintah Word Count dengan | wc -l. Jalur output dari apt-getditekan oleh wc. The -lberalih menginstruksikan wcuntuk menghitung cetak hanya garis dan tidak menghitung kata atau jumlah karakter.

Simulasi ditentukan dengan -sbendera. Anda juga dapat menggunakan --simulatebendera untuk keterbacaan yang lebih baik. Keuntungan lain dari simulasi adalah Anda tidak membutuhkan sudokekuatan yang banyak dari kita pelajari dapat berbahaya kadang-kadang.

Untuk mendapatkan gambaran tentang nama paket, melibatkan keluaran pipa ke lessperintah:

$ apt-get remove [write] --simulate | less

NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Also keep in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists...
Building dependency tree...
Reading state information...
Package 'libpam-pin' is not installed, so not removed
Package 'activity-log-manager-common' is not installed, so not removed
Package 'libnet-patricial-perl' is not installed, so not removed
Package 'pe' is not installed, so not removed

   (.... Plus 65,269 more packages ....)
WinEunuuchs2Unix
sumber