User-Mode Linux Merged Into 2.5 Kernel 247
An anonymous reader writes "With little fanfare, User Mode-Linux (UML) has been merged into Linus' BitKeeper tree. The merge followed a patch by UML author Jeff Dike, resynching UML with the 2.5.34 development kernel.
From the UML homepage, User-Mode Linux provides you with a virtual machine that offers 'a safe, secure way of running Linux versions and Linux processes. Run buggy software, experiment with new Linux kernels or distributions, and poke around in the internals of Linux, all without risking your main Linux setup.'" There's more UML resources available at the community site.
long time coming.. (Score:2, Troll)
Maybe linux development will speed up a bit.
Re:long time coming.. (Score:2)
I was talking about all the highschool/college kids who can now more easily dissect and play with the linux kernel, in an 'approved' way.
Still wondering why I got modded down as "troll". Offtopic, overrated or redundant make more sense.
Oh well, I guess the elitist mentality of the linux zealot doesn't like the concept of "weekend warriors" daring to play with the same toys as him.
Re:long time coming.. (Score:2)
Messing about with smaller, less intensive, projects and architecures means I use the heavy lifting of those working on the main tree to assist me develop the Linux project in a niche here or there though.
However, it would be nice to mess about with a 2.5 series kernel just to see what it does and UML could give me that.
Good stuff. (Score:5, Interesting)
I have a RedHat box that's colocated that I wanted to move over to Debian - so I installed UML and loaded Debian onto one partition, got everything set up correctly and told LILO to boot off the new slice. After a few minutes of praying Debian came up running all the correct services.
Thanks to the UML team!
Another important use (Score:5, Interesting)
The one I'm thinking of right now is Win4lin, the cheapest, fastest Windows VM for Linux right now; it needs a kernel with its own patches, and they distribute patches for Debian, Slackware, Mandrake, and Vanilla kernels. My distro (Gentoo) makes a kernel which is known for its speed, but which I'm not using right now because of this (I can't even patch the Vanilla kernel to that level because it the Win4lin patch conflicts with Gentoo's patches).
Re:Good stuff. (Score:2)
No I haven't done any research.
Re:How fast is User Mode Linux? (Score:2, Informative)
not for the humor impaired (Score:5, Funny)
Finally, something that will get Linux accepted as a viable desktop operating system for all levels of users!
Re:not for the humor impaired (Score:1)
Re:not for the humor impaired (Score:3, Informative)
Sorry, no [ibm.com].
Re:not for the humor impaired (Score:4, Informative)
Still I agree 100% with your main point that while this is a big step up for Linux it ain't playing in the same ballpark yet.
Re:not for the humor impaired (Score:2)
VM is very unlike OS/400 - one is a hypervisor, the other is an OS.
Re:not for the humor impaired (Score:2)
Off topic question: Do you know why IBM changed the name to zOS?
Windows emulation built-in? (Score:2, Funny)
Honeypot (Score:5, Insightful)
For the ultra paranoid you could also make a backup copy of your whole UML partition and only run services in that, periodically restoring it from backup, and copying in the new data that is stored on the real OS. If you got broken into, it wouldn't really matter.
Re:Honeypot (Score:4, Interesting)
UML is awesome, dont just set up 1 honeypot, set up 5 let the hacker think theyve found a whole network..
Ive got my machine (no you cant have the IP
Except that ive got TCP wrappers set up so that when you connect to my virtual machine, it NMAPs you and logs it all to a file.
But probably the most fun thing you can do is test things like:
# rm -rf /
Re:Honeypot (Score:4, Funny)
Why would you want do delete the winky tree??
Re:Honeypot (Score:2)
bash: syntax error near unexpected token `;-)'
I don't get it (Score:3, Insightful)
Except for the 0.02% of people out there, and maybe 98% of businesses, that have anything on their computers that's more useful than the computer itself, I don't know why this would make a good honeypot. The cracker won't just think he's broken in... he will have really broken in.
Not so much a honey-pot as a pot-o-honey...
The UML website mentions applications as a sandbox, which makes sense, but if you're going to run vulnerable apps to lure hackers (i refuse to mistake hackers and crackers
My $0.02
Re:I don't get it (Score:5, Informative)
Re:I don't get it (Score:2, Informative)
Re:I don't get it (Score:2, Insightful)
But you just have... Particually when combined with:
They can now use it for a DDoS zombie, an IP bounce, or maybe just put some of their own filez on that wu-ftpd server you set up to get knocked over...
Learn
Well.. (Score:3)
The host kernel is just running bridging (and filtering, of course) , and doens't even have an IP of it's own.
So your NAT device is actually a UML instance.
So hey manage to get root on it.. even so, the traffic to it is filtered at a layer they cannot even see. They just can't get there from, well, there.
Re:Honeypot (Score:3, Interesting)
"Get Moose and Squirrel!"
FINALLY! (Score:1)
UML is something that i haden't heard about, prolly because i havent kept up, but this sounds freaking awesome!
Re:FINALLY! (Score:2)
FreeBSD's Linux emulation (Score:1)
Re:FreeBSD's Linux emulation (Score:3, Informative)
Re:FreeBSD's Linux "emulation" (Score:5, Informative)
UML adds more layers before a system call makes it to the hardware than simple API redirection. For example, for a program running in UML to read from the CD-ROM, the real kernel only provides access to the block device and the UML kernel translates the block device/ISO9660 accordingly for the file access calls. In UML, reading of the structures as following ISO9660 is done is *user space*. FreeBSD's API redirector breaks the block device structures from ISO9660 to approbate formats for file system calls all in the FreeBSD kernel. FreeBSD's Linux "emulator" does not achieve the same redefination of what occures in user space as opposed to kernel space at all. If FreeBSD can't run Linux binaries faster than UML then something is very wrong. However, it would be interesting to see if FreeBSD's API redirector could run UML and see if UML runs faster on top of FreeBSD or on top of Linux.
What Are Some Other Uses? (Score:3, Interesting)
Re:What Are Some Other Uses? (Score:4, Insightful)
Re:What Are Some Other Uses? (Score:5, Informative)
So far it's been fairly stable, after working out a few quirks. Definitely worth the trouble of getting everything set up. Makes backups on the UML servers stupidly-simple too.
Congrats to the UML developers on clearing this hurdle, and here's to hoping it betters future development on the project!
Re:What Are Some Other Uses? (Score:1)
It's exactly like a honeypot project, except that you are not going to invite people to hack.
I was going to write a howto for it but since it's a duplicate effort of honeypot project. You may refer to it. It's really useful when you couldn't affort to spare an extra box for your firewall.
Re:What Are Some Other Uses? (Score:1)
Re:What Are Some Other Uses? (Score:2)
Of course, the options above are much more useful in Windows than Linux, since Linux doesn't have much in the way of viruses, trojans, or spyware, but if it becomes more popular on the desktop, all those nasty things will come in full force, and we will be ready.
Another sandboxing application that Joe User might be interested in is for servers. Lots of people like to set up personal web servers for one reason or another, and this is frequently a big security risk. But if he can install it in UML (or preferably download a pre-made UML image with the web server installed) the rest of his computer will be pretty safe.
Another security possibility is for a personal firewall. If you ran your whole system in UML, and ran nothing but a firewall on the "real" machine, you could get many of the advantages of a firewall without a second computer. This is probably not particularly attractive, since you don't really need the firewall to be seperate from the workstation, but it is a possibility.
I personally would love to see UML ported to Windows as a way to run Linux apps under Windows.
Re:What Are Some Other Uses? (Score:2)
The idea is that you install a bunch of applications and with each one, tell the system if it's a component of (ie, should share the filesystem and permissions of) another program, related to it (in which case they need or one two way access to the files of the other, though possibly read-only) or completely unrelated, where they can "scan the whole system" and not see each other. (Of course, the whole system would appear to be an empty windows install until you set otherwise.)
This way your virtual copy of Outlook (needed for calendaring in your company) would think it was the only thing installed, but your other apps could see Outlooks files, though in read-only mode to allow for importing of mail, or what-now. If you clicked on an email attachment it'd default to running it in a seperate filesystem unless told otherwise. If it's an
With a system of hard-links you could make a "windows install" that you could have tons of copies of without taking more room, except for files modified by the program running in that particular partition.
This would also work in VMWare, if you could make it run from a Linux filesystem, but the overhead of running a new VM for each program is overkill.
Re:What Are Some Other Uses? (Score:2)
Limitations (Score:3, Interesting)
Well, yes it is, but if you want to take advantage of the security, and debug processes in depth, then you might have some problems.
Many of you will probably remember the Reverse Challenge [honeynet.org]. One evening I downloaded the malicious binary, and decided that UML would be ideal to try running it in a tightly controlled enironment - using fenris [bindview.com] to trace its execution and learn more about it.
Unfortunately, fenris doesn't work under UML (neither does strace if I remember correctly).
Shame. It's a lot cheaper than VMWare!
Re:Limitations (Score:3, Informative)
I wanted to attach a few lines as proof here, but
Few things more deserving... (Score:2)
So, cool to see it gets the official seal of approval.
That Linux... (Score:1)
Re:That Linux... (Score:1)
Re:That Linux... (Score:1)
Linux is so Derelicte.
Shameless. [imdb.com] Simply shameless.
Is there an parallel to FBSD's jail? (Score:3, Interesting)
As a side note this sounds like a really cool idea, especially if you could virtualize multiple instances.
-Peter
Re:Is there an parallel to FBSD's jail? (Score:4, Informative)
And yes, you can run many instances of UML.
Re:Is there an parallel to FBSD's jail? (Score:1)
It could be argued that if both ways are done right, the latter might offer a cleaner separation.
Another difference is that of how you work with the two. With UML I presume you start a new kernel and boot it, while FreeBSDs jail() allows for a much more lightweight model. On my systems I usually rewrite the applications which communicate over networks to jail themselves, to minimize the impact of an exploit against the application. You can't really do the same with UML.
It would however be very interesting to see a detailed comparison, including focus on performance.
Re:Is there an parallel to FBSD's jail? (Score:3)
UML is not the same as jail(), but the vservers/ctx [solucorp.qc.ca] kernel patch and programs is, and it's got more features too.
Great for trying out other distributions, safe tryout of 'apt-get dist-upgrade', etc, etc.
Re:Is there an parallel to FBSD's jail? (Score:2)
Imagine... (Score:5, Funny)
Cheers
Stor
Re:Imagine... (Score:3, Interesting)
UML = Unified Modeling Language (Score:5, Informative)
If I were to create a software application called Great New Utility and referred to it as GNU, people would rightly be upset at me for trying to usurp an already common use of an acronym. In this case, I would probably be violating a trademark. The acronym of UML is already trademarked by Object Management Group, and has a common and well known usage.
Re:UML = Unified Modeling Language (Score:1, Informative)
Appropriately enough, TOS can also mean "Transfer Orbit Stage" amongst a host of other things.
Re:UML = Unified Modeling Language (Score:2)
Re:UML = Unified Modeling Language (Score:2)
RMS is right (Score:2, Funny)
Re:UML = Unified Modeling Language (Score:1, Offtopic)
> meaning, so the users of the acronym are able to
> keep the context straight.
Hear, hear! People should really make more judicous use of ETLAs instead.
Matt
Re:UML = Unified Modeling Language (Score:1)
Re:UML = Unified Modeling Language (Score:2)
Why? I haven't seen the Unified Modeling Language used much in the OpenSource enviroments where UML will be used, and outside those enviroments, User Mode Linux will probably have to be written out (and probably explained) to have any meaning, whether or not UML is used there or not. There's a programming language named Icon; I don't see hoards of confusion over that.
Re:UML = Unified Modeling Language (Score:2)
In some ways, that's a pretty severe indictment of Open Source. UML is about software analysis and design. Most Open Source projects, sadly, do not design their software, but start coding from minute one. There are exceptions though, but by and large most Open Source hackers don't have the patience to design their software (or validate it, or write documentation, or do usability studies, yada, yada, yada).
To be fair, a heck of a lot of closed source software isn't designed either.
Re:UML = Unified Modeling Language (Score:2)
In some ways, that's a pretty severe indictment of Open Source. UML is about software analysis and design.
You don't quite come out and say it, but I'm getting the impression of
OpenSource doesn't use UML.
UML is about software analysis and design.
Therefore, OpenSource doesn't do software analysis and design.
That is to say, UML is not the only way to do software analysis and design. Bertrand Meyer has thrashed UML pretty hard: So, although UML willbe successful at first, because it has the right endorsements, it will be of little use to the actual process of developing software. [inf.ethz.ch] (Unfortunately, I can't find the article where he let loose with both barrels.)
most Open Source hackers don't have the patience to design their software
Or the knowledge - I don't remember anything in any of my compsci classes about designing software. Open Source ad-hoc design, build, and redesign and rebuild seems to have worked pretty well in some cases.
or validate it
Money, perhaps? Spending several thousand dollars for a validation kit that I can only use on my machine is quite pricy.
or write documentation, or do usability studies
Serious user documentation in the commericial world is done by writers, not programmers. You can't expect people whose skills are programming to do everything.
Re:UML = Unified Modeling Language (Score:2)
UML is hardly a necissary tool for designing software. In fact, if the task is simple enough source code can be the best design document. People that are too closed minded to consider more than one solution to a problem make poor software developers.
most Open Source hackers don't have the patience to design their software (or validate it, or write documentation, or do usability studies
You unfairly limit this to Open Source developers. Colsed source developers are just as lazy if not more, and typically the only reason such a programmer will think out a design before starting or write complete documentation is because it's company policy.
Re:UML = Unified Modeling Language (Score:2)
No, it's not necessary. But it is common enough that Open Source developers should think UML == "Unified Modelling Language", instead of "User-Mode Linux". I may not need blueprints to build a house, but I should still know how to read them.
Re:UML = Unified Modeling Language (Score:2)
Since I don't do things that involve those kinds of higher level languages, my first encounter with "UML" actually was "User Mode Linux". So when I see "UML" that's what I think of. In fact it took a while for me to figure out why it all those developers seemed to be interested in using User Mode Linux.
I propose we adopt a new meaning for "UML" as "Ubiquitous Mysterious Logic" or "Ugly Men Lurking".
Re:UML = Unified Modeling Language (Score:3, Interesting)
UMK - User Mode Kernel?
LUM - Linux User Mode?
LVM - Linux Virtual Machine?
PUL - Partitioned User Linux?
LUK = Linux User Kernel? (pronounced Luck!)
Whatever. I do think an new acronym should be found for this.
Re:UML = Unified Modeling Language (Score:2)
VLM for Virtual Linux Machine would have been good, but too late now I think. Oh well.
Re:UML = Unified Modeling Language (Score:2)
Sounds like the Hurd (Score:1)
Wow! (Score:1)
Man! That's just some cool shit!
Could this be used like the NT Hal? (Score:1)
Port UML to Win32 (Score:1)
Well documented. (Score:5, Funny)
More info here: (Score:2, Informative)
Vservers/ctx patch can do this without overhead (Score:4, Interesting)
I've been running Debian 2.2r7 and RedHat7.2 in parallel with Debian/Woody on the same box for months now with this patch.
Re:Vservers/ctx patch can do this without overhead (Score:2)
Re:Vservers/ctx patch can do this without overhead (Score:2)
Inside a (numbered) context, vservers offer a root user that doesn't have all capabilities, such as for modifying the ifconfig, routing table,
Plus, processes inside a particular context can only see other processes that are in the same context (ps, top).
When you use vservers to give users virtual 'root' accounts, with each having their own complete Linux installation tree, you can make the standard files of the distributions hardlinks to only a single copy, and then chattr them immutable. That means you don't need as much diskspace, because all standard files share their diskspace. The 'vserver root' can then not modify the file (however, remove and replace with a self-compiled works fine if the directory is not made immutable).
There's probably more, this is what I could think of right now.
This is just like Windows' Task Manager..... (Score:1)
server failover (Score:1)
Re:server failover (Score:2)
Re:server failover (Score:1)
Think a little more general: Some pool "N" of UML instances running on a smaller or same-sized pool "M" of physical machines. If you could migrate a UML from machine to machine, you'd be all set. You could even load-balance, so that "M" could be noticeably smaller than "N". You could also change "M" on the fly, say, for maintenence purposes (eg. backups).
--JoeCombine with DebianEdu (Score:3, Funny)
Amazing. Simply amazing. (Score:1)
small, dedicated devices.
With each day that goes by, it seems that the folks in Redmond [microsoft.com] have a deeper hole to dig their way out of...
UML Windows port? (Score:2, Insightful)
Re:UML Windows port? (Score:2)
It's called LINE (Score:2)
Not exactly (Score:2)
fantastic (Score:1)
There have been alot of comments about UML and the other meanings of the TLA. Well, we're going to run out eventually, what then? Its all in context.
Also, other comments mention this will bring in new kernel developers. Well, thats right because I'll be working on some ideas very soon!
Synopsis. (Score:3, Interesting)
UML is not new, though this will certainly make things better.
Just think of the neat firewalling you can do.
Run your DNS servers inside a UML session, with traffic to them filtered by firewalling on the host... even if someone breaches BIND, they are stuck in a machine, can't go anywhere, because all traffic to that machine is filtered.
Virtual linux machines for each service that is not performance critical.
SMP (Score:2, Interesting)
WHEE! (Score:2)
Think about it - they get full ring3 native assembler optimization for the computation (none of this Java/emulation stuff) and only encounter a minor penalty when they need to talk to the net or a "disk" - virtual or no. And, with iptables on the real kernel one can set up arbitrary network access rules for the UML world. And since the disks are just files or real disks, you have near-perfect control there too. The only thing I can think of not working is device driver modules like NVdriver... but that shouldn't be a terribly big drawback.
Sorry if that's incoherent, it's 4:00 here and I'm really really tired.
--Knots;
I don't get it. (Score:3, Interesting)
Re:I don't get it. (Score:2, Informative)
Well ... it's free.
Seriously, VMware lets you run a regular OS on emulated hardware. UML lets you run an emulation OS on real hardware. Both run on top of a standard OS (with real hardware).
VMware is not itself an OS - it provides a virtual PC which your regular OS thinks it owns. UML is an OS, which knows full well it does not own any hardware. The processes running under UML do not necessarily know that, though, since UML provides a near-standard environment.
(Related point: for those of you who think you're going to set up a honeypot that the cracker will break into and think he 0wns the bare metal - keep in mind that UML was not really designed to hide its own nature, so it's not hard to check for. And if you crack root in the UML, it's possible to get out of it. So if you're using UML for security reasons, you probably should run it in its own chroot.)
Re:all I have to say is.... (Score:3)
"When you make something idiot-proof, the world just makes a better idiot".
Newbies will _find_ a way to hose thier machine, even with UML. You can bet on it. Me, I'm hoping I, er, they still can - there's no better way to learn how stuff _really_ works than by fixing it after you've "Blowed it up rreeaaaalll goooood!"
Soko
Re:Now to get MAC's merged in. (Score:1)
http://www.nsa.gov/selinux/news.html
Re:Woah (Score:2)
Re:Woah (Score:1)
Re:Redhat bloatware (Score:3, Funny)
Re:On the other hand... (Score:1)
Linux supports old XT harddrives but you don't see that bloating my running kernel. Although, the source is another story and I'm a big believer that source should be much more modular. Run the config and THEN download the source that you need.
Re:I wish ASUS would do this for BIOS (Score:2)
Re:I wish ASUS would do this for BIOS (Score:2)
Re:PS/2 (Score:2)
I was the administrator of a very small Netware/286 network about a decade ago (a 286 fileserver and 6 XT machines, well Compaq clones actually).
They all ran Wordperfect 4.2 brilliantly, but we needed more, so I persuaded the boss to let me buy a 386 system at an auction - and the PS/2 was the cheapest, because nobody was interested in them because of the MCA architecture.
Sure was a good system though.