กำลังติดตั้ง. pkg ด้วยเทอร์มินัล


81

เป็นไปได้ไหมที่จะติดตั้ง. pkg โดยใช้เทอร์มินัล (ฉันต้องการติดตั้งแอพผ่าน ssh)

คำตอบ:


102

/ usr / sbin / ติดตั้ง

คำสั่ง installer ใช้สำหรับติดตั้งแพ็คเกจการติดตั้ง Mac OS X ไปยังโดเมนหรือไดรฟ์ข้อมูลที่ระบุ คำสั่ง installer ติดตั้งแพ็กเกจเดียวต่อการเรียกใช้ซึ่งระบุด้วยพารามิเตอร์ -package (-pkg ถูกยอมรับว่าเป็นคำเหมือน) อาจเป็นแพคเกจเดียวหรือ metapackage ในกรณีของ metapackage แพคเกจซึ่งเป็นส่วนหนึ่งของการติดตั้งเริ่มต้นจะถูกติดตั้งเว้นแต่จะถูกตัดสิทธิ์โดยเครื่องมือตรวจสอบของแพ็คเกจ

ดูman installerฟังก์ชั่นเต็มรูปแบบ บ่อยครั้ง

sudo installer -pkg /path/to/package.pkg -target /

คือทั้งหมดที่จำเป็น


1
โปรดทราบว่า -target เป็นอุปกรณ์ไม่ใช่พา ธ ดังนั้นควรเก็บไว้เป็น "/" ในกรณีส่วนใหญ่
AlexV

1
@ AlexV สีฉันสับสน - /เป็นเส้นทางและอุปกรณ์ติดตั้งอยู่กับมัน ดังนั้นทำไมตัวเลือกที่ต้องใช้อุปกรณ์ที่เป็นอาร์กิวเมนต์เป็นนักการจะยอมรับ/?
muru

1
@muru - เอกสารเรียกมันว่า "อุปกรณ์" แต่จริงๆแล้วมันมีไวยากรณ์ของตัวเองสำหรับการกำหนดเป้าหมาย (ไม่ใช่ "โหนดอุปกรณ์ unix") ตามที่ manpage ติดตั้งก็สามารถโหนดอุปกรณ์ (ตามที่คุณคาดหวัง) ระบุดิสก์ (เช่น disk1s9) จุดเมานท์ (เพราะฉะนั้น "/") UUID ปริมาณหรือใด ๆ installer -dominfoของการติดตั้งโดเมนที่ระบุไว้โดย
sehrgut

3

ติดตั้ง.pkgไฟล์ทั้งหมดจากโฟลเดอร์ปัจจุบันไปที่/Applications:

for f in *.pkg ; 
    do sudo installer -verbose -pkg "$f" -target /
done

-target ~เป็นทางเลือกที่คุณสามารถติดตั้งแพคเกจไปยังโฟลเดอร์ที่บ้านของคุณด้วย พวกเขาจะสิ้นสุดใน/Users/<your_account>/Applicationsเว้นแต่เส้นทางที่กำหนดไว้ล่วงหน้าในการติดตั้ง

หากคุณต้องการดูว่าตัวติดตั้ง pkg ประกอบด้วยอะไรและสคริปต์ก่อนและหลังการติดตั้งจะทำงานอย่างไรคุณสามารถติดตั้งSuspiciousPackage (ฟรีแวร์) และใช้การแสดงตัวอย่างแบบย่อจาก Finder ในขณะที่.pkgเลือกไฟล์ การกด spacebar ใน Finder ด้วยไฟล์ที่เลือกควรทำงานได้เช่นกัน


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