Are there any downsides to using Homebrew as a package manager on Linux?
I'm especially concerned about it being somehow broken, unwieldy, insecure or privacy-invasive.
Case in point; at times I have to rely on a Chromium-based browser if a website decides to misbehave on a Firefox-based browser. Out of the available options I gravitate towards Brave as it seems like the least bad out of the bunch.
Unfortunately, their RPM-package leaves a lot to be desired and has multiple times just been awful to deal with. So much so that I have been using another Chromium-based browser instead that's available directly from my distro's repos. But..., I would still switch to Brave in an instant if Brave was found in my distro's repos. A quick search on repology.org reveals that an up-to-date Brave is packaged in the AUR (unsurprisingly), Manjaro and Homebrew. I don't feel like changing distros for the sake of a single program, but adding Homebrew to my arsenal of universal package managers doesn't sound that bad. But, not all universal package managers are created equal, therefore I was interested to know how Homebrew fares compared to the others and if it handles the packaging of the browser without blemishing the capabilities of the browser's sandbox.
P.S. I expect people to recommend me Distrobox instead. Don't worry, I have been a staunch user of Distrobox for quite a while now. I have also run Brave through an Arch-distrobox in the past. But due to some concerns I've had, I chose to discontinue this. Btw, its Flatpak package ain't bad either. But unfortunately it's not official, so I choose to not make use of it for that reason.
I'd advise against using Brave, but that's a different topic.
Just use the Flatpak. Do not care if it's official, most packages in traditional package managers are not packaged officially, yet we use them all the time. Check the Flatpak repo instead to see if there's something wrong.
Maybe check ungoogled chromium too while you're at it.
While there's definitely truth in this, aren't we already trusting the repos of traditional package manager by choosing to use the associated distro? So, by e.g. choosing to use Debian , you've already (somehow) accepted their packages to be 'thrustworthy'. We already trust the developers of the apps/binaries we use. Therefore, we have two sets of parties we trust by default. I would rather not increase the amount of people I have to trust for software, but I can understand why others might differ on this.
Yes, the main source of trust is in the repository and its maintainers when choosing a distro.
If you think that Brave is the best option, look up what a scumbag Brendan Eich is and the shady monetizing practices the company introduced.
Fun fact: the scumbag Brendan Eich who made Brave is the same scumbag Brendan Eich who made Javascript!
Yay!
The bad practices of its CEO doesn't inherently write off the software, instead the software's merits should do the talking. Which Chromium-based browser would you recommend based on its merits?
Ah yes, the CEO with his little influence on the products from his company...
Which is Brave collection "donations" and then keeping them, then? Is it a CEO bad practice or a software bad practice?
You'd get a Shawarma from a Hamas-run restaurant, right? Sure, they swear death to all infidels but their cooking is so authentic and great.... Who cares that the restaurant funds them!
Opera, Vivaldi, ungoogled-chromium, and some others don't pull the same shit.
Honestly, I would seriously consider it if it was the best Shawarma in town. At least to try it once.
Honestly, all of these are inferior based on merits. But thanks anyways!
...why would you use homebrew on linux?
You already use an arch container that has access to the AUR, which has literally every package, available on linux.
Also, if anything, flatpaks are THE official (universal) packaging format for Linux, it's the most widely adopted and most well integrated of the universal packaging formats. I'm not saying that homebrew is bad, just why bother with it when you've got 100 other packaging formats that are all better...
Call me paranoid if you will.
I don't deny that, I make good use of a ton of flatpaks on my system. I also believe that it's the best we have. And I would literally switch to Brave as a flatpak if it would satisfy the following:
I rely on flatpaks for all non-firefox browsers and haven't had any issues with them, I've used the brave flatpaks specifically for almost a year now and no issues...
it's still factual that flatpaks sandbox is weak by default, especially compared to what chromium provides on its own.
The web process sandboxing is basically the same inside and outside of flatpak.
Would you mind elaborating? First time hearing this and a quick search didn't resolve it.
https://github.com/refi64/zypak
It lets Chromium use flatpak sub-sandboxes and is basically identical to its normal sandbox in terms of permissions.
I am thankful that zypak exists so that Chromium-based browsers and Electron apps don't have to explicitly flag
--no-sandbox
to continue functioning. However, it doesn't undermine the fact that native Chromium's sandbox is more powerful than Flatpak's sandbox. As such, if one desires security, then one should gravitate towards the native installed one.Are you sure that's the case?
The sandbox is not weakened meaningfully. It’s in a different namespace, no filesystem, no network, no GPU, seccomp rules still applied.
Unfortunately, you didn't -to my knowledge- support nor retract your claim on Chromium using flatpak sub-sandboxes. Therefore, I find it hard to continue taking your words at face value.
I have enjoyed these interactions, so don't get me wrong; but if I (possibly) catch you on spreading misinformation (even if unintentional), then I find it hard to keep engagement up as there's no guarantee that anything else coming from you is actually correct.
I would love to be corrected on this though, so please feel free if I have misunderstood you or anything else that would revive this conversation. If not, then I would still like to thank you from the bottom of my heart for this friendly interaction we've had. Take care!
I linked the source but sure, I'll link it more for you.
The portal code is here: https://github.com/refi64/zypak/blob/ded79a2f8a509adc21834b95a9892073d4a91fdc/src/dbus/flatpak_portal_proxy.h
The actual code that Chromium calls is here: https://github.com/refi64/zypak/blob/ded79a2f8a509adc21834b95a9892073d4a91fdc/src/helper/spawn_latest.cc#L21
This calls the
org.freedesktop.portal.Flatpak
service.This service is here: https://github.com/flatpak/flatpak/tree/main/portal
The
Spawn
method creates a new sandbox completely isolated from the originating sandbox.I am aware, but the same source seemingly contradicted your point^[1]^ regarding sub-sandboxing.
Wow, thanks a lot for the work you've put into this! It might take some time for me to go through this, but I'll definitely take a look and perhaps I'll return on this at a later point. Perhaps with this I will finally be able to install my Chromium-based browsers as a flatpak and don't feel bad about it.
Once again, your engagement has been much appreciated! So please feel free to let me know if I can buy you a coffee or something 😊! Unfortunately, statements like "Thank you so much!" don't quite capture the sheer magnitude of gratitude I feel towards you right now. For whatever it's worth; I salute you, good human.
I think I already addressed that point with
If you meant something else, then please feel free to correct me.
Officially supported doesnt mean its more stable. They can just take binaries, add dependenciesy tadaa.
Bubblewrap is not insecure. But I am not an expert
Never implied that anyways. Official merely ensures that the amount of trusted parties can be minimized.
Bubblewrap, when properly applied is indeed excellent; perhaps the best utility to sandbox applications on Linux. I'm thankful that flatpaks makes use of bubblewrap, namespaces and seccomp to offer relatively safe/secure apps/binaries, I'm unaware of any other '(universal) package manager' within the Linux-space that offers similar feats in that regard. Unfortunately, Chromium-based browsers just happen to have an even stronger sandbox -if properly configured- than flatpaks are currently capable of.
Okay true. I am not so much into this Browser sandbox thing and dont really get it. Its a different way than bubblewrap, as from Firefox RPM for example I can open any file and save anywhere. But its process isolation right?
For Firefox, the verdict on its native sandbox vs Flatpak's native sandbox doesn't seem conclusive. With -assumingly- knowledgeable peeps on both sides of the argument, which indeed does raise the question how knowledgeable they actually are. Nonetheless, for myself, I've accepted Flatpak's sandbox to not be inferior to Firefox' native one. Thus, I don't see any problem with using its flatpak.
Apart from having all the nice KDE integration and things like Keepass integration, Fido2 keys, drag and drop and some more things...
Also afaik the Fedora Firefox has a good SELinux profile and it runs damn fast. I did a speed test and it was best, along with Mozillas all-together-binary.
I'm a sucker for GNOME :P , but I'll keep it in mind.
The flatpak does allow integration, but isn't built-in unfortunately; so one has to fiddle a bit themselves to set it up.
I should rely more on those. Do you have any recommendations? I've been hearing good things about Nitropad and Yubico, but I honestly don't know if they're actually good and how they would fare amongst eachother.
Overrated anyways /s :P .
It's probably better configured with the native package than the flatpak one indeed. I wonder if this will change as Fedora is interested to ship Firefox as a flatpak by default on Silverblue (and variants).
I haven't had the best internet speeds since I've been relying on free VPN. But that's on me :P .
Fedora packages a Flatpak Firefox themselves, based off the RPM. So its good too, but lacks codecs with currently no way to enable them so yeah. They would need am extension of some sort hosted on Flathub. So simply using Firefox Flatpak from Flathub makes more sense.
I got a Nitrokey for Heads but for some reason it never arrived? I can say these things are very expensive. And Heads uses PGP and not others.
I somehow forgot that Fedora also had Firefox in their flatpak repos.
You know what's good, fam.
That's messed up, though.
Brave is worse than Chrome. Affiliate link auto injection, unauthorised selling is copyrighted data, their own unblockable ad network, etc. Use Firefox.
Their business-practices sure do leave a lot to desire, which actually does hurt their trustworthiness; arguably their most valuable asset as a privacy-first browser. Hmm..., good food for thought, thank you!
I mostly do already 😅, from OP: "at times I have to rely on a Chromium-based browser if a website decides to misbehave on a Firefox-based browser".
You can try ungoogled chromium. That is what I use when librewolf won't work.
Thank you for mentioning that! I had dismissed it due to alleged shortcomings of its security features. While the allegations are (still) there, I've never heard any rebuttal or anything else of that matter. Would you happen to know anything in this regard?
Sorry no. I just use it once a month or so for one website and I think it works with FF now.
Thanks anyways!
Last time I checked, homebrew on Linux only included cli apps. GUI apps are only available on mac. So you couldn't use it to install a browser anyway.
Unfortunate. Thanks for the headsup :D !
What does Brave give you what the other Chromium based browser doesn't have? Maybe you can install add-ons instead?
Brave is known to take privacy (and security) more seriously than its contenders. It's therefore unsurprising to find it recommended by Privacy Guides. Some of its unique features related to privacy can be found here.
Excellent extensions like uBlock Origin heavily rely on Manifest v2 in order to do their bidding. Unfortunately, Chromium intends to stop supporting it. Which will inevitably lead to many Chromium-based browsers to follow the lead and stop supporting it as well. At least Brave has confirmed multiple times to support Manifest v2 longer. Furthermore, I'm not aware of any extension that does an equally excellent job at spoofing your fingerprint randomly. Though, I'd love to be corrected on that.
At least in the privacy community, Brave isn’t super popular. It feels more geared towards the "hyped crypto early adopters". Brave inclusion in privacy guides has always been controversial.
Brave is ultimately an advertising company, they base their business model in ads. And everyone knows how bad that can turn.
Ungoogled Chromium on the other hand takes patches from brave and other Chromium based browsers, removing every bit of telemetry and giving you the cleanest experience you can get on Chromium, without relying on a shady company.
Seems more like FUD, but sure.
In the past it was simply dismissed due to reasons mentioned here. I don't have any qualms against Ungoogled Chromium, so I'm not opposed to using it if the stated reasons have been cleared since. But I've never got any confirmation on that.
Nice, their marketing works. If you really cared about privacy you'd probably use something like Librewolf, which is not proprietary.
It works without issues in Firefox and similar browsers like Librewolf.
You can't deny its merits. At best you can question their integrity based on bad business-practices in the past. Their CEO being "X" and doing "Y" does not inherently make the software bad.
From OP: "at times I have to rely on a Chromium-based browser if a website decides to misbehave on a Firefox-based browser"
Yes, yes I can. It's proprietary and doesn't do anything better than Firefox or Librewolf. The latter even has an active community on Lemmy.
I didn't even mention the CEO, you must have confused my reply. It's the product being X and doing Y which I don't like.
Besides the fact that some sites misbehave on Firefox(-based browsers), it does if you're actually security sensitive; Chromium's sandbox is simply superior to Firefox'.
It's true that you didn't mention anything regarding its CEO, but I assumed your comment might be related to it. It seems not to be the case; my bad for assuming and mentioning it and thank you for clearing yourself from that 'allegation'!
Would it be fair to assume that your primary gripe with Brave is its (at best) controversial stance regarding the 'open' source nature of their product?
Yes, and the business practices of the company making it which broke my trust to the point of me assuming they wouldn't be above breaking the law in compiling spyware or other malware into their closed source product for profit.
Thanks for clarifying!
I might misremember this, but wasn't it only something like a key (or something similar) that they held to themselves? And if so, is it even sensible that spyware can be put in their 'key'?
My only experience with homebrew is on macOS and I’ve switched to MacPorts there. Homebrew did some weird permissions things I didn’t care for (chowned all of /usr/local to $USER, if I’m remembering right). It worked fine on a single user system, but seemed like a bad philosophy to me. This was years ago and I don’t know how it behaves on Linux.
I also prefer Firefox, but when I need a Chromium alternative for testing, I opt for the flatpak (or the snap) version personally.
Based on what I saw on macOS I wouldn't touch Homebrew with a 10 feet pole. We have proper packaging systems in the Linux world. The Chromium snap is supported by Canonical so that's a great candidate for anything that comes with snap or can use snap. If I couldn't use snap, I'd use the Chromium flatpak from Flathub.
Could you please elaborate on how the packaging in the Linux world is better? I can imagine why, but I'd rather have a better-informed idea on the matter. Thanks for your input!
I use Chromium from my repo already, but as stated in the OP; I would switch in an instance to Brave if I could.
MacPorts is so boring and underrated.
I should look into this. Thank you!
check Nix instead.
Nix is definitely cool and I already have it installed on my system. Unfortunately, even Nix has trouble with keeping Brave up-to-date at all times. It's still on 1.59.120, while Brave has had three releases since. It took about 3 days after the release of version 1.59.120 for them to release it on their repos. As you can see, it leaves a lot to desire.
It's a community maintained repo. The possibility of updating it yourself is possible. The master branch is updated to the 1.59.124, which came out a week ago. And was updated around the same time. 1.60.110 was just released 1 day ago. You can update it yourself. After all, it's supposed to give you a great default state to fall back to, not keep you on the bleeding edge of releases.
Edir: how to do it yourself and contribute to the community. https://nixos.wiki/wiki/Update_a_package
Brain fart on my side, thanks for correcting me so respectfully 😊!
Hmm.., maintaining it myself is an interesting thought. Perhaps I should take a look at that, thanks a lot for your input. Much appreciated!
Minor version bumps should be mostly trivial: Change version and hash, package that into commit+PR (ckeck guidelines on that!) and that's it most of the time.
The harder part is QA; ensuring it still works as expected. Therefore, even just testing update PRs as they come in would be a great help.
If the code change is trivial and a user of the package said it still works for them, a commiter coming along is likely convinced of the PR's quality and just merges it.
It's super easy to contribute to Nixpkgs in a meaningful manner :)
I use a few packages from Homebrew and don't have any problems with it. By default it installs itself into
/home/homebrew
or something which I didn't like so I put it into~/Applications/Homebrew
instead using these steps. It warns that you may be forced to compile software if you do it this way but I'm down to clown so whatever.The biggest problem I have with it is that you'll need to keep it updated alongside your regular packages, which I do by aliasing a simple upgrade command that runs all my package manager upgrades.
I would also recommend
ungoogled-chromium
as an alternative to Brave, which does have its own official Flatpak (not marked as such but it's linked to in theungoogled-chromium
project github).I don't like that either. Thanks for that insight and thanks for sharing the link to change that!
I use homebrew on linux, you're not going to get GUI apps that way though, the linux binaries are almost exclusively cli apps and libraries, etc.
@j0rge @alt What motivation do you use to do this?
I am tagged, but did you address me as well? If so, my reasons can be found in the OP.
@alt sorry.. i use pleroma and All users in the thread will be tagged
Oh lol :P , thanks for answering my curiosity. Isn't that like annoying to deal with for yourself as well 😅?
@alt yes, you right! hahaha
I should have known better :P. Thanks for the input!
I've been using Homebrew on Linux for several years and never had an issue. As others have said, it will not be able to provide GUI applications (in most cases) as on macOS, but it is a great way to get system and indie software alike
Thank you for your input, it's heart-breaking to hear that it's not able to provide GUI applications (and thus browsers by extension). But I'm glad to hear that it has provided you a decent experience so far!
Not sure why you would want to.
Linux package managers are state of the art.
😅, it's explained in OP.
I wonder if Nix-users would agree 🤔.
You can also use AppImages. The appman and am script is handy way download and update apps. Have a look at the following website for details:
https://portable-linux-apps.github.io/
It has up-to-date brave.
I'm not necessarily opposed to it, as I do use them if they're inaccessible to me otherwise and if it's official and up-to-date. But for security-sensitive apps (like a browser) I would rather not rely on it. Furthermore, it seems it's unofficial anyways.
This is a cool resource. Thank you!
what is a package manager
I feel a bit lazy at the moment, but Brodie does IMO an excellent job at explaining what a package manager is within the context of Linux. I'd recommend you to watch that instead over here; it's already set to play at the correct time*.
Utilities that manage packages on your system.
Graphical ones include Pamac and Synaptic.
The command-line ones are more known: apt (debian), pacman (arch), rpm (fedora), and yum (suse)
Brave homophobic though
It is the best Chromium based browser, in a sense, unfortunately....
Its CEO; yes.
Agreed.
Check thorium
Distrobox... or simply Flatpak?
Read the part after P.S 😅.