Installation

Innocent question here:

Why doesn't any Linux distro have an installation paradigm like MacOS or even Windows ? Why are there so many different package management methods ?

Installing from terminal, e.g. via na .sh file or whatever is really not user friendly at all and it just baffles me why no project has really done anything about this.

Attached: dpkg-package-manager.jpg (200x200, 4.6K)

Other urls found in this thread:

gnu.org/software/guix/blog/2018/tarballs-the-ultimate-container-image-format/
gnu.org/gnu/gnu-linux-faq.html
twitter.com/SFWRedditVideos

It's too make sure that you know you're using a unique operating system, The pain tells you your distro is alive.

Attached: c2bd98f0aa0e72e6d3d50224ef915588e03ef7fd4035da2fbb9862732437914a-b.gif (500x250, 1016.83K)

There are projects like Flatpak, AppImage, and Snappy that do what you're asking, but the most reasonable solution for an open sourced operating system is something like ports and portage. Being able to download one source and compile for a variety of CPU architectures is a strength not a weakness. Creating binaries for a specific package manager was meant to pacify people like you who wanted a hands off solution. There's also the issue of static linking wasting space, but supposedly those projects have a way of dealing with that. I guess we will see how well they do in the future.

This is a byproduct of how much of Linux was developed. In most cases, you couldn't get a binary. You had to download the source code and build it yourself. Now you can imagine trying to make sure all these different programs play nicely together.
The different package managers came to fix this problem by automating how these pieces are built and configured. This helped make your system stable and usable (more or less) than attempting to do it all yourself by hand.
One HUGE reason is that both Microsoft and Apple wrote a single programming interface for their operating systems. This single API and set of libraries makes it much easier to make those binaries, so long as you build them with those APIs and libraries. This was everything from networking to GUIs to reading hard drives to talking to your graphics card.
Linux doesn't have this unified interface. There's several projects that take care of parts of this. For example, Gnome and KDE are two different Desktop Managers that make the familiar OSX/Windows desktop appear. That's two *very different* libraries.
Because of this customization and fragmentation, the need for the dependency management of package managers are far more needed in Linux. Windows and OSX get away with this by locking out any other competing library or API, greatly simplifying the dependency problem at the cost of customization.

Because having each and every package on your system call to their own version of a package that already exists on the system somewhere else is bloated.
There is no reason for every application to have it's own packaged .so files all the damn time like what windows does.
Part the reason why most distros, even the shitter ones are faster then windows is because they don't run the same dependencies 50 thousend times.
And their not packaged in 80 thousend different places.

Even then, linux does have the option to do it in this way, only retards don't understand tarballs.
The reason why not every package does this, is because it's fucking retarded.
What you want, is a complete standard acrossed all platforms that use an already decentralised system of releases.

The problem is, you keep thinking of distros as a small part of linux. And you don't realise that the distro is "linux" As linux is, literally just a fucking kernel.
You don't fucking call every website "chrome" or "firefox" why the fuck do you do that for linux?
Distros, are not unlike the whole package of windows, because what distros are working with is PIECES of a system and they are PUTTING THOSE TOGETHER.
This means, guess fucking what? Different package management!!!!! HOLY SHIT!
Who'd guess?!?!
The person who made linux (the kernel) and the person who made bash are not related and don't have any real power over the actual packageing of the system, neither does windows if windows was released in a non proprietary standpoint.

Essentally, ever seen those windows operating system bundles? well it's like that, except instead of it being a product that is bundled together from the verius development sections at microsoft.
It's being bundled by randomfags online.

Like you have a section at microsoft dedicated to the kernel (NT) and then you have the section dedicated to the display manager are not in the same group, they communicate to eachother to make sure it's compatable but aside that they it's not their job to package it, that's the job of another department.
In opensource, we don't have this, everything and all the things are made completely transparent to the user, it's not a close box that's shipped out to everyone automatically on release.
This is what distros are for, to make sure these packages are delievered to you in a way that isn't fuckass stupid.

I know the windows comparison is very outreached as theres a lot of differences in how things work, but you really shouldn't be thinking of the system itself as one whole, rather it's all made out of tiny indivisual pieces that only recently started to make more since in the way it's structured and released.

This, if you really want to bash it. Is unix, because the idea is to make sure everything works together in a way that follows a rough standard rather, it's very friendly, just picky who it's friends are.
Distros try to fix small glemces of problems that arise from various packages in it's packagemanager, making it work well with others without completely having to redo any codebase.

Meanwhile:

Are you a retard? You literally right click and mark as executable and then double click. You can do the same with .deb files and appimages.

You mean like synaptic? Mint and Ubuntu "app" stores? Shit, in Ubuntu you can even just download a .deb file and doubleclick it for a graphical install.

Debian distros:

sudo apt install synaptic muon xara-gtk

Now you have 3 gui based package managers

...

You mean where each package has to manage itself because the operating system provides no package management features?
Linux already has this. They're called source tarballs. As a bonus, they also include the source code.
If you think a GUI where you can click buttons for configure, make, and make install would be more "user friendly" than having to type in the commands yourself then you should stick with Windows.

I used to think that until I stopped using Windows and started using OSX, and now even on OSX I prefer homebrew for package management.

Dynamic linking is literally cancer though.

Linux does actually, repositories
Just tell it to fetch you a program. No installers or hunting necessary in most cases

OP here. I think despite years of actually using various distros and so on, the ease of Windows and MacOS (which I'd say I've used moreso throughout my life) has "conditioned" me to view them as easier in one way or another.

I appreciate the responses to this thread though. Can anyone enlighten me on what all this snap/flatpack business is about though ? Are they some sort of attempt to create a new paradigm of installation on GNU/Linux ?

snap and flatpaks are just isolation layers that let you manage app permissions and dependencies easier. You also install them through the app store or terminal just like any other program.
Appimages are singe-file "executables" similar to portable windows exes. Double click on it and it will run immediately without having to install anything. They include all dependencies by default so they should always work. They're very convenient, but updating them is a mess since they're usually large single files.
The issue that these 3 solve is mainly avoiding having to rely on package managers so that you can use a single snap/flatpak/appimage on any distro. Which means if it runs on debian it will run on arch, SUSE, gentoo, ubuntu, whatever.

I don't see how it's easier. Linux has identical installation process as android. Open app store, search for app, click install. This is much easier and more convenient than windows. Still, you can run deb/sh files manually by double clicking and the process in this case is IDENTICAL to windows.

...

appimage is just the retards version of tarballs but instead it's wrapped into an iso.
and flatpack is just a normall packagemanager but made to have it's own entire own directory to manage dependencies allowing it to be cross distro compatable.
snap is just flatpack but 10 times more retarded

What's funny is that all the alleged benefits of dynamic linking are actually benefits of static linking.
Dynamic linking apologists claim it to be more secure as if there's a vulnerability in one of the libraries, all you have to do is download an updated version and every program that's using it is now fixed. What people fail to see is that not every program implements the vulnerable portions in the first place but because dynamic linking results in the entire library being loaded into memory, every application who uses part of it is now vulnerable.
Dynamic linking apologists claim it to use less disk space and memory than statically linked libraries. "Only use 1 source for all these programs!!" is often the example used; however, not every program uses every part of the library, so you're loading the entire thing into memory for no reason. Static linking only includes the parts of the library that are used in the binary directly and you don't have to load the entire damn thing into memory. More often than not, the portions of library code included across multiple programs, in the statically linked case, take less disk space than the entire library.
Dynamic linking is an unnecessary abstraction that serves no purpose except to allow non-free programs to utilize the functionality of free programs/libraries.

This is not going to create a vulnerability 99% of the time. When it does, it's going to require your application to already be vulnerable to exploit.

People hate static linking because it's an inefficient waste of hard drive space, but you bring up another good point. It's more difficult to audit when you have a dozen different versions of libs to go through.

