ทำให้แพคเกจติดตั้งอย่างชัดเจนใน Pacman


32

ฉันมีแพ็คเกจที่ติดตั้งบนพีซีของฉันเพื่ออ้างอิงกับแพ็คเกจอื่น

ฉันต้องการติดตั้งแพ็กเกจอย่างชัดเจน แต่ไม่มีการติดตั้งใหม่หรือดาวน์โหลดไฟล์ใด ๆ

เป็นไปได้ไหม

อัปเดต :

ฉันไม่มีแพ็คเกจใด ๆ ในแคช/var/cache/pacman/pkgซึ่งเป็นหนึ่งในเหตุผลที่ฉันต้องการเปลี่ยนรายละเอียดแพ็คเกจโดยไม่ต้องติดตั้งใหม่

แม้ว่าฉันจะมีแพ็กเกจแคชอยู่ก็ตามการรัน pacman -S ก็หมายความว่าการติดตั้งทั้งหมดนั้นรันซึ่งฉันต้องการหลีกเลี่ยง

คำตอบ:


49

ฉันพบคำตอบในฟอรัม Arch Linux

ตั้งแต่ pacman 3.4 คุณสามารถใช้ได้

# pacman -D

เพื่อแก้ไขเฉพาะฐานข้อมูล ดังนั้น:

# pacman -D --asexplicit <pkgs>

จะทำให้การติดตั้งอย่างชัดเจน<pkgs>


6

pacman -Sมี--asexplicitธงที่ควรทำสิ่งที่คุณต้องการ

ตัวอย่างเช่น:

> 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

คุณจะเห็นว่าไม่มีสิ่งใดถูกดาวน์โหลดเนื่องจากติดตั้งไว้ในเครื่องแล้ว เพียงแค่พลิกฟิลด์ "เหตุผลการติดตั้ง"

Pacman มีที่แตกต่างกัน--helpการดำเนินการขึ้นอยู่กับการดำเนินการ ( -S, -Rฯลฯ ) ดังนั้นpacman -S --helpแสดงรายการการ--asexplicitตั้งค่าสถานะเป็นหนึ่งในค่าสถานะที่พร้อมใช้งาน --asdepsสามารถใช้ได้เช่นกัน


โปรดดูการแก้ไขที่ฉันทำกับคำถาม
Stefan

1

หากต้องการติดตั้งเฉพาะหากยังไม่ได้ติดตั้งคุณสามารถใช้ --needed flag:

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

จะข้าม mutagen reinstalation หากติดตั้งแล้วโดยคำสั่งแรก และคุณจะได้รับข้อมูลที่ดีเกี่ยวกับเรื่องนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.