8 ms·
Coreutils for Windows
- gigel82 4mo agoNative Coreutils for Windows is genuinely some good news coming from Microsoft.
- cute_boi 4mo agoWith these AI agents using lot of linux commands, I think they have to do it.
- zamadatix 4mo agoThe command line team has been doing some solid work for a while. I recognize lhecker from the also great wt & edit projects. If you told me during the Windows 7 era the Windows CLI would not only be getting nice but getting pretty comfortable I would never have believed it.
- thewebguyd 4mo agoYeah, the problem with Windows isn't the command line team, the problem is the marketing & sales div using windows to push every other MS service. If they just kicked them out and left the Windows div alone it'd be a decent OS. All the bones are there.
- xeonmc 4mo agoHopefully these do not require a PhD to be implemented.
- egorfine 4mo agoIt's not coreutils. It's a rust slop.
- jeff_carr 4mo agoChrist. I'm guessing it's to be BSD so they can pull it back and keep it proprietary at any time also. Never trust Microsoft to act in good faith. We USE THE GPL for a reason.
- thewebguyd 4mo agoUbuntu also replaced GNU coreutils with uutils recently, its not just Microsoft. The project will deny it, but this is clearly an attack against the GPL
- NewsaHackO 4mo agoIn the intentionally dropped section, it lists shed as "Not particularly useful on Windows." Does anyone know why? Is thre already a shred-like command in Windows?
- ChocolateGod 4mo agoI assume it requires something exposed by the underlying filesystem.
- kmeisthax 4mo agoNo. Shred will "work" - as in, compile, run, and have the expected logical effects of ultimately removing the file from the directory index - on any filesystem backed by any block device. The problem is that overwriting any part of a file is not guaranteed to actually erase the overwritten data. Actually, it never has been; shred is kind of a hack that assumes an overwriting file system driver and a block device dumb enough to not remap sectors writing to media that's intrinsically erasable. e.g. try running shred on a mounted CD-R and see how far that gets you.
- neskorodev 4mo agoFrom shred man: The shred command relies on a crucial assumption: that the file system and hardware overwrite data in place. ... many modern file system designs do not satisfy this assumption. Exceptions include: ... Log-structured or journaled file systems, such as. ... NTFS.
- dovholuknf 4mo agoFINALLY. This is actually exciting to me... Mind you the linux ports (cygwin, msys2, git bash) are all great to have and I make sure one version or the other is always on my path but having MS maintain them (assuming they continue to do so) is great news
- dataflow 4mo agoSo dir is not shipped due to conflict with built-ins, echo and rmdir are shipped despite conflicts, and sort is deemed not to have a conflict? What is the logic?
- 201984 4mo agoAI said to do it.
- pjmlp 4mo agoNo idea, this is broken at start, I would expect at least a reasoning on how they expect to improve the mess going forward. Otherwise just don't do it, if it is going to be a mess to work with.
- rfgplk 4mo agoThere's almost no point to this, especially since they're already shipping a (strictly) limited subset with the reasoning "not useful on Windows" despite Windows equivalent facilities _clearly_ existing. They should have at least considered a full native port.
- pjmlp 4mo agoThis smells like someone promotion to get the stuff shown at BUILD, like the old sudo as runas replacement, which I don't care it exists. "Yo make some UNIX stuff to show at BUILD as developer tools".
- deleted 4mo ago[deleted]
- lhecker 4mo agoI apologize for asking, but did you also understood the "Shell conflicts" section as being the complete list of utilities? The project ships the majority of core utilities (~75%).
- trinix912 4mo agoThey've already made a few attempts over the years (Windows Subsystem for UNIX comes to mind), neither really caught on, except WSL. I also don't quite get why one would want such a setup - why not just use MSYS2 or WSL? As it is, it's just a mishmash of CMD builtins, Windows utils, Powershell, and these Coreutils. Will one have to use CMD-style (%var%) variables or will it be the POSIX way ($var)? Also just keeping in mind when to use /s or -s style switches, which version gets invoked depending on the PATH, PS aliases, etc. is just a lot of mental overhead for seemingly little advantage over WSL.
- Havoc 4mo agoNice. I appreciate the effort to make things less painful for powerusers. I had noticed some of these working already in PS. If anyone from MS is reading this can we please also get an equivalents (or even alias) for the thing that shows IP address? The windows equivalent of "ip a" is some convoluted PS command that I can never remember
- thewebguyd 4mo agoin PowerShell there is a built-in alias. > gip You could also make your own alias if you specifically want to type "ip a" just add a powershell function to your $PROFILE. function ip { param($argument)...." etc. have it call Get-NetIPAddress, else fallback to ipconfig.
- Havoc 4mo agoThanks. Wasn’t aware of gip
- NetMageSCW 4mo agoipconfig works pretty well.
- rvz 4mo agoExactly. The best Linux distro is Windows.
- deleted 4mo ago[deleted]
- FergusArgyll 4mo agoThe case for that statement (if there's a case at all) is wsl. This is outside wsl.
- rvz 4mo agoIt is still on Windows. No need to install Linux on the machine at all.
- raggi 4mo agouutils coreutils was/is already available and more complete than this
- deleted 4mo ago[deleted]
- NetMageSCW 4mo agocitation needed
- raggi 4mo agoWat? winget install uutils.coreutils
- pjmlp 4mo ago> Several commands share names with built-ins in CMD and PowerShell. Whether the Coreutils version runs depends on the shell, the PATH order, and (for PowerShell) the alias table. Well this is not very satisfying, what about proving a way where it actually works without us having to guess where the failure root cause happens to be?
- chasil 4mo agoFully-qualify the path to the target program, and it should be no concern.
- LoganDark 4mo agoA big part of the point is so you can use scripts made for other platforms on windows natively, which you lose when you have to alter them to pass absolute paths
- chasil 4mo agoBusybox helps you avoid this nicely on Windows. When you run one of one of its shells, it uses all it's own builtins in preference to anything external. Get the 64-bit version: "there's some advantage in using the 64-bit executable busybox64.exe. In particular, it can be quite a bit faster." https://frippery.org/busybox/index.html https://frippery.org/busybox/index.html
- LoganDark 4mo agoBusybox is nice, but it's kind of like the Blender default cube to me: my only memories of it are removing it on sight to replace with something better.
- d3Xt3r 4mo agoIt actually failed even before that. The project states "The goal is to make moving between Linux, macOS, WSL, containers, and Windows frictionless: the same commands, flags, and pipelines work the same way, so *existing scripts carry over without translation.*" ... but they failed to provide a port of Bash - so how exactly do they expect someone to run a bash script in Windows "without translation"? If the answer is WSL, then there's no need to port the coreutils over because WSL distros already include them. If the answer is to port the scripts over to PowerShell, then you wouldn't want to call Windows coreutils in your PowerShell scripts and run into unexpected behaviour (and also lose out on the object manipulation advantages of PowerShell). And finally, they failed to port over commands that would actually be useful - like dd, for writing ISOs to a flash drive or backing up drives. chroot could've taken advantage of Windows' new sandbox feature to switch to a virtual C: drive. chown could've been an easier alternative to takeown/icacls. chmod could be used to remove the annoying network file blocks and also change file attributes and so on. This whole project seems like a half-assed attempt at nothing.
- testdelacc1 4mo agoA fair question is why this fork of coreutils is required when the original Rust rewrite (https://github.com/uutils/coreutils/ https://github.com/uutils/coreutils/) supports Windows, in addition to Linux, macOS and wasm. The reason seems to be a few windows specific fixes (https://github.com/uutils/coreutils/compare/main...microsoft:uutils-coreutils:windows/aggregated-fixes https://github.com/uutils/coreutils/compare/main...microsoft...) which can probably be upstreamed into the main repo.
- hootz 4mo agoApparently the creator of the fork is also a maintainer of some uutils repositories.
- NetMageSCW 4mo agoSo “supports Windows” doesn’t mean supports Windows.
- egorfine 4mo agoThe original one is not virtue signaling enough
- aniceperson 4mo agothey should give up on the backwards slash.
- deleted 4mo ago[deleted]
- fabiensanglard 4mo agoI wonder if the motivation is to make Ai agents work better on Windows?
- FergusArgyll 4mo agoFor sure. I wonder how long until the agents learn about this though. At least a year, right?
- ex1fm3ta 4mo agonope. With ClaudeCode you can create skills ( basically markdown instructions) to teach your agents what command to use. You can also update CLAUDE.md to inject custom instructions that are feeded anything ClaudeCode is started.
- jayd16 4mo agoIf that was sufficient wouldn't it just be easier to map to the Powershell commands directly?
- AgentMasterRace 4mo agoClaude code (at least the cli) has this, their code leaked so you can see their extensive (1000+ LOC) PowerShell took script.
- AgentMasterRace 4mo agoTool* (no edit button?)
- GMoromisato 4mo agoOr you can tell your agent about it in one line of AGENTS.md.
- eksu 4mo agoAgents / models don't need to "learn" about this. When on Windows, the models default to bash / coreutils conventions until they realize it doesn't work / not available unless explicitly instructed otherwise. Even on Mac, they tend to default to bash instead of running things in zsh.
- throwatdem12311 4mo agoWas not expecting EEE for Coreutils but I suppose it’s the natural consequence of the MIT license used for uutils so not totally unexpected. It’s annoying enough to support the differences between BSD and Linux, and now Linux has GNU and uutils, and now we’re gonna need Windows variant of uutils…ugh.
- rvz 4mo agoIt was really obvious. Microsoft "loves" Linux for years and the entire point was to bring the Linux userspace on the Windows Desktop.
- throwatdem12311 4mo agoSuch a blatantly obvious attempt to damage GNU
- snvzz 4mo agoGNU is third party to this.
- snvzz 4mo agoMIT is a good license to maximize proliferation of use. It seems to be working as intended for uutils.
- throwatdem12311 4mo agoAs if being popular by itself is actually a good thing. Popular with corporate shitheads that want free stuff and not contribute anything sure. Is it good for Open Source, absolutey not.
- snvzz 4mo agoThe authors have agency to use whatever license they want. They chose MIT.
- 201984 4mo agoThere's also a windows port of busybox if you want something more stable. w64devkit uses it. https://github.com/rmyorston/busybox-w32 https://github.com/rmyorston/busybox-w32
- NetMageSCW 4mo agoNot similar at all - too heavy weight when you just want to use a small tool.
- chasil 4mo agoThis one might interest you, although it's quite old. https://unxutils.sourceforge.net/ https://unxutils.sourceforge.net/ Busybox's shell is ash, but the above set includes an old zsh IIRC. Note also that the Frippery Windows busybox is available as a 64-bit version, in case 2gb is not enough (easy with some big awk associative arrays).
- d3Xt3r 4mo agoHow the heck is a portable 637KB .exe that doesn't require any installation, extraction or admin rights to run, "too heavy weight"?
- asveikau 4mo agoI just have msys on my PATH.
- hs86 4mo agoWould it make sense to add a prefix to all commands to avoid conflicts with built-in commands? Like how, on macOS and FreeBSD, installing GNU Coreutils adds a `g` prefix, Microsoft could add an `m` prefix to these commands.
- jakegmaths 4mo agoWindows really needs to ditch CRLF and just use LF, and switch from backslashes to forward slashes. Or better yet, just switch everything to full POSIX. In powershell everything is much better than cmd, but it's just not enough. WSL is generally great, but there are annoying downsides. I often get "catastrophic" crashes and the zone identifier files drive me nuts. Plus it takes so much longer to start VSCode when connecting with WSL, and now you've got two file systems. WSL1 was in many ways better than WSL2 for these reasons.
- aniceperson 4mo agothe two filesystems can be a super power... i seamlessly use the same driver between wsl2 and my dual booted opensuse.
- thewebguyd 4mo agoYeah I don't mind/like the two file systems. Looks like MS is taking it further too they also announced WSL Containers & API.
- weregiraffe 4mo ago>Windows really needs to ditch CRLF... Windows needs to ditch itself.
- saidnooneever 4mo agohonestly your point is a bit weird. powershell is good. its much better than unix's everything piped is Text idea. godawfull that. outputs being objects is a really solid take. WSL is trash. besides that, lf vs. crlf is silly as you mention but crlf is more logical considering what its implementing. that being said the notion of these control chars is already based on outdated and limited ideas. if you want a consistent system to do things with dont pick a system which tries to be two systems. Linux has wine. Windows has WSL. I'd recommend BSD. any flavor will do. might take some adjustments but you will have a more 'rational' system if that is what you desire. (otherwise, embrace the madness!)
- 4mo ago
- p-t 4mo agoIs this only on windows 11 or does it support 10 as well? (i cant access the site rn because of wifi)
- Someone1234 4mo agoWindows 10 is end-of-life; so the question itself is odd. It may work on Windows 10, but they definitely don't support an EoL version of their OS.
- Longhanks 4mo agoThe question is not odd at all. Windows 10 Enterprise LTSC 2019 is supported until 2029: https://learn.microsoft.com/en-us/lifecycle/products/windows-10-enterprise-ltsc-2019 https://learn.microsoft.com/en-us/lifecycle/products/windows... Also, MS does absolutely support EoL versions of their OS - it took MSVC's STL until 2024 to finally drop support for Windows 7 (whose final ESU update was 2023): https://github.com/microsoft/STL/issues/4858 https://github.com/microsoft/STL/issues/4858 - it isn't unlikely that they (STL maintainers) are not going to get approval for dropping Windows 10 support before 2029.
- lhecker 4mo agoIt should work on Windows 10. If you're using PowerShell, you do need to have v7.4 or later installed, however.
- EvanAnderson 4mo agoI would have liked to see head, tail, tr, uniq, and cut. I end up dragging over the old "gnuwin32" versions of those to a lot of Windows machines. Those are my go-to tools for quick-and-dirty log analysis. I know I could use Powershell for those kinds of tasks, and I certainly do make a lot of use of Powershell, but the familiarity of those simple tools and the decades-old "muscle memory" of using them on various Unix, Linux, and Windows boxes makes them hard to ditch.
- NetMageSCW 4mo agoWindows has lacked decent ports of recent GNU tools for a while. I still use some very old ones. It would be great if MS worked on the other tool groups like textutils.
- ex1fm3ta 4mo agoI use those commands also to filter output and fee ai agents with that. Tail and Head are my favourites to avoid wasting tokens. Wayy too many fancy build logs messages.
- lhecker 4mo ago> I would have liked to see head, tail, tr, uniq, and cut. The project includes all of those. Or were you talking about the past?
- EvanAnderson 4mo agoI'm a gigantic idiot who can't read. I was reading the table shell conflicts as all the included commands, and not just as a subset of commands that had shell conflicts. A gigantic idiot. Sorry.
- e12e 4mo agoI read the readme that way too - a table with included utils with conflict status, and a list of intenationally excluded utils. But the rest are in there: https://github.com/microsoft/coreutils/blob/3fa7aaf832ffc81df6da3399630c40871ce120de/Cargo.toml#L97 https://github.com/microsoft/coreutils/blob/3fa7aaf832ffc81d...
- rfgplk 4mo agoIsn't this just a restricted uutils fork? With most functionality culled for no good reason? "uname isn't useful on Windows" how? OSName/ Build numbers / systeminfo all exist?
- natas 4mo agoNo thanks, I'd rather use linux.
- fdefilippo 4mo agohttps://frippery.org/busybox/ https://frippery.org/busybox/ winget install -e --id frippery.busybox-w32
- chasil 4mo agoFrom the site, "there's some advantage in using the 64-bit executable busybox64.exe. In particular, it can be quite a bit faster."
- deleted 4mo ago[deleted]
- thedumbname 4mo agoMicrosoft provides an awesome problem-solving solution, and 0 of the 6 problems they listed in the 'Windows caveats' section are solved.
- EvanAnderson 4mo agoI feel like I'm seeing an error, or I just don't understand what they mean w/ "find" and "Integrated port of the original DOS command" and not listed as conflicting. There's a "%SystemRoot%\System32\find.exe" on every Windows NT-derived OS. That's absolutely a conflict. Also, the "find" command from "findutils" is in no way functionally similar to the "original DOS command" (which is for finding text in files). Aside: Eschew "find.exe" on Windows for "findstr.exe". The latter is vastly more efficient. I discovered that by happenstance once and have trained my hands to type "findstr" when I mean "find" on Windows.
- lhecker 4mo agoWe actually open-sourced DOS sort and published a port of the DOS find command. The suite then dispatches to the GNU/DOS variant based on heuristics. The installer allows you to pick what variant to use by default if the invocation is ambiguous.
- capitol_ 4mo agoWhy not use ripgrep?
- EvanAnderson 4mo agoI'm working with mostly "cattle"-type boxes with only the stock OS components installed so I "live off the land". On boxes that I treat as "pets" I do load other tools. A Win32 port of GNU grep has done well enough for me that I've never thought to look at ripgrep.
- RachelF 4mo agoDon't use find, use Voidtools' Everything. It finds filenames instantly, by searching the NTFS structures. This is one of the few features that Linux file systems do not have.
- dizhn 4mo agoIs 'dir' a Linux command?
- wild_pointer 4mo agoIt's a GNU Coreutils command. https://www.gnu.org/software/coreutils/manual/html_node/dir-invocation.html https://www.gnu.org/software/coreutils/manual/html_node/dir-...
- dizhn 4mo agoI thought it was just a distro added alias like how some systems used to have '..' for 'cd ..'
- adzm 4mo agoFinally, tee in the command prompt. I want to like powershell but the way it handles [] in filenames has bitten me so many times and fixing it turns simple things into verbose LiteralPath incantations
- xnx 4mo agoCool. I'm already using cygwin for a lot of these utilities. Would the Microsoft versions have any advantages?
- chasil 4mo agoNo .DLLs would be the primary reason.
- doctorpangloss 4mo agoBusybox for Windows is the best implementation of coreutils for it, far and away. The maintainer is also very knowledgeable and responsive and actually merges community PRs which is incredible. Microsoft isn't going to do that, so why bother? Microsoft's solution will be a hot buggy mess that needs its own workaround and quirks day 1.
- mx7zysuj4xew 4mo agoBusyBox IS NOT COREUTILS. ITS NOT EVEN REMOTELY THE SQME THING. It's something entirely different and not even remotely an adequate replacement
- ilotoki0804 4mo agoYou can install gnu-compative shell commands when installing git for Windows. It even includes useful unix utilites like bash, so check it out if you're interested. More project information: https://gitforwindows.org/ https://gitforwindows.org/ Official download: https://git-scm.com/install/windows https://git-scm.com/install/windows
- spider-mario 4mo agoOr MSYS2, to go even further. https://www.msys2.org/ https://www.msys2.org/
- pipes 4mo agoAlways wondered if git bash was cygwin, I don't think it is, but it seems very similar.
- Thoreandan 4mo agoClose, it's MinGW/msys - different pathname semantics and under-the-hood approaches.
- rzzzt 4mo agoCygwin executables need cygwin1.dll to run while MSYS-based distributions are using Windows APIs directly. One major difference is around process management: in Cygwin fork() is implemented* while MSYS2 packages will need to use whatever the NT kernel provides (i.e. also need to modify the source to build for this target): https://stackoverflow.com/questions/985281/what-is-the-closest-thing-windows-has-to-fork https://stackoverflow.com/questions/985281/what-is-the-close...
- okanat 4mo agoYou're conflating MSYS2 with Mingw-w64. MSYS2 installation comes with multiple environments/ABIs and MSYS2 mode is actually a fork of Cygwin. They fork Cygwin, put some patches on and rename the DLL as msys-2.0.dll . Here is the sources for MSYS2 runtime that produces it: https://github.com/msys2/msys2-runtime https://github.com/msys2/msys2-runtime . To run bash you need termios API, stty, fork, exec and signals (and some other POSIX-specific funtions). Due to Windows's execution model it is not possible to natively implement fork. Cygwin implements those via a executable backdoor hack. Basically the executable starts executing from the usual start point and it receives where to jump via a named pipe. Since MSYS2 is a fork it uses the same implementation. Unlike Cygwin, MSYS2's goal isn't to be a complete system but ship just enough tooling to enable development with Mingw-w64. Mingw-w64 is the toolchain that ships GCC and it also defines its own ABI where the C ABI is the same as MSVC / Win32 ABI except that Mingw-ABI comes with its own threading and structured exception handling infrastructure. For C++ Mingw-w32 uses Itanium ABI instead of MSVC. If you use GCC to compile the debugging symbols will be DWARF with Mingw-32. You can also use Clang environments where you can generate PDB debug symbols and use native Win32 threading. Except for the differences above, the executables targetting Mingw-w64 ABI are normal native Windows executables. They don't have access to most of the unistd.h and they have to use native Windows system calls (kernel32.dll user32.dll, ucrt etc.) You can target MSYS2 / Cygwin ABI too (just like Bash). In this ABI the entire system works like a POSIX system. Unlike Mingw-w64 backslashes are not native. In MSYS2-ABI programs execute very slowly compared to purely Mingw-w64 executables since they always have to pass the POSIX emulation layer.
- shevy-java 4mo agoThat's actually a good idea. Now, I am a Linux person, but I have windows on a secondary machine. Compiling on Linux is trivial. On Windows it is possible of course, WSL, msys, what not, but it is cumbersome. And I hate the default compiler on windows. So if coreutils on windows helps simplify all the base toolchain, I am all in favour of it. Windows really needs to make compiling stuff a LOT easier by default. I don't want to download some x GB of stuff I don't really need.
- spidercat 4mo agoWhat does this do that Cygwin doesn't?
- stronglikedan 4mo agothis conflicts with native shell utilities of the same name - take that, cygwin!
- okanat 4mo agoCygwin is like Wine. It fully emulates POSIX and puts a filesystem and syscall emulation layer on top and even an emulation for `/dev`. uutils are strictly limited to what Windows provides natively.
- signal11 4mo agoFor the MS folk reading this: native zsh on Windows, please? WSL2 is great, but native POSIX is even better. Of course it’s a big undertaking, but it makes Windows a first-class dev platform for those who need POSIX in production.
- 0x1d7 4mo agoThe NT kernel could never implement full POSIX semantics. It would have to be another UN*X clone to do so. And that would suck.
- yjftsjthsd-h 4mo agoSurely WSL1 proves that it mostly can
- okanat 4mo agoNT kernel can and did implement POSIX. Multiple times even. That's how WSL1 works. NTFS can also support Unix-like permissions. There are ACLs for Owner and Group. However, I'm not keen on using yet another Unix clone as well. At least Windows NT brought the world into 90s in the OS state-of-the-art where Unix clones are stuck in 80s and each of them patch around the deficiencies of POSIX. Native asynchronous APIs and truly object-oriented system call infrastructure is nowhere to be found in POSIX.
- 0x1d7 4mo agoPOSIX was implemented as a subsystem. And it was never _fully_ implemented, as my post said. The NT kernel doesn't support certain POSIX semantics (fork).
- okanat 4mo agoWSL1 DOES implement fork() for WSL1 lightweight processes in the lxcore.sys driver: https://learn.microsoft.com/en-gb/archive/blogs/wsl/windows-subsystem-for-linux-overview#system-calls https://learn.microsoft.com/en-gb/archive/blogs/wsl/windows-...
- egorfine 4mo agoYeah, we don't hate this uutils (NOT coreutils) project enough.
- mx7zysuj4xew 4mo agoNot sure of it's sarcasm, but you'd be right, everyone involved with this garbage should be banned from IT forever
- egorfine 4mo agoIt's not sarcasm. I truly believe that uutils exist solely for virtue signaling purposes and for better license for corporate (Canonical).
- Dwedit 4mo agoWill we ever see a Windows-optimized version of unix utilities that avoids creating new processes? It seems like that's the step that's really slow, and if you could reuse a process to continue running more commands, that would speed things up a lot.
- okanat 4mo agoDid you mean: Powershell or nushell
- dekhn 4mo agoLinux: first they laugh at you, then it embraces, extends, and extuinguishes Windows.
- omoikane 4mo agoWhat about "ln" (make symbolic links)? https://www.gnu.org/software/coreutils/manual/html_node/ln-invocation.html https://www.gnu.org/software/coreutils/manual/html_node/ln-i... https://uutils.github.io/coreutils/docs/utils/ln.html https://uutils.github.io/coreutils/docs/utils/ln.html
- lhecker 4mo agoAny command not listed under the "Shell conflicts" section is included. In my testing `ln` works great.
- natas 4mo ago100% vibe coded.
- compiler-devel 4mo agoOk
- tonymet 4mo agoFWIW, most of the powershell builtins are aliases for weaker methods like grep / select-string or cat for Get-Content. So you could likely install this without breaking anything. I didn’t see less or a decent pager. MS needs their analytics on WSL and implement the top 50 commands on powershell Powershell is very good, but lacks brevity and convenience of coreutils so this should be a big win.
- yyyk 4mo agoWSL1 is generally better for these usecases.
- lousken 4mo agoReFS -> ZFS Remove batch, VBS and switch from powershell 5 to 7, add bash Replace DSC in favour of Ansible Remove windows registries Switch to systemd for services Rename folders like Users to home, programdata to etc, program files to opt, store/winget apps /usr and call it microsoft linux server hybrid
- Voultapher 4mo agoIt's not seamless now is it if half the commands don't work. Wine and other compatibility layers show that non-trivial software doesn't work if even one of the many layers uses something unsupported.
- Jotalea 4mo agowhat's the difference between these and the ones distributed in git for windows?