Mengapa program tidak menghapus sepenuhnya (menghapus semua file mereka) ketika saya menghapusnya?

12

Di Ubuntu, atau Linux apa pun, ketika saya memutuskan untuk menghapus suatu program dan kemudian menginstalnya kembali, saya perhatikan bahwa itu tidak menghapus apa pun yang saya buat sebelumnya, sehingga sedikit tidak ada gunanya bagi saya, karena saya ingin sering menginstal barang baru . Setiap kali saya memutuskan untuk menginstalnya kembali seperti sebelum saya menghapus program. Kenapa ini?

Saya terbiasa mencopot pemasangan sesuatu yang mirip dengan Windows atau Android yang menghapus semuanya dan satu-satunya cara nyata untuk memulihkan data adalah dengan menyimpannya di suatu tempat, atau jika mereka memberi saya pilihan untuk masuk untuk memulihkannya, adalah ada cara untuk melakukannya di Linux juga?

Terkadang saya menghapusnya dari pusat Perangkat Lunak Ubuntu dan menggunakannya sudo apt-get --purge remove [application].

Saya menggunakan Ubuntu 18.10, saya tidak perlu menghapus apa pun sekarang. Saya hanya ingin tahu.

SonicStarMan
sumber
1
Gunakan purgesebagai ganti remove.
Pilot6
1
Android memiliki kemampuan untuk menyinkronkan data ke akun Google. Apakah itu yang Anda maksud dengan "masuk untuk memulihkannya"? Saya belum melihat opsi itu di Windows (belum).
tu-Reinstate Monica-dor duh
9
Apakah Anda benar-benar percaya Windows menghapus semuanya. Pengalaman saya justru sebaliknya. Dan kekacauan yang ditinggalkan oleh aplikasi yang dihapus dalam Windows Registry hanya mengerikan.
Ister
2
Sebagian besar (baik) aplikasi Windows menawarkan kepada Anda opsi untuk menghapus tanggal pengguna Anda atau menyimpannya, tetapi banyak dari mereka tidak akan menyentuh barang-barang pribadi Anda.
T. Sar
@ t-sar Bisakah Anda mengutip contoh ini? Saya benar-benar tidak pernah melihat tawaran aplikasi Windows untuk menghancurkan data pengguna.
tu-Reinstate Monica-dor duh

Jawaban:

26

Itu tidak sepenuhnya benar. Tidak ada operasi paket yang harus menghapus data pengguna, dalam kondisi apa pun.

Alasannya sederhana: Aplikasi tidak memiliki data. Kamu lakukan.

Pertama, sebagai tambahan, selain layar login Ubuntu, jika suatu aplikasi meminta Anda untuk login , maka data Anda hampir pasti tidak ada di mesin Anda . Proses masuk kemungkinan besar terkait dengan mekanisme otentikasi online untuk menyediakan akses ke data Anda yang disimpan di tempat lain . Android dan iOS memiliki kemampuan (terbatas) untuk menyinkronkan sejumlah kecil data pengguna dan konfigurasi untuk aplikasi dengan server "cloud", tetapi itu tidak serta merta menghilang setelah mencopot aplikasi.

Semua OS (termasuk Windows * dan Android) bergantung pada skrip penghapusan . Ini menganggap bahwa Anda ingin perangkat lunak hilang tetapi tetap konfigurasi sehingga Anda dapat menginstalnya lagi nanti. The --purgepilihan untuk apthanya menghapus file-file konfigurasi .

Jika Anda membuat modifikasi di luar data Anda sendiri (/ home) maka kami menganggap Anda tahu apa yang Anda lakukan sehingga sistem Anda terus berperilaku terhadap konfigurasi Anda . Mudah untuk rm -Rmengkonfigurasi file sendiri, tidak mudah untuk mendapatkan versi khusus Anda yang disesuaikan sesuai dengan cara Anda mengaturnya. Jadi skrip ini cenderung keliru di sisi hati-hati.

Skrip ini membuat berbagai asumsi tentang apa yang diinstal dan sering ditulis oleh manusia yang dapat membuat kesalahan. Terkadang perangkat lunak melakukan sesuatu yang istimewa, terutama ketika perangkat lunak tersebut memiliki dependensi .

Kami (pengembang Ubuntu) melakukan melakukan tes pada sistem tes. Kami menginstal perangkat lunak ke dalam instalasi bersih Ubuntu, dan kemudian kita jalankan apt removedan apt --purge removedan memverifikasi bahwa sistem kembali ke diharapkan negara (pra-instal).

Jika Anda melihat situasi di mana paket diinstal, tidak ada modifikasi yang dilakukan pada konfigurasi, dan paket tersebut kemudian dihapus tetapi file tetap ada, maka silakan ajukan bug pada paket itu.

Alternatifnya adalah menggunakan snap, yang menampung aplikasi sepenuhnya di lingkungannya sendiri.

* (pada kenyataannya, ini adalah salah satu cara teratas aplikasi Windows menginstal malware, dengan "membonceng" malware ke aplikasi yang Anda pilih untuk menginstal, dan kemudian tidak menghapusnya ketika Anda menghapus instalannya.)

tu-Reinstate Monica-dor duh
sumber
2
Saya pikir pertanyaan yang diajukan adalah mengapa pencopotan tidak menghapus data pengguna yang dibuat dengan menggunakan aplikasi ("tidak menghapus apa pun yang saya buat sebelumnya"), dan jawaban ini hanya menyatakannya sebagai aksioma dalam pasangan kalimat pertama, alih-alih menjelaskan atau membenarkannya.
ShreevatsaR
2
"Mudah untuk rm -R file konfigurasi sendiri" Apakah itu? Itu mengasumsikan Anda tahu di mana mereka semua berada. Tidak bisakah mereka di mana saja? Saya pada dasarnya menganggap semua operasi instalasi adalah permanen. Saya tidak melihat gunanya bahkan menyediakan opsi hapus untuk manajer paket. Anda selalu harus memulai dari awal jika ingin perangkat lunak hilang. Apakah saya terlalu fatalis di sini?
Nacht - Pasang kembali Monica
1
" Tidak bisakah mereka di mana saja? " Secara teknis ya. Pada kenyataannya, mungkin 95% dari file akan berada di salah satu dari beberapa lokasi tradisional. Sangat sedikit aplikasi yang akan menulis file ke lokasi non-tradisional yang sepenuhnya tidak masuk akal. Jadi, Anda biasanya hanya perlu memeriksa beberapa direktori terkenal. Seringkali Anda juga dapat mencari informasi tentang perangkat lunak untuk mengetahui direktori mana yang memiliki file-nya. Anda bahkan dapat menjalankan VM, menginstal perangkat lunak dan melihat di mana ia menulis file, jika Anda mau. Semua dalam semua, Anda membuatnya terdengar jauh lebih sulit untuk menemukan apa yang harus dihapus daripada itu.
VLAZ
2
"Tidak bisakah mereka di mana saja?" Jika Anda tidak mengubah apa pun di file konfigurasi, file itu akan dihapus jika Anda menggunakannya --purge. Jika Anda melakukan perubahan sesuatu di dalamnya, Anda jelas tahu di mana mereka berada.
technical_difficulty
3
“Dan hanya jika belum dimodifikasi oleh pengguna ” - apakah Anda yakin? Setidaknya dalam Debian (dan oleh karena itu, di semua paket yang menarik Ubuntu tanpa perubahan), membersihkan sebuah paket menghapus semua konfigurasi (sistem-lebar), apakah administrator sistem telah mengubahnya atau tidak (lihat bagian kebijakan tentang perilaku konfigurasi ) . Ini tidak mengesampingkan aturan bahwa apa pun yang ada di /homeluar batas, sehingga konfigurasi khusus pengguna dipertahankan.
Stephen Kitt
13

sudo apt remove atau menghapus instalan aplikasi secara normal dari Pusat Perangkat Lunak hanya akan menghapus instalan file paket reguler dan meninggalkan konfigurasi, sehingga menginstal ulang paket nanti biasanya akan mengembalikan kondisi aplikasi Anda sebelumnya.

sudo apt purgeatau sudo apt remove --purgesebagai gantinya akan menghapus paket dan tambahan menghapus file konfigurasi seluruh sistem setelahnya. Anda juga dapat menggunakannya untuk membersihkan konfigurasi sisa dari paket yang sebelumnya hanya dihapus.

Pengelola paket tidak akan pernah menghapus data pengguna atau file konfigurasi pengguna, yang dibuat selama waktu aplikasi dijalankan. File-file itu tidak dilacak dan pengguna bertanggung jawab untuk membersihkannya dari direktori home mereka, jika mereka tidak ingin menyimpannya. (Secara teoritis suatu paket dapat berisi skrip pasca-hapus yang memeriksa lokasi data pengguna umum untuk file yang mungkin dibuat, tetapi itu seharusnya tidak menjadi masalah)

Komandan Byte
sumber
5
Sebuah paket yang skrip penghapusnya menghapus sesuatu dari atau bahkan memeriksa direktori home pengguna adalah malware dan tidak boleh diterima ke dalam repositori distro mana pun yang dapat diperbaiki.
R .. GitHub BERHENTI MEMBANTU ICE
0

Di Windows, Anda selalu memiliki beberapa jejak program invasif dalam registri yang harus dihapus secara manual. Apa pun yang terkait dengan AV, populasikan arsitektur Win sangat ... Plus, Windows membutuhkan aplikasi pihak ketiga untuk sepenuhnya menghapus program. Ccleaner dan Revo ada di antara mereka.

Di Ubuntu, apt purge menghapus hampir semua, jika tidak semua. Pencarian manual di Synaptic Package Manager menunjukkan seluruh proses penghapusan. Ini dapat diperiksa dua kali dengan menjalankan apt clega atau terbalik, dengan mencari di Synaptic.

Anda harus bijaksana dan tepat menggunakan aplikasi itu, itu adalah tempat yang panas.

Mikemecanic
sumber
"Di Windows, Anda selalu memiliki beberapa jejak program invasif dalam registri yang harus dihapus secara manual." Yah, tidak SELALU! Tapi ini masalah.
Laurence Payne