Tại sao các chương trình không gỡ cài đặt hoàn toàn (xóa tất cả các tệp của chúng) khi tôi xóa chúng?


12

Trong Ubuntu, hoặc bất kỳ Linux nào, khi tôi quyết định gỡ bỏ một chương trình và sau đó cài đặt lại nó, tôi nhận thấy rằng nó không xóa bất cứ thứ gì tôi đã làm trước đây, do đó làm cho nó trở nên vô nghĩa đối với tôi, vì tôi thường xuyên cài đặt công cụ mới . Bất cứ khi nào tôi quyết định cài đặt lại, nó giống như trước khi tôi gỡ bỏ chương trình. Tại sao lại thế này?

Tôi đã từng gỡ cài đặt một cái gì đó tương tự như Windows hoặc Android ở chỗ nó loại bỏ hoàn toàn mọi thứ và cách thực sự duy nhất để khôi phục dữ liệu đó là lưu nó ở đâu đó hoặc nếu chúng cho tôi tùy chọn đăng nhập để khôi phục nó, là Có cách nào để làm điều đó trên Linux không?

Đôi khi tôi gỡ bỏ nó khỏi trung tâm phần mềm Ubuntu và sử dụng sudo apt-get --purge remove [application].

Tôi đang sử dụng Ubuntu 18.10, hiện tại tôi không có gì để gỡ cài đặt. Tôi chỉ tò mò thôi.


1
Sử dụng purgethay vì remove.
Pilot6

1
Android có khả năng đồng bộ dữ liệu với tài khoản Google. Đó có phải là ý của bạn khi "đăng nhập để khôi phục nó" không? Tôi chưa thấy tùy chọn đó trên Windows (chưa).
tu-Tái lập Monica-dor duh

9
Bạn có thực sự tin rằng Windows loại bỏ mọi thứ. Kinh nghiệm của tôi là hoàn toàn ngược lại. Và sự lộn xộn còn sót lại của các ứng dụng đã gỡ cài đặt trong Windows Registry thật kinh khủng.
Ister

2
Hầu hết (tốt) các ứng dụng Windows cung cấp cho bạn một tùy chọn để xóa ngày người dùng của bạn hoặc giữ nó xung quanh, nhưng khá nhiều trong số chúng sẽ không chạm vào công cụ cá nhân của bạn.
T. Sar

@ t-sar Bạn có thể trích dẫn một ví dụ về điều này? Tôi thực sự chưa bao giờ thấy một đề nghị ứng dụng Windows để hủy dữ liệu người dùng.
tu-Tái lập Monica-dor duh

Câu trả lời:


26

Điều đó không hoàn toàn đúng. Không có hoạt động gói nên loại bỏ dữ liệu người dùng, bao giờ, trong mọi trường hợp.

Lý do cho việc này rất đơn giản: Ứng dụng không sở hữu dữ liệu. Bạn làm.

Thứ nhất, là một bên, ngoài màn hình đăng nhập Ubuntu, nếu một ứng dụng yêu cầu bạn đăng nhập , thì dữ liệu của bạn gần như chắc chắn không có trên máy của bạn . Quá trình đăng nhập rất có thể liên quan đến một cơ chế xác thực trực tuyến để cung cấp quyền truy cập vào dữ liệu của bạn được lưu trữ ở một nơi khác . Android và iOS có khả năng (giới hạn) để đồng bộ một lượng nhỏ dữ liệu người dùng và cấu hình cho các ứng dụng với máy chủ "đám mây", nhưng điều đó không nhất thiết phải biến mất sau khi gỡ cài đặt ứng dụng.

Tất cả các hệ điều hành (bao gồm Windows * và Android) đều phụ thuộc vào tập lệnh xóa . Chúng giả định rằng bạn muốn phần mềm biến mất nhưng vẫn giữ cấu hình để bạn có thể cài đặt lại sau. Các --purgetùy chọn để aptchỉ loại bỏ các file cấu hình .

Nếu bạn đang thực hiện các sửa đổi bên ngoài dữ liệu của riêng bạn (/ home) thì chúng tôi cho rằng bạn biết bạn đang làm gì để hệ thống của bạn tiếp tục hoạt động theo cấu hình của bạn . Thật dễ dàng để tự rm -Rcấu hình các tệp cấu hình, không dễ để có được phiên bản tùy chỉnh cụ thể của bạn trở lại cách bạn đã thiết lập chúng. Vì vậy, các kịch bản có xu hướng lỗi ở phía thận trọng.

Các kịch bản này đưa ra các giả định khác nhau về những gì đã được cài đặt và chúng thường được viết bởi những người có thể mắc lỗi. Đôi khi phần mềm làm điều gì đó đặc biệt, đặc biệt khi phần mềm có phần phụ thuộc .

Chúng tôi (nhà phát triển Ubuntu) thực hiện các thử nghiệm trên các hệ thống thử nghiệm. Chúng tôi cài đặt phần mềm vào một cài đặt sạch của Ubuntu, và sau đó chúng tôi chạy apt removeapt --purge removevà xác minh rằng hệ thống trở lại dự kiến (được cài đặt sẵn) nhà nước.

Nếu bạn thấy tình huống gói được cài đặt, không có sửa đổi nào được thực hiện cho cấu hình và gói đó sẽ bị xóa nhưng các tệp vẫn còn, thì vui lòng gửi lỗi đối với gói đó.

Một cách khác là sử dụng snap, nơi chứa ứng dụng hoàn toàn trong môi trường của chính nó.

* (trên thực tế, đây là một trong những cách hàng đầu mà các ứng dụng Windows cài đặt phần mềm độc hại, bằng cách "cõng" phần mềm độc hại vào các ứng dụng bạn chọn để cài đặt và sau đó không xóa chúng khi bạn gỡ cài đặt chúng.)


2
Tôi nghĩ rằng câu hỏi được đặt ra là tại sao việc gỡ cài đặt không xóa dữ liệu người dùng được tạo bằng cách sử dụng ứng dụng (đã không xóa bất cứ thứ gì tôi đã tạo trước đây) và câu trả lời này chỉ đơn giản là nó là một tiên đề trong cặp câu đầu tiên, thay vì giải thích hoặc biện minh cho nó
ShreevatsaR

2
"Thật dễ dàng để rm -R các tập tin cấu hình" Có phải vậy không? Điều đó giả định rằng bạn biết tất cả họ đang ở đâu. Họ không thể ở bất cứ đâu? Tôi về cơ bản giả định tất cả các hoạt động cài đặt là vĩnh viễn. Tôi không thấy quan điểm thậm chí cung cấp tùy chọn xóa cho người quản lý gói. Bạn luôn phải bắt đầu lại từ đầu nếu bạn muốn phần mềm biến mất. Tôi có quá mệt mỏi ở đây không?
Nacht - Tái lập Monica

1
" Họ không thể ở bất cứ đâu? " Về mặt kỹ thuật có. Trong thực tế, có lẽ 95% các tệp sẽ ở một trong số ít các vị trí truyền thống. Rất ít ứng dụng sẽ ghi các tệp vào các vị trí phi truyền thống hoàn toàn phi logic. Vì vậy, bạn thường chỉ cần kiểm tra một vài thư mục nổi tiếng. Thường thì bạn cũng có thể tra cứu thông tin về phần mềm để biết thư mục nào có tệp của nó. Bạn thậm chí có thể kích hoạt VM, cài đặt phần mềm và xem nơi nó ghi tệp, nếu bạn muốn. Nói chung, bạn đang làm cho nó có vẻ như khó tìm thấy những gì cần xóa hơn nó.
VLAZ

2
"Họ không thể ở bất cứ đâu?" Nếu bạn không thay đổi bất cứ điều gì trong các tập tin cấu hình, chúng sẽ bị xóa nếu bạn sử dụng --purge. Nếu bạn đã thay đổi một cái gì đó trong họ, bạn rõ ràng biết họ đang ở đâu.
kỹ thuật khó khăn

3
Người dùng và chỉ khi họ chưa được người dùng sửa đổi - bạn có chắc không? Ít nhất là trong Debian (và do đó, trong tất cả các gói mà Ubuntu kéo vào mà không thay đổi), việc xóa gói sẽ xóa tất cả cấu hình (toàn hệ thống) của nó, cho dù người quản trị hệ thống có sửa đổi hay không (xem phần chính sách về hành vi cấu hình ) . Điều này không ghi đè quy tắc rằng mọi thứ trong /homeđều nằm ngoài giới hạn, do đó cấu hình dành riêng cho người dùng được giữ nguyên.
Stephen Kitt

13

sudo apt remove hoặc gỡ cài đặt một ứng dụng thông thường khỏi Trung tâm phần mềm sẽ chỉ gỡ cài đặt các tệp gói thông thường và để lại cấu hình phía sau, để cài đặt lại gói sau thường sẽ khôi phục lại trạng thái ứng dụng trước đó của bạn.

sudo apt purgehoặc sudo apt remove --purgethay vào đó sẽ gỡ cài đặt một gói và sau đó loại bỏ các tệp cấu hình toàn hệ thống còn lại sau đó. Bạn cũng có thể sử dụng chúng để lọc cấu hình còn lại của gói đã bị xóa trước đó.

Trình quản lý gói sẽ không bao giờ xóa dữ liệu người dùng hoặc tệp cấu hình người dùng, được tạo trong thời gian chạy ứng dụng. Những tệp đó không được theo dõi và người dùng có trách nhiệm tự dọn sạch chúng khỏi thư mục chính của họ, nếu họ không muốn giữ chúng. (Về mặt lý thuyết một gói có thể chứa tập lệnh xóa sau kiểm tra các vị trí dữ liệu người dùng phổ biến cho các tệp mà nó có thể đã tạo, nhưng thông thường thì không phải vậy)


5
Gói có tập lệnh xóa sẽ xóa mọi thứ khỏi hoặc thậm chí kiểm tra thư mục nhà của người dùng là phần mềm độc hại và không được chấp nhận vào bất kỳ kho lưu trữ phân phối có thể sửa chữa nào.
R .. GitHub DỪNG GIÚP ICE

0

Trong Windows, bạn luôn có một số dấu vết của chương trình xâm lấn trong sổ đăng ký phải được xóa bằng tay. Bất cứ điều gì liên quan đến AV, đều chiếm phần lớn kiến ​​trúc Win Plus, Windows yêu cầu ứng dụng của bên thứ ba loại bỏ hoàn toàn chương trình. Ccleaner và Revo nằm trong số đó.

Trong Ubuntu, apt purge loại bỏ hầu hết mọi thứ, nếu không phải là tất cả. Một tìm kiếm thủ công trong Synaptic Gói Manager cho thấy toàn bộ quá trình xóa. Nó có thể được kiểm tra hai lần bằng cách chạy apt purge hoặc nghịch đảo, bằng cách tìm kiếm nó trong Synaptic.

Bạn phải thận trọng và chính xác khi sử dụng ứng dụng đó, đó là một nơi hấp dẫn.


"Trong Windows, bạn luôn có một số dấu vết của chương trình xâm lấn trong sổ đăng ký phải được xóa bằng tay." Chà, không phải LUÔN! Nhưng nó là một vấn đề.
Laurence Payne
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.