...

T. L. ; D. R.: Linux is a good kernel, but it needs a BRAND-NEW userland.

The main problem is not that packages have dependences. The main problem is that packages have different dependences for the same tasks. For example, on any given Ubuntu Mate install, I'll probably have three or four different terminal emulators installed at any given time. Why? Because of dependencies. Usually one is xTerm. The other is whatever Mate comes with (the gnome-terminal fork I guess). Finally, I'll probably have a third that I actually use as a terminal emulator. Same with web-browsers, file-explorers, and many, many programs that lack GUIs that I ignore on many "disposable" installs (I rarely keep a machine for more than a month at a time, except my main which usually I run haiku on anyways). Not to mention if I want to use, say, KDElive.
The solution? A new OS built using the Linux kernel, with streamlined APIs to EVERYTHING. The problem with this is that no one wants to remake everything. Ever do a remodel for someone who wants to reuse lumber? As a framer, I refuse to do such jobs because the result is always that they'd rather use a shit product (hacked up lumber that's been sitting there for God knows how long) instead of doing things properly, from the ground up. Similarly, Linux (indeed all *nix sys developers except the so called "heretic" of Unix, macOS (even they do this to a lesser extent, tho)) userland developers insist on using decade-old "materials" because they JustWerk.
I'm not saying we shouldn't have 600 different desktop environments. I use MATE and gnome3 and lxde and awesome all for different things. However, we need unified, underlying apis independent of the DE (or file manager or term emulator or browser, etc). Once we get this, the TRUE Unix philosophy of rigid modulation will be realized, and the singularity ushering in the Year of Jubilee (Linux Desktop) will be realized.

There are windows style installers for linux. You use them any time you have to install proprietary software. Eg I had to install vmware client recently, it has a fancy windows style installer.
Because any one can make one. You could write your own this afternoon, and there would be one more in the world. But this wouldn't be so bad, if they were compatible. I should be able to install a deb, or even apt, on fedora and have it work fine.
Most file managers let you double click shell files to execute them.
snap/flatpak/appimage are trying. Too bad the windows package management system is shit, so anything based off them is shit as well.

This is what systemd is trying to be. it's succeeding

Do you ever get tired of being blown out?

Yes, but even systemd seems to rely to heavily on the Old Ways. Liken systemd unto Obi Wan, trying to fix the Jedi Order from within. What's needed is an Anakin someone who tears down what exists and rebuild.

I hate to be the bearer of bad news, but it's probably never happening. There's a lot of theories why, but I'm not going to get into that. I'll just say that I first installed Linux around 95.. I didn't expect much and left soon afterwards. But it was an oddity that I kept coming back to, just to see progress. Desktop wise, I was there at the beginning of KDE, which was a sort of milestone at first, but soon showed it's flaws. Then GNOME. I won't bore you, but eventually I lost interest and curiosity died off... only to poke my head at news articles every so often (rather than installing Linux myself, like the old days).

Just reading what you said though kind of makes me sad. I was looking for "Jubilee" for over 20 years. Consider that Steve Jobs basically accomplished desktop UNIX within a couple of years starting with NeXT. Then repeating it again at Apple. And all this time, Linux still falls short.

Different distros have different versions of different dependencies in different directories. It's just easier when the distro maintainers have their own way of doing things.

My dude
this is no way of attracting/thinking fresh, succulent Wangblows users to Linux

Attached: Нахуй.jpg (416x395, 71.95K)

Indeed I fear you're right, user... very sad indeed

There should be only two types of "installation", everything else is haram:

On top of that we should get rid of the notion that every distribution has its own package manager. There should be one objectively best package manager with one distributed/decentralized software repository from which all distributions pull the packages.

Kys. Furthermore, this statement is just ignorant.

And of course you don't address HOW it's ignorant, just saying that it is totally suffices.

I fail to see why a package management system is an issue.

The problem I find with distros are the dependency hell that follows with dynamic linking. Like on Windows you would have to keep several versions of libraries on your system to support the distributed binaries users install (fx. msvcr-whatever.dll).

I agree installer scripts can be a pain in the ass, because it's hard to control where things end up, but usually you can point it to a folder.

On my system I have an ~/Apps folder where I extract packages (rpm/deb/zip/custombuilt/dontcare), only thing I have to remember is to patch the ORIGIN to let the linker know that it can find neccesary non-system libraries on a path relative to the program (or set LD_LIBRARY_PATH). So if there was going to be some kind of standardization I'd suggest a simple environment variable USER_PROGRAM_PATH which in my case would point to $HOME/Apps combined with LD_LIBRARY_PATH (though I prefer patching the program to look at a relative address for my setup). The standard for multi-user non-native stuff is afaik /opt.

Attached: lanparty_ceiling_ducttape_pizza.jpg (1440x1080, 160.48K)

For starters, "we" isn't "you" and you have zero control over what "they" do. You should get rid of the notion that you actually do anything.

I think he's referring to the idea instead of who's doing it. why is
ignorant.

Vomit.

Until recently, GNU didn't have an official package manager so each distro made their own. Debian has DPKG, Red Hat distros gave Yum/dnf, SUSE distros have Zypper, Arch has Pacman, etcetera.

Now GNU has an official package manager: Guix (pronounced "geeks.") It has nothing to do with the way Windows, MacOS or other distros do stuff.

On a side note, the Windows model is atrocious. Microsoft has already tried to deprecate it with MSI and now UWP.

When it comes to Unix library and C programs, you don't just download one source for one program. You have to download a series of libraries and compile them all before you can compile your intended target and link them all together.

No, I was referring to we.
That's why I said:

Hit the nail on the head. Saying "we" in place of "them", "me", "I", "they", etc. is ignorant because you are not part of anything. You are an individual. And no piece of software has _ever_ been developed by a community, but rather individual devs who often go unnoticed as reddit skids like you who think they're "part of something".

