Làm cách nào để gỡ bỏ cờ được cài đặt thủ công và cài đặt lại cờ vua và cài đặt lại thành tự động với cài đặt apt-get?


103

Để biên dịch một cái gì đó, tôi cần zlib1g-devgói được cài đặt để tôi khởi chạy một apt-get install zlib1g-dev.

apt-get thông báo cho tôi một cách độc đáo rằng gói đã được cài đặt tự động vì một gói khác và nó hiểu rằng tôi muốn nó được cài đặt rõ ràng ngay bây giờ:

# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.

Quá trình biên dịch của tôi đã hoàn tất, tôi không cần nó nữa, vì vậy tôi muốn hoàn nguyên trạng thái của nó về trạng thái trước đó: tự động cài đặt. Bằng cách này, nó sẽ được cắt tỉa tự động khi không cần thiết nữa apt-get autoremove.

Tôi không thể làm một apt-get remove zlib1g-devvì một số gói vẫn phụ thuộc vào nó.

Vậy làm thế nào tôi có thể hoàn nguyên zlib1g-devtrạng thái cài đặt gói thành tự động cài đặt ?

Tôi biết rằng tôi có thể chỉnh sửa /var/lib/apt/extended_statesbằng tay từ

Package: zlib1g-dev
Auto-Installed: 0

đến

Package: zlib1g-dev
Auto-Installed: 1

... nhưng nó không cảm thấy đúng.

Câu trả lời:


81

Aptitude có thể giúp bạn khi bạn cài đặt gói ban đầu:

aptitude install "zlib1g-dev&M"

Hoặc, sau khi bạn đã cài đặt gói:

aptitude markauto "zlib1g"

Chỉnh sửa: Nếu bạn không có năng khiếu, bạn có thể sử dụng

apt-mark auto zlib1g-dev

4
Câu trả lời hay, nhưng tôi sử dụng câu trả lời @ ArvindSing của tôi + 1 apt-markvì nó không yêu cầu bạn phải cài đặt aptitude. apt-markđi kèm với aptgói mà mọi người nên có.
Christopher Schultz

106

apt-mark có thể giúp bạn:

apt-mark auto zlib1g-dev

Đối với 11.04 trở lên, hãy sử dụng "markauto" thay vì "auto"


8

Đây là những gì bạn đang tìm kiếm.

sudo apt-get markauto first-package second-package etc-package

Nguồn:

apt-get --help

12
Xin lưu ý rằng điều này hiện không được ủng hộ đối với apt-mark
Joril
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.