RDSQUASHFS(1)

πŸ’– RDSQUASHFS(1) πŸ’–

okay bestie, gather round, because today we're talking about rdsquashfs β€” it's a User Commands girlie and she lives in section 1 of your manual. she's the tool to examine or uncompress SquashFS filesystems, and honestly? she ate. πŸ“


✨ SYNOPSIS ✨

rdsquashfs [OPTIONS] <squashfs-file>

🌸 DESCRIPTION 🌸

View or extract the contents of a squashfs image. that's the whole vibe, no cap. πŸ‘‘

so here's the tea: you gotta pick one of the operation options below β€” like, at least one, it's not optional bestie, one of those has to be present or she's just gonna sit there. πŸ™ˆ

πŸŽ€ the "what are we even doing" options

  • --list, -l <path> β€” gives you a directory listing, basically an ls -l moment, for whatever path you point at inside the SquashFS image. πŸ’…
  • --cat, -c <path> β€” if that path is a regular file in the image, she extracts it and dumps the contents straight to stdout. like cat but for squashfs. iconic.
  • --xattr, -x <path> β€” if the inode that your path resolves to has extended attributes, she dumps them to stdout as key value pairs. ✨
  • --unpack-path, -u <path> β€” unpacks that sub directory out of the image. want everything? just hit her with / and she'll unpack the whole thing. 🫢
  • --describe, -d β€” spits out a file listing from the image that's compatible with the format gensquashfs consumes. very "handoff to my other bestie" energy.
  • --stat, -s <path> β€” dumps all the available info about the inode that the path refers to. and I mean all β€” including SquashFS specific internals like the on-disk layout of a file, or the fast lookup index stored in an extended directory inode. she's nosy and we love that for her. 😭

πŸ’… OPTIONS πŸ’…

🌈 controlling how the operation behaves

  • --unpack-root, -p <path> β€” used with --unpack-path, this is where the data gets unpacked to. used with --describe, it becomes a prefix for the input path of regular files. multipurpose queen.
  • --no-dev, -D β€” skips device special files while parsing the filesystem tree.
  • --no-sock, -S β€” skips socket files while parsing the filesystem tree.
  • --no-fifo, -F β€” skips named pipes while parsing the filesystem tree.
  • --no-slink, -L β€” skips symbolic links while parsing the filesystem tree.
  • --no-empty-dir, -E β€” skips empty directories. and yes, that includes the ones that only became empty after you applied all the rules above. sneaky little things. πŸ¦‹

🧚 options that are specifically for unpacking files to disk

  • --no-sparse, -Z β€” do not create sparse files. always unpacks sparse files by writing blocks of zeros to disk. so she's out here writing zeros like it's her job (it is).
  • --set-xattr, -X β€” sets the extended attributes from the SquashFS image.
  • --set-times, -T β€” sets the create and modify timestamps of the file to the mtime from the SquashFS image.
  • --chmod, -C β€” changes the permission flags of unpacked files to whatever's stored in the SquashFS image.
  • --chown, -O β€” changes ownership of unpacked files to the UID/GID set in the SquashFS image.
  • --quiet, -q β€” do not print out progress while unpacking. for when you want her to just work in silence. 🀫

⭐ other options, the lil extras

  • --help, -h β€” prints the help text and exits. classic.
  • --version, -V β€” prints version information and exits.

πŸ‘€ SEE ALSO πŸ‘€

gensquashfs(1), sqfs2tar(1), sqfsdiff(1) β€” go read these too, they're all in the friend group. 🫢


✍️ AUTHOR ✍️

Written by David Oberhollenzer. πŸ’–


Copyright Β© 2019 David Oberhollenzer License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law. bestie she's free but she's not making any promises, okay? πŸ’€

and that's the whole page!! mwah πŸ’‹ β€” this one's from the inspect SquashFS filesystems era, dated May 2019, and it signs off as RDSQUASHFS(1). periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from