4 ms·
every once in a while i flirt with the idea of installing windows 10 on my laptop thinking maybe it's better... then i read stuff like this and associated comme
by a-dub 6y ago
every once in a while i flirt with the idea of installing windows 10 on my laptop thinking maybe it's better... then i read stuff like this and associated comments and quickly dispense of the idea.
why doesn't windows have real package management yet?
- zo1 6y agoI honestly have an easier time installing software on windows than I do on Linux. This is in general when it comes to many tools. I know package management seems like a solved or "mostly" solved problem on Linux as opposed to windows, but its not all rainbows and butterflies. Just a small example I encountered just recently: Look at the install page for docker. Curl, pipe to some random folder, mix in some sudo access, then finally can I "install" the docker package. https://docs.docker.com/engine/install/ubuntu/ https://docs.docker.com/engine/install/ubuntu/
- cocoafleck 6y agoThat is mostly due to the company (Docker) not doing it the usual way. Normally they should have a build server, and then have a few line install. First is to add their repository, second is to install the software. From then on you just use your normal distributions update system. (Such as for example https://software.opensuse.org/download.html?project=hardware%3Arazer&package=openrazer-meta https://software.opensuse.org/download.html?project=hardware....) The real issue is that many companies choose to not do it the right way, and instead come up with weird new installation ways. When they do the same on Windows it just works because there is only one Windows, but there are multiple Linux distributions. As Windows begins to support Arm, and Apple moves to Arm (meaning more targets to support), I suspect that currently Linux specific issues will become more universal.
- secondcoming 6y agoHave you ever tried creating a debian package from scratch? It's not a fun experience.
- pxc 6y ago1. Docker doesn't have to create anything ‘from scratch’ to package for Debian, Ubuntu, etc.— it's already in Debian 2. They are running their own apt repos already anyway! The thing the grandparent commenter is complaining about is part of normal apt usage. It's not a manual installation of some piece of Docker, just a normal part of configuring apt in order to install something that is, in fact, properly packaged.
- sofixa 6y ago> . Docker doesn't have to create anything ‘from scratch’ to package for Debian, Ubuntu, etc.— it's already in Debian But the version is fixed per Debian release, which means that by its EOL it will be obsolete ( it's Docker, not a database, having the latest and greatest is a huge bonus). The whole point of custom repositories is to ship independently of the OS release cycle.
- carlhjerpe 6y agoThis is where Flatpak and Snapcraft can help you out. Just bring all dependencies with the binaries. But then people complain that dependencies aren't up2date and how they're a security nightmare because they aren't packaged by the Debian team. I have high hopes for Flatpak and Nix.
- pxc 6y agoIncidentally, there is a Snap for Docker, but it's older than the one in the new Ubuntu 20.04 beta: snap info docker | tail snap-id: sLCsFAO8PKM5Z0fAKNszUOX0YASjQfeZ channels: latest/stable: 19.03.13 2021-02-12 (796) 137MB - vs. the Ubuntu one: apt info docker.io 2>/dev/null | head -2 Package: docker.io Version: 20.10.2-0ubuntu2 That's the same as the version in the latest nixpkgs unstable: nix search nixpkgs '^docker$' 15:41:11 * legacyPackages.x86_64-linux.docker (20.10.2) An open source project to pack, ship and run any application as a lightweight container Also, afaict Nixpkgs doesn't expose any unit files for the Docker daemon, so it'd take a bit of monkeying around with a new package definition to expose the one from the Moby source so that you could use it on some random distro (or you could write your own). Nix doesn't currently have any system-wide module system for managing services on non-NixOS Linux, unfortunately.
- pxc 6y ago> Curl, pipe to some random folder, mix in some sudo access you mean this: curl -fsSL https://download.docker.com/linux/ubuntu/gpg https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg in the section labeled ‘Add Docker’s official GPG key’, where you download a GPG keyring for Docker's apt repository and install it to /usr/share/keyring? Really? That's a ‘random directory’?
- zo1 6y agoMy recollection was a bit hazy, think I was referring to this one: "echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null" But overall, that sentence you quote of mine was me trying to condense my general feel of the instructions in a bit of an exaggerated tone. Let's be honest, not all of the instructions there are super obvious if you're not comfortable with the Linux ecosystem. Most people will just copy paste everything on that page till docker works, ignoring the big fat warning saying "Always examine scripts downloaded from the internet before running them locally.".
- pxc 6y agoI guess if you're a developer and you just picked up some laptop pre-loaded with Ubuntu and you've never used the command line in your life, it would be better for you to download some file with metadata for apt to consume, and a default file association that gives you a GUI prompt asking you if you want to add the repository. It is kinda lame that Ubuntu doesn't have that. (openSUSE does have GUI facilities for adding repositories, although it's been a long time since I've used them. I wonder if Fedora has something like that, too.) If you're using Docker to develop applications for Linux servers, the bash builtin `echo` and `tee` are probably among the absolute minimum basics of the command line you ought to learn ASAP. And if you're gonna run Ubuntu at all, the format and use of `/etc/apt/sources.list.d/*` is part of your absolute minimum curriculum, too. I don't think the confusion of folks who are unwilling to do those things is a huge problem in this specific use case. But you are right in general: it's unusual among desktop operating systems that in the Linux world, users are expected to know about how the configuration for the system is stored. And while I don't think that's necessarily a problem, it would be better if for extremely common use cases (like adding an external software source), users could always use tools (including command-line tools!) that didn't confront them with implementation details such as configuration file paths or lines to be appended to them and instead summarized what was to be done in human terms and asked them if they wanted to do it. The Debian-based tooling is especially weak here, and especially at the moment, since `apt-key` has been deprecated for security reasons but there's no convenient tooling to replace it at the moment. :-\
- e3bc54b2 6y agoI usually do sudo apt install docker or add servicer.docker.enable=true in my configuration.nix and I'm done. No piping involved.