---
name: "umview"
section: "1"
platform: "linux"
package: "umview"
version: "0.8.2-3"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/umview"
---

# umview(1)

User Mode implementation of View-OS

## NAME

umview - User Mode implementation of View-OS

## SYNOPSIS

**umview** \[ *options* \] *prog*\

## DESCRIPTION

The main goal of the View-OS project is to give each process its own view of the system resources. For example, each process can mount filesystems or hide some file or directories. It is also possible to assign virtual network interfaces, IP addresses or define virtual devices for each process (or for hierarchies of processes).\
 **umview** is the user mode implementation of View-OS concepts. It is a modular partial virtual machine.  **umview** before loading any module is completely transparent, a process behaves inside  **umview** as it would have behaved outside. Each module can customize specific entities: there are modules to mount filesystems at user-level **(umfuse)** , to define virtual network interfaces **(lwipv6)** , to define virtual devices **(umdev)** , to provide interpreters for executables, e.g. to support executables for foreign architectures **(umbinfmt)** , to hide, move, overlay parts of the file system **(viewfs).**\
 These are some examples of modules provided by the View-OS team.  **umview** aims to provide a general interface to customize the system call semantics of process under specified conditions. So more modules will be added both by the View-OS team and by third parties.

## OPTIONS

- **-V** *name*

  - **--viewname** *name*

  set the name of the view. The view can be read and set using  **vuname** or **viewname** commands.

- **-p** *module* \[ , *module\_options* \]

  - **--preload** *module* \[ , *module\_options* \]

  preload modules.  Modules will be loaded as shared libraries thus all the rules to load libraries apply. Modules must be loaded from a directory within the ld.so search path or should be specified by their pathnames.  If necessary configure the LD\_LIBRARY\_PATH environment variable appropriately. *module\_options* are module specific configuration options, thus the reader should refer to each service module manual for a complete description. Modules can be loaded at run time using the **um\_add\_service** command.

- **-s**

  - **--secure**

  set kmview in *human mode*, i.e. force the check of capabilities and permissions. uid is 0 at startup, in this way it is possible to load modules and mount services. When a process sets its uid as an unprivileged user (via [setuid(2)](/setuid/2.md) or [viewsu(1)](/viewsu/1.md)), capability and permissions are enforced.

- **-f** *rcfile*

  - **--rc** *rcfile*

  Use *rcfile* as the initialization file for kmview. kmview always executes **/etc/viewosrc** if exists, then kmview executes the initialization file set by this option or **~/.viewosrc**.

- **-x**

  - **--nonesting**

  **umview** is 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 is possible to mount a file system image which is stored in an already virtually mounted filesystem. This feature requires the pure\_libc library.  The **-x** or **--nonesting** option disables the nesting feature.

- **-n**

  - **--nokernelpatch**

  **umview** is able to use some specific kernel extensions (when present)  to increase its performance. The source distribution of **umview** include 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 the PTRACE\_MULTI kernel extension.

- **--noksysvm**

  This option disables the PTRACE\_SYSVM kernel extension.

- **--nokviewos**

  This option disables the PTRACE\_SYSVIEWOS kernel extension (already experimental, not yet released).

- **-o** *file*

  - **--output** *file*

  This option diverts the debugging output to the file specified, it is useful when **umview** has been compiled with debugging extensions.

- **-v**

  - **--version**

  Print the version and exit.

- **-h**

  - **--help**

  Print a short help message and exit.

## SEE ALSO

**[um\_add\_service(1)](/um_add_service/1.md)** **[um\_del\_service(1)](/um_del_service/1.md)** **[um\_ls\_service(1)](/um_ls_service/1.md)** **[um\_mov\_service(1)](/um_mov_service/1.md)** **[umfuse(1viewos)](/umfuse/1viewos.md)** **[lwipv6(1viewos)](/lwipv6/1viewos.md)** **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\>.
