untie(8)
π untie(8) β the namespace creator that ate β¨
okay bestie, so this is untie, from the manual page for section 8 (system administration commands). It's giving "run a command in a whole new namespace" and honestly? iconic. Let me walk you through it π«Ά
πΈ NAME πΈ
untie β run a command in a new namespace π
β¨ SYNOPSIS β¨
untie [OPTIONS]... [COMMAND]...
π¦ DESCRIPTION π¦
so here's the vibe: untie uses Linux virtualization features to run commands in separate namespaces. Basically you're giving your command its own little pocket dimension π§β¨
If no command is given, a shell is launched in the new namespace. cute, right?
β οΈ okay important thing β only root can create new namespaces. no cap. so like, check your privileges before you come for this β
π OPTIONS π
The options define which namespaces to share with the parent or to fork. All the options can be combined, only --mask can be given more than once. (yes bestie, that's the one exception, don't @ me)
-h,--helpβ print help and exit π-V,--versionβ print version and exit β¨--mountβ new mount namespace. Mounts in a namespace are invisible in other namespaces. In order to have mounts crossing namespaces, you have to use the shared subtrees feature of Linux. Seehttp://lwn.net/Articles/159092/for more details π--unameβ new uname. An uname namespace can have its own hostname π·οΈ--ipcβ new IPC context. This permits a group of applications to have a private namespace for System V IPC. These include message queues, semaphores and shared memory segments π¬--mask=MASKβ pass user defined flag. This flag allows to virtualize a resource that was not virtualizable at the time this program was written. For example, to clone the uname namespace without the--unameoption, you would useuntie --mask=0x04000000because0x04000000is the value ofCLONE_NEWUTSas per the header filesched.hπ§--chroot=DIRECTORYβ chroot in the specified directory. This will let the child process perform a chroot before executing its command. The chroot is followed by achdir("/")to prevent the simplest form of chroot escape π--uid=UIDβ change to the specified UID. This makes the child process run with the specified UID. If no GID argument is given, the GID will be set to the given UID and the child process groups will be the single element list with the given UID πͺͺ--username=USERNAMEβ change to the specified username. This option has the same role as the previous one, except it takes a user name string instead of a UID number. This option and the previous one are mutually exclusive π ββοΈ--gid=GIDβ add the specified GID. This argument can be given many times and will build the process groups list for the child process. The GID will be the first element in the list π--groupname=GROUPβ add the specified group. This option has the same role as the previous one, except it takes a group name string instead of a GID number. This option as well as the previous one can be given any number of times. The previous option takes precedence to determine the GID of the child process β--daemonizeβ run as daemon. With this option, the child process will run as a background daemon π--alarm=SECONDSβ set an alarm after the specified delay. This option uses thealarm(2)facility to cause the termination of the child process after the specified timeout. The limitations of thealarm(2)system call apply, so if the child process usesalarm(2)it will cancel this specific timeout β°--nice=NICEβ run as the specified nice level. This sets thenice(1)value of the child process, levels typically range from-20(highest priority) to19(lowest priority) π--sched=SCHEDβ use the specified (possibly RT) scheduling policy. Accepted values are'rr','fifo','normal','other'case insensitive. The policy can also be given in numerical form ποΈ--schedprio=PRIOβ set the priority according to the given scheduler. This is typically used to set the priority between1and100when an RT scheduling policy is choosen ποΈ
π AUTHOR π
Guillaume Chazarain <guichaz@yahoo.fr>
See http://guichaz.free.fr/untie π
and that's a wrap bestie π this page is version 0.3, dated with the author credit above β shoutout Guillaume Chazarain for putting this whole thing together. go forth and namespace responsibly π
β¨
π¦ where this page comes from
- nixos 26.05: untie 0.3
- nixpkgs unstable: untie 0.3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms