VIEW-OS(1)
π VIEW-OS(1) β umview, bestie π
okay so this is from the General Commands Manual, and it's literally the whole mood of a project called View-OS. grab a snack, we're doing this π
β¨ NAME β¨
umview β the user-mode implementation of View-OS, no cap π
π¦ SYNOPSIS π¦
umview [ options ] prog
πΈ DESCRIPTION πΈ
so the whole big dream of the View-OS project is this: every single process gets its own view of the system resources. like, not a shared view, its own. a process can mount filesystems, or hide some file or directories, all by itself. and it's also possible to assign virtual network interfaces, IP addresses, or define virtual devices β for one process, or for whole hierarchies of processes. iconic behaviour honestly π
umview is the user mode implementation of all those View-OS concepts. it's a modular partial virtual machine. and here's the part that eats: before it loads any module, umview is completely transparent β a process running inside it behaves exactly like it would have behaved outside it. zero difference. periodt.
then each module can customize specific entities. there are modules to:
- mount filesystems at user-level (
umfuse) - define virtual network interfaces (
lwipv6) - define virtual devices (
umdev) - provide interpreters for executables, e.g. to support executables for foreign architectures (
umbinfmt) - hide, move, overlay parts of the file system (
viewfs)
these are just some examples of modules the View-OS team ships. and the vibe is that umview aims to provide a general interface to customize the system call semantics of a process under specified conditions. so more modules are coming β from the View-OS team and from third parties. we love to see it π«Ά
β¨ OPTIONS β¨
-Vname,--viewnamename β sets the name of the view. the view can be read and set using thevunameorviewnamecommands. name your baby π-pmodule [,module_options ],--preloadmodule [,module_options ] β preloads modules. they get loaded as shared libraries, so literally all the rules for loading libraries apply. modules have to be loaded from a directory inside theld.sosearch path, or you specify them by their pathnames. if you need to, configure theLD_LIBRARY_PATHenvironment variable appropriately. and module_options are module-specific configuration options, so bestie, go read each service module's manual for the full description β I can't make those up. modules can also be loaded at run time using theum_add_servicecommand β¨-s,--secureβ setskmviewin human mode, i.e. forces the check of capabilities and permissions.uidis0at startup, and that's how it's possible to load modules and mount services. when a process sets its uid as an unprivileged user (viasetuid(2)orviewsu(1)), capability and permissions are enforced. so like, the training wheels come off π₯-frcfile,--rcrcfile β uses rcfile as the initialization file forkmview.kmviewalways executes/etc/viewosrcif it exists, and thenkmviewexecutes the initialization file set by this option or~/.viewosrc.-x,--nonestingβumviewis able to provide module nesting, i.e. a module can provide services on the basis of virtual services provided by another module, or even by the module itself. for example it's possible to mount a file system image that is stored in an already virtually mounted filesystem. this feature requires thepure_libclibrary. the-xor--nonestingoption disables the nesting feature.-n,--nokernelpatchβumviewis able to use some specific kernel extensions (when present) to increase its performance. the source distribution ofumviewincludes the kernel patches for the latest kernels. the kernel extensions are enabled by default when available. this option disables the kernel extensions.--nokmultiβ this option disables thePTRACE_MULTIkernel extension.--noksysvmβ this option disables thePTRACE_SYSVMkernel extension.--nokviewosβ this option disables thePTRACE_SYSVIEWOSkernel extension (already experimental, not yet released). π-ofile,--outputfile β diverts the debugging output to the file specified. it's useful whenumviewhas been compiled with debugging extensions. π-v,--versionβ print the version and exit. bye bestie π-h,--helpβ print a short help message and exit. π₯Ί
π SEE ALSO π
um_add_service(1) um_del_service(1) um_ls_service(1) um_mov_service(1) umfuse(1viewos) lwipv6(1viewos) umdev(1viewos) umbinfmt(1viewos) viewfs(1viewos) vuname(1viewos) viewname(1viewos)
π AUTHORS π
View-OS is a project of the Computer Science Department, University of Bologna. Project Leader: Renzo Davoli. Development Team: P. Angelelli, A. Bacchelli, M. Belletti, P. Beverini, D. Billi, A. Forni, L. Gardenghi, A. Gasparini, D. Lacamera, C. Martellini, A. Seraghiti β <http://www.sourceforge.net/projects/view-os>
Howto's and further information can be found on the project wiki β <wiki.virtualsquare.org>
okay that's the whole thing, you're so welcome π and for the record, the tagline is literally "VIEW-OS: a process with a view" β main character energy fr fr β and this page is dated June 10, 2006, from the VIEW-OS(1) manual. mwah, go mount something ππ¦β¨
π¦ where this page comes from
- debian bookworm: umview 0.8.2-3 Β· GPL-2.0-only
- ubuntu jammy: umview 0.8.2-3 Β· GPL-2.0-only
- ubuntu noble: umview 0.8.2-3.1build2 Β· GPL-2.0-only
- Copyright (c) 2006 Renzo Davoli
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms