toolbox-init-container(1)

πŸ’– toolbox-init-container β€” bestie's guide to initializing a running container πŸ’–

okay so this is toolbox-init-container from the General Commands Manual, and no, you don't call it yourself, i prommy. it's the entry point of every Toolbx container, the main character of the whole operation, and it lives inside the container. let's get into it ✨


πŸŽ€ NAME πŸŽ€

toolbox-init-container β€” initialize a running container. that's it, that's the job. πŸ’…


✨ SYNOPSIS ✨

toolbox init-container --gid GID
                       --home HOME
                       --home-link
                       --media-link
                       --mnt-link
                       --shell SHELL
                       --uid UID
                       --user USER

look at her. all those flags. iconic honestly. 🌸


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: this thing initializes a newly created container that's already running. it's primarily meant to be used as the entry point for all Toolbx containers, and it must be run inside the container that's to be initialized. it is not expected to be directly invoked by humans, and it cannot be used on the host. sorry bestie, no host shenanigans. πŸ™ˆ

a key feature of Toolbx containers is their entry point, the toolbox init-container command. that's the whole vibe. πŸ‘‘

here's the thing β€” OCI containers are inherently immutable. configuration options you pass through podman create get baked into the definition of the OCI container, and you literally can't change them later. which means changes and improvements made in newer versions of Toolbx can't be applied to pre-existing Toolbx containers created by older versions of Toolbx. this is avoided by using the entry point to configure the container at runtime. slay. πŸ”₯

the entry point of a Toolbx container customizes the container to fit the current user by ensuring that it has a user that matches the one on the host, and grants it sudo and root access. yes ma'am. πŸ‘‘

crucial configuration files, such as /etc/host.conf, /etc/hosts, /etc/localtime, /etc/resolv.conf and /etc/timezone, inside the container are kept synchronized with the host. 🫢 the entry point also bind mounts various subsets of the host's file system hierarchy to their corresponding locations inside the container to provide seamless integration with the host. this includes /run/libvirt, /run/systemd/journal, /run/udev/data, /var/lib/libvirt, /var/lib/systemd/coredump, /var/log/journal and others. so many. so organized. πŸ’…

on some host operating systems, important paths like /home, /media or /mnt are symbolic links to other locations. the entry point ensures that paths inside the container match those on the host, to avoid needless confusion. communication queen behavior fr fr. πŸ¦‹


πŸ’… OPTIONS πŸ’…

the following options are understood:

  • --gid GID β€” pass GID as the user's numerical group ID from the host to the Toolbx container. πŸ’–
  • --home HOME β€” create a user inside the Toolbx container whose login directory is HOME. this option is required. don't skip her. 😭
  • --home-link β€” make /home a symbolic link to /var/home. πŸŽ€
  • --media-link β€” make /media a symbolic link to /run/media. πŸŽ€
  • --mnt-link β€” make /mnt a symbolic link to /var/mnt. πŸŽ€
  • --monitor-host β€” deprecated, does nothing. πŸ’€
    • crucial configuration files inside the Toolbx container are always kept synchronized with their counterparts on the host, and various subsets of the host's file system hierarchy are always bind mounted to their corresponding locations inside the Toolbx container. so yeah, she's just here for the vibes, doing absolutely nothing.
  • --shell SHELL β€” create a user inside the Toolbx container whose login shell is SHELL. this option is required. 🫢
  • --uid UID β€” create a user inside the Toolbx container whose numerical user ID is UID. this option is required. 🫢
  • --user USER β€” create a user inside the Toolbx container whose login name is LOGIN. this option is required. 🫢

🌈 SEE ALSO 🌈

toolbox(1), podman(1), podman-create(1), podman-start(1)

go read those too, they're the supporting cast and they ate. πŸ“


and that's the whole page bestie!! this was toolbox-init-container(1) from the General Commands Manual, page toolbox-init-container(1), and that's a wrap. stay initialized, stay slay. πŸ§šπŸ’œβœ¨

πŸ“¦ where this page comes from