5 ms·
As a mac user I wonder why do I need to use sudo to install packages?
by achikin 10y ago
As a mac user I wonder why do I need to use sudo to install packages?
- yaur 10y agoYou don't. Package managers like aptitude will do it for you behind the scenes just like what happens on mac.
- duaneb 10y agoAptitude still needs privileges. Just like you do on the mac within installer.
- muterad_murilax 10y agoPerhaps the OP is referring to installing packages with Homebrew.
- achikin 10y agoYes, you're right - I'm comparing to homebrew.
- na85 10y agoAgree. It's very silly. GNU makes a package manager that doesn't require sudo privs, but it's not very mature or well-adopted.
- owaislone 10y agoBecause they are installed system wide and not in the home directory. Unlike on macOS, in Linux ecosystem, letting regular users write outside their home directory without privilege escalation is considered a very bad thing. BTW, there is a homebrew port that installs to home directory IIRC. https://github.com/Linuxbrew https://github.com/Linuxbrew
- massysett 10y agoMacOS also requires superiser privileges to write outside of home directory. Indeed, current MacOS versions do not allow any changes to system directories at all, at least not without changing an obscure setting in an obscure way. Homebrew is an exception, but that's because Homebrew is an abomination. A better answer to this question is that Linux package managers are somewhat primitive and require that any package be installed system wide. On the other hand, it is easy for the unprivileged Mac user to install software to her own directories because Mac application bundles make this easy.
- vertex-four 10y agoIf you're looking for a package manager which does not force applications to be installed system-wide, Nix in daemon mode (as used in NixOS) works wonders.
- owaislone 10y agoI was not talking about macOS allowing it technically. I was pointing out the cultural differences between macOS and Linux. A homebrew like system that changes permissions of system directories will never fly in Linux land.
- Pulce 10y agoAs a mac use you are switching from 10.11 to 0.4... good luck.
- achikin 10y agoMy plan is to turn my old laptop into a spare Elementary-based workstation and see how it goes. In current situation it does not make much sense because comparable non-Apple notebooks are not sufficiently cheaper and I consider macOS the best offer at the desktop OS market today, but I don't like the direction MacBooks are going so I want some backup solution for my daily needs.
- tracker1 10y agoI didn't like the hurdles I needed to install non-store software at whatever point that was (mountain lion?). I've never been a big fan of spotlight, and finder just seems all the more cumbersome to use. To be honest, I find most Windows software slightly more comfortable to use, but prefer the unixy environment I get from bash in linux or osx over even the bash that comes with git (which is nice enough, mostly). I really like the Windows taskbar more than other launchers I've seen, though I like the windows7 style start menu more. I don't mind the Ubuntu Unity start menu, as I can use that mostly the same as on windows.
- Symbiote 10y agoI use KDE, which is probably closest to Windows for the taskbar and "start" menu. (Or the other way round. KDE had the search interface first.) e.g. http://www.databook.bz/wp-content/uploads/2009/07/KDE4.2.4-Menu01.png http://www.databook.bz/wp-content/uploads/2009/07/KDE4.2.4-M... (KDE 4, but 5 isn't much different.)
- deleted 10y ago[deleted]
- achikin 10y agoI find Finder more comfortable than Windows Explorer. It did look cumbersome at first, but it turned to be much more useable than Explorer. On Windows I've used Total Commander, so when I've switched to mac I've installed ForkLift, but I found out quickly that Finder is good enough for my needs. I use Spotlight to launch programs and nothing more and it's good for that. And yes - unix environment is the key selling point for me alongside with the sane UI and a great choice of cli software, ported from the other unix-like systems.
- suraj 10y agoBecause Linux package managers do not manage user packages they manage system packages.
- shirro 10y agoThe systems binaries are only writable by the root user to prevent malicious changes. The unixy parts of OSX are the same as they are based on systems designed to safely accommodate multiple users. Unlike Linux, OSX has been considerably updated to accommodate the modern single user desktop. There are application bundling schemes for Linux applications that take a similar approach to OSX bundles but they are not widely used.
- mancerayder 10y agoBecause it involves writing in naughty places on the filesystem, in places that affect other users. It's a Unix thing. Because it's logged, so if someone does something salacious to the system, it's written in a log (which you need sudo to read the indecency). So there's an extra step to think through before you hurt yourself. So someone doesn't log on your laptop while you're not looking and in seconds wget and install and remove all evidence of a package that will log your keystrokes, or tell you you're a poo-poo head in a mean (but funny) popup on your screen. Because it's sexier than [edit:shift-]right-clicking and selecting Run as Administrator. That always felt dirty somehow.
- uabstraction 10y agoUnlike Homebrew, APT manages the entire system - from bootloader to browser. It is designed to work in multi-user environments where you don't want 40 different users installing 40 different copies of the same program, not updating them, getting viruses from unpatched software, and ruining the well behaving user's day. Instead, software is installed once under root privelages so regular users can't sabotage each other, and everyone can share the same up-to-date copy. It is possible to compile and install software per-user (without root) as well, and by setting $PATH you can have your user-installed software mask the version installed on the system. I recommend doing this for software which cannot be obtained through the package manager, or for bleeding edge git HEAD versions of stuff. Otherwise, let the knowledgeable maintainers of your distribution do the work for you.