metastore(1)
πΎ metastore β the manual, but make it cute
okay bestie, welcome to metastore(1) from the General Commands Manual π
this is the tool that remembers what your files are, not just what's inside them. sit down, grab a strawberry, let's go π
β¨ NAME β¨
metastore β stores and restores filesystem metadata. that's it, that's the whole vibe. she saves the receipts and she brings them back π«Ά
π SYNOPSIS π
metastore ACTION [OPTION...] [PATH...]
π DESCRIPTION π
so basically, metastore stores or restores metadata β and by metadata we mean owner, group, permissions, xattrs, and optionally mtime β for a whole filesystem tree. the way that it justβ¦ holds onto all of that for you?? iconic.
why would you even need this? because some tools are lowkey not that into metadata. git and tar, for example, usually do not store it. so metastore lets you preserve all that metadata anyway. it can also work as a lil tripwire situation, to detect any changes to metadata. very much giving security camera but for permissions πΉ
β οΈ bestie listen. e.g. SELinux stores its labels in xattrs, so please be careful when you're applying stored metadata β you gotta make sure the system security does not get compromised. no cap, this part matters. π₯
π ACTIONS π
-c,--compareβ shows you the difference between the stored metadata and the real metadata. it's giving "what changed, bestie" π-s,--saveβ saves the current metadata to./.metadata, or to a file you specify instead (peep the--fileoption below).-a,--applyβ attempts to apply the stored metadata onto the file system. put it back, put it back π-d,--dumpβ dumps stored metadata (if you don't give a PATH) or real metadata (if a PATH is present, e.g../) in human-readable form. pretty printing, but for files πΈ
π okay real talk: this action is only meant as a helpful debugging facility or a merge conflict helper. do not ever compare its output generated using different metastore versions. do not rely on the current output format (especially in batch scripts), because it may change in future without prior notice. fr fr, do not build anything on top of it.
-h,--helpβ prints a help message and exits. the classic. the moment. π
β OPTIONS β
-v,--verboseβ causesmetastoreto print more verbose messages. you can repeat it more than once for even more verbosity. spam that flag, she'll keep talking β¨-q,--quietβ causesmetastoreto print less verbose messages. can also be repeated more than once for even less verbosity. shhh π€«-m,--mtimeβ causesmetastoreto also take mtime into account for thecompareorapplyactions. timestamps are getting included in the group chat now β°-e,--empty-dirsβ also attempts to recreate missing empty directories. may be useful where empty directories are not tracked (e.g. by git or cvs). only works in combination with theapplyoption. yes she cares about the empty ones, they matter too π₯Ί-E,--remove-empty-dirsβ also attempts to remove empty directories missing from the metadata. may be useful where empty directories are not tracked (e.g. by git or cvs). only works in combination with theapplyoption. the reverse move, and honestly? slay π-g,--gitβ preventsmetastorefrom omitting.gitdirectories. she sees the.git, she respects the.gitπ-f <file>,--file <file>β causes the metadata to be saved to, or read from, the specified file rather than./.metadata. custom location, custom energy π¦
π§ PATHS π§
if no path is specified, metastore will use the current directory as the basis for the actions. this is the recommended way of executing metastore. periodt.
alternatively, one or more paths can be specified, and they will each be examined. later invocations should be made using the exact same paths to ensure that the stored metadata is interpreted correctly. like, same paths, bestie. exact. same. π₯
π AUTHORS π
metastore was created by David HΓ€rdeman in 2007-2008. now it is maintained by PrzemysΕaw PaweΕczyk. all source code contributors are listed in the AUTHORS file. give them their flowers π
and that's the whole page!! this was the metastore(1) manual, from the General Commands Manual, dated January 2016. go forth and preserve some metadata, bestie πβ¨
π¦ where this page comes from
- debian bookworm: metastore 1.1.2-4+b1 Β· GPL-2.0-only
- debian trixie: metastore 1.1.2-6 Β· GPL-2.0-only
- nixos 26.05: metastore 1.1.2
- nixpkgs unstable: metastore 1.1.2
- ubuntu jammy: metastore 1.1.2-4 Β· GPL-2.0-only
- ubuntu noble: metastore 1.1.2-4 Β· GPL-2.0-only
- ubuntu questing: metastore 1.1.2-6
- ubuntu resolute: metastore 1.1.2-6build1 Β· GPL-2.0-only
- ubuntu stonking: metastore 1.1.2-6build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms