GEOM(8)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

🌸 GEOM(8) β€” universal control utility for GEOM classes 🌸

okay bestie, welcome to GEOM(8) from the System Manager's Manual β€” yes, that one, and yes it's as iconic as everyone says πŸ’… this is the page that tells you how to boss around your GEOM classes, and honestly? it ate.


✨ NAME ✨

geom β€” the universal control utility for GEOM classes. one tool, all the classes, main character energy fr 🫢


πŸŽ€ SYNOPSIS πŸŽ€

geom class help
geom [--libxo] class list [-a] [name ...]
geom [--libxo] class status [-ags] [name ...]
geom class load [-v]
geom class unload [-v]
geom -p provider-name
geom -t

like… look at those forms. every single one is a mood πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so the geom utility is literally the utility for controlling all the various GEOM classes. a class has to be aware of the geom communication methods, but β€” and this is the cute part β€” there are also some standard commands you can use on existing classes that are not geom-aware. iykyk 😌

here's the list of standard commands:

  • help β€” lists literally all the available commands for the given class. the full menu, no gatekeeping πŸ“
  • list β€” prints detailed info (within the given class) about all the geoms if you gave no extra arguments, or about just the geoms you named. heads up though: this command only exists if the given class exists in the kernel. extra options, bestie:
    • -a β€” prints info for geoms without providers.
  • status β€” prints general info (within the given class) about all the geoms (again, all of them if you passed no extra arguments) or the geoms you named. same caveat: only available if the given class exists in the kernel ✨

additional options include:

  • -a β€” when you use it with -g, prints status for geoms without providers.
  • -g β€” reports statuses for geoms instead of providers.
  • -s β€” produces script-friendly output. for the girlies who pipe things into scripts πŸ’…
  • load β€” loads the kernel module that implements the given class. only available if the class does not exist in the kernel yet and the file geom_⟨class⟩.ko can be found in one of the directories specified in the kern.module_path sysctl. very "you must be this tall to ride" of it tbh 🎒
  • unload β€” unloads the kernel module that implements the given class. only available if the given class is loaded as a kernel module. bye bestie πŸ‘‹

additional options include:

  • -p provider-name β€” prints detailed information about the geom which provides provider-name.
  • -t β€” displays the geoms hierarchy as a tree 🌳 (aesthetic and informative)
  • --libxo β€” generates output via libxo(3) in a selection of different human- and machine-readable formats. see xo_options(7) for the details on command line arguments ✨

class-specific commands are implemented as shared libraries which are stored in the /lib/geom/ directory and are loaded via the dlopen(3) function when the class name is known. and listen β€” when a class-specific shared library exists, a direct utility should also be available under the name of gclass πŸ‘‘

currently, the classes aware of geom are:

  • CACHE
  • CONCAT
  • DISK
  • ELI
  • JOURNAL
  • LABEL
  • MD
  • MIRROR
  • MOUNTVER
  • MULTIPATH
  • NOP
  • PART
  • RAID
  • RAID3
  • SCHED
  • SHSEC
  • STRIPE
  • UNION
  • VFS
  • VIRSTOR

twenty of them. twenty!! we love a full roster πŸ’œ


🌈 ENVIRONMENT 🌈

these environment variables affect how geom runs:

  • GEOM_LIBRARY_PATH β€” specifies the path where shared libraries are stored, instead of /lib/geom/. you can specify multiple paths with a colon-separated list of paths πŸŽ€

⭐ EXIT STATUS ⭐

exit status is 0 on success, and 1 if the command fails. simple, clean, no drama πŸ™ˆ


πŸ”₯ EXAMPLES πŸ”₯

this example shows how to set up a stripe on three disks for automatic configuration:

geom stripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2

or, the direct-utility way (same energy, shorter name):

gstripe label -v -s 65536 data /dev/da0 /dev/da1 /dev/da2

print the list of all providers from the DISK class:

geom disk list

unload a kernel module which implements the MD class:

geom md unload

πŸ’€ SEE ALSO πŸ’€

libgeom(3), geom(4), xo_options(7), gcache(8), gconcat(8), geli(8), gjournal(8), glabel(8), gmirror(8), gmountver(8), gmultipath(8), gnop(8), gpart(8), graid3(8), gshsec(8), gstripe(8), gunion(8), gvirstor(8) β€” go read the whole friend group 🫢


🧚 HISTORY 🧚

the geom utility appeared in FreeBSD 5.3. a legend since day one, no cap πŸ’–


πŸ‘‘ AUTHORS πŸ‘‘

Pawel Jakub Dawidek <pjd@FreeBSD.org> β€” ty for your service king 🫑


ok that's the whole page, and yes you do need all of it, especially the -a, -g, -s combo for status πŸ’€

and that's a wrap!! this cutie came to you from Debian, dated February 5, 2026 β€” the footer said it, so i said it πŸ’…βœ¨ go forth and geom responsibly bestie πŸŒΈπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ“œ the page's license: BSD-2-Clause
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms