The project is currently under development and is not ready for use in production.
punsctl - POSIX User's Namespace Control
The punsctl
utility manages multiple namespaces (user environments) for the current POSIX user.
That means the user can have multiple "profiles" for the same or different tool configurations in the same user account
(~/.ssh
, ~/.gitconfig
, ~/.gnupg
, ~/.config
, ~/.config/nvim
, ...).
The user can create, delete, activate and deactivate namespaces without additional permissions.
Installation
pip install punsctl
Usage
punsctl <options>
options:
-h Help menu
-r Root path (Default: ~/.ns)
-s Symlink path (Default: ~/)
-l List namespaces
-n <namespace> Create namespace
-x <namespace> Delete namespace
-a <namespace> Activate namespace
-d Deactivate namespaces
List all namespaces
punsctl -l
non-default
root path
List all namespaces from the punsctl -p <root_path> -l
Create new namespace
punsctl -n <namespace>
non-default
root path
Create a new namespace in the punsctl -p <root_path> -n <namespace>
Delete namespace
punsctl -x <namespace>
non-default
root path
Delete namespace in punsctl -p <root_path> -x <namespace>
Activate namespace
punsctl -a <namespace>
non-default
root path
Activate the namespace from the punsctl -p <root_path> -a <namespace>
non-default
root path and change the symlink path
Activate the namespace from the punsctl -p <root_path> -s <symlink_path> -a <namespace>
Deactivate namespaces
punsctl -d