Khi các gói đã được cài đặt và tôi chạy một apt-get install <package-name>
, đôi khi nó sẽ in một dòng <package-name> is set to manually installed
.
Điều đó nghĩa là gì?
Khi các gói đã được cài đặt và tôi chạy một apt-get install <package-name>
, đôi khi nó sẽ in một dòng <package-name> is set to manually installed
.
Điều đó nghĩa là gì?
Câu trả lời:
Nếu bạn cài đặt một gói, tất cả các gói mà gói đó phụ thuộc vào cũng được cài đặt. Ví dụ: nếu bạn cài đặt gói vlc, nó sẽ tự động cài đặt vlc-nox. Các gói được cài đặt tự động (trong trường hợp này là vlc-nox) được đặt là "tự động cài đặt" - nếu bạn xóa vlc, trình quản lý gói cũng sẽ đề xuất xóa vlc-nox (aptitude sẽ tự động làm điều này, nếu bạn sử dụng apt -get bạn có thể xóa tất cả các gói được cài đặt tự động với apt-get autoremove
).
Bây giờ, nếu bạn làm, apt-get install vlc-nox
bạn sẽ nhận được thông báo rằng vlc-nox hiện được đặt thành "cài đặt thủ công", tức là trình quản lý gói bây giờ nghĩ rằng bạn muốn gói đó một cách cụ thể và không chỉ cài đặt vì vlc cần nó. Nếu bạn loại bỏ vlc, vlc-nox sẽ không tự động bị xóa.
Điều này không ảnh hưởng đến cập nhật theo bất kỳ cách nào.
unmet dependencies
.
apt-get install -f
- nó cài đặt tất cả các phụ thuộc bị thiếu, chưa được đáp ứng.
Bạn có thể sử dụng sudo apt-mark auto $PACKAGES
để đánh dấu các gói là tự động được cài đặt lại, nếu bạn vô tình đánh dấu chúng là cài đặt thủ công.
Các gói được cài đặt tự động có thể được gỡ bỏ bằng cách sử dụng apt-get autoremove
(hoặc sử dụng các quy trình tương tự, ví dụ như qua Synaptic).
Điều đó có nghĩa là một gói được chọn thủ công và không tự động bởi các gói khác hoặc gói meta. Sự khác biệt là cái sau có thể được tự động gỡ bỏ, khi gói kích hoạt cài đặt này không còn nữa (sau khi nâng cấp, hoặc vì nó đã bị xóa). Một gói được chọn thủ công không nên được loại bỏ theo cách này.
Điều này không ảnh hưởng đến khả năng nâng cấp gói khi có các nâng cấp như vậy hoặc các thông báo về chúng.