54 lines · 2.3 KB · Text
RawDownload
namespace scripts cpns MODELpid TARGETpid -t -r -x [pattern] -o [pattern] addns MODELpid TARGETpid -t -r -x [pattern] -o [pattern] subns MODELpid TARGETpid -t -r -x [pattern] -o [pattern] These scripts perform namespace modifications on processes via/proc/$pid/ns using the writable ns mod.  cpns attempts to make TARGETa copy of MODEL.  addns adds to TARGET binds and mounts found in MODELbut not TARGET, and subns removes from TARGET binds and mounts notpresent in MODEL.  Please note that these scripts work by simple"lines in common" and do not understand the graph structure anddependencies of a namespace structure.  The options are anycombination of: -t test only, print commands to standard output -r riosafe, avoidoperations involving /mnt/wsys /mnt/term /dev/cons and rio -x exclude[pattern] from namespace operations -o only operations matching[pattern] will be issued addwrroot TARGET attaches to a writable server from /srv/TARGET or viasrv TARGET and then binds the namespace to make use of the bin and/usr/$user directories and the font library. importwrroot TARGET uses import to attach and also binds in thetarget's /srv. These commands also have variants addroroot and importroroot to bringin read-only servers. addsources dials sources and binds to its binaries and lib rerootwin TARGET is used to allow processes running in rio on remotemachines via drawterm or cpu to "reroot" themselves without losing useof the mouse and keyboard.  This script is very useful for allowingfree use of other namespaces from within a 'rootless' serviceenvironment. savedevs NAME and getdevs NAME use the basic operation of thererootwin script - saving the active window's devices with a srvfs -to let you reconnect the same (or possibly different) flow of controlto the cons and wsys after changing the namespace in other ways. riobind [mount/bind namespace operation] uses the writable proc/ns modto change the namespace of a running rio.  the script simply greps theprocess list for rio so it may be fooled if you are running multiplerios or sub-rios. winpush PID finds the window system of the target pid and pops awindow open onto that rio. riopush PID is a "trick" script to grab the window of another process(possibly remote) and run a rio inside it, under control of the localdevices.