Programlar kaldırdığımda neden tüm dosyaları kaldırmıyor (tüm dosyalarını kaldırıyor)?


12

Ubuntu'da veya herhangi bir Linux'ta, bir programı kaldırmaya ve daha sonra yeniden yüklemeye karar verdiğimde, daha önce yaptığım hiçbir şeyi kaldırmadıklarını fark ettim, böylece sık sık yeni bir şeyler yüklemek istediğim için benim için biraz anlamsız hale geliyor . Yeniden yüklemeye karar verdiğimde, programı kaldırmadan önceki gibi. Bu neden?

Windows veya Android'e benzer bir şeyi kaldırmaya alışkınım, çünkü her şeyi tamamen kaldırır ve bu verileri kurtarmanın tek gerçek yolu ya bir yere kaydetmek ya da bana kurtarmak için oturum açma seçeneği verirse, Linux'ta bunu yapmanın bir yolu var mı?

Bazen Ubuntu Yazılım merkezinden kaldırıyorum ve kullanıyorum sudo apt-get --purge remove [application].

Ubuntu 18.10 kullanıyorum, şimdi kaldıracak hiçbir şeyim yok sadece merak ediyorum.


1
Yerine purgekullanın remove.
Pilot6

1
Android, verileri bir Google hesabıyla senkronize etme yeteneğine sahiptir. "Kurtarmak için giriş yap" derken bunu mu kastediyorsun? Bu seçeneği Windows'ta görmedim (henüz).
tu-Reinstate Monica-dor duh

9
Gerçekten Windows'un her şeyi kaldırdığına inanıyor musunuz? Benim deneyimim tam tersi. Ve Windows Kayıt Defteri'nde kaldırılan uygulamaların bıraktığı karışıklık sadece korkunç.
Ister

2
Çoğu (iyi) Windows uygulaması size kullanıcı tarihinizi silme veya bu bilgileri saklamak için bir seçenek sunar, ancak bunların bir kısmı kişisel eşyalarınıza dokunmaz.
T. Sar

@ t-sar Buna bir örnek verebilir misiniz? Kelimenin tam anlamıyla kullanıcı verilerini yok etmek için bir Windows uygulama teklifi görmedim.
tu-Reinstate Monica-dor duh

Yanıtlar:


26

Bu tam olarak doğru değil. Hiçbir paket işlemi hiçbir koşulda kullanıcı verilerini kaldırmamalıdır.

Bunun nedeni basit: Uygulamanın verileri yok. Yapmalısın.

İlk olarak, bir uygulama, Ubuntu giriş ekranı dışında, bir uygulama oturum açmanızı isterse , verileriniz kesinlikle makinenizde değildir . Oturum açma işlemi büyük olasılıkla başka bir yerde saklanan verilerinize erişim sağlamak için bir çevrimiçi kimlik doğrulama mekanizmasıyla ilgilidir . Android ve iOS, "bulut" sunucuları olan uygulamalar için küçük miktarda kullanıcı ve yapılandırma verilerini senkronize etme (sınırlı) özelliğine sahiptir, ancak bir uygulamayı kaldırdıktan sonra da kaybolması gerekmez.

Tüm işletim sistemleri (Windows * ve Android dahil) kaldırma komut dosyalarına bağlıdır . Bunlar, yazılımın gitmesini istediğinizi ancak daha sonra tekrar yükleyebilmeniz için yapılandırmayı koruduğunuzu varsayar. --purgeSeçeneği aptyalnızca kaldırır yapılandırma dosyaları .

Kendi verinin dışında değişiklik (/ home) yapıyorsanız o zaman size sistem için davranmaya devam böylece ne yaptığınızı bildiğinizi varsayıyorum sizin yapılandırması. Bu kolay rm -R, kendinizi yapılandırma dosyaları o kadar kolay değil, özel şeylerden sürümü bunları kurmuştu şekilde geri özelleştirilmiş almak için. Bu yüzden bu senaryolar dikkatli olunur.

Bu senaryolar, neyin yüklendiği hakkında çeşitli varsayımlar yapar ve sıklıkla hata yapabilen insanlar tarafından yazılır. Bazen yazılım, özellikle yazılım bağımlılıkları olduğunda özel bir şey yapar .

Biz (Ubuntu geliştiricileri) do test sistemleri üzerinde testler yapmak. Biz Ubuntu temiz bir kurulum içine yazılımı yükleyin, sonra çalıştırın apt removeve apt --purge removesistem beklenen (önceden yüklenmiş) durumuna döner doğrulayın.

Bir paketin yüklü olduğu bir durum görürseniz, yapılandırmada herhangi bir değişiklik yapılmaz ve paket kaldırılır, ancak dosyalar kalır, lütfen o pakete karşı bir hata gönderin .

Bir alternatif, snapuygulamayı tamamen kendi ortamında barındıran kullanmaktır.

* (aslında, bu daha sonra yüklemeyi seçtiğiniz uygulamalara üzerine kötü amaçlı yazılım "bindirme" ile, ve Windows uygulamaları zararlı yazılım yüklemek üst yollarından biridir değil zaman bunları kaldırırken izale.)


2
Bence sorulan soru, bir kaldırma işleminin uygulamayı kullanarak oluşturulan kullanıcı verilerini neden kaldırmamasıdır (“daha ​​önce yaptığım hiçbir şeyi kaldırmadım”) ve bu cevap bunu ilk cümle çiftinde aksiyom olarak belirtiyor. açıklamak ya da haklı göstermek.
ShreevatsaR

2
"Rm -R yapılandırma dosyaları kendiniz kolaydır" değil mi? Bu, hepsinin nerede olduğunu bildiğinizi varsayar. Hiçbir yerde olamazlar mıydı? Temelde tüm kurulum işlemlerinin kalıcı olduğunu varsayıyorum. Paket yöneticileri için bir kaldırma seçeneği bile sağlamanın bir anlamı yok. Yazılımın gitmesini istiyorsanız her zaman sıfırdan başlamanız gerekir. Burada çok fatalist miyim?
Nacht - Monica'yı

1
" Hiçbir yerde olamazlar mı? " Teknik olarak evet. Gerçekte, dosyaların muhtemelen% 95'i birkaç geleneksel konumdan birinde olacaktır. Çok az uygulama tamamen mantıksal olmayan geleneksel konumlara dosya yazacaktır. Bu nedenle, genellikle birkaç iyi bilinen dizini kontrol etmeniz gerekir. Genellikle hangi dizinlerin dosyalarını içerdiğini öğrenmek için yazılım hakkındaki bilgilere de bakabilirsiniz. İsterseniz bir VM'yi çalıştırabilir, yazılımı yükleyebilir ve nerede dosya yazdığını görebilirsiniz. Sonuç olarak, neyi silmek için olduğundan daha zor olduğunu düşünüyorsunuz.
VLAZ

2
"Hiçbir yerde olamazlar mı?" Yapılandırma dosyalarındaki hiçbir şeyi değiştirmediyseniz, kullanırsanız kaldırılırlar --purge. Eğer varsa yaptım onları değiştirmek şey nerede olduklarını, belli ki biliyorum.
technical_difficulty

3
“Ve yalnızca kullanıcı tarafından değiştirilmediyse ” - emin misiniz? En azından Debian'da (ve dolayısıyla Ubuntu'nun değişiklik yapmadan çektiği tüm paketlerde), bir paketin temizlenmesi sistem yöneticisi tarafından değiştirilip değiştirilmediğine bakılmaksızın (sistem genelinde) tüm yapılandırmasını siler ( yapılandırma davranışı ile ilgili politika bölümüne bakın ) . Bu, herhangi bir şeyin /homesınır dışı olduğu kuralını geçersiz kılmaz , bu nedenle kullanıcıya özgü yapılandırma korunur.
Stephen Kitt

13

sudo apt remove veya bir uygulamayı normal olarak Yazılım Merkezi'nden kaldırmak normal paket dosyalarını kaldırır ve yapılandırmayı geride bırakır, böylece paketi daha sonra yeniden yüklemek genellikle uygulamanın önceki durumunu geri yükler.

sudo apt purgeveya sudo apt remove --purgebunun yerine bir paket kaldırır ve ayrıca sonradan kalan sistem genelinde yapılandırma dosyaları kaldırmak. Bunları, önceden kaldırılmış bir paketin artık yapılandırmasını temizlemek için de kullanabilirsiniz.

Paket yöneticisi, uygulamanın çalışma zamanında oluşturulan kullanıcı verilerini veya kullanıcı yapılandırma dosyalarını hiçbir zaman silmez. Bu dosyalar izlenmez ve saklamak istemezlerse, kullanıcı onları ana dizinlerinden temizlemekle sorumludur. (Teorik olarak bir paket, oluşturmuş olabileceği dosyalar için ortak kullanıcı veri konumlarını kontrol eden bir kaldırma sonrası komut dosyası içerebilir, ancak normalde durum böyle olmamalıdır)


5
Kaldırma komut dosyası, kullanıcıların ev dizinlerinden bir şeyler silen veya hatta onları inceleyen bir paket kötü amaçlı yazılımdır ve herhangi bir tekrarlanabilir dağıtım havuzuna kabul edilmemelidir.
R .. GitHub BUZA YARDIMCI DURDUR

0

Windows'da, kayıt defterinde her zaman el ile kaldırılması gereken bazı invaziv program izleri vardır. AV ile ilgili her şey, Win mimarisini yoğun bir şekilde doldurur… Ayrıca, Windows bir programı tamamen kaldırmak için üçüncü taraf bir uygulama gerektirir. Ccleaner ve Revo bunlar arasında.

Ubuntu'da apt tasfiyesi , hepsi olmasa bile neredeyse her şeyi kaldırır. Synaptic Paket Yöneticisi'nde yapılan manuel arama, tüm silme işlemini gösterir. Apt purge çalıştırılarak veya tersine çevrilerek Synaptic'de arama yapılarak iki kez kontrol edilebilir .

Bu uygulamayı kullanarak ihtiyatlı ve hassas olmalı, olmak için sıcak bir yer.


"Windows'ta, kayıt defterinde her zaman el ile kaldırılması gereken bazı istilacı program izleri vardır." HER ZAMAN değil! Ancak bu bir konudur.
Laurence Payne
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.