Slashdot Mirror


SUA Deprecated In Windows 8?

An anonymous reader writes "I just tried to install Subsystem for UNIX-based Applications (SUA) on Windows 8 Preview and found that it's marked as DEPRECATED: 'Subsystem for UNIX-based Applications (SUA) is a source-compatibility subsystem for compiling and running custom UNIX-based applications and scripts on a computer running Windows operating system. WARNING: SUA is deprecated starting with this release and will be completely removed in the next release. You should begin planning now to employ alternate methods for any applications, code, or usage that depend on this feature.'"

41 of 226 comments (clear)

  1. Metro by jdkc4d · · Score: 3, Funny

    I guess they want to come out with a new "metro"-version.

    1. Re:Metro by tlhIngan · · Score: 3, Insightful

      Nope. SUA is predominantly used for console applications. They've moved on from "Extend" to "Extinguish" now.

      It's console-only, actually. It's just something that runs on the POSIX subsystem that NT provides, but it really sucks. First, it's an ancient POSIX interface. Second, it's command line only - it's not like you get X or anything. Third, well, you lose access to Win32 (can't cross subsystems).

      If's really a checkbox item, just like how NT had the ability to run OS/2 programs too.

      If you're porting a Unix app to Windows, you don't use SUA. You use a Unix-to-Win32 porting library (of which Cygwin is just one), just like how Windows apps can be ported to Linux using WineLib or its commercial equivalents as well.

      Hell, a Cygwin program at least can mix Win32 API calls with POSIX calls, because Cygwin maps POSIX calls to Win32.

  2. Cygwin by paugq · · Score: 4, Insightful

    Why would someone use SUA, which is only contains very old versions of the software it bundles? There is Cygwin, which is a much much better alternative. Sometimes, even MinGW is a valid alternative because it generates a native application (though it requires some porting effort, which may be unacceptable in many cases).

  3. Who uses that anyway? by Hatta · · Score: 3, Informative

    Cygwin or UnxUtils work great.

    --
    Give me Classic Slashdot or give me death!
    1. Re:Who uses that anyway? by CrashNBrn · · Score: 3, Informative

      There's an updated UnxUtils on googlecode.

  4. projects depending on this by eexaa · · Score: 2

    Well, I actually failed to find a project that would really depend on SUA. Anyone knows about anything that would be harmed by this change?

  5. Re:I feel like... by j-pimp · · Score: 5, Insightful

    Or maybe no one is using it, and its not worth the support headaches. As others have, and will continue to suggest throughout the comments in this article, cygwin, mingwsys, UnxUtils or even a full blown unix VM are fine substitutes for SUA. Now, if you are actually using SUA in production, and this negatively effects you, that would be interesting to hear about.

    --
    --- Justin Dearing http://www.justaprogrammer.net/ We're just programmers.
  6. Re:Cygwin by Anonymous Coward · · Score: 2, Informative

    How about this? http://www.redhat.com/services/custom/cygwin/

  7. Re:Cygwin? by MightyMartian · · Score: 3, Informative

    Have you ever actually tried to use Cygwin as a *nix-compatibility layer in a production environment. The word "kludge" doesn't seem to begin describe it.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  8. Now you have it, now you dont. by unity100 · · Score: 2, Insightful

    This is how it is with microsoft. You cant rely on ANYthing from them - they can just shut down or bail out on you (bcentral, silverlight, soon .net), and you will have to spend a lot of time and funds to go around the pain they cause you.

    1. Re:Now you have it, now you dont. by beuges · · Score: 2

      Now, it seems, MS has kicked the .NET/C# programmers to the curb, announcing that HTML5 and Javascript (??!!!!) were the "new" dev tools

      Hello, I am billions of dollars of enterprise backend software written in C# and .net. Can you please explain to me how Microsoft is going to phase out C# and convince the millions of C# developers to rewrite their enterprise software in HTML5 and Javascript?

      Can you explain to me how future versions of SQL Server, Exchange, Sharepoint, etc, are going to be written in HTML5? How ERP systems are going to be written in HTML5? How airline booking systems and restaurant ordering systems and IDEs and Disk Utilities and Virtualization software are going to be written in HTML5? Sure, it's possible to write the front-ends to these systems in HTML5 and Javascript, but if you honestly think that Microsoft is going to deprecate the entirety of C# in favour of HTML5 and Javascript, then I am sorry but you are not a software developer of any calibre whatsoever.

      Are you beginning to realise how ridiculous these claims of C# being kicked to the curb actually are yet?

  9. Re:Cygwin by LoudNoiseElitist · · Score: 2

    Commercial customers that require production-quality platforms with enterprise-level support are probably already using *nix.

  10. Re:Source by fnj · · Score: 2

    Jesus, did you even read TFS? "WARNING: SUA is deprecated starting with this release and will be completely removed in the next release." Or do you not trust what Microsoft themselves tells you about their products (hmmm, can I get back to you on that one ...)?

  11. Re:I feel like... by adonoman · · Score: 3, Insightful

    a full blown unix VM

    That's the key right there. With virtualization software in the state that it is now, why would you run POSIX applications shoe-horned into windows, when you can have a proper POSIX system running in a VM.

  12. Re:Cygwin by dmmiller2k · · Score: 2

    SUA was once called SFU (Services For UNIX), and it replaces the built-in POSIX subsystem which has been an integral part of NT since NT 3.1.

    The built-in POSIX subsystem alone was basically useless as shipped, since it came without many command line utilities, but SFU (now SUA) upgraded it to a more or less useful configuration, including a series of commands built to use the API; in some ways it accomplished the same thing as Cygwin, but in a different way.

    In my opinion, Cygwin is vastly better since it contains more utilities, is more aggressively maintained and updates are more frequent.

    --

    "No matter how cynical you get, it is impossible to keep up." -- Lily Tomlin

  13. Windows itself seems close to being deprecated by jmorris42 · · Score: 5, Interesting

    Is this a shock to anyone after The Week of Windows 8 Hype? If there was a theme running through all of the stories it was this: Windows as you have known it is deprecated, a traditional Windows desktop will be available (certainly on x86, perhaps on arm) for those who are determined enough to figure out how to reenable it but don't expect it to last much longer. If Windows and native Win32 executables themselves are on the chopping block why would they have any interest in maintaining a UNIX command line layer?

    Win32 (and UNIX more so) isn't going to lend itself to the sort of app store lockdown Microsoft is moving to. If you have a choice of buy Win32 apps/games at Walmart/Gamestop and Microsoft gets no taste of the action or buy everything at the App Store and give Microsoft 30%, which do you think they are going to 'nudge' you toward? And by 'nudge' I mean turn your PC into an iPhone with hard crypto locks and remove all options that do not let them rake off their 30 points.

    --
    Democrat delenda est
    1. Re:Windows itself seems close to being deprecated by roc97007 · · Score: 2, Interesting

      > Windows as you have known it is deprecated, a traditional Windows desktop will be available (certainly on x86, perhaps on arm) for those who are determined enough to figure out how to reenable it but don't expect it to last much longer. If Windows and native Win32 executables themselves are on the chopping block

      I think that's going to last about 6 months after Win8 release, and then they're going to realize that early adopters are putting keyboards and mice on their tablets and struggling to re-enable the traditional desktop because that interface reused from Windows Phone 7 isn't doing it for them, and the rest of us are waiting to see what Windows 9 looks like.

      Then Win8 service pack 1 will add back in a bunch of stuff they had taken out, and make the traditional desktop the default.

      Just sayin'

      --
      Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
    2. Re:Windows itself seems close to being deprecated by shutdown+-p+now · · Score: 2

      a traditional Windows desktop will be available (certainly on x86, perhaps on arm) for those who are determined enough to figure out how to reenable it

      "Determined enough"? You mean, like locating a huge (2x1) tile labeled "Desktop", with Win7 wallpaper for the background picture, right at the home screen?

  14. Re:Cygwin by Angostura · · Score: 3, Informative

    Reaching back a bit, I think the use was that it meant that Windows NT and successors could tick the "Posix compliant" tick box that was required by some (mainly publice sector) contracts.

    Perhaps Posix is no longer on so many checklists.

  15. Re:I feel like... by tmcb · · Score: 2

    The problem is that VMs consequently bring an isolation level that doesn't allow you, for example, to work at the native filesystem. You cannot easily grep something in your "My Documents" folder, as far as I know and, even if you can, you'll be consuming way more resources than needed, which may bring consequences as bigger execution times. They're a great solution for a lot of problems, though, don't get me wrong.

  16. This is by malevolentjelly · · Score: 4, Insightful

    If you look at the kind of work Microsoft has put into the Linux kernel recently relating to Hyper-V...

    https://lwn.net/Articles/451243/

    One might gather that it's not worth the trouble for NT to ape Unix anymore. Chances are pretty good Linux is the new SUA and virtualization will be the new supported solution to this problem. I mean, why should Microsoft bother maintaining its own Unix tools when they're actively maintained elsewhere? Given the work they've done on both virtualization and linux integration I would say that there's no great conspiracy here.

    1. Re:This is by Gyorg_Lavode · · Score: 2

      I always thought Microsoft could be unique from the likes of google, etc by doing just that. Take all the services google offers and provide them as microsoft server Apps. That way a business could have it's cake (all the cool web apps) and eat it too (have them hosted locally). I personally run an internal Windows SBS because I like all the capabilities exchange and a DC provide but I don't want them provided by some external service.

      Microsoft, if you're reading this, provide a real note app too al-la springpad. It could be onenote based. As long as it runs on everything (andriod, ios, browser, windows, tablets), and syncs across a network I'll be happy. I don't like having all my ideas and thoughts in some data center somewhere.

      --
      I do security
  17. SUA vs Cygwin (Re:Cygwin) by mewyn · · Score: 4, Informative

    So, many people keep wondering why use SUA vs Cygwin?

    Well, first off the basic thing is speed. SUA has kernel hooks for syscall translation. It's able to do many of the POSIX syscalls in a much quicker fashion than Cygwin. Cygwin, on the other hand, does *everything* for POSIX syscalls in userland, causing it to be slow (for example, a fork, at times can take *seconds* to complete).

    So, SUA is much better this way... problem is, it's tricky to get things to compile for it, I never did get things building reliably for it. Cygwin has a full suite of programs already built, and it's much easier to build existing Linux/UNIX/POSIX programs for than SUA.

    Being a Windows user who needs *NIX tools for many processing tasks, what do I use? Cygwin. Easier to set up and get running. The speed drives me insane, though. My login script, which runs many programs before bringing up my bash prompt will take 5-6 seconds.

    Ideal solution: Hyper-V or some other VM software running a VM in the background that I can get a terminal to, that has filesystem access to my system drives too.

    1. Re:SUA vs Cygwin (Re:Cygwin) by Lennie · · Score: 2

      Fastest and most compatible way to run Linux programs on Windows (which doesn't even need any special hardware) ?

      http://colinux.org/

      --
      New things are always on the horizon
  18. Re:Cygwin by EvanED · · Score: 5, Interesting

    It's not Cygwin. It's an implementation of the POSIX APIs that goes directly to the NT APIs instead of through Win32.

    I can't comment much on the tradeoffs except to say that I think it solves the problem of Cygwin's fork() being terrible. (SUA also provides a route to get multiple files with the same case-folded name but different case-sensitive names, which I don't think you can do with Cygwin since it goes through the Win32 API.)

  19. Re:Can we stop with the anti-Microsoft FUD? by geekoid · · Score: 2

    What FUD? This is an actual story about actual facts involving MS. That is NOT FUD.

    What Fear? What uncertainty? what doubt?

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  20. SUA is already dead in Windows 7 by guruevi · · Score: 2

    They've killed it by only supporting the features necessary to re-share existing NFS services using SMB and AD. Integration of Windows with non-AD LDAP and Kerberos is virtually non-existent and requires a ton of work and 3rd party utilities to get it working. I don't think NFSv4 is even supported.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  21. Re:Microsoft up to its old tricks by Alien+Being · · Score: 2

    "Should be a rule that you dont' create a model that depends on Microsoft."

    If you make an application that runs on Windows, then it depends on MS. How many people had their Netscape installations disabled by MS updates of IE? How many application vendors were unable to compete because MS was the only one with access to undocumented APIs? You do remember that the DOJ eventually found them guilty of unfair trade practices because of these tactics.

    Or what about workalike operating systems like DR-DOS. MS applications had explicit code to disable them if the user tried to run them under a competing vendor's OS.

    "All of the above would have happened without Microsoft's sabotage. I'm far from denying that any of the sabotage happened. I'm just saying that it wasn't very consequential. It was just stupid and immature in my view."

    Yes, your honor, I shot those people and they died. It's OK though, because they were weak and they would have died anyway. I didn't murder them. They committed suicide.

    MS should be shut down completely. Their unfair trade practices have taken a huge toll on both consumers and vendors. Now that they have completed their "slap on the wrist" sentence, they're right back out there, as bold as ever, mugging everyone they can.

  22. Re:Cygwin by Threni · · Score: 3, Funny

    The installer for Cygwin is extremely simple and intuitive to use, andmakes remote, unattended installs a breeze,so you'll have no difficulties there.

  23. Re:Cygwin? by sunderland56 · · Score: 4, Interesting

    100% agreed. The commercial alternative - MKS Toolkit - integrates seamlessly with Windows, and is both more complete and faster than Cygin. Yes, it costs money, and no, it is not open source - but if you need to do Unix-like stuff on Windows, it actually makes life tolerable.

  24. Windows doesn't fully support SUA even now... by Eyeballs · · Score: 2

    ...Which can be seen by viewing SUA based process in Windows's Task Manager.

    Do this:
    1. Install SUA
    2. Run KSH (the command line shell that SUA installs)
    3. Open Task Manager
    4. Change the columns so that 'command line' is showing.

    You will notice that the SUA processes have _wrong_ (corrupted?) information displayed. This is based on the fact SUA is a different _subsystem_ and stores process based information (specifically, command line information) in memory in a _different_ format than the _Win32_ subsystem.

    So when a Win32 process tries to access a SUA process...and there's no checking for a process' system type...

  25. 1-800-what-model-is-that? by epine · · Score: 2

    Troll much? But let's take a refresher course, ten years later.

    Should be a rule that you don't create a model that depends on Microsoft.

    1-800-what-model-is-that? I worked in the 1980s on Chinese, Japanese, and Korean input methods. CJK input was a time-limited product, completely dependent on Microsoft, so of course we got eaten when they folded CJK fonts and IME into the operating system.

    Your sentiment really pissed me off, because a lot of people gave blood to bring Microsoft down a peg or two in the 1990s so that in this day and age young people might suppose you actually know what you're talking about (other models existing, as they do now) when you spout nonsense like that.

    Watcom C/C++ was a superior compiler, but it got eaten alive by Visual C++, a product which set the C++ language back by almost five years by pretending to support standard features, but then only implemented namespaces one level deep, and cutting ever other corner in the template system a harried reviewer would miss on the first day (that was policy in all of their development plans).

    It was as if Visual C++ promised support for K&R C 100% except that nesting of curly braces was only permitted in main(). Nesting braces aren't very important, there are work-arounds. We'll get to it in a future release. Meanwhile: 1) Put your entire program in main(); Cry baby. 2) the comma operator is your friend; 3) assign variables within the expression of first use; 4) write your program in FORTH and cross-compile; achieve code re-use through the use of the #define facility; use VBASIC instead, it has no pretense to scale, and can't hurt you.

    Until Microsoft, nobody dreamed what you could do with the CPP in a pinch. If Google Code had existed in the late nineties, #ifdef _MSC_VER would have made the Google Zeitgeist.

    There's no denying the colossal stupidity of many of Microsoft's main competitors. I've even read comments by Microsoft execs who basically said "we were amazed to watch our competitors blow themselves up". So true.

    They never said that about Netscape. But what's one set of Nixon tapes among friends, anyhow, or forged video tapes submitted to the U.S. Justice Department?

    Microsoft submitted a second inaccurate videotape into evidence later the same month as the first. The issue in question was how easy or hard it was for America Online users to download and install Netscape Navigator onto a Windows PC. Microsoft's videotape showed the process as being quick and easy, resulting in the Netscape icon appearing on the user's desktop. The government produced its own videotape of the same process, revealing that Microsoft's videotape had conveniently removed a long and complex part of the procedure and that the Netscape icon was not placed on the desktop, requiring a user to search for it. Brad Chase, a Microsoft vice president, verified the government's tape and conceded that Microsoft's own tape was falsified.

    You need to bone up on game theory. After destroying a well-managed competitor funded on a world record IPO through a multitude of dirty tricks, a lot of smart people wandered around in a daze dialing 1-800-what-model-is-that?

    Top three fatal flaws in a 1990s era business model if your potential competitor was Microsoft:
    1. Revenue
    2. Market share
    3. Profit

    I recall it was the shops who were most dependent on Microsoft who made out best. Visio was an extremely well behaved ISV and they were ultimately rewarded for their OLE monstrosity. Is that what you had in mind? The independence of toady-hood?

  26. Oh, no, maybe 0.2 people affected by Quila · · Score: 2

    I have never seen one instance of this actually being used in any environment from small up to very large enterprise.

  27. Re:I feel like... by nabsltd · · Score: 2

    That's the key right there. With virtualization software in the state that it is now, why would you run POSIX applications shoe-horned into windows, when you can have a proper POSIX system running in a VM.

    I agree that SUA is pretty bad, but running Cygwin allows me to run commands like:

    sort -o /dev/clipboard /dev/clipboard

    This sorts the data on the Windows clipboard. Having the whole *nix user land plus access to Windows features/drives/data makes the command line in Windows much less painful than before. A VM won't really solve that.

  28. Re:Cygwin by Myria · · Score: 3, Informative

    I can't comment much on the tradeoffs except to say that I think it solves the problem of Cygwin's fork() being terrible. (SUA also provides a route to get multiple files with the same case-folded name but different case-sensitive names, which I don't think you can do with Cygwin since it goes through the Win32 API.)

    Yep, fork() on Interix (SUA) works much more efficiently. The NT kernel has supported what's essentially fork() since at least NT 4.0. The problem until Interix - and the reason why Cygwin's fork() sucks - is that the Win32 DLLs don't react well to being fork()ed. kernel32.dll gets confused, and simple things like console output stop working. Interix doesn't use the Win32 API, instead using a custom POSIX API and the NT API directly. The NT API has been updated to work in the event of a fork().

    The NT API function NtCreateProcess spawns a new process. The SectionHandle parameter takes a handle to the image section (IE, CreateFileMapping with SEC_IMAGE) representing the EXE you want the new process to run. If you pass NULL for SectionHandle, you will instead be creating a copy of the parent process's address space, the main part of fork().

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
  29. Re:Cygwin by jensend · · Score: 3, Informative

    Look, I love Cygwin and have been using it since forever. But it's pretty slow at a lot of crucial operations, making it unsuitable for a large class of things folks use SUA for.

    More importantly, it suffers from a serious lack of manpower and direction. For a project which is so vast and so important to open source, it has alarmingly few active maintainers. The lack of maintainers is made worse by the fact that a considerable amount of maintainer effort is duplicated between cygports and the official cygwin distribution.

    Everybody uses cygwin but as far as I can tell very few people pay RH for cygwin support, and thus there are AFAIK only three people who are paid for their work on cygwin.

    The lack of manpower really shows. Crucial packages go for long periods without important bugfixes, and new releases take a long time to get ported&integrated from upstream. Development on the cygwin core is fairly slow. NT-based versions of Windows offered quite considerable benefits over Win9x (lots of additional capabilities and much less of a mismatch with POSIX -> better security and performance), but the first version to really take advantage of these benefits was 1.7, released for Christmas 2009- 7 years after the majority of users (much less the majority of technical users likely to use cygwin) had made the switch. The developers had their first serious discussion about the possibility of a 64-bit version of Cygwin in June of this year; it will likely be quite a while before a 64-bit version is released. A lot of cygwin's performance problems could be fixed if the core developers weren't already overburdened as it is.

    Unless cygwin can attract a lot of new developers I don't think the project can stay up-to-date enough to continue to support the uses we all already rely on it for, much less be in a position to give SUA emigres a soft landing.

  30. Re:Cygwin? by Kaz+Kylheku · · Score: 3, Interesting

    100% agreed. The commercial alternative - MKS Toolkit - integrates seamlessly with Windows, and is both more complete and faster than Cygin. Yes, it costs money, and no, it is not open source - but if you need to do Unix-like stuff on Windows, it actually makes life tolerable.

    But Unix-like stuff itself is not tolerable, which is why it has to be reimplemented with GNU, Linux, Cygwin and other free software.

    For instance, how does the vi editor in MKS stack up to Vim? If the following link gives a more or less complete manual, it's freaking pitiful:

    http://www.mkssoftware.com/docs/man1/vi.1.asp

    Why would I pay money for that stuff if I would end up compiling GNU coreutils, bash, and other packages?

  31. Re:It's an even-numbered release, of course it's c by roc97007 · · Score: 2

    > Win 8 - it's gonna suck, right?

    Yep. It's inevitable. I think the even/odd thing is that in release (a) we try new stuff, and in release (b) we fix/withdraw it, and then in release (c) we try new stuff again, so it tends to devolve into even=suck odd=less_suck. Or the other way around, depending on if they start at "1" or "0".

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  32. Re:Cygwin by nschubach · · Score: 2

    I thought it was being replaced with STFU... to truly tell the users how they feel. ;)

    Of course, there's also the new service used for background downloading images called "NSFW" that was planned for Metro.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  33. Re:I feel like... by nschubach · · Score: 2

    You can map a VM drive to a user folder and tell Windows (quite easily now) to store your documents on that drive.

    --
    Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
  34. What packages are so slow to update? by msobkow · · Score: 2

    All I really use Cygwin for is a bash script interpreter. It's done a fine job of that, though it does take an abominable amount of time to start a console window.

    It lets me write cross-platform database installation scripts for *nix and Windows, but to be honest, that's about all the use I have for it at this time.

    I haven't even bothered updating the install in over a year. Why bother? It works.

    --
    I do not fail; I succeed at finding out what does not work.