Cách xóa vĩnh viễn tất cả các gói liên quan đến Mono (libs, ứng dụng, v.v.)


11

Theo ý kiến ​​của tôi, Mono là một cái bẫy bằng sáng chế và tôi không muốn sự phân phối lựa chọn của mình bị làm hỏng bởi bất kỳ thứ gì Mono hoặc bất kỳ ứng dụng nào yêu cầu Mono. Vì vậy, tôi sẽ hoan nghênh phản hồi của bạn cho sau:

  1. Làm cách nào để ngăn chặn mọi thứ Mono và các ứng dụng yêu cầu Mono cài đặt ngay từ đầu. Có cách nào để vô hiệu hóa Mono trong quá trình cài đặt không?

  2. Làm cách nào để biết tôi có cài đặt Mono gì trên bản cài đặt mặc định hiện tại không?

  3. Nếu Mono đã được cài đặt, làm thế nào để loại bỏ Mono và tất cả các ứng dụng yêu cầu Mono?

Hy vọng với phản hồi của bạn, tôi có thể chắc chắn rằng tất cả các bit của tôi thực sự miễn phí.


Không thực sự là câu hỏi của bạn, nhưng bạn có nhận ra rằng việc là người dùng phần mềm vi phạm bằng sáng chế không thực sự khiến bạn (với tư cách là người dùng) có lỗi gì cả, phải không?
Adrian Petrescu

3
@phunehe
Damboy

2
@Adrian: INAL và luật sáng chế rất khác nhau giữa các quốc gia, nhưng ở Mỹ ít nhất là luật sáng chế bảo vệ việc sử dụng "nghệ thuật" được cấp bằng sáng chế. Vì vậy, nếu cá nhân bạn không có giấy phép sử dụng nghệ thuật được cấp bằng sáng chế, bạn có thể bị kiện vì sử dụng. Unisys đã cố gắng thực hiện điều này với định dạng tệp GIF nhiều năm trước, cuối cùng dẫn đến PNG bit.ly/9fz1mU . Cấp chi phí để kiện một cá nhân vượt quá thiệt hại có thể được trao cho hành vi vi phạm. Thông thường, thỏa thuận cấp phép phần mềm đi kèm với phần mềm sử dụng nghệ thuật được cấp bằng sáng chế sẽ mở rộng giấy phép sử dụng bằng sáng chế cho người dùng.
Paul Alexander

1
Nâng cấp Mono từ 4.x trong Ubuntu 18.04 repo "bionic" lên 6.x trong Mono repo không phù hợp lắm với tôi, với hàng tấn DLL không đăng ký. Đây là một lý do khác để thanh lọc Mono khỏi bản cài đặt Ubuntu: vì vậy bạn có thể bắt gặp trường hợp đầu tiên của Mono.
Damian Yerrick

1
@DamianYerrick Tôi gặp vấn đề tương tự, tôi cần điều này để tôi có thể gỡ cài đặt hoàn toàn trước khi thử cài đặt lại mới vì quá trình nâng cấp được thiết kế kém.
Dyndrilliac

Câu trả lời:


22

Tuyên bố miễn trừ trách nhiệm: Tôi đưa ra câu trả lời này vì tôi tin rằng bạn nên kiểm soát các gói nào trên hệ thống của mình - không để gây ra cuộc chiến ngọn lửa đơn lẻ. Ngoài ra câu hỏi này được chỉnh sửa rất nhiều kể từ bài viết đầu tiên của tôi.

Loại bỏ Mono

Để xóa hoàn toàn mono, tất cả những gì bạn phải làm là xóa các thư viện đơn âm cơ sở và tất cả các tệp phụ thuộc vào các thư viện đó cũng sẽ bị xóa. Bộ gói chính xác cần phải loại bỏ khác nhau tùy thuộc vào phiên bản Ubuntu bạn đang sử dụng. Tôi tin rằng bạn sẽ có thể xóa hầu hết các đơn âm bằng lệnh sau ( Cập nhật: Tôi đã cập nhật lệnh để đảm bảo tốt hơn mọi thứ được xóa. ):

