User-mode Linux: Difference between revisions

Content deleted Content added
m Reverted edits by 177.37.130.168 (talk) (HG) (3.4.8)
cite web used (say no to link rot!); EL cleanup
Line 20:
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| status =
| programming language = [[C (programming language)|C]]
| operating system =
Line 32 ⟶ 31:
| website = {{URL|http://user-mode-linux.sourceforge.net/}}
}}
'''User-mode Linux''' ('''UML''')<ref>{{cite web |url=http://user-mode-linux.sourceforge.net/ |title=User-mode Linux Kernel Home Page|date=April 4, 2008}}</ref> enables multiple virtual [[Linux kernel]]-based operating systems (known as guests) to run as an application within a normal Linux system (known as the host). As each guest is just a normal application running as a process in [[user space]], this approach provides the user with a way of running multiple virtual Linux machines on a single piece of hardware, offering some isolation, generally without affecting the host environment's configuration or stability.
 
== Applications ==
[[File:Libvirt support.svg|thumb|300px|'''User-mode Linux''' is supported by [[libvirt]]]]
Numerous things become possible through the use of UML.<ref>{{cite web
Numerous things become possible through the use of UML.<ref>[http://www.landley.net/code/UML.html Rob's quick and dirty UML howto]</ref> One can run [[computer network|network]] services from a UML environment and remain totally sequestered from the main Linux system in which the UML environment runs.<ref>[http://www.dit.upm.es/vnuml Virtual Network User Mode Linux (VNUML): Virtual network scenarios based on UML]</ref><ref>[http://www.netkit.org NetKit: Emulating a Virtual Network using UML]</ref><ref>[http://www.marionnet.org Marionnet: Another network emulator based on UML]</ref><ref>[http://cloonix.net Cloonix-Net: Virtual Network emulation using UML]</ref><ref>[http://www.cs.mcgill.ca/~anrl/gini GINI: Virtual network based teaching toolkit using UML]</ref> Administrators can use UML to set up [[honeypot (computing)|honeypot]]s<ref>[http://user-mode-linux.sourceforge.net/old/honeypots.html: UML as a honeypot]</ref>, which allow one to test the security of one's computers or network. UML can serve to test and debug new software without adversely affecting the host system. UML can also be used for teaching and research, providing a realistic Linux networked environment with a high degree of safety.
| url=https://www.landley.net/code/UML.html
| title=Rob's quick and dirty UML howto
| first=Rob
| last=Landley
| date=2009-12-16
| accessdate=2019-08-29}}</ref> One can run [[computer network|network]] services from a UML environment and remain totally sequestered from the main Linux system in which the UML environment runs.<ref>{{cite web
| url=https://web.dit.upm.es/vnumlwiki/
| title=Virtual Network User-Mode-Linux
| date=2012-02-13
| accessdate=2019-08-29}}</ref><ref>{{cite web
| url=http://wiki.netkit.org/index.php/Features
| title=Netkit: Features
| date=2009-12-03
| accessdate=2019-08-29}}</ref><ref>{{cite web
| url=http://www.marionnet.org/site/?en
| title=Marionnet: a virtual network laboratory
| authors=Jean-Vincent Loddo & Luca Saiu
| accessdate=2019-08-29}}</ref><ref>{{cite web
| url=https://clownix.net/doc_stored/build-03-04/singlehtml/index.html
| title=Cloonix Documentation: v03-04
| date=2019-06-01
| accessdate=2019-08-29}}</ref><ref>{{cite web
| url=https://www.cs.mcgill.ca/~anrl/gini/
| title=Welcome to GINI! A Toolkit for Constructing User-Level Micro Internets
| date=2009-09-28
| publisher=[[McGill University]]
| accessdate=2019-08-29}}</ref> Administrators can use UML to set up [[honeypot (computing)|honeypot]]s<ref>{{cite web
| url=http://user-mode-linux.sourceforge.net/old/honeypots.html
| title=UML as a honeypot
| date=2007-07-13
| accessdate=2019-08-29}}</ref>, which allow one to test the security of one's computers or network. UML can serve to test and debug new software without adversely affecting the host system. UML can also be used for teaching and research, providing a realistic Linux networked environment with a high degree of safety.
 
In UML environments, host and guest kernel versions don't need to match, so it is entirely possible to test a "[[bleeding edge]]" version of Linux in User-mode on a system running a much older kernel. UML also allows kernel debugging to be performed on one machine, where other kernel debugging tools (such as [[kgdb]]) require two machines connected with a [[null modem]] cable.
Line 42 ⟶ 72:
Some [[web hosting]] providers offer UML-powered [[virtual private server|virtual servers]] for lower prices than true [[dedicated hosting service|dedicated servers]]. Each customer has [[Root user|root]] access on what appears to be their own system, while in reality one physical computer is shared between many people.
 
[[libguestfs]] has supported a UML backend since version 1.24<ref>[http{{cite web
| url=https://rwmj.wordpress.com/2013/08/11/experimental-user-mode-linux-backend-for-libguestfs/#content]</ref> as an alternative to using QEMU or KVM.
| title=Experimental User-Mode Linux backend for libguestfs
| date=August 11, 2013
| author=Richard WM Jones
| accessdate=2019-08-29}}</ref> as an alternative to using QEMU or KVM.
 
== Integration into the Linux kernel ==
Line 64 ⟶ 99:
 
== References ==
{{Citation style|section|date=September 2015}}
{{reflist}}
 
== External links ==
* [httphttps://uml.devloop.org.uk/ MoreReady-made recentUML kernels and file systems]
* [http://eggdrop.ch/texts/uml/ Running Debian inside of Debian with User-Mode Linux]
* [httphttps://linuxzoo.net/ Linuxzoo: Online free access UMLs]
* [http://www.user-mode-linux.org/~jdike/armin/Virtual-UML-Lab-Presentation.pdf Armin M. Warda: Virtual Labs with User Mode Linux, 2004]
 
{{Linux kernel}}