S6-RC-BUNDLE(8)
π s6-rc-bundle β the manual page, but make it make sense
okay so bestie, this is s6-rc-bundle from the System Manager's Manual section 8, and it's genuinely one of the more satisfying little tools once you get what it's doing: it lets you add or delete bundles from a compiled service database without having to recompile it from source. no cap. you just vibe in, tweak a bundle, and leave. π
β¨ SYNOPSIS β¨
s6-rc-bundle help
s6-rc-bundle [-f] [-l live] [-c compiled] [-b] add bundlename
contents...
s6-rc-bundle [-f] [-l live] [-c compiled] [-b] delete bundlenames...
s6-rc-bundle [-f] [-l live] [-c compiled] [-b] multiple args...
like, that's the whole shape of it. four moods. pick one. π¦
πΈ DESCRIPTION πΈ
so s6-rc-bundle goes looking for a compiled service database in compiled β and by default, that's the database used by the live state in live. π
depending on what you feed it, it will:
- add a bundle definition to that database,
- delete a bundle definition from it,
- or do multiple additions and deletions in one go.
the big icon energy here: s6-rc-bundle is an offline tool. meaning you can run it on any compiled service database without even having a live set of services managed by s6-rc(8). it does not need the whole operation running. it's literally fine on its own. β¨
but β if you do have a live set, you can still run s6-rc-bundle on the current database (and that's the default, bestie), and it won't interfere with your normal service operation. it's giving considerate. π«Ά
π§ Subcommands
s6-rc-bundle helpβ prints a help message on stdout. that's it. that's the whole task. slay.s6-rc-bundle add bundlename contents...β adds a bundle named bundlename to the database, representing the services listed in contents. and here's the detail you do NOT want to miss: the arguments in contents... are resolved before the database is modified by thes6-rc-bundleinvocation. so it's not figuring things out halfway through and then changing stuff. the order is giving responsible. πs6-rc-bundle delete bundlenames...β deletes the bundles listed in bundlenames.... simple, clean, iconic.s6-rc-bundle multiple args...β performs multiple bundle deletions and additions. and ngl, this subcommand is best used in an execline script, because it usesexecline-block(7)s. that's the tea. π
args... is composed of:
- One block listing bundle names that will be deleted from the database.
- Zero or more addition definitions, each of them composed of:
- One argument that is the name of the bundle to add.
- One block listing the services contained in the new bundle. the names in the block are resolved before any addition or deletion is made to the database. β
π OPTIONS π
-c compiledβ operate on a compiled service database in compiled instead of the current live one. so you get to point it at exactly which database you mean. π―-l liveβ assume the live state is in live. this option is ignored if the-coption has been given. default is/run/s6-rc. and the default can be changed at package compilation time, by giving the--livedir=liveoption to./configure. iykyk. π-fβ Force.s6-rc-bundlewill not complain when given a nonexisting name to delete (it will do nothing), or when given an existing name to add (it will replace the definition). by default,s6-rc-bundlewill complain and exit when asked to delete a nonexistent name or to add an existing name. so-fis the "yeah yeah i know, just do it" flag. π-bβ Blocking lock. if the database is currently being used by another program,s6-rc-bundlewill wait until that other program has released its lock on the database, then proceed. by default,s6-rc-bundlefails with an error message if the database is currently in use. so-bis the patient bestie and no--bis the impatient bestie. π
π₯ EXIT STATUS π₯
- 0 β Success. we ate. π
- 1 β Identifier already exists in service database.
- 3 β Identifier not found in service database.
- 4 β Invalid or corrupted service database.
- 5 β Wrong identifier type for the given command.
- 100 β Wrong usage.
- 111 β System call failed.
fr fr, memorize these β1,3,4,5,100and111all mean different flavors of "something's off", and knowing which one you got saves you so much time. π
π¦ SEE ALSO π¦
s6-rc-faq(7), s6-rc-overview(7), s6-rc-why(7), s6-rc(8), s6-rc-compile(8), s6-rc-db(8), s6-rc-dryrun(8), s6-rc-fdholder-filler(8), s6-rc-format-upgrade(8), s6-rc-init(8), s6-rc-oneshot-run(8), s6-rc-update(8)
also, for the record: this man page is ported from the authoritative documentation at https://skarnet.org/software/s6-rc/s6-rc-bundle.html β that's the source of truth, go give it a look. β
π AUTHORS π
- Laurent Bercot
- Alexis <flexibeast@gmail.com> (man page port)
aaaand that's the page! π«Ά cute little sign-off for you: this one ships with Debian, dated April 6, 2023, and it lives in the System Manager's Manual β so when you see S6-RC-BUNDLE(8) at the top of your terminal, you now know exactly what's up. go forth and bundle responsibly, bestie. πβ¨π
π¦ where this page comes from
- nixpkgs unstable: s6-rc 0.7.0.0
- nixpkgs unstable: s6-rc-man-pages 0.6.0.0.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms