ฉันจะค้นหาแพ็คเกจที่ฉันติดตั้งผ่านเทอร์มินัลได้อย่างไร


12

ฉันได้เรียนรู้เกี่ยวกับเชลล์เป็นเวลาสองสามสัปดาห์และได้ติดตั้งหลายแพ็คเกจ ฉันรู้ / จำสิ่งที่พวกเขาบางคนเช่น oh-my-zsh และ emacs 24 (ซึ่งเป็นฝันร้ายที่จะอัพเกรดเป็น) แต่ไม่แน่ใจเกี่ยวกับสิ่งอื่น ฉันใช้วิธีการต่าง ๆ เช่น curl, wget และ Macports

คำถามของฉันคือถ้าและเมื่อฉันต้องการทำการติดตั้ง MacOS ใหม่ทั้งหมดฉันจะสำรองข้อมูลหรือสคริปต์การติดตั้งแพ็คเกจเหล่านี้ได้อย่างไร กล่าวอีกนัยหนึ่งเมื่อฉันติดตั้ง MacOS ใหม่ฉันจะไม่กู้คืนจาก Time Machine โดยใช้ Migration Assistant: แต่ฉันจะติดตั้งระบบและกู้คืนไฟล์ด้วยตนเอง ฉันจะทราบเส้นทางการติดตั้งและการพึ่งพาสิ่งที่ฉันติดตั้งในการติดตั้งก่อนหน้าของฉันโดยใช้บรรทัดคำสั่งได้อย่างไร มีไฟล์ txt ที่ระบบรักษาไว้เพื่อติดตามสิ่งที่ติดตั้งไว้หรือไม่?

(MacOS 10.8.2)

คำตอบ:


12

เนื่องจาก OS X ไม่มีตัวจัดการแพคเกจสิ่งที่คุณติดตั้งจะเป็นแบบแมนนวลผ่าน MacPorts หรือผ่านตัวติดตั้ง

หากคุณต้องการรายการไบนารีที่เทอร์มินัลของคุณมีการเข้าถึงคุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบจุดที่พบบ่อยที่สุดและส่งออกผลลัพธ์เป็นไฟล์ข้อความ:

touch ~/Binaries.txt
ls /usr/bin > ~/Binaries.txt
ls /usr/sbin >> ~/Binaries.txt
ls /usr/local/bin >> ~/Binaries.txt
ls /usr/local/sbin >> ~/Binaries.txt
ls /opt/local/bin >> ~/Binaries.txt
ls /opt/local/sbin >> ~/Binaries.txt

หรือหากคุณต้องการติดตั้งแพ็กเกจโดย MacPorts ให้เรียกใช้สิ่งต่อไปนี้ ( นี่อาจเป็นแพคเกจที่คุณต้องการ ):

touch ~/MacPorts.txt
port installed > ~/MacPorts.txt

และสำหรับHomebrew :

touch ~/HomeBrew.txt
brew list > ~/HomeBrew.txt

และสุดท้ายสำหรับแพ็คเกจทั้งหมดที่ติดตั้งโดยโปรแกรมติดตั้ง

touch ~/InstalledPackages.txt
pkgutil --packages > ~/InstalledPackages.txt

ในการกู้คืนพอร์ต MacPort ของคุณจากรายการที่สร้างขึ้นด้านบนใช้สิ่งต่อไปนี้:

 port install $(cat ~/MacPorts.txt)

ไม่มีปัญหา! โปรดทำเครื่องหมายว่าได้รับการยอมรับว่ามันแก้ปัญหาของคุณ :)
Yasyf

5
มันจะดีกว่าไหมที่จะทำงานได้port list requestedดีกว่าport installedดังนั้น MacPort จะติดตั้งเฉพาะการพึ่งพาที่ใช้งานและในลำดับที่ถูกต้องเท่านั้น
Deditos

0

แสดงรายการพอร์ตที่คุณติดตั้ง:

port echo requested > ports.txt

หากต้องการติดตั้งพอร์ตล่าสุดเหล่านั้นในระบบใหม่ในภายหลัง

sudo port install $(cut -f1 -d\  ports.txt | uniq)

ดูสิ่งนี้ด้วย

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