Live data from Hacker News

Introducing PackageManagement in Windows 10

blogs.technet.com

71–80 of 221 posts

Re: Introducing PackageManagement in Windows 10

#71

I recently blogged about the Linux world needing something like this. http://leto.electropoiesis.org/propaganda/plugins-and-packag... I hate having to individually update my Wordpress install, my Rubies, my system packages, my IDE (be it Eclipse or Android Studio), a separate TeXLive install from the OS packages, even Vim now has its own package management with Pathogen... There must be some way to _unify_ this proli…

> There must be some way to _unify_ this proliferation of software update mechanisms.

There are many ways. The problem is there are many different environments who all use different methods for different reasons.

To a solo developer with personal control over the entire stack, the Operating System is merely one more tool in the toolbox. That dev can pick any distro he wants and then install and configure anything he wants(as root). To a postdoc researcher in a lab using the University's shared compute cluster, leveraging the OS might not be such an obvious and easy choice. Then of course there is the whole issue that Wordpress, ruby, system software, and IDEs are all developed by very different groups of people.

But back to your question: configuration management tools can help with this problem. They do require some end-user investment at this stage, in no small part due to the reasons I identified above (there's not yet an ideal default that works for everyone).

Generally, configuration management tools encourage you to declare your software, modules, packages, requirements in an abstraction layer and then have the config management tool handle the messy details of whether to use apt or yum or gems. The catch right now is that you will typically have to do handle those decisions (to some extent) yourself.

Ansible:

http://docs.ansible.com/gem_module.html

http://docs.ansible.com/apt_module.html

http://docs.ansible.com/yum_module.html

Puppet:

https://docs.puppetlabs.com/references/latest/type.html#pack...

Chef:

https://docs.chef.io/chef/resources.html#gem-package

https://docs.chef.io/chef/resources.html#apt-package

https://docs.chef.io/chef/resources.html#yum-package

Re: Introducing PackageManagement in Windows 10

#72

Earlier quoted context omitted.

> Ever want to... That's because Bash is used to tie together separate programs that do the work. PowerShell, on the other hand, is a .NET shell and more equivalent to the shells in Python, Node, Ruby, the JVM, etc, all of which provide ways to work with JSON and many different data structures.

So?

So it's not unique to Windows and other things have been doing this for much longer on different platforms with more users and now have much larger ecosystems making it easier to do what you want quickly.

Re: Introducing PackageManagement in Windows 10

#73

Perhaps I missed it, but the article doesn't mention this in any way: Windows ABSOLUTELY needs a way to go from 'Fresh Install' to 'Fully upgraded' with minimal interaction. Linux can do this: run `apt-get dist-upgrade` in Ubuntu, and you get all of the most recent updates. However, in Windows, you install 3 updates, restart, install 5 updates, restart, install 110 updates, restart....

The way around this is to update your deployment images from time to time.

It's one reason I liked service packs, new service pack comes out, generate a new install image.

Re: Introducing PackageManagement in Windows 10

#74

Earlier quoted context omitted.

> Ever want to... That's because Bash is used to tie together separate programs that do the work. PowerShell, on the other hand, is a .NET shell and more equivalent to the shells in Python, Node, Ruby, the JVM, etc, all of which provide ways to work with JSON and many different data structures.

So?

If you want to do advanced stuff in your scripts, you've never been limited on unix systems to just sh or bash, but on Windows you still don't have a good shell for interactive use.

Re: Introducing PackageManagement in Windows 10

#75
post #39

Earlier quoted context omitted.

They are the only package managers I know of capable of unifying package management with a single set of tools. Unifying multiple distinct package managers is a fool's errand.

> Unifying multiple distinct package managers is a fool's errand I disagree. Why do you think that is the case?

Different package managers make different design decisions that make them incompatible with each other without sacrifice. Guix/Nix focus heavily on reproducibility and not relying on any third party binaries. These features would have to be thrown away if it unified pip, npm, etc. because they make no such guarantees.

Every package manager works different, and trying to accomadate all of them with a unifying tool will require a lot of time wasted writing interfaces between them all. I don't see a way to do it without lowering the feature set to the least common denominator and settling with that. The real solution is to elevate our system package managers to the point of handling the important use cases that currently only language package managers provide, such as virtualenv/Bundler style management (i.e. installing packages somewhere besides /). Nix/Guix accomodate all such use cases, which is why I promote them.

Re: Introducing PackageManagement in Windows 10

#76

Please give us something that doesn't require PowerShell, since PowerShell never just works. Just look at the ridiculous bullshit that you have to deal with when you want to use Chocolatey (from the Chocolatey install guide): Note: You must have your execution policy set to unrestricted (or at least in bypass) for this to work (Set-ExecutionPolicy Unrestricted). There have been reports that RemoteSigned is enough for…

It's like they wanted sudo and user accounts with arbitrary permissions but had no idea how to do that, so they did UAC and this stuff instead.

how was the saying, "Those who do not understand UNIX are condemned to reinvent it, poorly"..

Re: Introducing PackageManagement in Windows 10

#77

Although I applaud the efforts, at the current state that's just sugarcoating the nastiness of code-executing installers. A package installation should basically just deploy the components of a passive package archive to the filesystem and leave any actions to the package manager. This solution doesn't even provide a generic interface e.g. to run a query which file would be provided by which package or to which packa…

Well, how else would windows software give you an option to decline to not skip disabling the installation of their system heath turbo-boost quick launch tray toolbar search engine registry cleaner by checking a box?

Re: Introducing PackageManagement in Windows 10

#78
post #45

Earlier quoted context omitted.

They are the only package managers I know of capable of unifying package management with a single set of tools. Unifying multiple distinct package managers is a fool's errand.

I don't see how they can. Guix/Nix don't run on Windows, so they can't replace the NPM or PIP or Ruby Gems, first off. But I don't even see anything about Guix/Nix that make them especially capable of unifying Linux package management. (Heck, given that there's two of them, I don't see how either can be said to unify the specific kind of Linux package management they do.)

>Guix/Nix don't run on Windows

Correct. On Windows you can't do any better than a swarm of language package managers. Without the ability to create a custom Windows distribution starting from a systems level package manager, there's no hope in having anything better.

Re: Introducing PackageManagement in Windows 10

#79
post #56
post #51

Earlier quoted context omitted.

I use cygwin. I run cygwinsshd on localhost:22 and use Putty for my client. A lot of windows-specific gui commands won't work through the ssh layer, but will if you run the cygwin bash shell directly. (Maybe there's some way to get them to work over SSH but I have never had reason to try and figure it out). $ which nmap.exe /cygdrive/c/Program Files/Nmap/nmap.exe $ nmap.exe -PN -p 80,443 news.ycombinator.com | grep t…

