Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/darlinghq/darling-dmg
FUSE module for .dmg files (containing an HFS+ filesystem)
https://github.com/darlinghq/darling-dmg
darling dmg dmg-files fuse hfs hfs-filesystem linux
Last synced: 13 days ago
JSON representation
FUSE module for .dmg files (containing an HFS+ filesystem)
- Host: GitHub
- URL: https://github.com/darlinghq/darling-dmg
- Owner: darlinghq
- License: gpl-3.0
- Created: 2013-06-10T19:12:00.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-07-26T18:35:59.000Z (over 1 year ago)
- Last Synced: 2024-08-01T19:50:30.018Z (3 months ago)
- Topics: darling, dmg, dmg-files, fuse, hfs, hfs-filesystem, linux
- Language: C++
- Homepage: http://www.darlinghq.org
- Size: 240 KB
- Stars: 274
- Watchers: 31
- Forks: 45
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# darling-dmg
This project allows ordinary users to directly mount OS X disk images under Linux via FUSE. darling-dmg is part of Darling - http://www.darlinghq.org
Without darling-dmg, the only way to do this would be to manually extract the DMG file, become root and mount the HFS+ filesystem as root. This is slow, wasteful and may even crash your system. The project's author has seen the Linux HFS+ implementation cause kernel crashes.
## Supported file types
* DMG (UDIF) files containing an Apple Disk Image.
* Apple Disk Images containing an HFS+/HFSX file system.
* HFS+/HFSX file systems (incl. file systems embedded within HFS).This means, darling-dmg can mount DMG files or unpacked DMG files or a single partition carved out of the latter.
Read only access only.
## Build Requirements
| Dependency | Required version | Notes |
|------------|----------------------|------------------------------------|
| GCC/Clang | >5 (GCC), >3 (Clang) | Compiler with C++11 support |
| CMake | 3.10 | Build system |
| pkg-config | | Library-agnostic package detection |
| OpenSSL | | Base64 decoding |
| Bzip2 | | Decompression |
| Zlib | | Decompression |
| FUSE | 2.x (not 3.x) | Userspace filesystem support |
| libicu | | Unicode support |
| libxml2 | | XML (property list) parsing |`darling-dmg` requires a C++11-capable compiler, CMake >3.10 and `make` alongside the remaining dependencies mentioned above. Below are common ways to install library dependencies.
On Fedora (and derivatives):
```bash
sudo dnf install fuse-devel bzip2-devel libicu-devel libxml2-devel openssl-devel zlib-devel pkgconf
```On Debian (and derivatives):
```bash
sudo apt-get install libfuse-dev libbz2-dev libicu-dev libxml2-dev libssl-dev libz-dev pkg-config
```On Alpine Linux:
```bash
sudo apk add fuse-dev bzip2-dev icu-dev libxml2-dev openssl-dev zlib-dev pkgconf
```## Usage
```
darling-dmg [FUSE arguments]
```### Accessing resource forks
Resource forks are available via xattrs (extended attributes) or preferably under the name ````/original/filename#..namedfork#rsrc````.
### Reusability
Some people have had success with using darling-dmg as a library for their own use.