What is wrong with linux ?

This was always the case. Linux as an OS is not and never was a homogenous build. And this is alright for most people as they just want a running OS installed from binaries. (I was told there are some linux distros that can compile as a whole, but I never tried.) There is nothing done wrong with either, it is just a difference in the development process: when the development itself does not happen within a consistent OS landscape, it is a lot of work to put it correctly together afterwards.
You used the words "development process". There is something in the process.
 
You used the words "development process". There is something in the process.
The Linux kernel is developed completely separately from the "userland". Each distribution seems to have it's own "userland", some use the GNU landscape, some use other implementations. With FreeBSD the kernel and "userland" (or "world" as we call it) are developed in unison.
 
cc -v gives,
FreeBSD clang version 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)
I think it's the preferred compiler for and kernel ,kernelmodules and userland at this time. Userland and kernel are tight together by the compiler version ?
 
This is an opinionated post and on purpose.
Everything on my PC is compiled from source, including kernel, kernel-modules, applications.
Trying the same thing on linux, i tried gentoo, it did not work, there was always a conflict. Meaning here I put option X there I must put option Y and you never get it right. So in some sense freebsd is doing something right what gentoo is doing wrong. But what is it ?
I LOVE LINUX, BUT...
The problem is not only with Gentoo, but with the Linux Distributions world. Some of these problems include:
1. In order to create easiness, some distros started ignoring POSIX.
2. The directory structure is getting so diverse that almost every distro is now following its own structure of directories.
3. As a result of this directory structure it is difficult (for newcomers) to find the similar directory/file on another distro.
4. Not only the location of directory/file is different, but also their names are different on different distros.
5. Not only their names are different, but also some of their structure is different (for instance, /etc/suders file).
6. Package manager is another domain of discussion. If after working for few years on one distro, you switch then you have to learn it from the scratch. There is no consistency among packages and package managers among Linux distros.
7. Some times, if you search the "exact same package name" on other distro, you may not find it, because the distro/developer decided to have different name.
8. Many software that come by default in linux (especially GUI based) do not follow Unix/Linux philosophy (Do one thing and do it well).
9. Systemd brought automation, but it has complicated the things.
10. Now distro enable (by default) many services which are not needed by the user.
11. Some distro (for instance, ubuntu) for the sake of easiness enable so much crap (services) that it makes the system slower and slower.

These are few things which get worse overtime. I complain about these things because I LOVE LINUX, and I want it to be more compatible with original Unix/Linux philosophy.
 
Userland and kernel are tight together by the compiler version ?
No, that has nothing to do with it (it does but is not that important). It's more that a userland command like ifconfig(8) can actually use the features of drivers like em(4) or urtw(4). On FreeBSD ifconfig(8) is developed along side the kernel devices, so if a (network) interface (em(4), urtw(4), bridge(4), vlan(4)) requires certain configuration options then ifconfig(8) is modified accordingly.

On Linux for example you need to use different tools for ethernet interfaces (ifconfig(8)), wireless interfaces (iwconfig(8)), bridges (bridge), etc. They're all network interfaces, why would you need different tools to manage them? Because they're all developed separately from whatever kernel development is doing.
 
There is a place in internet where a topic with a title like " What is wrong with XXX ?" (And XXX is not the main subject of the place) could finish with very valuable responses (for my knowledge).
Thanks here
 
Because they're all developed separately from whatever kernel development is doing.
And god forbid they ever need to interact with one another. Then big "systems" are made. Systems that are far more vast than the actual important components themselves.
 
And god forbid they ever need to interact with one another. Then big "systems" are made. Systems that are far more vast than the actual important components themselves.
Yep. Insert XKCD about standards here.

Linus has ranted about the userland chaos often enough. Blaming him by association is not fair. What would BSD look like if he had joined it? Maybe better, or he and Mat or Theo would have had a 'serious argument'. I think it is better this way.
 
As advocate of the devil.
When you define an interface of syscalls.
Can't you develop userland and kernel totally different when they both agree on the syscalls ?
 
Yes.
But then the hackers come in and each has his own narcistic NIH burst on the system.
I'm happy that on *BSD the front line is at the app level so these folks have little chances to piss in my cereals, so to speak.
 
2. The directory structure is getting so diverse that almost every distro is now following its own structure of directories.
This is a special point that really gets me, this new crap with directories makes me nervous. Who the hell would like /bin and /sbin elsewhere? The answer I heard a couple times: "All the directories should be available to the user". Oh cool, so you just break FHS because you don't know how to set a PATH variable?!
 
When you define an interface of syscalls.
Can't you develop userland and kernel totally different when they both agree on the syscalls ?
Sure, if there's one party to deal with then this would be relatively simple. But the Linux userland is scattered all over the place. So it's not one party, there are multiple ones. And one party may not like what the other party is doing. If they agreed on a certain direction there wouldn't have been a reason to split off in the first place.
 
first of all, the virus that everyone knows, sys#@$# , and beyond that Linux is taking the idea from microsoft
"something is happenin but you cant see it or debug it, everything is fine..just wait"
and day after day is more dificult make things at admin level, like debug,solve problems

now I am keeping a couple of Linux hosts, Debian is unrecognizable in some ways but my later years as a fan wort it now
Ubuntu is a joke in terms of a efficient ,simple and fast system,and people use it for servers!

another example, I have one FreeBSD box with 20GB of ram, and I am migrating virtual machines from one centos with
KVM on it, the Centos box has 120GB of ram and you CANT run ls without hanging the OS
and make everything sloooower, including the VMs of course
when the OS is making his magic behind our backs...
today I migrate 8 of 15 virtual machines and my FreeBSD runs smoother, I/O , Network,etc
everything is controlled and monitored,and most important KISS