Why Putty over mintty? mintty is a fork of PuTTY's UI for local use, and is the default in cygwin these days.

I've been using putty since 2007 for managing remote unix systems. It's nice to have a uniform interface for everything. If I ever get to a point where using putty becomes a headache for some reason (and it hasn't in 8 years) then I'll switch to mintty. Mintty is definitely a better way to run the windows gui stuff from the command line if you care to do that (I just use the start menu to run windows gui apps).

Occasionally I get tripped up on linux terminals due to the additional requirement that I "ctrl-c" to activate a copy, but that is extremely minor since that method of copy/paste is shared by almost every other tool I use except for putty.

Re: Introducing PackageManagement in Windows 10

#80
post #73

Perhaps I missed it, but the article doesn't mention this in any way: Windows ABSOLUTELY needs a way to go from 'Fresh Install' to 'Fully upgraded' with minimal interaction. Linux can do this: run `apt-get dist-upgrade` in Ubuntu, and you get all of the most recent updates. However, in Windows, you install 3 updates, restart, install 5 updates, restart, install 110 updates, restart....

The way around this is to update your deployment images from time to time. It's one reason I liked service packs, new service pack comes out, generate a new install image.

I'm guessing this is the plan with the new system of "builds" we've seen in the Technical Preview. Just install the month's build and then the few updates it needs after that. Fingers crossed, anyway.
Post reply on HN