ฉันต้องการติดตั้งไฟล์ dmg บนเซิร์ฟเวอร์ระยะไกล ทั้งหมดที่ฉันมีคือการเข้าถึง ssh เนื่องจาก DMG เป็นดิสก์อิมเมจฉันจึงพยายามเมานต์ แต่เมาต์ไม่รู้จักรูปแบบของมัน
file
กล่าวว่าไฟล์ dmg VAX COFF executable
ของฉันคือ
ฉันต้องการติดตั้งไฟล์ dmg บนเซิร์ฟเวอร์ระยะไกล ทั้งหมดที่ฉันมีคือการเข้าถึง ssh เนื่องจาก DMG เป็นดิสก์อิมเมจฉันจึงพยายามเมานต์ แต่เมาต์ไม่รู้จักรูปแบบของมัน
file
กล่าวว่าไฟล์ dmg VAX COFF executable
ของฉันคือ
คำตอบ:
ก่อนอื่นให้เมานต์ภาพ dmg: sudo hdiutil attach <image>.dmg
/Volumes/<image>
ภาพจะถูกติดตั้งไป Mine มีแพ็คเกจที่ฉันติดตั้งด้วย:sudo installer -package /Volumes/<image>/<image>.pkg -target /
sudo hdiutil detach /Volumes/<image>
ในที่สุดก็เลิกเมานท์ภาพ:
คุณควรจะเมานท์.dmg
โดยใช้:
hdiutil attach /path/to/file.dmg
แล้วคัดลอกเนื้อหา (ซึ่งปรากฏใน/Volumes
) ที่คุณเคยชอบ
ฉันต้องเมานต์และคัดลอก.app
ไปยัง/Applications
โฟลเดอร์ สำหรับ Etcher.app:
ครั้งแรกในฐานะ @trojanfoe กล่าวว่า:
sudo hdiutil attach /Users/janatac/Etcher-1.2.1.dmg
แล้วก็
sudo cp -R /Volumes/Etcher\ 1.2.1/Etcher.app /Applications
คุณมีแอปพลิเคชันของคุณใน/Applications
โฟลเดอร์
อย่าลืมยกเลิกการต่อเชื่อมระดับเสียง:
sudo hdiutil unmount /Volumes/Etcher\ 1.2.1/
หากคุณต้องการติดตั้งสคริปต์ต้องใช้ขั้นตอนเพิ่มเติมไม่กี่ขั้นตอนตั้งแต่ชื่อของ.dmg
ไฟล์ชื่อของโวลุ่มที่สร้างขึ้นชื่อของแอปพลิเคชันและชื่อของอุปกรณ์ที่ต้องถอดออกอาจแตกต่างกันทั้งหมด รวมทั้งพวกเขาสามารถมีช่องว่างในพวกเขา
นอกจากนี้ยัง.dmg
สามารถมี.app
ไฟล์หรือ.pkg
ไฟล์ในนั้นและสิ่งเหล่านี้ต้องการพฤติกรรมที่แตกต่างกัน
นี่คือฟังก์ชั่นทุบตีเพื่อติดตั้ง dmg จาก URL ระยะไกล:
# usage: installdmg https://example.com/path/to/pkg.dmg
function installdmg {
set -x
tempd=$(mktemp -d)
curl $1 > $tempd/pkg.dmg
listing=$(sudo hdiutil attach $tempd/pkg.dmg | grep Volumes)
volume=$(echo "$listing" | cut -f 3)
if [ -e "$volume"/*.app ]; then
sudo cp -rf "$volume"/*.app /Applications
elif [ -e "$volume"/*.pkg ]; then
package=$(ls -1 "$volume" | grep .pkg | head -1)
sudo installer -pkg "$volume"/"$package" -target /
fi
sudo hdiutil detach "$(echo "$listing" | cut -f 1)"
rm -rf $tempd
set +x
}
หมายเหตุหากคุณ.dmg
มี.app
ไฟล์ที่รันเพื่อติดตั้งโปรแกรมคุณจะต้องทำสิ่งที่แตกต่างอีกครั้ง
hdiutil: detach failed - No such file or directory
open disk://host.tld/image.dmg
คุณอาจจะลองคำสั่ง
open
ไม่ได้ทำอะไรเลยเพียงออกโดยไม่มีข้อผิดพลาด
open path/to/file.dmg
ฉันไม่คิดว่า. disk://host.tld/
งานแม้ว่า.)
Docker.dmg
และฉันก็ไม่ได้<image>.pkg
ดังนั้นที่ไม่ทำงาน