$ sudo apt-get purge libmono* cli-common mono-runtime

Lệnh sẽ liệt kê tất cả các gói sẽ bị xóa - bao gồm các ứng dụng phụ thuộc vào đơn - và yêu cầu bạn xác nhận loại bỏ chúng. Bạn nên xem lại danh sách một cách cẩn thận trước khi chấp nhận các thay đổi và đảm bảo bạn sẽ không xóa thứ gì bạn cần. Bạn có thể muốn theo dõi điều đó với:

 $ sudo apt-get autoremove

Nếu bạn cảm thấy thoải mái hơn với các công cụ GUI, bạn cũng có thể làm điều này trong Synaptic:

  1. Thay đổi bộ lọc "đã cài đặt".
  2. Sử dụng hộp tìm kiếm nhanh và tìm kiếm "libmono."
  3. Chọn tất cả các gói xuất hiện trong kết quả.
  4. Đánh dấu chúng để loại bỏ hoàn toàn.
  5. Lặp lại các bước 2-4 cho các gói khác trong lệnh trên.
  6. Nhấn áp dụng.

Giữ Mono khỏi hệ thống của bạn

Mặc dù đã từng có một gói được gọi là mononono sẽ ngăn cài đặt mono trên hệ thống, tôi không tin rằng gói này hoạt động tốt với các phiên bản Ubuntu gần đây. Nếu bạn thực sự quan tâm đến việc tắt mono khỏi hệ thống của mình, tôi chỉ cần xem xét kỹ các chi tiết cài đặt phần mềm bạn làm và đảm bảo rằng bạn không thấy nó kéo vào các thư viện đơn âm.

Một phương pháp tự động hơn sẽ là sử dụng apt-Preferences. Đặt các mục sau vào /etc/apt/preferenceshoặc trong một tệp bên trong /etc/apt/preferences.d/sẽ cung cấp khả năng bảo vệ tương đối tốt khi cài đặt mono trên hệ thống của bạn:

Package: cli-common mono-runtime 
Pin: version * 
Pin-Priority: -100

Để biết thêm thông tin về cách thức này hoạt động, xem man apt_preferences. Phiên bản ngắn là các ưu tiên tiêu cực ngăn không cho phiên bản đó của gói được cài đặt.

Ghi chú khác

Nếu bạn rất quan tâm đến phần mềm không miễn phí, bạn có thể tìm thấy gói vrms đáng quan tâm. Nó liệt kê các gói không miễn phí trên hệ thống. Nó sẽ không liệt kê các gói đơn vì các vấn đề bằng sáng chế là trực giao cho phần mềm là miễn phí, ít nhất là theo một số định nghĩa về "miễn phí". Ngoài ra, nếu bạn liệt kê tất cả các gói có vấn đề về bằng sáng chế tiềm năng, bạn sẽ phải liệt kê rất nhiều gói.


4
Downvoters nên lưu ý rằng tôi vừa trả lời câu hỏi của người dùng và không có ý định này là ủng hộ hay phản đối. Nếu bạn nghĩ rằng câu trả lời này là sai (có thể, tôi chỉ là một người sử dụng mono hạnh phúc, không phải là một chuyên gia), thì có lẽ một nhận xét hoặc một câu trả lời của riêng bạn được bảo hành.
Steven D

1
Mặt khác, downvote đó đã khiến bạn đạt 1000 điểm chính xác; có lẽ họ sẽ làm điều đó;)
Michael Mrozek

Tôi đã bỏ phiếu nhưng nó không hoạt động với tôi, tôi đã nhận được một lỗi gói bị hỏng với một lượt giới thiệu để thử apt --fix-broken installmà cũng không hoạt động. Do đó, hiện tại tôi đang ở vào ngõ cụt với vấn đề này và có thể buộc phải xóa sạch hoàn toàn HĐH của tôi, không phải là một chuyên gia linux.
George
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.