Repos Make All of the Difference
-
Was just comtemplating why people tend to see Windows and Linux family operating systems like Fedora, CentOS or Ubuntu as being so different when I do not and it suddenly hit me: the repos.
There are two big things that really set the Windows and Linux worlds apart. The first, of course, is that Linux is a kernel, not an operating system. Linux just refers to the large, ambiguous family of operating systems built from the Linux kernel. Individual OSes, instead, are what compare to Windows. So we must approach it as CentOS, Fedora, Ubuntu, Mint, OpenSuse or Arch vs. Windows. Not Linux vs. Windows, that makes no sense at all.
But the second is the idea of repos. We can have repos on Windows, but we have to add them. All major Linux based operating systems live and die by their repos, though.
When you buy Windows you get, just Windows. Everything is on the DVD. It is what it is. If you want to add another product, let's say a database, you either buy SQL Server from Microsoft or get something free like MySQL from Oracle. You go out and acquire the software, download it and use it. It's very, very clear that it is separate software and that you have added something to the system and you have to deal with it separately. So what is "included" in Windows is a very small list of things that we rarely have to refer to.
But on Linux you have "included repos" in most cases. Take Fedora, it comes with an array of repos that include "official" additional packages that range from additional shells or desktops to many different databases and applications of all kinds. Of course you can add your own additional repos, as well, but that becomes more like Windows and less confusing.
But the "included repo" concept makes it easy to see Windows as "simple" and Fedora as "complex". For example, Windows only really gives you access to two software RAID systems, one two LVMs, and two filesystems while Fedora gives you most like three, three and ten. Windows comes with no databases, but Fedora has dozens. Windows has only two programming shells (CMD and PowerShell) while Fedora has a dozen or so.
This makes it easy to see Windows as a single implementation that is basically always the same and Fedora or other Linux as complex and hard to define. A common thought is that "Windows has a single GUI but Linux has many different ones."
That idea is true, sort of. Windows ships with only one GUI. Most Linux distos have one official GUI in the same way. Take Ubuntu: it uses the Unity interface officially. You can add KDE to Ubuntu, if you want; but you can add KDE to Windows too, if you want. Ubuntu just makes it easy by putting KDE into a distro, and making sure that the packages work. But in both cases it is an extra "add on" package - just a piece of software. Same with Linux Mint Cinnamon edition, Cinnamon is the official desktop that you are expected to use, but you can add another one.
I think that the repos and the ease of adding well tested and supported packages instead of making you go seek them out and download them on your own makes many Linux based operating systems feel like they are different than Windows when, at the core, the main difference is just in how well tested and supported a large array of packages is for Linux whereas Windows just leaves you on your own to acquire and install them. It's just "too easy" to get a lot of software on most Linux systems.
-
I suppose another odd thing from a Windows perspective is that when you pull something from a repo, any other dependencies are also pulled along with them. Something that a lot of Windows software doesn't do. Oh, this game you want to install requires Flash - you often have to go download and install that first, and maintain it separately. (luckily for Windows 10, MS now manages updates for Flash)
-
Can Ninite and Chocolatey be consider repos for Windows?
-
Chocolately for sure, Probably Ninite as well, I'm guessing CLI access (assuming it doesn't have it, I actually don't know) shouldn't be a requirement, though it would be desired in most businesses.
-
@black3dynamite said in Repos Make All of the Difference:
Can Ninite and Chocolatey be consider repos for Windows?
Yes definitely. BUt they are "add on" repo mechanisms, not included, which makes it more clear that they are external and "extra".
-
@Dashrender said in Repos Make All of the Difference:
I suppose another odd thing from a Windows perspective is that when you pull something from a repo, any other dependencies are also pulled along with them. Something that a lot of Windows software doesn't do. Oh, this game you want to install requires Flash - you often have to go download and install that first, and maintain it separately. (luckily for Windows 10, MS now manages updates for Flash)
That's certainly a cultural difference, Windows has always favoured statically compiled packages and Linux has favoured shared resources. This is changing with things like the Snaps system, though.
-
@scottalanmiller said in Repos Make All of the Difference:
That's certainly a cultural difference, Windows has always favoured statically compiled packages and Linux has favoured shared resources. This is changing with things like the Snaps system, though.
What's that?
-
@Dashrender said in Repos Make All of the Difference:
@scottalanmiller said in Repos Make All of the Difference:
That's certainly a cultural difference, Windows has always favoured statically compiled packages and Linux has favoured shared resources. This is changing with things like the Snaps system, though.
What's that?
It is accepted on Windows that all of the pieces of software that you will need for a package to work will be included with the package itself. On Linux it is assumed that anything that is needed might be needed by some other package so they share it.
Take the gzip library. On Windows, anything that needs gzip includes it and a vulnerability in gzip means that every package that wants to gzip something needs to be patched.
On Linux it is accepted that there will be a gzip library maintained by a repo (normally the system repos) that is kept tested and patched and is used by every system that wants gzip functionality. This makes Linux lighter and more secure, but means that versioning maintenance is more complicated.
-
Can you explain all of the different repos?
I know we've run into that issue with XS. "issue"
-
@BRRABill said in Repos Make All of the Difference:
I know we've run into that issue with XS. "issue"
I believe that XS just turns them off.
-
you can check what is enabled/disabled
yum repolist all
works for all distros with yum
including XS
My XS has all disabled except citrix repo, which is probably default. -
@momurda said in Repos Make All of the Difference:
you can check what is enabled/disabled
yum repolist all
works for all distros with yum
including XS
My XS has all disabled except citrix repo, which is probably default.That's my understanding.
-
@BRRABill said in Repos Make All of the Difference:
Can you explain all of the different repos?
Basically ever major OS except for Windows and Mac OSX, comes with a set of default repositories for software that represent what is considered to be supported as part of the base OS. CentOS, for example, as the core repos that include the repos for the Base OS, one for pulling source files and a few others that are normally off by default. This allows you to easily install the smallest possible or reasonable OS and add additional software as needed only. No need to bundle it all in and bloat the system, yet still trivially easy to add on what you need.
Anyone can operate their own repo. So you can make your own if you want. The ML servers use a repo from the MongoDB folks so that we pull the latest and greatest, supported and official MongoDB database servers directly from MongoDB instead of waiting for Red Hat to put older, Red Hat supported versions into the RH repos. So our MongoDB is managed transparently with the rest of the system, but we configure it to be much more modern than the MongoDB instance available with the OS itself.