Menu
Mount .DMG images remotely via the Terminal | 7 comments | Create New Account
Mount Azure file share over SMB with macOS.; 2 minutes to read +2; In this article. Azure Files is Microsoft's easy-to-use cloud file system. Azure file shares can be mounted with the industry standard SMB 3 protocol by macOS El Capitan 10.11+.
- Dec 10, 2008 It can be used as a remote desktop client for Linux, Mac, or Windows hosts. The download file is named 'cotvnc-20b4.dmg'. Here are the steps needed to install it remotely from the command line. Note: this technique can be used from a local Terminal window or a remote SSH connection. Mount the disk image.
- Sep 25, 2012 Sometimes you may want to download and mount DMG file using Mac OS command line, and in this post I'll show you how to do it. Why would you want to mount DMG files manually? I've been business traveling quite a bit lately which means I'm most of the time away from my home computer.
Click here to return to the 'Mount .DMG images remotely via the Terminal' hint |
The following comments are owned by whoever posted them. This site is not responsible for what they say.
from the manpage for hdid:
With OS X version 10.3, hdid calls the DiskImages.framework and its helpers take care of any out-of-kernel image serving duties. Thus hdid exists primarily for backwards compatibility. Generally, hdiutil attach should be favored over hdid.
so the correct command is hdiutil attach URL. works fine for me.
This works fine on Tiger apart from one thing..
How do you mount an encrypted image remotely?
When I try to do this locally, it pops up a window on the desktop asking for the password.
When I attempt from a remote ssh session, I get the error:
hdid: attach canceled
hdiutil: attach failed - Network is unreachable
Thanks
How do you mount an encrypted image remotely?
When I try to do this locally, it pops up a window on the desktop asking for the password.
When I attempt from a remote ssh session, I get the error:
hdid: attach canceled
hdiutil: attach failed - Network is unreachable
Thanks
In earlier versions of Mac OS X (10.2?) you could simply
% open disk://host.tld/image.dmg
but doesn't work anymore, Any ideas why?
---
http://www.google.com/search?as_q=%22Authored+by%3A+david-bo%22&num=10&hl=en&ie=ISO-8859-1&btnG=
% open disk://host.tld/image.dmg
but doesn't work anymore, Any ideas why?
---
http://www.google.com/search?as_q=%22Authored+by%3A+david-bo%22&num=10&hl=en&ie=ISO-8859-1&btnG=
Is that the URL protocol? disk:// ? I've never heard of that one.
I just did an 'open disk.dmg' while ssh'd into a system which I was also logged into and it worked, but it opened up the GUI app on the remote system to mount the image. When I logged out and tried again I got an error about not being able to connect to the windowserver. These were just local dmg files, but I the premise is the same.
It was disabled last year for security reason : I just did an 'open disk.dmg' while ssh'd into a system which I was also logged into and it worked, but it opened up the GUI app on the remote system to mount the image. When I logged out and tried again I got an error about not being able to connect to the windowserver. These were just local dmg files, but I the premise is the same.
- http://www.euronet.nl/~tekelenb/playground/security/URLschemes/archive.html
Here is a writeup I did last year on how to download disk images, mount them, and install software from the command line. Very useful when you admin a machine only via SSH.
$ cat HeadlessInstall.txt
10 August 2004 Brett Johnson
This describes some of the steps necessary to perform the
installation of Mac OS X packages via the command line.
1) Download the Package
Download the installation image to a local directory.
I usually download packages to the ~admin/staging directory [a client convention].
Don't try to download it to some target directory like /etc or /usr
I use 'curl' to fetch the package from the net. I usually Ctrl-click
or right-click the package link in Safari (running locally) and select
'Copy link to Clipboard'. This copies the URL to the package to the
clipboard. I then paste the URL into the curl command in a ssh login
window to this server. Note that curl writes its output to stdout,
so be sure to redirect it to a file. For example
% curl http://www2.entropy.ch/download/Entropy-PHP-4.3.6-4.dmg > Entropy-PHP-4.3.6-4.dmg
This DOESN'T work for things on SourceForge, where the links are actually
javascript that goes to a mirror. Dmg back of the book map. In that case, download it locally,
then use sftp (or Fugu) to move it to this server.
2) If it is a compressed archive, decompress it using the appropriate tool.
For instance suppose you have a .tar.gz file:
% ls
xyzzy.pkg.tar.gz
% gunzip xyzzy.pkg.tar.gz
% tar -xvf xyzzy.pkg.tar
3) If it is a disk image file (.dmg) mount it using hdid. By default,
the disk images are mounted under the /Volumes directory. I see no
reason to do otherwise.
% hdid Entropy-PHP-4.3.6-4.dmg
% ls /Volumes
Backup HD Entropy PHP 4.3.6-4 Server HD
% cd '/Volumes/Entropy PHP 4.3.6-4'
% ls
Documentation.html php-4.3.6.pkg
4) Run the command line version of the Mac OS X installer. By default
the installer produces terse output suitable for parsing by scripts
doing installations. We will make the output verbose [human readable].
The installer takes the package name as well as the target Volume.
The installer is /usr/sbin/installer , which should be on the path.
The installer must be run as root, so be prepared to sudo..
% sudo /usr/sbin/installer -verbose -pkg php-4.3.6.pkg -target /
5) Don't forget to unmount the .dmg disk image if you mounted one.
Here we execute the 'mount' command to determine which virtual
disk device our dmg is mounted as (in this case it is /dev/disk2s2).
Then we use 'hdiutil detach' to unmount it.
% mount
/dev/disk0s3 on / (local, journaled)
/dev/disk1s3 on /Volumes/Backup HD (local)
automount -nsl [336] on /Network (automounted)
/dev/disk2s2 on /Volumes/Entropy PHP 4.3.6-4 (local, nodev, nosuid, read-only, mounted by admin)
% hdiutil detach /dev/disk2s2 -force
'disk2' unmounted.
'disk2' ejected.
$ cat HeadlessInstall.txt
10 August 2004 Brett Johnson
This describes some of the steps necessary to perform the
installation of Mac OS X packages via the command line.
1) Download the Package
Download the installation image to a local directory.
I usually download packages to the ~admin/staging directory [a client convention].
Don't try to download it to some target directory like /etc or /usr
I use 'curl' to fetch the package from the net. I usually Ctrl-click
or right-click the package link in Safari (running locally) and select
'Copy link to Clipboard'. This copies the URL to the package to the
clipboard. I then paste the URL into the curl command in a ssh login
window to this server. Note that curl writes its output to stdout,
so be sure to redirect it to a file. For example
% curl http://www2.entropy.ch/download/Entropy-PHP-4.3.6-4.dmg > Entropy-PHP-4.3.6-4.dmg
This DOESN'T work for things on SourceForge, where the links are actually
javascript that goes to a mirror. Dmg back of the book map. In that case, download it locally,
then use sftp (or Fugu) to move it to this server.
2) If it is a compressed archive, decompress it using the appropriate tool.
For instance suppose you have a .tar.gz file:
% ls
xyzzy.pkg.tar.gz
% gunzip xyzzy.pkg.tar.gz
% tar -xvf xyzzy.pkg.tar
3) If it is a disk image file (.dmg) mount it using hdid. By default,
the disk images are mounted under the /Volumes directory. I see no
reason to do otherwise.
% hdid Entropy-PHP-4.3.6-4.dmg
% ls /Volumes
Backup HD Entropy PHP 4.3.6-4 Server HD
% cd '/Volumes/Entropy PHP 4.3.6-4'
% ls
Documentation.html php-4.3.6.pkg
4) Run the command line version of the Mac OS X installer. By default
the installer produces terse output suitable for parsing by scripts
doing installations. We will make the output verbose [human readable].
The installer takes the package name as well as the target Volume.
The installer is /usr/sbin/installer , which should be on the path.
The installer must be run as root, so be prepared to sudo..
% sudo /usr/sbin/installer -verbose -pkg php-4.3.6.pkg -target /
5) Don't forget to unmount the .dmg disk image if you mounted one.
Here we execute the 'mount' command to determine which virtual
disk device our dmg is mounted as (in this case it is /dev/disk2s2).
Then we use 'hdiutil detach' to unmount it.
% mount
/dev/disk0s3 on / (local, journaled)
/dev/disk1s3 on /Volumes/Backup HD (local)
automount -nsl [336] on /Network (automounted)
/dev/disk2s2 on /Volumes/Entropy PHP 4.3.6-4 (local, nodev, nosuid, read-only, mounted by admin)
% hdiutil detach /dev/disk2s2 -force
'disk2' unmounted.
'disk2' ejected.
![How to mount a dmg file How to mount a dmg file](https://mk0intowindows84fvao.kinstacdn.com/wp-content/uploads/2016/06/create-macos-sierra-bootable-usb-from-Windows-step4.png)
Here is a writeup I did last year on how to download disk images, mount them, and install software from the command line. Very useful when you admin a machine only via SSH.
$ cat HeadlessInstall.txt
10 August 2004 Brett Johnson
This describes some of the steps necessary to perform the
installation of Mac OS X packages via the command line.
1) Download the Package
Download the installation image to a local directory.
I usually download packages to the ~admin/staging directory [a client convention].
Don't try to download it to some target directory like /etc or /usr
I use 'curl' to fetch the package from the net. I usually Ctrl-click
or right-click the package link in Safari (running locally) and select
'Copy link to Clipboard'. This copies the URL to the package to the
clipboard. I then paste the URL into the curl command in a ssh login
window to this server. Note that curl writes its output to stdout,
so be sure to redirect it to a file. For example
% curl http://www2.entropy.ch/download/Entropy-PHP-4.3.6-4.dmg > Entropy-PHP-4.3.6-4.dmg
This DOESN'T work for things on SourceForge, where the links are actually
javascript that goes to a mirror. In that case, download it locally,
then use sftp (or Fugu) to move it to this server.
2) If it is a compressed archive, decompress it using the appropriate tool.
For instance suppose you have a .tar.gz file:
% ls
xyzzy.pkg.tar.gz
% gunzip xyzzy.pkg.tar.gz
% tar -xvf xyzzy.pkg.tar
3) If it is a disk image file (.dmg) mount it using hdid. By default,
the disk images are mounted under the /Volumes directory. I see no
reason to do otherwise.
% hdid Entropy-PHP-4.3.6-4.dmg
% ls /Volumes
Backup HD Entropy PHP 4.3.6-4 Server HD
% cd '/Volumes/Entropy PHP 4.3.6-4'
% ls
Documentation.html php-4.3.6.pkg
4) Run the command line version of the Mac OS X installer. By default
the installer produces terse output suitable for parsing by scripts
doing installations. We will make the output verbose [human readable].
The installer takes the package name as well as the target Volume.
The installer is /usr/sbin/installer , which should be on the path.
The installer must be run as root, so be prepared to sudo..
% sudo /usr/sbin/installer -verbose -pkg php-4.3.6.pkg -target /
5) Don't forget to unmount the .dmg disk image if you mounted one.
Here we execute the 'mount' command to determine which virtual
disk device our dmg is mounted as (in this case it is /dev/disk2s2).
Then we use 'hdiutil detach' to unmount it.
% mount
/dev/disk0s3 on / (local, journaled)
/dev/disk1s3 on /Volumes/Backup HD (local)
automount -nsl [336] on /Network (automounted)
/dev/disk2s2 on /Volumes/Entropy PHP 4.3.6-4 (local, nodev, nosuid, read-only, mounted by admin)
% hdiutil detach /dev/disk2s2 -force
'disk2' unmounted.
'disk2' ejected.
$ cat HeadlessInstall.txt
10 August 2004 Brett Johnson
This describes some of the steps necessary to perform the
installation of Mac OS X packages via the command line.
1) Download the Package
Download the installation image to a local directory.
I usually download packages to the ~admin/staging directory [a client convention].
Don't try to download it to some target directory like /etc or /usr
I use 'curl' to fetch the package from the net. I usually Ctrl-click
or right-click the package link in Safari (running locally) and select
'Copy link to Clipboard'. This copies the URL to the package to the
clipboard. I then paste the URL into the curl command in a ssh login
window to this server. Note that curl writes its output to stdout,
so be sure to redirect it to a file. For example
% curl http://www2.entropy.ch/download/Entropy-PHP-4.3.6-4.dmg > Entropy-PHP-4.3.6-4.dmg
This DOESN'T work for things on SourceForge, where the links are actually
javascript that goes to a mirror. In that case, download it locally,
then use sftp (or Fugu) to move it to this server.
2) If it is a compressed archive, decompress it using the appropriate tool.
For instance suppose you have a .tar.gz file:
% ls
xyzzy.pkg.tar.gz
% gunzip xyzzy.pkg.tar.gz
% tar -xvf xyzzy.pkg.tar
3) If it is a disk image file (.dmg) mount it using hdid. By default,
the disk images are mounted under the /Volumes directory. I see no
reason to do otherwise.
% hdid Entropy-PHP-4.3.6-4.dmg
% ls /Volumes
Backup HD Entropy PHP 4.3.6-4 Server HD
% cd '/Volumes/Entropy PHP 4.3.6-4'
% ls
Documentation.html php-4.3.6.pkg
4) Run the command line version of the Mac OS X installer. By default
the installer produces terse output suitable for parsing by scripts
doing installations. We will make the output verbose [human readable].
The installer takes the package name as well as the target Volume.
The installer is /usr/sbin/installer , which should be on the path.
The installer must be run as root, so be prepared to sudo..
% sudo /usr/sbin/installer -verbose -pkg php-4.3.6.pkg -target /
5) Don't forget to unmount the .dmg disk image if you mounted one.
Here we execute the 'mount' command to determine which virtual
disk device our dmg is mounted as (in this case it is /dev/disk2s2).
Then we use 'hdiutil detach' to unmount it.
% mount
/dev/disk0s3 on / (local, journaled)
/dev/disk1s3 on /Volumes/Backup HD (local)
automount -nsl [336] on /Network (automounted)
/dev/disk2s2 on /Volumes/Entropy PHP 4.3.6-4 (local, nodev, nosuid, read-only, mounted by admin)
% hdiutil detach /dev/disk2s2 -force
'disk2' unmounted.
'disk2' ejected.
So you’re running Linux on your computer, maybe Ubuntu, and you have some files with the .dmg extension. In this guide, we’re going to talk about how to open, mount, extract, and otherwise get your files from these pesky DMG images. You could always just extract the files on a Mac, then transfer them back to your Linux machine. But if you really want to do this on Linux, without having to rely on Mac, here’s how to do it.
What are DMG image files?
Simply put, it’s a kind of image file. But not an image like a jpeg is an image. DMG is Apple’s proprietary disk image format, native to Mac OS X. There are actually a whole bunch of different types, format and options within this format. There are options for encryption, compression, and different kinds of partition schemes, among others. Unfortunately, this can make things pretty confusing when we’re trying to gain access to the data contained in one of these images.
DMG images are typically a kind of Universal Disk Image Format (UDIF), although there are others, namely NDIF and SPARSE. Although the .dmg file extension is usually used, they can also sometimes have an .img extension, or in some cases no extension at all. Their MIME type is application/x-apple-diskimage.
The HFS/HFS+ (Mac OS Extended/Journaled) file system is typically used in DMGs. However, this isn’t always the case. You may also sometimes find FAT and ExFAT files systems, as well as variations on HFS.
Does my system support DMG?
Perhaps the biggest hurdle to overcome when trying to work with DMG files is working with the HFS file system (Mac OS Extended). Linux supports HFS through the “hfs” and “hfsplus” kernel modules.
There’s an easy way to test if your system has these kernel modules. Plug in a USB drive formatted with the Mac OS Extended file system. If your particular distribution doesn’t have the appropriate modules, you will likely get an error message. On Ubuntu, you’ll get a popup window declaring “Ubuntu: Unable to mount '.
Alternatively, we can see if the kernel module files are present with find:
We want to see two files: “hfs.ko” and “hfsplus.ko”. If find doesn’t return these files, your system probably doesn’t support HFS.
You could also try “modinfo”:
modinfo hfs
and modinfo hfsplus
should return something like:If you get '
modinfo: ERROR: Module hfsplus not found
' your system doesn’t have these modules.Not all Linux kernels and distributions support HFS. This is especially the case for certain distributions that are a few years old. If you have kernel support for HFS, great! If not, don’t worry. There are still ways to extract data from your DMG files. While it’s nice to have the option to mount the images we’re working with, this is really the only functionality we’re losing without having the hfs and hfsplus modules. The two programs we’re going to use later on (P7ZIP and dmg2img) do not require kernel support to function.
What kinds of DMG images can be opened in Linux?
This guide is about how to open, mount, and extract files from read/write, read only, and compressed DMG image files. The following partition schemes have all been tested with the techniques discussed here.
- Apple Partition Map
- CD/DVD (partitioned)
- CD/DVD (partitioned) with ISO data
- Hard disk
- Master Boot Record Partition Map
- No partition map
This guide does not cover how to handle sparse disk images (.sparseimage), sparse bundle disk images (.sparsebundle), or CD/DVD masters. DMG images with partition scheme types of “CD/DVD” and “GUID Partition Map” do not appear to work with the techniques described here.
Option 1: Mount the DMG
If the Linux distribution you’re on has HFS support in the kernel (Ubuntu 14.04.1 LTS supports it), it’s pretty easy to just mount the DMG image:
How To Mount A Dmg File In Mac Terminal 4
We’re using “sudo” because we need root privileges to mount things. The HFS+ file system type is specified with “-t hfsplus”. The “/mnt” at the end of the command specifies where we’re mounting the image.
Unmount the image with
sudo umount /mnt
If you get a wrong fs type message like the one below, it means the DMG file is either of an unsupported type, or it’s compressed. Unsupported images include sparse images, sparse disk bundles, CD/DVD masters, and images with partition schemes of the CD/DVD or GUID Partition Map types.
Use “file” to learn a little more about the image file:
If you get
image.dmg: x86boot sector
that means it’s probably using a GUID Partition Map and isn’t supported. This isn’t good, however, it’s also not too terribly common.What’s more common is to see something like this:
If mounting isn’t working, and this is what you’re seeing with “file image.dmg”, then you’re luck!. Our problems are being caused by compression. Linux doesn’t like to mount compressed DMG images. To get around this little obstacle, we’ll use dmg2img (see below).
Option 2: Use dmg2img for compressed images
So you have a DMG image that you can’t mount because it’s compressed. You’ve done “file compressed_image.dmg” and you got “compressed_image.dmg: bzip2 compressed data”. The fix? That’s easy: use dmg2img to convert it to an uncompressed image. Once you run the image through dmg2img you should be able to mount it no problem.
![How To Mount A Dmg File In Mac Terminal How To Mount A Dmg File In Mac Terminal](https://www.tunesbro.com/images/dmg/convert-dmg-to-iso-mac.jpg)
Don’t have dmg2img? It’s usually pretty easy to get using your distribution’s package management. On Ubuntu, you’d do:
Using dmg2img isn’t very difficult. Type “dmg2img” into the command line followed by the name of the DMG file you want to decompress. The Mac OS X version of Firefox is a good example of a compressed DMG file.
Now mount the resulting .img file:
Option 3: Extract DMG contents with P7ZIP
P7ZIP is awesome. It’s the Linux/BSD version of 7-Zip. Check out their SourceForge page here With it you can literally extract files from any kind of image or archive. Just kidding… It doesn’t really work with every format conceivable. However, it can handle (in alphabetical order): ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR and Z. Impressed? I certainly am!
Installing p7zip is pretty easy using your distribution’s package management system. On Ubuntu with apt-get:
In addition to being able to extract data from compressed and uncompressed images alike, P7ZIP doesn’t require the HFS kernel modules at all. In the example below, we’re going to extract all of the files from “Firefox 33.1.1.dmg”. When we’re done, we’ll have a tidy little folder called “Firefox”.
Invoke P7ZIP to extract archives and images with “7z x”.
Notice that 7z extracted three files: “0.ddm”, “1.Apple_partition_map”, and “2.hfs”. To actually get to the files, we’ll need to run 7z again on “2.hfs”.
How To Mount A Dmg File In Mac Terminal 3
We picked “2.hfs” because it was the biggest of the three, meaning it was probably the one with the data. Simple but effective logic. After a few moments, you should have a folder called “Firefox” with all of the files from the original DMG.