Làm cho gói được cài đặt rõ ràng trong pacman


32

Tôi có một gói được cài đặt trên PC dưới dạng phụ thuộc vào gói khác.

Tôi muốn có gói được cài đặt rõ ràng, nhưng không thực sự cài đặt lại hoặc tải xuống bất kỳ tệp nào.

Điều này có thể không?

cập nhật :

Tôi không có bất kỳ gói nào được lưu trong bộ nhớ cache /var/cache/pacman/pkg, đó là một trong những lý do tôi muốn thay đổi chi tiết gói mà không cần cài đặt lại.

Ngay cả khi tôi có các gói được lưu trong bộ nhớ cache, chạy pacman -S có nghĩa là toàn bộ quá trình cài đặt được chạy, điều mà tôi cũng muốn tránh.

Câu trả lời:


49

Tôi đã tìm thấy câu trả lời trên Diễn đàn Arch Linux

Kể từ pacman 3,4, bạn có thể sử dụng

# pacman -D

để sửa đổi chỉ cơ sở dữ liệu. Vì thế:

# pacman -D --asexplicit <pkgs>

sẽ <pkgs> cài đặt rõ ràng .


6

pacman -Scó một --asexplicitlá cờ nên làm những gì bạn muốn.

Ví dụ:

> pacman -Qi mutagen            
...
Install Reason : Installed as a dependency for another package

> pacman -S --asexplicit mutagen
warning: mutagen-1.20-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): mutagen-1.20-1

Total Download Size:    0.00 MB
Total Installed Size:   0.82 MB
...

> pacman -Qi mutagen
...
Install Reason : Explicitly installed

Bạn có thể thấy rằng không có gì được tải xuống vì nó đã được cài đặt cục bộ. Nó chỉ lật trường "Cài đặt Lý do".

Pacman có khác nhau --helphoạt động phụ thuộc vào hoạt động ( -S, -R, vv). Vì vậy, pacman -S --helpliệt kê --asexplicitcờ là một trong những cờ có sẵn. --asdepscó sẵn là tốt.


vui lòng xem các chỉnh sửa tôi đã thực hiện cho câu hỏi
Stefan

1

Để chỉ cài đặt nếu chưa được cài đặt, bạn có thể sử dụng cờ - cần thiết:

pacman -S mutagen
pacman -S --needed mutagen clone

Sẽ bỏ qua phục hồi mutagen nếu đã được cài đặt bởi lệnh đầu tiên. Và bạn cũng sẽ nhận được một thông tin tốt về điều đó

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.