Slashdot Mirror


User-Mode Linux Merged Into 2.5 Kernel

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.

33 of 247 comments (clear)

  1. Good stuff. by Lukey+Boy · · Score: 5, Interesting
    I recently found a beautiful use for user mode linux - changing distributions with a minimum of downtime.

    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!

  2. not for the humor impaired by dboyles · · Score: 5, Funny

    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.'

    Finally, something that will get Linux accepted as a viable desktop operating system for all levels of users!

    --
    -- "Complacency is a far more dangerous attitude than outrage." -Naomi Littlebear
    1. Re:not for the humor impaired by TheGreek · · Score: 3, Informative
      AFAIK no other OS will offer this functionality.


      Sorry, no.
    2. Re:not for the humor impaired by jbolden · · Score: 4, Informative

      You forget MVS (even better than OS/400) which is based on running multiple virtual OSes of radically different types if needed all under extremely powerful management tools.

      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.

  3. Honeypot by GigsVT · · Score: 5, Insightful

    I imagine there are honeypot applications for something like this. You could make a cracker totally believe they had broken in when in reality they are just in a UML.

    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.

    --
    I've had enough abrasive sigs. Kittens are cute and fuzzy.
    1. Re:Honeypot by VC · · Score: 4, Interesting

      I just did this like 2 days ago. Im astounded that UML (bad name IMHO, been used already) is going into the main tree.
      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 ;-) so that ports 22 and 80 to to the *real* linux distro and all other exploitable ports goto my UML machine.
      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 / ;-)

    2. Re:Honeypot by bigjocker · · Score: 4, Funny

      # rm -rf / ;-)

      Why would you want do delete the winky tree??

      --
      Life isn't like a box of chocolates. It's more like a jar of jalapenos. What you do today, might burn your ass tomorrow.
    3. Re:Honeypot by puff-d-dwaggie · · Score: 3, Interesting

      I've done the Honeypot from home, but filled mine with killer bees instead. I used vmware to setup a honeypot machine running linux with a nice little samba server setup, and semilocked down. It was, however, filled with hundreds of programs and bullsnot documents all infected with one or more windows or dos viruses. I actually had someone email me and complain that my web server was virus infected and that it had caused major problems on their network when an employee of theirs had visited my website. They were threatening legal action and such. I replied to them that I didnt run a web server and that someone from their IP had hacked my machine. Several days later I got an apologetic email that also said the offending employee was no longer in their employ. I love my honeypot!

      "Get Moose and Squirrel!"

  4. What Are Some Other Uses? by MBCook · · Score: 3, Interesting

    Every time I've seen UML mentioned, it's in refrence to kernel programing/X programing/programing in general/software testing/etc. I understand how it would be incredibly usefull in this circumstances. But my question to you guys is this: how would it benifit Joe User to have this installed if he just surfs the web, does e-mail, plays games, GIMPs, etc? Other than just another layer of crash protection, what good is this to the masses?

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:What Are Some Other Uses? by aardvarkjoe · · Score: 4, Insightful

      The "good for the masses" part is that more people will be able to work on / test / debug new linux kernels, so that Joe User will end up with a more stable system. As far as Joe User who doesn't know what a kernel is, I doubt that there's much of a reason for him to be using it.

      --

      How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    2. Re:What Are Some Other Uses? by kgasso · · Score: 5, Informative

      In our office (Wholesale/Virtual ISP), we've been experimenting with UML for a while as a decent alternative to trying to virtualize every service and allowing some of our reselling ISPs to have their own username space - something I don't even want to attempt with Apache and most FTP servers.

      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!

  5. Limitations by deepchasm · · Score: 3, Interesting

    a safe, secure way of running Linux versions and Linux processes

    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. 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 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!

    1. Re:Limitations by Tom · · Score: 3, Informative

      strace runs just fine.

      I wanted to attach a few lines as proof here, but /. "junk filter" doesn't let me, no matter how much I try. Sorry, you'll have to verify for yourself.

      --
      Assorted stuff I do sometimes: Lemuria.org
  6. Re:FreeBSD's Linux emulation by sfraggle · · Score: 3, Informative

    They are entirely different things. FreeBSD's emulation does translation of the system calls into the corresponding FreeBSD ones; UML is a full Linux kernel running in user space.

    --
    were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
  7. Is there an parallel to FBSD's jail? by pschmied · · Score: 3, Interesting

    I know that FreeBSD's jail allows for some level of virtualization. My question is, how technically does this differ from the jail mechanism or does it?

    As a side note this sounds like a really cool idea, especially if you could virtualize multiple instances.

    -Peter

    1. Re:Is there an parallel to FBSD's jail? by autocracy · · Score: 4, Informative
      Jail doesn't spawn an entire new virtual machine as a single process.

      And yes, you can run many instances of UML.

      --
      SIG: HUP
    2. Re:Is there an parallel to FBSD's jail? by jelle · · Score: 3


      UML is not the same as jail(), but the vservers/ctx 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.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
  8. Re:all I have to say is.... by Soko · · Score: 3

    Right. The quote I'm thinking of goes something like this....

    "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

    --
    "Depression is merely anger without enthusiasm." - Anonymous
  9. Imagine... by stor · · Score: 5, Funny

    A Beowu*smack* ow.

    Cheers
    Stor

    --
    "Yeah well there's a lot of stuff that should be, but isn't"
    1. Re:Imagine... by adamjaskie · · Score: 3, Interesting

      /me gets the idea to set up a beowulf cluster of UML "boxes" to learn how to set up a cluster...

      --
      /usr/games/fortune
  10. Re:FreeBSD's Linux "emulation" by Anonymous Coward · · Score: 5, Informative

    Comparing UML to FreeBSD's API redirector (usually misnamed "Linux emulation") is like comparing Windows running in VMware to WINE. VMWare runs the true full blown MS-Windows while WINE redirects the calls to approbate native calls/code. Likewise, UML runs the true full blown Linux kernel while FreeBSD just redirects the calls to native calls/code.

    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.

  11. UML = Unified Modeling Language by WindowsTroll · · Score: 5, Informative

    The use of TLA's (Three Letter Acronyms) has become so rampant that it is hard to find things which aren't referred to by their TLA. In many cases, the same TLA has more than one meaning, so the users of the acronym are able to keep the context straight. In this case, where the software sector has a standard definition of UML, reusing the acronyn will only spread confusion

    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.

    --
    "Microsoft has made computing accessible to a population who would otherwise not be able to use computers" - B. Kernigha
    1. Re:UML = Unified Modeling Language by mshiltonj · · Score: 3, Interesting

      VLM - Virtual Linux Machine?
      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.

  12. I don't get it by schlach · · Score: 3, Insightful

    I imagine there are honeypot applications for something like this. You could make a cracker totally believe they had broken in when in reality they are just in a UML.

    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 :) and give them unrestricted network access, you might be able to efficiently spy on what they're doing, maybe, but they've *still* taken over your network connection. 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...

    My $0.02

    1. Re:I don't get it by pabs · · Score: 5, Informative
      $iptables -t filter -A FORWARD -i tap0 -j in-throttle
      $iptables -t filter -A in-throttle -m limit --limit 5000/sec -j RETURN
      Thank you, drive through.
      --

      Odds of being killed by lightning and winning the lottery in the same day: 1 in 2^55

  13. Re:Redhat bloatware by zapfie · · Score: 3, Funny

    First off, you are comparing two things not of similar function. Second, a lot of Word's functionality is also included in shared DLLs- that same winword.exe file won't run if you shove it on a bare machine. Third, you can rebuild the kernel to be as large or as small as you want (functionality-wise, which also affects kernel size). Red Hat's kernel is not the 'official' kernel, so it is misleading to say that the Linux kernel is now larger than the Microsoft Word executable.

    --
    slashdot!=valid HTML
  14. Well documented. by tshak · · Score: 5, Funny

    One of the great things about UML - unlike a lot of other OSS projects - is that it's very well documented. Thanks to the UML diagrams on UML, there is no confusion as to what UML is or what it does.

    --

    There is no longer anything that can be done with computers that is nontrivial and clearly legal. -- Paul Phillips
  15. Vservers/ctx patch can do this without overhead by jelle · · Score: 4, Interesting

    Somebody has to mention the Virtual Private Servers (vservers) and security contexts (ctx) patch, which takes chroot(), and adds the good stuff from jail() and more to make completely separated contexts for process groups, without the overhead of another kernel.

    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.

    --
    --- Hindsight is 20/20, but walking backwards is not the answer.
  16. Combine with DebianEdu by Perdo · · Score: 3, Funny

    To keep those little brilliant (bastard) children from wrecking your shiny new Linux lab.

    --

    If voting were effective, it would be illegal by now.

  17. Another important use by fireboy1919 · · Score: 5, Interesting

    There are several products that require a custom kernel, and this could certainly benefit all of them.

    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).

    --
    Mod me down and I will become more powerful than you can possibly imagine!
  18. Synopsis. by mindstrm · · Score: 3, Interesting

    The news here is that it is merged into 2.5

    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.

  19. Well.. by mindstrm · · Score: 3

    Consider a firewall where the only IP layer things that are seen are actually coming from instances of UML.
    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.

  20. I don't get it. by LordNimon · · Score: 3, Interesting

    I've read the web site, but I still don't really understand what UML is. How is it different from something like VMWare?

    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart