Windows 10 Spring Update Improves Linux On WSL With Unix Sockets and More (anandtech.com) 216
Billly Gates writes: Windows 10 build 1803 has come out this month, but with some problems. AnandTech has a deep-dive with the review examing many new features including the much better support for Linux. WSL (Windows Subsystem for Linux) now has native Curt and Tar from the command prompt as well as a utility to convert Unix to Windows pathnames called WSLpath.exe which is documented here. In addition it was mentioned on Slashdot in the past about OpenSSH being ported natively to Win32 in certain early builds. It now seems the reason was for Linux interoperability with this Spring Update 2. Unix sockets mean you can run Kali Linux on Windows 10 for penetration testing or run an Apache server in the background with full Linux networking support. Deemons now run in the background even with the command prompt closed. [...]
Running it from another drive? (Score:2)
They can get Linux to run as a layer or app under Windows, but can't figure out how to get it to run from a different drive. Some of us have a smaller SSD as C drive and would like to at least play with this without having to jump through hoops. Yes, I know about symlinks in Windows, but it's kind of a crappy fix, if it works at all.
Re: Running it from another drive? (Score:5, Funny)
Re: (Score:2)
Systemd's plan all along. (Score:3, Funny)
Eventually the Linux subsystem will be all that's left of Windows. Maybe a legacy support module on the side.
You'd have to call it the Linux supersystem by then, I think. Also "mission accomplished"!
Now you understand why the SystemD is on such a big phagocytosis spree :
Swallowing the whole Microsoft Windows into "system-msctl" was Lennart's secret end goal all along !
Re: (Score:3)
You misspelled KDE.
Re: (Score:2)
Okay, you mentioned 'different drive', so I'll ask here. Since I installed this update, Windows 10 has refused to allow apps run from a remote drive to open sockets. The same app, when copied to the C: drive works fine. A simple example is PuTty.
I'm sure this is some new security feature - but I need to disable it, since a win32 app I work on lives on a LAN drive (so, y'know, it gets backed up). I can build it there, but I can run it or debug it from there. I can run it if I copy it to my C: drive. Th
Re: (Score:2)
meant to say "I can't run it or debug it from there"
Re: (Score:2)
did you check your ACLs?
Re: (Score:2)
hmmm. It worked fine for me until I applied the update last week.
Re: (Score:2)
Why another drive? NTFS has had junction points for ages (at least since XP). You can mount a partition as a folder, just like you do on *nix. Check it out.
Re: (Score:3)
Some of us have a smaller SSD as C drive...
Wow, C drive, I almost forgot about that. I hope that does not trigger any other ancient, painful memories. How is life, back there in Hell?
Backslash for path separator :-)
Re: (Score:3)
Some of us have a smaller SSD as C drive...
Wow, C drive, I almost forgot about that. I hope that does not trigger any other ancient, painful memories. How is life, back there in Hell?
Backslash for path separator :-)
The registry for config
Differences (Score:5, Informative)
The differences are :
- On Windows, the use of .ini files has completely disappeared. Instead the registry hives being an opaque format that can be only access (in theory) with Windows' API of regedit. This would make it impossible to hand access them manually, say from a boot stick. (Well, in practice, there are 3rd party Linux tools able to access the hive format, so fixing from a boot stick is possible, but you got the idea).
- In gnome with gconfig the configuration is still stored in sets of plain XML files. Only they are now stored in an organized fashion in a specific set of subdirectories, and there's a centralized API and tool set to access them. But they are still human readable (you could still edit them with your favorite editor - emacs/vim/nano/ed) and easily machine readable (e.g. with your favorite Perl module such as XML::Twig).
The windows equivalent would have been if the .ini were kept, but now Microsoft defined a specific path to store them (e.g.: in a specifc subfolder tree within %USER_PROFILE% or whatever, instead of all over the place like in good old Win 3.x days) and mandated a specific API to manipulate them.
The closest thing to Windows' registry in Linux-land would be journald's internal database format, except that it has a very well documented format [freedesktop.org] and journald forwards messages to any of your favorite system logger as soon as that deamon startsup - and it is configured to do so by default on virtually all the GNU/Linux distributions except for the most storage-starved ones in embed systems (e.g.: mercore/Sailfish OS doesn't have a syslog forwarding setup by default because it has to run on your smartphone limited internal flash. But Raspbian forwards to syslog by default).
RegEdit FTW (Score:2)
Re: (Score:2)
XML is not human readable for any legal and/or regulatory definition of "human readable"
Re: (Score:2)
Re: (Score:2)
>> Backslash for path separator :-)
The backlash for backslash is huge.
seriously, MS should modernize now.
Re: (Score:2)
Modernise? Backslash is actually the newer - hence more modern - way.
Re: (Score:2)
Modern, or just failing to learn from the past?
I spent a few weeks in Germany on a German keyboard programming in C and Unix. This was a bit painful, you needed to press AltGr (right Alt key) to get a backslash, vertical bar, curly brackets, and square brackets(?). As a touch typist, this drove me nuts. Not just with hunt-and-peck but the difficulty of pushing AltGr every 3rd character. For the command line I had not set up autocomplete (not my computer) so using that backslash slowed me way down.
Re: (Score:2)
Oh, I know, I am German and I develop in C++ for Linux and it sucks. Normal slash is actually even worse on a German keyboard - shift+7, so a backslash is pleasant in comparison.
C, with its character salad syntax, is very specifically designed for the American keyboard layout, this is probably one of the reasons Pascal was so popular in Germany - it is simply less strain to type begin end; than {}
Re: (Score:3)
Re: (Score:2)
Some of us have a smaller SSD as C drive...
Wow, C drive, I almost forgot about that. I hope that does not trigger any other ancient, painful memories. How is life, back there in Hell?
Hey now, CP/M and CMS wasn't that bad! It was a perfectly acceptable OS for your 80's multi-architecture and single user needs.
Of course it is strange parent poster didn't use the SSD to replace their A: hard drive.
Gotta really wonder what SSD is being made that is smaller than the C: floppy disk used originally.
Especially seeing as they only replaced the second floppy drive!
Comment removed (Score:4, Insightful)
Curl (Score:3)
i presume we mean curl but this is moot. Anyone who needed curl or tar "from the command prompt" (as if it came anywhere else?) {...}
Yes, curl comes anywhere else.
It has also a library (libcurl) and that library is used for web interface by lots of modules.
Probably lots of GUI application use curl as their peculiar backend to download stuff.
Except that in WSL's specific case, support for GUI isn't stellar (basically, you need to X-over-network to a Windows native X-Server), so probably nobody is using GUI, and in practice, yes, curl is mostly only used on the command line in Windows-land.
Re: (Score:2)
So far bootstrapping things like Kinect, office, and exchange to their cloud offering has boosted its presence in much the same way that paying hosting providers to switch their park-web sites to IIS static pages improved their netcraft numbers.
So ... translated into very real income and marketshare making it the most profitable part of the company?
Re: (Score:2)
> Daemons,Welcome to 1991.
It's a lot older than that. I remember using nohup in BSD 4.3 in 1987, over thirty years ago.
Cygwin is useful (Score:2)
We use it to have an acceptable system when we have a Windows system forced down our throats on a work computer.
Cygwin is more easily installed. (Score:2)
I am able to load Cygwin on my Windows 10 system at home in the /cygwin64 directory, bring it to work on a flash drive, unzip it on my work desktop, and I suddenly have X-Windows, an ssh suite, and a compiler.
It is unlikely that I will be getting WSL on my work machine without lots of approval gymnastics, so I will pass on it for now.
Re: (Score:2)
And if you're on a previous version of Windows? Many people are not on Windows 10. Also WSL is new whereas Cygwin has been around for a long time. Is everyone supposed to upend all their work and switch over immediately when there's something new?
Cygwin (Score:3)
Re: (Score:3)
Cygwin is nice. The goal of it was nice to: using plain old unix source code to make programs that work on Windows. It wasn't always true, because unix tends to be so diverse you inevitably have to use an #ifdef somewhere to find the right headers. But it was a huge step towards getting a usable unix environment on Windows.
One snag is that you just can't easily create processes willy-nilly on Windows and expect to get good performance. Unix has a model where process creation and deletion is cheap; but o
Re: (Score:2)
i used Cygwin for the better part of 15 years. i uninstalled it shortly after installing Ubuntu on WSL. Cygwin was great. now it's dead.
Re: (Score:3)
Some unix software has abandoned this, but quite a lot has not. Sure the big name distributions want to go to a single sysadmin tool that does everything, but the real benefit from unix comes from have the small tools that do one or few jobs that are easily composable. Ie, I'm using rep every day, and I use find at least once a week for something, and things like "find . -name \*.xyz | xargs grep mystring" aren't uncommon.
and nothing of value was gained (Score:2, Insightful)
Why would I want this?
Re:and nothing of value was gained (Score:5, Interesting)
You may not but I do. My work requires that I use Windows. With WSL I can use all the classic Linux commands that I've been using for 15 years. The better they make it the happier I am.
Re: (Score:2, Insightful)
My work requires that i get various tasks done, how i achieve them doesn't matter so long as they get done. If they are performed more efficiently using Linux then that's where they are performed.
If you're being forced to use tools which make your work inefficient then you should raise it as a problem, or consider moving jobs.
Re: (Score:3)
They do it because they have an SOE, and people stepping outside the SOE costs them money, time and frustration.
This. It would be petty of me to change jobs because I can't use the OS of my choice. Windows works and does the job fine. The company I work for is very particular about treating everyone fairly. For example, I did make a stink about additional monitors because I work better with three monitors. Now, everyone on my floor has three monitors, the two standard 21" screens and one 34" curved 3440 x 1440 monitor.
But I couldn't make a honest compelling argument to use Linux. Sure I prefer it but tools like Cygwi
Re: (Score:2)
Ok, the first one is easy - "It's not a problem, use Windows like everyone else", back to square 1.
Then you're back to being inefficient again.
WSL is good, but not everyone is on Windows 10, and WSL is still very new and needs a lot of work. It's a good step though. Meanwhile Cygwin does the job. Cygwin is imperfect certainly, but so is WSL.
I use Cygwin for some very basic stuff, not even development. Ie, I unzipped some files and now I want to explore them and see what's in them. Windows Explorer is ok for basic browsing, but inevitably the window pops up and says I need to find an applicati
Re: (Score:3)
In engineering usually you get to choose the best tools. The whole company doesn't get these tools though as they're expensive, but if a company can't make an exception to allow someone a matlab license then it's not really an engineering company. Sure, they may want a site license if more than one user wants the same application, but that's no reason to force a department to be unproductive just because Microsoft isn't the publisher of application they want.
This isn't even about regulations. I've worked
Re: and nothing of value was gained (Score:2)
Re: (Score:2)
If you can. Most companies are the other way, because the IT staff have literally zero experience with anything other than Windows.
Re: (Score:2)
and you aren't competent enough to install cygwin?
Re: (Score:2)
Because VMs are for chumps and I need bash/make/git et al tools to co-exist side by side in the same machine/fs etc? You know you can start windows binaries natively from cygwin, right?
Re: (Score:2)
Why would I want this?
If you don't know why you want this then how do you know that nothing of value was gained?
Re: (Score:2)
Re: (Score:2)
You might also want a system that doesn't report your data and activity to Microsoft.
Not you personally, but you know. Thinking people.
How would the container (MS Windows) not know what the WSL is doing? By definition, it is a subsystem, therefore the same kernel is collecting the same telemetry.
Re: (Score:2)
I don't think the container would ever know the /truth/. Ultimately it could have a debugger attached, you may know about this in a thin sense like when you try and strace the same process twice. In an emulated sense it would be entirely possible. I believe at the kernel level things like dtrace/systemtap can run simultaneously, just like debugfs. At that level Windows MS can target you based on what processes are doing. Lets say, for example, all mail server data written to disk could be scanned and you co
Re: (Score:2)
Clean you're room!
Re: (Score:2)
I'm room?
Re: (Score:2)
are you ac?
Am I the only one... (Score:2, Insightful)
who sees Microsoft using all of their friendliness towards open source, and Linux in particular, to "soften" the stance of using Linux as a standalone solution in lieu of actually using Linux. In the last few years, Linux has been its own worst enemy. What with systemd, utter balkanization, no "usable" desktop to go mainstream with (save Red Hat using Gnome internally), getting into bed with Azure.
As a former Unix sysadmin who had to move cross country for family reasons, I have been forced into Windows job
Re: (Score:3)
Eh. As a user who have no choice but to use Windows, I welcome our new Bash-friendly Windows overlords. My choice is not whether to use Windows or Linux; my choice is whether to have a Linux dual-boot install which I hardly ever use (and have a Cygwin install which does not work well), or to have have access to Linux toolchain (without a reboot or a second device) while being able to use applications that my job requires me to use.
Re: (Score:2)
I often wonder what the Windows/Linux balance of power would look like if MS had released PowerShell with full BASH support, GNU tools and then the Microsoft-specific PowerShell commands as just extensions.
I know PS advocates make a lot of noise about PS being object oriented but I don't see why that demands a completely new command line syntax. The shell may need object awareness to handle pipelining between PS object generators/consumers, but a totally new syntax from the ground up seems to be just a bar
Re: (Score:3)
What does "full BASH support" mean? You seem hung up on the syntax. If bash's syntax was universally accepted as "the best", then we wouldn't have things like csh, zsh, fish, etc with differing syntax.
Re: (Score:2)
Most "sh" variants are pretty close and derivative, leading to reasonable portability among them.
I don't know that bash is "the best" but it is pretty widely used and basing PowerShell off its syntax would have provided a lot of existing compatibility. I guess Microsoft was really looking to do something else.
Re: (Score:2)
I mean, personally, I find bash's syntax awful, and powershell's functional-ish syntax not so bad, but that's just me. At least they didn't base it off of Windows' batch language.
Re: (Score:2)
why fire up a VM (and configure shared folder, network shares, bridged/NAT network cards, open ports in firewalls, etc...) when you can just run these tools natively. don't get me wrong, VMs are great for some things, but what this does, is not that.
Re:Am I the only one... (Score:5, Insightful)
The problem you are facing is more that sysadmin as a career is fading away to be replaced by devops.
Linux is easy enough to admin that linux IT dept were always a fraction of the windows departments.
Now that most linux admin work is scripted/automated, Linux IT jobs are all but non-existent.
Windows IT jobs may last a bit longer, but as you can see, not much.
Re: (Score:2)
I thought devops was being split apart again now that experience shows that combining developers and operators was counter productive?
Great! (Score:2)
Or - hear me out ... (Score:5, Insightful)
Unix sockets mean you can run Kali Linux on Windows 10 for penetration testing or run an Apache server in the background with full Linux networking support.
You could just run Linux (and maybe Windows 10 in a VM).
Re: (Score:2)
Seems excessive if you want to just fire up one Linux app. What next, copy and past the output back into Windows? Why would you run Windows in a VM anyway? Anyone being remotely targeted by WSL is likely running Linux in the VM.
Re: (Score:2)
Re: (Score:2)
That's a good point, thanks. I wasn't thinking about a corporate environment. However, I imagine IT should be concerned about WSL as well, at least to some extent, as it's another potential vector into the system.
Re: (Score:2)
Windows itself is a vector into the system!
Re: (Score:2)
VMs are painful at times. How do you back them up? A lot of backup programs are stupid and want to backup the entire VM image. Also the VMs are huge, taking up much more disk space than the equivalent WSL or Cygwin, and they suck up RAM so that having several VM images actively running will noticeably affect your computer's performance. If you can run things natively then that works better; save the VM for when you can't run things natively.
Re: (Score:2)
so i have to fire up a whole VM just to run `sed`? no thanks.
Thank you, Microsoft. (Score:4, Insightful)
This means that I will be able to run Linux as a bag on the side of your wonderful Windows 10 product with two big advantages over a normal Linux installation: I will have the enormous overhead and slow boot time of Windows to deal with daily. And, Windows 10 will continue to spy on my every move and report it to you without telling me. I can hardly wait to get on the bandwagon with this one.
Re: (Score:2)
This means that I will be able to run Linux as a bag on the side of your wonderful Windows 10 product with two big advantages over a normal Linux installation: I will have the enormous overhead and slow boot time of Windows to deal with daily. And, Windows 10 will continue to spy on my every move and report it to you without telling me. I can hardly wait to get on the bandwagon with this one.
It takes like five or six seconds after the boot splash for Windows to fully boot, unless I fat finger my password.
Re: (Score:2)
It takes like five or six seconds after the boot splash for Windows to fully boot, unless I fat finger my password.
Wait, are you talking about in an enterprise? Then you're probably waiting on Group Policy, and that's... nearly unavoidable in an enterprise, unfortunately, especially if they haven't optimized it well.
Re: (Score:2)
i dual-boot linux & win10 on this machine. the linux machine takes significantly longer to boot than windows.
Re: (Score:2)
Yes, but it gets this 5 seconds to boot because it does not actually shutdown. Instead Windows 8 and up do a system hibernation instead (stops the applications and then hibernates what's left). If you crash or do an upgrade you can see how long a real boot takes. I have had to do a full boot a few times to clear up system issues.
Congradulations (Score:2)
Wow my job just got a lot easier (Score:2)
At the end of the day I just want to get my work done as easily and quickly as possible and for me this helps a lot.
On the downside it kinda sucks that this will probably kill both winscp and putty that I have been using for years.
Windows store? (Score:2)
Can you get a linux distribution installed *without* using the Microsoft store?
Re: (Score:2)
Never?
They doin't need.... (Score:2)
>> When are they actually going to throw away their kernel and move to an OSS :))
They don't need to, we did it for them
Re: (Score:2)
Hopefully never. Latest OS X takes 5+GB of ram just to start. Windows 8.1 professional takes 900mb of ram to start.
Re: (Score:2, Funny)
Nope. On Windows you can type 'Curt' and it runs just fine.
Windows 10 introduces entire filesystem-insensitivity.
Re: (Score:2)
Thanks Curt!
Re: (Score:2)
The extra 'e' is to get it past the watchers in Texas.
(http://www.softpanorama.org/Bulletin/Humor/bsd_logo_story.shtml)
Re: (Score:2)
This is Windows, remember? Case aware, but not case sensitive, i.e. the worst choice possible that still works mostly, you know, as MS is reliably making. Does not explain the "curt" though.
Admittedly, this is the first I hear about "curl" either. Sounds a bit like "wget".
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Yes, it was a joke. I'm however not even remotely surprised that you were too thick to get it.
Re: (Score:2)
Good luck learning
Re: (Score:2)
I find that hilarious! I am one of the people that _write_ RFCs. But that is not in the (rather limited) range of things you can comprehend.
Re: (Score:2)
Hehehehe, the expected demented answer. You have no idea how the RFC process works, obviously. Fits the rest of your incompetence.
Re: (Score:2)
Oh, have I forgotten to mention that I was of course talking about the "Standards Track"? Sorry about that. Hehehehehehe....
Re: (Score:2)
Why do you need to use the latest version just for playing games?
Find a stable version and stick to it, use it only for gaming and nothing else. That way you reduce the chance of background cruft or updates breaking or slowing your games.
Re: (Score:2)
" although to start an argument, case sensitivity is one of the most annoying features of Linux."
Oh $DEITY I wish this was true.
Android apps too. (Score:3)
but I fear the ONLY reason ms is doing this is to further advance azure's penetration and to get more linux admins on windows systems.
(and Linux devs to switch away from Mac OS X systems)
Well that, and also the initial idea was to offer enough of the Linux API exposed by the Windows kernel so Windows Mobile could eventually run Android applications so that their OS wouldn't have been the irrelevant joke without any significant app ecosystem.
Except that they didn't manage that even by far. They are light-years away from even running the simplest Android apps, so WSL is what they pivoted to in order to salvage the invested work.
Emulation vs. APIs (Score:3)
The main issue :
Emulation - of course, by definition - would require to run a full blown virtual machine emulating a whole freaking Android smartphone.
On top of the Windows 10 Mobile running smartphone.
Not many smartphones have enough resource to play at this games. And again the whole point of the effort is to make Android apps available on Windows 10 Mobile to as many users as possible to make it attractive by tapping into the dominant ecosystem. It would be counter productive to advertise "Windows 10 Mob
Re: (Score:3)
I had always been dubious of this, not being a Microsoft fan, but if this works then that's a good thing.
In the past, the POSIX layer in the Windows kernel was highly dubious, it had basic file support but no access to anything in Win32 where all the UI, services, networking, etc. It seems like it existed solely to get past some DoD contract requirements (even mainframe MVS had some POSIX just get some deals).
If there's a standard tool to easily convert to/from Unix filenames then that is very useful also.
Re: If the end game for this (Score:3, Interesting)
No need. (Score:5, Interesting)
Linux and all GPL software should move to GPL4, which should be identical to GPL2 with an added clause stating that Microsoft and Microsoft employees may not use any of it.
No need, and it would go against the GPL spirit.
The fundamental idea of GPL is that you should be able to do whatever you want with GPLed code, as long as you make sure that anyone you forward the code can still enjoy the same "whatever you want" freedom that your received. (that last part being the key difference with BSD-like persmissive license).
Restricting an imaginary GPLv4 against microsoft would go against the "to whatever you want" part. (And wouldn't be of any use, Microsoft would simply spin off a separate company to handle such GPLv4 code).
Also, by making mandatory to keep the same freedom to the next in line, GPL is pretty robust against EEE : you can't leverage extensions much if you have to publish them due to GPL, and you can't extinguish something that's freely available.
There's a reason why the older microsoft guard were shitting their pants and calling GPL "cancer" : RMS had designed something that incidentally happens to be completely EEE-proof.
The modifications of further GPL version were just about patching circumventions that some companies have found around the "keep the same freedom to the next in line" part.
GPLv1 made it mandatory to make source available together with the software.
Companies: "here's the code, but you can't legally do anything with it, because it's patent covered and you're violating our IP"
GPLv2 made it mandatory to grant access to the patents, without royalties [swpat.org].
Companies (e.g. TiVo): "here's the code, but in practice you can't really modify it because uploading your mods requires our secret cryptographic key"
GPLv3 made mandatory to provide a way (e.g.: key provided, unlockable bootloader, etc.) to actually be able to use modification in practice.
Currently there's no apparent need for a GPLv4 : no company has invented a way to give you the code, the patents license and the cryptographic keys, but still prevent you from actually modifying the code.
Re: (Score:2)
Re: (Score:2)
Why? The purpose of GPL is the SHARE software.
Re: (Score:2)
why?
Re: (Score:2)