SCHROOT-SCRIPT-CONFIG(5)

πŸ“¦
version 1.6.13 Β· 5 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– SCHROOT-SCRIPT-CONFIG(5) πŸ’–

okay bestie, welcome to the schroot-script-config page β€” this is the schroot chroot setup script configuration manual, from the Debian sbuild crew. pull up a chair, we're talking about the little config file that tells your setup scripts how to behave πŸŽ€


✨ NAME ✨

schroot-script-config β€” schroot chroot setup script configuration, aka the glow-up file for your chroot scripts πŸ’…


🌸 DESCRIPTION 🌸

so here's the tea πŸ“: schroot uses scripts to set up the chroot environment and then clean it all up afterwards. and those scripts? they can be customised using the script-config key in /etc/schroot/schroot.conf.

that key points at a file, and the setup scripts will source that file when they run. the file is a Bourne shell script, which means β€” bestie, listen β€” it can contain any valid shell code, not just simple variable assignments. so you can literally customise behaviour based on the specific chroot type or name. main character config file energy, honestly πŸ‘‘

⚠️ okay so important: this file is deprecated. it's still used if present, but it's gonna be obsoleted and removed in a future release. all the settings in this file are now settable using configuration keys in schroot.conf, and the details are below. so if you've got existing config, you should be modifying it to use those keys instead of this file. do it. future you says thank you 🫢

πŸ¦‹ ENVIRONMENT πŸ¦‹

the environment is the exact same as for all setup scripts, and that's described over in schroot-setup(5). no surprises, no drama, we stay consistent ✨


πŸ’œ VARIABLES πŸ’œ

these are the variables you can set to configure setup script behaviour. and heads up β€” new variables may be added in future releases, so stay flexible πŸ’«

also, third-party extensions to schroot that add their own setup scripts may add extra variables that aren't documented here. if that's your situation, go consult the extension documentation for the details, because this page isn't gonna know about them, iykyk πŸ™ˆ

  • SETUP_COPYFILES β€” a file containing a list of files to copy into the chroot, one file per line. the file will have the same absolute location inside the chroot. and note: this is settable using the setup.copyfiles key. πŸ“‹
  • SETUP_FSTAB β€” the filesystem table file to be used to mount filesystems within the chroot. the format of this file is the same as for /etc/fstab, documented in fstab(5). the only difference is that the mountpoint path fs_dir is relative to the chroot, rather than the root. note that this is settable using the setup.fstab key.

also note β€” and this is the spicy bit 🌢️ β€” mountpoints are canonicalised on the host, which will ensure that absolute symlinks point inside the chroot. but complex paths containing multiple symlinks may be resolved incorrectly. so it is advised to not use nested symlinks as mountpoints. like, just don't. save yourself the heartbreak 😭

  • SETUP_NSSDATABASES β€” a file listing the system databases to copy into the chroot. the default databases are passwd, shadow, group, services, protocols, networks, and hosts. πŸ—‚οΈ

and gshadow? yeah, gshadow is not yet copied by default, due to not being supported by all but the most recent version of the GNU C library. not me calling out the ancient glibc, but here we are πŸ’€

the databases are copied using getent(1), so all database sources listed in /etc/nsswitch.conf will be used for each database. note that this is settable using the setup.nssdatabases key. ⭐


πŸ‘‘ AUTHORS πŸ‘‘

Roger Leigh. (hi roger, we love you πŸ’–)


Copyright Β© 2005-2012 Roger Leigh <rleigh@codelibre.net>

schroot is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. periodt. 🫢


🧚 SEE ALSO 🧚

sbuild(1), schroot(1), sh(1), schroot.conf(5), schroot-setup(5).

go read them, they're all icons in their own right ✨


and that's the whole page, bestie!! 🌸 this was Version 1.6.13, dated 14 Aug 2022, brought to you by the Debian sbuild situation. slay, stay configured, and go migrate your config to schroot.conf like we talked about πŸ’…πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from