beyond my personal opinions Linux has a bad future, until the machines comes with 200GB of ram and a intel corei20
to patch up the bad performance (more power=less bad performance you see)
 
In Linux world, most of the times when you ask a query, you will get following immediate response:
What is your distro, version and kernel version?
Can't I get a solution of my issue by simply stating that "I am using Linux"??? That's the irony of the "New Linux World" 😥
 
I have sympathy for what CentOS guys did with you... I have never seen a company changing EOL in the middle of a lifecycle. Pure cruelty.

when come up RedHat (correct me if I'm wrong, if RedHat has nothing to do with CentOS)
I remember print the entire manual of RedHat 9 , I was amazing, learning,using it..etc
but today I can compare every Linux distro, is almost the same thing

PS: I wish had the skills for make a kernel and a userland to bring Linux what is was
 
Replying to the topic:

Nothing is wrong with Linux. It's an alternative "unix-like" kernel developed independently and works pretty well. Of course, you will find some details "wrong", like everywhere.

Nothing is inherently "wrong" with GNU either, except for the fact that the GNU OS will probably stay unfinished forever (with only Linux "completing" it).

Well, you could say licensing is "wrong" for both, but that's a political discussion ;)

What IMHO is wrong is how operating systems are built out of these loose pieces. In this old "cathedral vs. bazaar" picture, the bazaar isn't necessarily superior. There's no central forum for discussing and reviewing changes concerning both kernel and userland. There's not even a definition of how a "base system" looks like. Distributions get to define that, and they are responsible for collecting the bits and pieces to create a working system. Distributions that are used widely also get some informal decision power. That's how things like "systemd" happen. Well, just my opinion, I'll keep it that short ;)

edit: If there's also something great about Linux, it's the sheer amount of drivers available, either included in the tree or provided by 3rd parties. Just as one tiny example, back when I had cable TV, I owned some OEM model of a DVB-C PCI card (found on ebay) that was only produced for some settop boxes. No Windows drivers were available. And guess what, it worked just fine with the PCI DVB drivers included with Linux ;)
 
In the FreeBSD world (and other BSDs too) we only need to know the version. That's all that's needed to know what it supports.
I like the fact in BSD World that they don't change things just for the sake of change. Which creates a great coherence and backward compatibility. Many times a single tutorial is applicable over many FreeBSD versions :)
 
I like the fact in BSD World that they don't change things just for the sake of change.
When I first started it was with FreeBSD 3.0, you configured the network and services using ifconfig_<int> and <service>_enable in /etc/rc.conf. Now with FreeBSD 13.0, 20+ years later, I still configure my machines exactly the same way. Many things have changed in those 20 years, a lot of things also stayed exactly the same.
 
I still configure my machines exactly the same way. Many things have changed in those 20 years, a lot of things also stayed exactly the same.
This is IMO a really important feature of an OS. Less time retraining, more time actually solving problems.

Perhaps the biggest changes I recall were the requirement to add a wlandev. I.e I couldn't use ath0 anymore but had to create a wlan0 interface from ath0. Still not entirely sure the purpose of that.

And then of course the newer pkgng system. Although to be fair, the way I use it is actually fairly identical.
 
When I first started it was with FreeBSD 3.0, you configured the network and services using ifconfig_<int> and <service>_enable in /etc/rc.conf. Now with FreeBSD 13.0, 20+ years later, I still configure my machines exactly the same way. Many things have changed in those 20 years, a lot of things also stayed exactly the same.
That's ideal. /etc/rc.conf is so insanely simple that (coming from SystemD) I struggled in the beginning :)
I wish FreeBSD got two things:
1. More driver support
2. More application support
Personally, I am locked with Linux just because my organization has deployed certain applications like MS Teams, Skype, One Drive etc :-(
My research supervisor is using a (books) library application in MS Windows, so I cannot kickout my Windows workstation :-(
Usually, it's people who force you to use a certain OS and application.
 
Perhaps the biggest changes I recall were the requirement to add a wlandev. I.e I couldn't use ath0 anymore but had to create a wlan0 interface from ath0. Still not entirely sure the purpose of that.
I believe that was done so you can configure multiple concurrent WLANs on a single physical interface, something that wasn't possible with ifconfig_<int> alone. Useful if you run multiple APs on the interface.
 
I didn't follow FreeBSD for that long, I only started using it back when 10.x was the latest RELEASE (and I directly decided to go with 11-CURRENT instead cause I needed the DRM drivers to use it on my desktop as well [blatantly ignoring all warnings on this forum]).

But then, I was amazed to see that FreeBSD offered for example an OSS-compatible (/dev/dsp) interface for sound with exactly these problem solved that were deemed unsolvable in Linux, which lead to the weird design of ALSA (and later to the monstrosity called pulseaudio).

So yes, agree with SirDice, usakhncit and others: this change "just for the sake of it" is a problem in the Linux ecosystem.
 
What was relevant was a support contract with Redhat (now IBM), so there was always somebody external to lean on for assistance, and a supply of developers and software suppliers familiar with that turf.
Yeah, Red Hat is now another piece of commercial software under IBM's control. Sure, as a company (with actual employees doing active, full-time software development, and expecting to be paid for that), that was a logical move. FreeBSD Foundation does have a few full-time employees, but nonetheless, it's actually tiny compared to Red Hat in terms of ability to pay the devs market price. Against this backdrop, it's pretty amazing that FreeBSD survived as long as it did, and even manages to give Linux a run for its money in terms of having a solid, enduring design that is still flexible.
 
Back
Top