Comment by Mister_Snuggles
8 years ago
For me, this is a huge thing.
When I bought my first Mac, back in the days of MacOS 10.2, I did so because of the BSD system underneath. Having a Unix system, whether its GNU or BSD, gives me access to tools that I'm familiar with and sometimes prefer to their GUI counterparts (e.g., scp/sftp vs FileZilla).
Now that Windows has this, switching back is something that I'm giving serious consideration to.
"Now that Windows has this, switching back is something that I'm giving serious consideration to."
It's not clear to me that Windows has this ...
I, like you, adopted the MacOS ecosystem because it was UNIX underneath ... but there's a big difference between underneath and alongside.
Although it is not commonly done, you can control and interact with your OSX system with UNIX commands ... there's one single filesystem namespace and you can interact with it from the command prompt as well as kill GUI apps or set preferences or ifconfig, etc.
It's my understanding that the Ubuntu subsystem in recent windows is sort of a parallel environment ... but is not meant to control the system directly or as an alternate path of interaction with Windows, correct ?
Alongside is an apt description. It feels a bit like running Linux in a Docker container.
The Windows Subsystem for Linux (WSL) has it's own directory in the Windows filesystem that corresponds to /. It's uses some NTFS magic to store the Linux file attributes that don't directly correspond to NTFS file attributes.
It also, within the Linux environment, mounts your host drives under /mnt.
For what I generally use the OSX terminal for, WSL probably hits about 80-90% of my use cases. A lot of lower level utilities have weird issues - e.g., 'ip addr' seems to present the Windows network interfaces as though they were typical Linux ones, 'ss -a' gives a bunch of netlink errors, dmesg says "dmesg: read kernel buffer failed: Function not implemented", 'tcpdump' doesn't work, etc. On the other hand, curl, scp, ssh, etc do exactly what you'd expect.
My limited experience with WSL gave me the impression that anything that needed /low level/ packet constructs either wasn't mapped correctly or might have required administrative privilege blessing on the Windows side of the environment ACLs.
I hope that these get filled out, at least with more constructive error returns, at some later date.
For now, I'm happy that they have enough of the low hanging fruit ripened sufficiently to make it possible to do 'normal' things from within WSL. I'd honestly rather they make the local (and network) filesystem more performant and robust; maybe they have.
My use case for WSL is coming around in the calendar year again so I'll be revisiting it soon.
> It's my understanding that the Ubuntu subsystem in recent windows is sort of a parallel environment ... but is not meant to control the system directly or as an alternate path of interaction with Windows, correct ?
I am not so sure about this. I think Dustin Kirkland sheds some more light here:
http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.htm...
And he seems to be relatively excited about it so he benched it more recently:
https://www.linux.com/learn/howdy-ubuntu-windows-how-fast-it
It seems more like an inverse Wine than a parallel environment.
The windows drives are mounted as /mnt/c, /mnt/d, etc...
You can call executables in both directions, even use windows executables in a bash script and pipe its output to awk.
https://docs.microsoft.com/nl-be/windows/wsl/interop#invokin...
One of the interesting things is that if Linux developed support for NTFS ACLs you could probably make it pretty seamless. One of the more convoluted parts of the NetApp filer code was the code that allowed for 'mixed' UNIX and CIFS volumes.
1 reply →
To be completely fair to both sides though, the ability to tweak MacOS from terminal has always felt like it was opposed by Apple. They don't seem to support it officially in any capacity, and in many respects, actively fight it (i.e. changing the preference keys in every single release of MacOS, for literally no reason).
You can do some things to and with MacOS from CLI. Honestly though, it's all stuff I wouldn't miss awfully.
In the early days there was less interaction but it's getting pretty seamless now.
It's the same kernel underneath so it's not really two parallel systems.
macOS is Unix. That's the big difference for me.