10 differences between Linux and BSD
|
|
|
Comments (44)
oh, BSD, not LSD
I was going to say "no difference", but...never mind!
FOSS is so..like cool and trippy man..;-)
Linux Standard Distribution... Sounds like a good idea to me!
Linux in the Sky... with Diamonds
Linux in the Sky... with Diamonds
The Linux Standard Distribution already has a name: Ubuntu.
At least that's what Mark Shuttleworth wants us to think.
At least that's what Mark Shuttleworth wants us to think.
> At least that's what Mark Shuttleworth wants us to think.
I wonder what he's on.
I wonder what he's on.
Groovy. I feel mellow.
Best ... LXer ... discussion ... topic title ... ever
We've all seen lots of pretty, swirling, nonsensical colors in front of our eyes if we've been in this game more than a few hours, right?
We've all seen lots of pretty, swirling, nonsensical colors in front of our eyes if we've been in this game more than a few hours, right?
Now that I've actually read the post, I get the feeling the writer is neither a habitual nor casual user of any BSD project.
Sure there are licensing differences, and in the abstract the whole kernel + userland in one project thing does have meaning, but for users those things don't mean as much as how well a given system works and what it can do.
The whole "you can update your entire base system with a single command" thing is not really all that relevant. It's the rest of the system that needs more frequent updating, and such updating is harder by many orders of magnitude than in most Linux systems. PC-BSD is just about the only project that aims for a, dare I say, "Linux-like" experience in which you can easily do binary updates of the entire system.
I finally figured out how to patch an OpenBSD installation from -release to -stable. It's far from a single command, and it has nothing to do with add-on applications. I never did figure out how to update more than the base of FreeBSD (and the freebsd-update command is a bit of a godsend) and instead ended up in such lovely circumstances as a three-day-plus session of compiling the entire installation from ports that could've gone longer had I not stopped the box after the aforementioned 3 days.
These are the kinds of things that make Slackware look easy.
I know this sounds negative, and there is a lot to recommend in the BSD projects, but easy maintenance and patching of a full desktop system isn't BSD's strong suit, at least in my experience.
Sure there are licensing differences, and in the abstract the whole kernel + userland in one project thing does have meaning, but for users those things don't mean as much as how well a given system works and what it can do.
The whole "you can update your entire base system with a single command" thing is not really all that relevant. It's the rest of the system that needs more frequent updating, and such updating is harder by many orders of magnitude than in most Linux systems. PC-BSD is just about the only project that aims for a, dare I say, "Linux-like" experience in which you can easily do binary updates of the entire system.
I finally figured out how to patch an OpenBSD installation from -release to -stable. It's far from a single command, and it has nothing to do with add-on applications. I never did figure out how to update more than the base of FreeBSD (and the freebsd-update command is a bit of a godsend) and instead ended up in such lovely circumstances as a three-day-plus session of compiling the entire installation from ports that could've gone longer had I not stopped the box after the aforementioned 3 days.
These are the kinds of things that make Slackware look easy.
I know this sounds negative, and there is a lot to recommend in the BSD projects, but easy maintenance and patching of a full desktop system isn't BSD's strong suit, at least in my experience.
Tell me about it... I gave up on OpenBSD when I had been trying to install Opera and make the printer work for over a week, with no results.
However, once your knowledge grows, this becomes easier.
However, once your knowledge grows, this becomes easier.
Quoting:once your knowledge grows, this becomes easier.Yes, when you already know it won't work, giving up is much easier. Viz. securing Windows.
(Although I suppose removing the power supply is a good start...)
Quoting:Best ... LXer ... discussion ... topic title ... ever
I know right? Who here hasn't been found in their backyard talking to the tree at least once..
Quoting:Tell me about it... I gave up on OpenBSD when I had been trying to install Opera and make the printer work for over a week, with no results.
You're not trying to do this without CUPS, are you? I could never get printing to work the super-geeky way in OpenBSD - CUPS is the only way.
And Opera only works on 32-bit installs. If you have AMD 64, it won't run.
Tried LPRng. CUPS - I never heard of such a thing back then. Probably tried it, but it looked harder than LPR or there were other issues. I didn't knew about the graphical 'webpage' configuration tool probably, so I had to write CUPS-config files by hand. Try it, and you'll understand writing LPRng config files is easier I guess...
LPRng almost worked, at least for plain text (using the aXe editor!) it did.
But the 1994 Xerox4510 printer I had back then was not very mainstream, and I had never used any OS beyond C64/DOS/Windows, so that may explain why it was so hard.
But the 1994 Xerox4510 printer I had back then was not very mainstream, and I had never used any OS beyond C64/DOS/Windows, so that may explain why it was so hard.
My daughter's laptop screen is threatening to die. If it does, the OpenBSD 4.7 machine goes to her. ... but will I keep OpenBSD or wipe it for Xubuntu (which is all the rage among Linux-using 7-year-olds)?
> ...which is all the rage among Linux-using 7-year-olds...
I thought that was Quimo. http://www.qimo4kids.com/
I thought that was Quimo. http://www.qimo4kids.com/
> ...which is all the rage among Linux-using 7-year-olds...
I thought that was Hannah Montana Linux, at least for the girls. http://hannahmontana.sourceforge.net/Site/Home.html
I thought that was Hannah Montana Linux, at least for the girls. http://hannahmontana.sourceforge.net/Site/Home.html
My 7-year-old loves Battle for Wesnoth.
The problem turns out to be that Disney Fairies (.com) and Time4Learning.com don't work on Linux. VirtualBox fills that need.
The problem turns out to be that Disney Fairies (.com) and Time4Learning.com don't work on Linux. VirtualBox fills that need.
10 Additions
7 earlier comments in the full thread.
You can pretty much pick any shell in a given BSD OS, but I think it's best to at least give the default shell a try.
In OpenBSD, the default shell is ksh
If I remember correctly, in FreeBSD, lately anyway, the root account gets csh and users get plain ol' sh
I must say, I find the boot system in the BSDs to be one of their best features. They're easier to understand, don't change much from release to release and are extremely well-documented.
And yes, the man pages are generally excellent.
Also, the BSDs do ship with their own bootloader, but it's pretty easy to install GRUB if you want it.
Most BSDs require quite a bit of (usually well-documented) configuration that affords an excellent opportunity to learn more about the Unix-y utilities you might have previously taken for granted. For instance, I learned way more about such things as CUPS, date, fsck and even Linux-y ol' GRUB in OpenBSD because you have to do so much manually.
And if you're the type who enjoys building from source, the ports systems in the BSDs are EXTRA easy when compared to compiling from source in Linux without the benefit of the ports-tree infrastructure.
But one of my biggest nightmares? Building Java. I managed to do it, but not without much in the way of pain and woe.
In OpenBSD, the default shell is ksh
If I remember correctly, in FreeBSD, lately anyway, the root account gets csh and users get plain ol' sh
I must say, I find the boot system in the BSDs to be one of their best features. They're easier to understand, don't change much from release to release and are extremely well-documented.
And yes, the man pages are generally excellent.
Also, the BSDs do ship with their own bootloader, but it's pretty easy to install GRUB if you want it.
Most BSDs require quite a bit of (usually well-documented) configuration that affords an excellent opportunity to learn more about the Unix-y utilities you might have previously taken for granted. For instance, I learned way more about such things as CUPS, date, fsck and even Linux-y ol' GRUB in OpenBSD because you have to do so much manually.
And if you're the type who enjoys building from source, the ports systems in the BSDs are EXTRA easy when compared to compiling from source in Linux without the benefit of the ports-tree infrastructure.
But one of my biggest nightmares? Building Java. I managed to do it, but not without much in the way of pain and woe.
From the article:
The GPL attempts to prevent the distribution of binary-only source.
I think I know what source code is and what binaries are, but binary-only source? The mind boggles.
2: Control. The BSD code is not "controlled" by any one user, which many people see as a big bonus. Whereas the Linux kernel is mostly controlled by Linus Torvalds (the creator of Linux),
I think this is pretty disingenuous. There are plenty of forks of the kernel tree and Linus has systematically kept telling people that they should make their own forks if they don't trust him. Distros often include in their kernels major packages that are not in Linus's stock tree (just one example of many, App Armor in Ubuntu, until very recently (it's now included)). There are also several cases of experimental projects moving from the BSDs onto Linux, because they couldn't get accepted into the BSD kernels. Of course, the BSD developers have been infamous for their in-fighting in the past, so while there may not have been a single benevolent-ish dictator, the oligarchy has been at least equally nasty at times.
hkwint:
20) Booting. In most Linux distributions, there's SysVInit.
Actually, the original SysV Init has been superseded by Upstart in Ubuntu, Fedora and a bunch of others many releases ago. SysV init scripts are still usable in these, though. Fedora is about to replace Upstart with Systemd for the next release.
The GPL attempts to prevent the distribution of binary-only source.
I think I know what source code is and what binaries are, but binary-only source? The mind boggles.
2: Control. The BSD code is not "controlled" by any one user, which many people see as a big bonus. Whereas the Linux kernel is mostly controlled by Linus Torvalds (the creator of Linux),
I think this is pretty disingenuous. There are plenty of forks of the kernel tree and Linus has systematically kept telling people that they should make their own forks if they don't trust him. Distros often include in their kernels major packages that are not in Linus's stock tree (just one example of many, App Armor in Ubuntu, until very recently (it's now included)). There are also several cases of experimental projects moving from the BSDs onto Linux, because they couldn't get accepted into the BSD kernels. Of course, the BSD developers have been infamous for their in-fighting in the past, so while there may not have been a single benevolent-ish dictator, the oligarchy has been at least equally nasty at times.
hkwint:
20) Booting. In most Linux distributions, there's SysVInit.
Actually, the original SysV Init has been superseded by Upstart in Ubuntu, Fedora and a bunch of others many releases ago. SysV init scripts are still usable in these, though. Fedora is about to replace Upstart with Systemd for the next release.
"We" have OpenRC now, and I'm glad "we" do.
Quoting:There are plenty of forks of the kernel tree and Linus has systematically kept telling people that they should make their own forks if they don't trust him.
I've often wondered why there aren't any "major" forks of the Linux kernel that have gone in a totally different direction. Happens all the time in the BSD world (OpenBSD, DragonFlyBSD ...)
Probably because the combined value of things that are added to the Linux kernel is just too big to pass up. When you're going in a different direction, you'd have to do all of that yourself.
Also, Linux isn't averse to large patches or sweeping changes. As long as they make sense and are well written. This makes it possible to get your "different direction" in the mainline kernel eventually.
Also, Linux isn't averse to large patches or sweeping changes. As long as they make sense and are well written. This makes it possible to get your "different direction" in the mainline kernel eventually.
Logic doesn't dictate all. I'm still surprised this isn't happening in a half-dozen different ways.
I take it all of this conversation is just more ammo for your article right Hans? ;-)
I love giving people who are a continent and an ocean away a hard time..mwhahaha.
I love giving people who are a continent and an ocean away a hard time..mwhahaha.
If I'd were to write an article, I'd better check the facts before being burned... But yeah, sounds like a good idea to me.
@hans sadly the dev for openrc has abandoned the project and (and I could be wrong here) the only one who has done any serious patching/writing on it of late has been Daniel Robbins. I have seen systemd in bugs.gentoo but it hasnt entered mainline for testing yet.
Kind of sad as baselayout is sadly convoluted, yes it can be learned and understood, but it is needlessly obfuscated on a level that makes grub2 look beautiful.
Kind of sad as baselayout is sadly convoluted, yes it can be learned and understood, but it is needlessly obfuscated on a level that makes grub2 look beautiful.
Trust me Hans, any article you write will be better researched and written by proxy of being done by you. But I'm biased..;-) Heck, just the info in this thread alone would serve you justice in the writing of it.
I appreciate knowing about the man-page example thingie.
I've often thought, "but I remember seeing examples in man pages, why aren't there any for this? It must have been some other man page..."
Now I know. Oh well.
I've often thought, "but I remember seeing examples in man pages, why aren't there any for this? It must have been some other man page..."
Now I know. Oh well.
The examples in OpenBSD man pages are great. It does make you wonder why so many Linux man pages just dump a bucketful of switches into a paragraph and leave it at that. After awhile you just stop looking through man pages.
I do have one man page I look at all the time: date
I have a laptop with a dead cmos battery, and I have to change the date/time every time I boot it. So I look up the man page for date because I can never remember exactly what order to put things in.
Of course date is one of those utilities that differs between OpenBSD and Linux - the numbers go in a different order in each system. (And yes, OpenBSD's makes more sense.)
I do have one man page I look at all the time: date
I have a laptop with a dead cmos battery, and I have to change the date/time every time I boot it. So I look up the man page for date because I can never remember exactly what order to put things in.
Of course date is one of those utilities that differs between OpenBSD and Linux - the numbers go in a different order in each system. (And yes, OpenBSD's makes more sense.)
Why not include the date-setting stuff in an rc script? Ask the year, month, date, hour, and minute separately, then build the command from them, or enter them all together, and indicate the necessary format in the prompt?
It would be nice if Linux/Unix users would swap scripts more. I'd like to imagine they used to. All I have are my pathetic little 3-line rsync scripts.
set it via ntp even, ntpd and/or ntpclient in runlevels then push it to hwclock. I have an odd scipt or two that I run that drifting off my 30 seconds from real time can make a difference for me so my systems sync up to nist once an hour. But from command line `ntpdate time.apple.com` works swimmingly well.
> But from command line `ntpdate time.apple.com` works swimmingly well.
Even better to use your ISP's ntp server if they offer one (quit laughing, some of the better ones do). But if not us.pool.ntp.org works well for those of us in the US.
Even better to use your ISP's ntp server if they offer one (quit laughing, some of the better ones do). But if not us.pool.ntp.org works well for those of us in the US.
If you decide to use ntpdate, it's also a good idea to put it in a crontab, every hour or two.
And, if you also use DHCP, you can insert a call to ntpdate in the "interface is up, do this post-configuration" script (path/name varies by distro).
And, if you also use DHCP, you can insert a call to ntpdate in the "interface is up, do this post-configuration" script (path/name varies by distro).
Quoting:Even better to use your ISP's ntp server if they offer one (quit laughing, some of the better ones do). But if not us.pool.ntp.org works well for those of us in the US.
The general theory says you should use a NTP server at the lowest stratum you can, and with the lowest latency. At least that's the part of the NTP voodoo I kinda understand.
Quoting:The general theory says you should use a NTP server at the lowest stratum you can, and with the lowest latency.Yes, if you're working at an atomic collider. Otherwise, you don't need that kind of precision on your file timestamps.
If some program you're using (say, Oracle) does need that kind of precision, it'll keep track of delta timestamps internally, in a fashion that compensates for poor time tracking by poorly-maintained servers.
I liked enabling ntp on all the routers, each looking back towards its core neighbor, with one looking at a stratum 2 clock I knew about at NASA.
When asked, it was the easiest answer possible, "Just point at your default gateway." Happy customers. I do love to have happy customers.
When asked, it was the easiest answer possible, "Just point at your default gateway." Happy customers. I do love to have happy customers.
Post a comment
A free account is needed to post. Write your comment here first: your text is kept in this browser while you sign up or log in, and is waiting for you when you come back.
Your message:Markdown: **bold**, *italic*, [text](https://link), - lists, > quotes, $x^2$ for math. Formatting help
Sign up and post (it is free) or Log in and post
