jfs_debugfs(8)
β¨ jfs_debugfs β shell-type JFS file system editor β¨
Hey bestie π so this is the manual page for jfs_debugfs, and yes it lives in section 8 of the manual (the sysadmin one, the main character section, obviously π). It's a shell-type editor for JFS file systems β like, a whole little interactive vibe where you poke at a disk at a really really low level. Buckle up π
πΈ SYNOPSIS πΈ
jfs_debugfs device
π¦ DESCRIPTION π¦
jfs_debugfs is a program which can be used to perform various low-level actions on a JFS formatted device. Like, low low. We're talking directly at the disk. It's giving surgery π©Ίβ¨
device is the special file name corresponding to the actual device to be edited (e.g. /dev/hdb1). Yes, edited. You can literally change bytes. Iconic and terrifying π
jfs_debugfs must be run as root. No cap. Root only. That's not a suggestion, that's the rule, and honestly? With this much power you should be a little scared π
π COMMANDS π
Here's the whole menu, every single one, no skips, no cuts, periodt π«Ά
a[lter] <block> <offset> <hex_string>β replaces the data located at the<offset>of<block>with<hex_string>π₯<block>is the block number β given in decimal<offset>is the offset within that block β given in hexadecimal<hex_string>is an even-numbered string of hexadecimal digits to write to the disk
b[tree] <block> [<offset>]β * not implemented yet * π displays one node of the btree located at<offset>of<block>and enters a subcommand mode to navigate the btree- SUBCOMMANDS:
l=> visit left siblingm=> modify current nodep=> visit parent noder=> visit right sibling[0-9]=> visit the n'th child nodex=> exit subcommand mode
- SUBCOMMANDS:
cb[blfsck]β displays the area used by ClearBadBlockList for communication with fsck π§Ή- SUBCOMMANDS:
m=> modify entriesx=> exit subcommand mode
- SUBCOMMANDS:
dir[ectory] <inode_number> [<file_set>]β displays the directory entries at<inode_number>and enters subcommand mode π<inode_number>is the directory's inode β given in decimal<file_set>currently must be zero- SUBCOMMANDS:
m=> modify entriesx=> exit subcommand mode
d[isplay] [<block> [<offset> [<format> [<count>]]]]β displays<count>objects located at the<offset>of<block>in<format>π<block>is the block number β given in decimal<offset>is the offset within<block>β given in hexadecimal<format>is one of the following:a=> asciib=> block allocation mapd=> decimali=> inodeI=> inode allocation maps=> superblockx=> hexadecimalX=> extent allocation descriptor
<count>is the number of objects to display β given in decimal
dm[ap]β displays aggregate disk (block) map πΊοΈ- SUBCOMMANDS
m=> modify map fieldsf=> display free countt=> display tree levelsx=> exit subcommand mode
- SUBCOMMANDS
dt[ree] <inode_number> [<file_set>]β displays root of the directory btree located at<inode_number>and enters a subcommand mode to navigate the btree π³<inode_number>is the directory's inode β given in decimal<file_set>currently must be zero- SUBCOMMANDS
l=> visit left siblingm=> modify current nodep=> visit parent node (not parent directory)r=> visit right sibling[0-9]=> visit the n'th child nodex=> exit subcommand mode
fsckw[sphdr]β displays the header of the fsck workspace in the aggregate π§°- SUBCOMMANDS:
m=> modify entriesx=> exit subcommand mode
- SUBCOMMANDS:
h[elp] [<command>]β displays help for<command>π if no command is given, all possible commands are displayedia[g] [<IAG_number>] [a | s | <file_set>]β displays IAG information for<IAG_number>and enters subcommand mode ποΈ<IAG_number>is given in decimalais to use the primary aggregate inode tablesis to use the secondary aggregate inode table<file_set>currently must be zero- SUBCOMMANDS
e=> display/modify inode extents mapm=> modify IAGp=> display/modify persistent mapw=> display/modify working mapx=> exit subcommand mode
i[node] [<inode_number>] [a | s | <file_set>]β displays inode information for<inode_number>and enters subcommand mode π<inode_number>is given in decimalais to use the primary aggregate inode tablesis to use the secondary aggregate inode table<file_set>currently must be zero- SUBCOMMANDS
a=> display/modify inode's ACLm=> modify inodex=> exit subcommand mode
logs[uper]β displays the journal log superblock and enters subcommand mode π- SUBCOMMANDS
m=> modify journal log superblockx=> exit subcommand mode
- SUBCOMMANDS
q[uit]β exitsjfs_debugfsπ bye bestie!se[t] [<variable> <value>]β * not implemented yet * π set user-defined<variable>to<value>; if no arguments are given, displays all set variables<variable>must begin with an alphabetic character
su[perblock] [p | s]β displays superblock data ποΈpdisplays the primary superblocksdisplays the secondary superblock- SUBCOMMANDS:
m=> modify entriesx=> exit subcommand mode
s2p[erblock] [p | s]β displays alternate superblock data ποΈβ¨pdisplays the primary superblocksdisplays the secondary superblock- SUBCOMMANDS:
m=> modify entriesx=> exit subcommand mode
u[nset] <variable>β * not implemented yet * π deletes user-defined<variable>xt[ree] <inode_number> [<file_set>]β displays root of the non-directory btree located at<inode_number>and enters a subcommand mode to navigate the btree π²<inode_number>is the directory's inode β given in decimal<file_set>currently must be zero- SUBCOMMANDS
l=> visit left siblingm=> modify current nodep=> visit parent node (not parent directory)r=> visit right sibling[0-9]=> visit the n'th child nodex=> exit subcommand mode
π REPORTING BUGS π
If you find a bug in JFS or jfs_debugfs, please report it via the bug tracking system ("Report Bugs" section) of the JFS project web site: http://jfs.sourceforge.net/ π
Please send as much pertinent information as possible, including the complete output of running jfs_fsck with the -v and -n options on the JFS device. Like, all of it, don't be shy, the more receipts the better π§Ύβ¨
π SEE ALSO π
jfs_fsck(8), jfs_mkfs(8), jfs_fscklog(8), jfs_logdump(8), jfs_tune(8),
π AUTHORS π
- Barry Arndt (
barndt@us.ibm.com) - William Braswell, Jr.
jfs_debugfs is maintained by IBM. See the JFS project web site for more details: http://jfs.sourceforge.net/ π«Ά
okay that's the whole page, you ate that π
this version of the jfs_debugfs(8) manual page is dated October 29, 2002 β yeah she's an elder but she's still THAT girl β and she answers to jfs_debugfs(8). mwah, go be careful with root, ily πβ¨π¦
π¦ where this page comes from
- alpine 3.24: jfsutils-doc 1.1.15-r9 Β· GPL-2.0-or-later
- arch rolling: jfsutils 1.1.15-9 Β· GPL-3.0-or-later
- debian bookworm: jfsutils 1.1.15-5
- debian trixie: jfsutils 1.1.15-6
- fedora 43: jfsutils 1.1.15-31.fc43 Β· GPL-2.0-or-later
- fedora 44: jfsutils 1.1.15-32.fc44 Β· GPL-2.0-or-later
- nixpkgs unstable: jfsutils 1.1.15
- opensuse-leap 16.0: jfsutils 1.1.15-160000.3.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: jfsutils 1.1.15-160000.3.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: jfsutils 1.1.15-160000.3.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: jfsutils 1.1.15-160000.3.2 Β· GPL-2.0-or-later
- ubuntu jammy: jfsutils 1.1.15-5build3
- ubuntu noble: jfsutils 1.1.15-5build4
- ubuntu questing: jfsutils 1.1.15-6
- ubuntu resolute: jfsutils 1.1.15-7
- ubuntu stonking: jfsutils 1.1.15-7
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms