Đánh dấu gói gỡ lỗi là đã sử dụng, vì vậy nó không được đề xuất cho autoremoval


8

Tôi có một loạt các lib được chia sẻ được cài đặt trên hệ thống của mình, không phụ thuộc vào một số gói cụ thể nhưng cần thiết cho các thư viện không được quản lý mà tôi đã tạo từ nguồn (như SDL, Allegro, SFML, ...) mới nhất và phần mềm khác được xây dựng từ nguồn. Vấn đề là các thư viện đó được APT xem là không sử dụng, và do đó là các ứng cử viên để tự động xóa và những thư viện này bị lẫn lộn với các gói không sử dụng hợp pháp miễn phí để xóa.

Có cách nào để đánh dấu các gói là được sử dụng để chúng không được đề xuất tự động xóa không? Suy nghĩ đầu tiên của tôi là xây dựng siêu dữ liệu của riêng mình chỉ để giữ các phụ thuộc (ví dụ như máy tính để bàn Ubuntu), nhưng tôi không biết làm thế nào để làm điều đó.

Câu trả lời:


9

Mặc dù apt-get installđánh dấu các gói như đã cài đặt, nhưng nó thực hiện những việc khác như nâng cấp các gói (nếu có bản nâng cấp). Các chương trình chính xác để thay đổi trạng thái tự động cài đặt là apt-mark.

Sử dụng

Đánh dấu một gói là được cài đặt thủ công (như vậy nó sẽ không bị xóa bởi apt-get autoremove):

sudo apt-mark manual package1 package2 ... packageN

Để đánh dấu một gói là tự động cài đặt (như vậy nó sẽ bị xóa apt-get autoremovenếu không có gói nào phụ thuộc vào nó):

sudo apt-mark auto package1 package2 ... packageN

Thêm chi tiết có sẵn trong trang hướng dẫn apt-mark (8) .


4

Chỉ cần sử dụng cài đặt apt-get:

sudo apt-get install [your-packages]

Nó sẽ không thực sự cài đặt chúng. Nó sẽ chỉ đặt cờ để cài đặt bằng tay.


2

Bạn không phải làm bất cứ điều gì phức tạp như tạo ra các siêu dữ liệu của riêng bạn.

Giả sử bạn muốn đảm bảo một gói được gọi foolà không bao giờ đủ điều kiện cho autoremoval.

Mở cửa sổ Terminal ( Ctrl+ Alt+ T) và chạy:

sudo apt-get install foo

Đó là, cùng một lệnh cài đặt gói bằng tay sẽ đánh dấu chúng là cài đặt bằng tay vì vậy họ sẽ không được autoremoved ngay cả khi các gói mà họ đã ban cài đặt như phụ thuộc là mình gỡ bỏ.


@BorisB. Nếu bạn đã cài đặt một cách thủ công một gói, thì cho dù bạn đã làm như thế nào, miễn là sau đó nó không bị xóa hoặc được đánh dấu là tự động cài đặt, nó sẽ không được tự động.
Eliah Kagan

2
Bạn phải cài đặt chúng như một sự phụ thuộc vào một cái gì đó khác. Bạn có thể đã làm apt-get install yyyxxxcài đặt như một phụ thuộc. Sau đó, bạn loại bỏ yyyxxxđược đánh dấu cho autoremoval. Bây giờ bạn làm apt-get install xxx.
Vitalie Ciubotaru

Tôi chắc chắn 99% tôi đã cài đặt các thư viện đó bằng cách sử dụng apt-get install(vì tôi không biết cách nào khác để cài đặt chúng), nhưng chúng vẫn được cung cấp để tự động xóa.
Boris B.

@VitalieCiubotaru Vâng, phải vậy thôi. Cảm ơn bạn.
Boris B.
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.