Crates.io | cdfs |
lib.rs | cdfs |
version | 0.2.3 |
source | src |
created_at | 2023-09-04 04:08:08.37953 |
updated_at | 2023-10-09 23:21:47.002335 |
description | Rust implementation of ISO 9660 / ECMA-119 |
homepage | https://sr.ht/~az1/cdfs/ |
repository | https://git.sr.ht/~az1/iso9660-rs |
max_upload_size | |
id | 962620 |
size | 1,763,615 |
ISO 9660 / ECMA-119 filesystem implementation written in Rust. It's still very much a work-in-progress. The project overview lives at Sourcehut:
See the examples directory and the documentation for more information on how to use the cdfs
library in your project.
If you're just interested in using cdfs
to mount an ISO, there's a FUSE implementation included.
To install locally:
$ cargo install cdfs
…
Compiling cdfs v0.2.2
Finished release [optimized] target(s) in 21.97s
Installing /home/user/.cargo/bin/cdfs_fuse
Installed package `cdfs v0.2.2` (executable `cdfs_fuse`)
$ cdfs_fuse images/rockridge.iso mountpoint/
2023-09-06T00:00:00.203Z INFO [cdfs_fuse] NOTE: The filesystem must be manually unmounted after exit
2023-09-06T00:00:00.206Z INFO [cdfs_fuse] Found POSIX.1 extensions with usable inodes.
2023-09-06T00:00:00.206Z INFO [fuser::session] Mounting mountpoint/
Or run cdfs
directly from the repository like so:
$ cargo run -- images/rockridge.iso mountpoint/
Finished dev [unoptimized + debuginfo] target(s) in 0.15s
Running `target/debug/cdfs_fuse`
2023-09-06T00:00:00.203Z INFO [cdfs_fuse] NOTE: The filesystem must be manually unmounted after exit
2023-09-06T00:00:00.206Z INFO [cdfs_fuse] Found POSIX.1 extensions with usable inodes.
2023-09-06T00:00:00.206Z INFO [fuser::session] Mounting mountpoint/
…
System Use Sharing Protocol | |
---|---|
CE – continuation area |
yes |
PD – padding field |
no |
SP – SUSP start |
not enforced |
ST – SUSP end |
ignored |
ER – extensions reference |
yes |
ES – extensions selector |
no |
Rock Ridge Interchange | |
---|---|
PX – POSIX attributes |
yes |
PN – POSIX inodes |
yes |
SL – symbolic links |
yes |
NM – long file names |
yes |
CL – child links |
yes |
PL – parent links |
N/A |
RE – relocated directories |
yes |
TF – file timestamps |
yes |
SF – sparse files |
no |
This project is available under the Apache 2.0 or MIT license at your choosing.