3 ms·
Does installation still require root and a dedicated user account on Linux? That really put me off.
by roger_ 20d ago
Does installation still require root and a dedicated user account on Linux?
That really put me off.
- wscott 20d agoThe dedicated user isn't really required; it just expects that /home/linuxbrew/.linuxbrew exists. That can just be a symlink to your home directory. But yes, creating that symlink requires root on most systems. Brew itself doesn't require root or that pathname; you can put packages anywhere, but then many will have to be built from scratch since the pre-built packages don't work. And you need bubblewrap installed (which requires root) to use the sandbox, but again that is optional. All that said, when you are running without a sandbox installing to a nonstandard location, not everything works consistently. I run this mode all the time. But it has been getting better.
- trallnag 20d agoBubblewrap is history starting with 7.0.0 according to the release notes
- dghlsakjg 20d agoThe dedicated user account is optional. It uses root once to chown its prefix directory /home/linuxbrew/.linuxbrew
- mikemcquaid 20d agoSee the release notes: we now have experimental support for using any prefix shorter than the Linux default. We are aiming to eventually fully support (Tier 1) any prefix under 64 bytes long.
- mort96 20d agoWait what? Why prefix length limits? Linux paths can be 4096 bytes long, I can't imagine y'all are hitting that?
- orf 20d agoPouring a bottle requires rewriting paths embedded in binaries, which results in a cap. Postgres is an example of this: the various directories are set at build time.
- akerl_ 20d agoI’d imagine they’re live updating the library paths in the binary headers, so anything shorter or equal to what they’re using is a simple rewrite, but longer is more complex.
- mort96 20d agoAh. That makes sense. It's so annoying how deeply UNIX packaging philosophy assumes that installation directories are something you hard-code at build time.
- akerl_ 20d agoThe present is built mostly on layers of the long-past :) It makes me think of when Arch merged /usr/bin and sbin with /bin and sbin. Having them split made sense in a ton of scenarios that used to be very common, but increasingly the split was vestigial for most users.
- mort96 20d agoYea, my understanding is that the split between / and /usr used to be more or less: the drive they used for / ran out of space, so they mounted another drive as /usr. As a consequence, / became where you put stuff that was essential during early boot, while /usr was where you put everything else. But these days, "early boot" is handled by initramfs and we've all got drives large enough to not need the split anyway.
- yjftsjthsd-h 20d agoIt was also useful for many machines to share a single /usr over NFS
- hk1337 20d agoI always download the install script and change the directory to my user home directory, ~/.brew
- roger_ 18d agoDoes that break anything? Surprised it’s not the default.