Furthermore, the whole statement _is_ ignorant. Who would control this? Anyone can make a distribution. The glory of GPL2 free software is that anyone can distribute it. Therefore, rather than all distros having a unified package manager that is (somehow? by what and who's metric?) objectively better, your statement should have been "I wish there was a distro with a package manager that is objectively best". But this is silly. Who cares that you want that? Furthermore, every user has this sentiment, yet many are smart enough to know that.
I have one more issue with this whole statement tho. Who's going to do it? If not you, than how can you expect someone else to? The point of free software is that if you want something done, do it. Not a developer or sys Admin? Than why do you care? Don't tell me you're just parroting arguments you've heard, user.

Imagine being such a cuck.

Nobody, he said it's decentralized or federated.

Not anyone can maintain it.

Visit any discussion about why package manager X is better than Y. That user suggested a solution that covers every use case by eliminating use cases he deems useless.

What?

At this point you're just projecting your insecurities, since he never said anything even remotely related to these. Your obsession with pronouns is retarded, nobody thinks so fucking deep into their meaning. You read it as "we, the Zig Forums community" or whatever, some other guy read is as "we, as a civilization". Your entire argument (if it can even be called that) is just a derailment into semantics, literally a straw man.

1 / 10. Every word you say sounds like it came straight out of an essay written by a pretentious English major faggot.

Decentralized and federated distribution networks still need INDIVIDUALS to maintain them.
Actually, anyone can; not everyone will
So the metric is anons opinion?
Lemme know when you finish your 7th grade reading comprehension class.
Le projecting meme. Le community argument. There is not 8ch community. That's the whole point of anonymous. It's all just individuals. You're not part of anything user. Also >>>reddit with you

Imagine being this slow.

systemd is like Windows, its tore apart by various compat and legacy bullshit

being a virgin is worse than being incorrect

The way his plate is hanging off the edge of the desk makes me extremely uncomfortable. Especially since it looks like if he just lowers his left arm without thinking about it he would catapult that shit across the room.

Installing from a source tarball is pretty much the same across all distros though.

Linux developers don't care about the end user. As long as it works on my system fuck everyone else. Also the majority of Linux developers are amateurs.

APT or YUM are far superior to clicking through complex GUIs to get things installed.

I understand that a lot of packages have dogshit install scripts or none at all. It's because developers are the laziest people on earth.

Attached: pepe.jpg (750x1000, 41.74K)

There are such things - flatpack, appimage and snap, but are less common, because distro maintainers often pack all packages, so instead of searching for a shitty .flatpak, .appimage file, you just type: sudo apt install package_name, if you use apt, guix package -i package_name or whatever. So simple and so convenient. Some people are just scared because of terminal windows. Efforts to create windows-like installers, instead of proper package management, are to attract new users, and nonfree crap software makers. However there are also cool things, like GNU Guix - safe, easy, powerfull, prevents dependency hell, and it even have options for creating packages: gnu.org/software/guix/blog/2018/tarballs-the-ultimate-container-image-format/
Guix makes it secure to install binary packages, because of reproducable builds. It just needs a GUI, and ability to create one click installers, so new users and Wangblows refugees could easly install software. Finally I think Windows and MacOS software installation paradigm is shit - it takes a lot of time to download a program from a website, or even to browse crappstore. I really don't like how it's done in MacOS - they want an user of their software to think, that programms are just colorful icons, also that drag and drop to folder is crap. Command line is much faster.


GNU/Linux is a system, Linux is just a kernel.
gnu.org/gnu/gnu-linux-faq.html


Good


Yes, devs of the Linux kernel don't care about users, because they're mostly big corporations. The same for GNU/Linux distributions maintained by companies, people who care more about convenience, instead of freedom, and forces of evil - RedHat, Ubuntu, Debian, systemd It's so big, that it can be called a distribution.
But distributions developed non-for-profit, by people that love programming and software, actually care about quality and users.

Pretty much what said. Linux was developed by a type of engineer you dont see anymore, they were once everywhere in the 80's and 90's but saw how shit things were getting and were gone by 2005 or so. They were making Linux for themselves, with other people like themselves, they were not excluding people who did not know how to compile code on purpose, its just how it ended up.

Kinda shitty really, as now we are at the mercy of disto xyz's package maintainers. But damn if it does not work fairly well still as it is.

You have detailed succinctly why Linux will never be number #1 on the desktop.

it keeps the lazy niggers and jews away, niggers and jews HATE to work.
its to secure the existence of good software and a future for botnet free computers
hail unix

God Bless this state

It has. The command is:

sudo apt-get remove rust* libstd-rust* cargo*

sudo apt-get remove snapd* libsnapd*

also this.

Bullshit. Just open up any OSuX package or the rat's nest of any Windoze executable's base folder, and you'll find mountains of libraries kicking around, duplicated tens or hundreds of times by different programs you've installed. Even ignoring the fact any static library that provides enough granularity to do that out of the box, can just as easily provide the same granularity if dynamically linked.

...

Both of those examples are dynamic linking you stupid cunt.

So this isn't about package management at all; it's just that you want a GUI for everything.

Attached: Terry_where_it_all_went_wrong.webm (1280x720, 1.39M)

Just drop the files into a folder and add it to the path var.

Ubuntu, Fedora, etc have for at least 15 years.
what are you even implying?

the absolute state of Zig Forums. this HAS to be bait.

Attached: premiukm bait.jpg (625x626, 37.9K)

Not offering a GUI for user-facing tasks is bad design, CLI is good for automation and uncommon use cases but it's simply inefficient for most users' workflows.

I vote for

"There should be only two types of "installation", everything else is haram:


On top of that we should get rid of the notion that every distribution has its own package manager. There should be one objectively best package manager with one distributed/decentralized software repository from which all distributions pull the packages."

Attached: 800px-Declaration_of_Independence_(1819) _by_John_Trumbull.jpg (799x529, 110.69K)