Yes this might have little to do with Linux, but I have had trouble finding out if BSD is good or not, comparing it to Linux. So this is mainly going to be a discussion about BSD and how it compares to Linux. If the BSD variants are good, I may start to use them, along side Linux.

There are a few questions I have about BSD...1) Is BSD's code clean and not bloated?2) Is OpenBSD good for security?3) How might I use BSD?

So other than that, I would like this page to show a comparison between the BSD variants and Linux, and just a discussion about BSD. If you are going to contribute, use unbaised infomation, please.

Currently I run /test PC-BSD in a VM on Mageia, available from here: http://www.pcbsd.org/I suggest that you try it and see for yourself as this is the best way to find out.

You will need at least 1G ram for your VM with at least 24G of virtual HDD.This will give you an indication of minimal resources.If you wish to run it with ZFS you will need a much larger virtual HDD => 64G.If you have the capacity, trying it is the best way.

From a user perspective, you will not see any difference between bsd and linux. From a developer perspective, the differences are slight, until you get into the kernel or into kernel calls. There ARE some significant design/philosophical differences at that level.

Of course, working within the kernel, bsd is very different from linux.

I've setup a FreeBSD virtual machine, and it is different. Quite different. So I would like the rest of this forum page as a discussion about BSD internals, kernels and journals. I only wrote that because it rhymed. But I would like to know about how Linux compares to BSD. So anything BSD related.

I find myself installing a full graphical environment for FreeBSD 10 right now. Turns out I need it for some things I am doing.

While I have used FreeBSD with a graphical environment in the past, this is the first time I have ever set one up. It looks a lot like slackware; the installation media gave me a basic console environment, but I am compiling everything from source in order to add it...and this is apparently the FreeBSD way.

There are, of course, detail differences from Linux - and as you get closer to the kernel those differences become more obvious - but generally speaking the console environment works the same way as it does in Linux, the directory structure is virtually identical, and the various config file syntaxes are basically identical...though many of the command options are somewhat different in the commands, and the route command in particular works totally differently.

When the graphical environment is up and running, it will look like any other *nix running a graphical environment. It will function almost the same way as a linux distro that lacks graphical configuration tools, such as slackware or centos.

Well, I have been working on my full-up FreeBSD 10 graphical system off and on for the last two days, and I must say it is one royal PITA to set up. No installers at all - it reminds me of working with slackware some 16-17 years ago; there is no support at all, and some compiles are failing due to errors in the software...which is really annoying.

I finally got KDE to start and it is running...sort of. It came up with no mime types, and it is complaining bitterly about that. I have been loading mime types into it from my Mageia host and gradually it is becoming happier. I need to setup samba, and I suppose I will be doing that strictly by editing config files; seems to be no other way. Graphical tools have made me lazy

That said, under the skin it looks a lot like linux...it is just that a BSD user will spend a LOT more time under the skin than a modern linux user will spend.

As I get more and more of it running, it looks more and more like what I am used to seeing, and it works (at the user level) just the same. But as far as configuring and maintaining it goes, I feel like I have stepped back in time about 15 years.

So BSD and Linux are very simmilar with little differences, Linux is eaiser to understand, and is simpiler to use, but on the otherhand BSD is more complex and harder to understand. But is it worth it to learn how a BSD system works or is linux just good enough, and should i stick with Linux and not bother with BSD, or should I go onto BSD in the future? Is it like Plan9 Vs. UNIX, plan9 is superior to UNIX, but it is not superior enough to convert UNIX users, is it like that? Do remember I am 13, and I know not much about compters (I prefer critictism over praise, so I often self-critictise to play safe, and never exadurate) but I trying to find info to learn. And also if I learn how a linux system works, will it make it easier to understnad how a BSD system works?

So BSD and Linux are very simmilar with little differences, Linux is eaiser to understand, and is simpiler to use, but on the otherhand BSD is more complex and harder to understand. But is it worth it to learn how a BSD system works or is linux just good enough, and should i stick with Linux and not bother with BSD, or should I go onto BSD in the future? Is it like Plan9 Vs. UNIX, plan9 is superior to UNIX, but it is not superior enough to convert UNIX users, is it like that? Do remember I am 13, and I know not much about compters (I prefer critictism over praise, so I often self-critictise to play safe, and never exadurate) but I trying to find info to learn. And also if I learn how a linux system works, will it make it easier to understnad how a BSD system works?

Thanks,

What I really suggest you do is learn to read accurately.

I clearly elaborated where BSD and Linux would be similar, and where they are different. Linux is absolutely no simpler than BSD, but evidently does have some much better developed GUI configuration tools that some distros use but not all distros use. Thus, by picking a simple distro, the setup is simpler for the user. Also, all the major Linux distros that are aimed at the desktop expect a graphical desktop to be used, while BSD and all Linux server distros do not expect a graphical desktop to be used. Thus, the desktop distros have already integrated that desktop, while BSD, for instance, has it available as an add-on.

If you want to set up slackware, or centos, you won't find it any easier than setting up this BSD system. You will find it substantially similar in terms of complexity and in terms of the issues you encounter. If you want to build linux from scratch, you'll encounter the same level of complexity and the same issues.

If you want to compare Linux to BSD, compare a console oriented server Linux to BSD and you will see they are very very similar...until you get into the kernel, where they are completely different. If you want to compare BSD with KDE on it to Linux with KDE on it, you won't be able to tell them apart when you are just a user and they will be extremely similar (though not identical) when you are a developer (until you get into the kernel). When you start to be an administrator; BSD's graphical configuration tools are pretty much nonexistent (though, of course, the KDE control panel is available). There is no BSD equivalent of the Mageia control panel (drakconf) or of the OpenSUSE Yast. So BSD with KDE compares to slackware with KDE at the administrative level.

If you want a learning experience, BSD will certainly give you one. So will centos or slackware. And, when you have learned BSD, you have nearly learned Linux - and vice-versa. If you just want to use the system with minimal hassle, Mageia, Ubuntu, Fedora, OpenSUSE, Mint are your choices (and I would never choose Ubuntu) because these systems have all had a great deal of effort put into hiding the underlying complexity from you.

Keep in mind that BSD and AT&T Unix were the original Unix systems, starting back in the 1970s. And remember that what we call Linux is properly called GNU/Linux - and the GNU part of the system is the biggest part of the system (everything below the desktop, except the kernel - which is the Linux part). The GNU toolset was built to be an open-source redistributable version of the tools available in AT&T Unix and in BSD Unix, so the GNU system is a clone of the BSD system. They look almost the same, they work almost the same. All are part of that family of operating systems that are collectively called Unix (or *nix, in recognition of the multiplicity).

All the desktops - ALL of them - as well as the X-windows environment came much much later, after AT&T and BSD were well established. Early Linux distros did not have graphical desktops, and those desktops have been grafted onto an environment that is inherently console oriented - and this is true of every *nix. The seams show, which is why X-windows will soon go away.

In the case of linux, distro developers have taken the considerable trouble to provide graphical tools to make using the desktop much friendlier for Joe Average user. In BSD, no one uses the desktop, the user base is all sophisticated and server oriented, so no one has made simple tools for the desktop. I'm putting together a graphical desktop BSD for a particular reason having to do with expected work, a need to work with BSD at its most basic levels, a strong preference for graphical desktops for a flexible development environment, and a growing realization that most of my Linux tools won't touch the BSD things I need to work on.

Well, I am still building my FreeBSD 10 with KDE system, and I must say that this is one of the ugliest installs I have ever done.

Now, the FreeBSD community clearly distinguishes between what is FreeBSD and what is not. You get FreeBSD on the distribution media, and the console-based system you install is pretty much the complete FreeBSD environment. Everything else is known as a port, and can be found in port repositories, or in /usr/port on your hard drive. There is even a program called portmaster that is used to handle ports.

Now, nominally, you can download precompiled binaries of programs that are in port (which includes, for instance, perl, python, php, apache, all of KDE, and many other things we are used to seeing in Linux), or you can download source and build your ports for your platform. And all of this is handled by the portmaster - and, if you hold your tongue just so and squint your eyes just right, it even works...sort of.

I started out trying to compile KDE but gave that up as a bad job; I did not know the port system well enough. So I followed a youtube video and downloaded/installed precompiled KDE 4.10. Doing that gave me an incomplete and broken KDE environment, though it did start and parts of it worked.

Hokay. I decided to build from source, and figured out how to get started. That was on saturday morning. It is now monday evening...I am still building. Though I am getting close.

It seems the package manager for FreeBSD cannot resolve dependencies until it encounters them. It also seems that sometimes it can't figure out it has to uninstall an old package before installing the new one. So it stops.

Now, it doesn't stop right away. It runs for...ohhh...10-15-20-30 minutes or so, THEN encounters a dependency and stops. And when it stops, I have to manually intervene and remove the affected package in order to permit the installer to install the new package. And when I restart the installer after it stops, it starts over again. Doesn't reinstall what it has already installed but goes through its entire procedure again, saving very little time compared to its initial run through.

So installing KDE 4.12 has taken just about forever.

And the source code was broken in spots too. Some things (such as Kate) I have just moved out of the way, other things I had to fix. Yes, I have been editing KDE source code to fix it so it will compile.

Now, I HAVE learned a great deal about the internals of FreeBSD...which I really needed to do...which was the motivation for this exercise. And I DO know that, once it is up and running, it will be reliable, stable, and secure...BSD is known for that.

But this is probably the ugliest build I have ever undertaken. This distro will make less experienced people cry.

@OP: Maybe a better choice to learn about linux basics would be Archlinux, as their documentation is pretty extensive and not really matched by anything else (maybe only by *buntu, but arch is more in-depth) or maybe LFS (linux from scratch). But both are definitely not for novice users, just for clarification.

OK, I am down to the end game here...finally. I only started building this FreeBSD/KDE system last Friday. It is Tuesday evening, and I have just finished compiling packages. Not too bad a time to bring a system up...

One thing I learned along the way is that there is a "linux compatibility mode" which must be enabled if KDE is to compile, install, and work correctly. It could be that my KDE 4.10 was broken because I did not have that mode turned on...though I had no idea I needed to have that mode turned on. It consists of setting a boot option, making an entry in fstab, starting a couple of services by default, and making a couple of entries in config files in /etc, then downloading/compiling some packages.

So far, I have been unable to compile Kate, which matters to me because it is the editor I like best. I will figure it out. I also cannot compile jack, which is required by mplayer. However, Amarok compiled and seems to run. At this point, I do not have audio working; though pulse is running the KDE audio does not seem to see it. This might change after a reboot (some audio-related packages were still compiling when I started the session) but if not I will have to sort out that little configuration issue.

This system now runs, but will be nearly unmaintainable if I have this same type of problem every time I try to upgrade. I might not have this problem again, though; the KDE 4.10 installation from the precompiled packages was badly broken, while this new installation which was compiled here seems to work fine - with the exception of the things that wouldn't compile, and a few configuration items. It is entirely possible, therefore, that the dependency tree was broken by the install of 4.10 and the very painful replacement with 4.12 fixed it...particularly with the enabling of that linux compatibility thing. I certainly hope this is the case...I won't be keeping this thing up to date if that is not the case.

And, of course, it looks exactly like a KDE4 desktop...just like every other KDE4 desktop on every Linux system out there. If I set a linux user down in front of it (and don't give root permission), practically the only way they will tell they are not on Linux is if they open Konsole and see that they are in sh rather than bash - and I do have bash running here so I will probably change that.

I would advise a beginner who wants to deploy a graphical desktop to steer clear of FreeBSD. It wasn't easy for me, and at every step of the way I knew exactly what I wanted to accomplish, and only had to research the details of how to accomplish it in BSD. A beginner would have one truly horrendous learning curve. Most, I think, would not succeed.

Sound now works. I had to install alsa, gstreamer, plugins for gstreamer, and identify and load the proper kernel driver - then edit the config files to have this happen automatically on startup. I must say that having config tools has spoiled me.

Now, I am bringing up samba. I have never made use of config tools for samba; have always done it by editing scripts. So this should be easy enough...once it finishes compiling, that is.

Well, this system is now completely functional and fully integrated into my environment. It will satisfy all my requirements, it looks nice, and I am pleased with its performance.

I have everything working. I installed a bunch of fonts, and also firefox and chromium. It networks quite nicely with my Mageia host and with other VMs that it needs to talk to; I can drag and drop files from host to guest, copy/paste clipboard back and forth, and generally operate almost as if this VM was just another desktop in the host, which is exactly what I needed.

I still wonder if it will be maintainable; if upgrades are as labor intensive as this exercise I just went through, they won't be happening.

I am now upgrading this system. The process is not as automated as I am used to with Linux, but it is automated enough. I am not downloading packages; I am compiling everything via the FreeBSD ports mechanism. The upgrade is underway now, and appears to be happening without incident and without my constant intervention (unlike the original install).

Now, I believe I may know what happened on the original install because I have had to do several other FreeBSD installs since then and have learned some things. Basically, at a late point in the installation, under most circumstances (but apparently not all circumstances) you are given the choice of installing Linux compatibility. I either was not given that choice, or I chose "no", with the result that when I installed KDE it was badly broken because of the lack of basic system support for linux compatibility.

My subsequent upgrade woes (undertaken in an effort to fix the broken KDE) were also due to that problem, and it was partway through that upgrade that I discovered that I needed linux compatibility and installed it manually. Now that the whole system is built, it is all working and as part of this current upgrade process I first ran tools that examined and repaired the package database.

So, now everything is as it should be, and the upgrade is going fine (so far). It will take hours due to all the compiles, but at least it won't take days and require me to sit and watch, to manually intervene over and over.

Moral: when you install FreeBSD, if you intend to use any packages that originate on linux, make sure you enable linux compatibility. This includes if you want to run KDE.

I am considering using BSD on my PC for day to day usage and to learn about computers. Which BSD system (Free, Net or Open) would you advise me to use. I am really considering NetBSD, but which BSD would be the best for me. As stated earlier, BSD provides a great learning curve, but which one has the package manager, documentation, etc. So which one would you advise me to use and why?

Although it is harder to install, in the sense that most of the configuration is done by hand, a typical FreeBSD installation is a much simpler system than a typical modern Linux distro. It tends to be "lean and mean" and very efficient and fast and secure, but it offers no GUI "handholding" at all.

Because a lot of work is involved in setting it up, a FreeBSD system tends to have only those packages which are necessary for the system to do its job, whether it is a web host or a graphical workstation or a firewall or a file server.

I like it for its efficiency, but, on the other hand, I like a comprehensive Linux distro like Mageia because it can be installed very quickly in a user-friendly way.A distro like Mageia offers a sort of reverse difficulty in the sense that if you want to trim it down to a "lean and mean" setup, you have a fair amount of work ahead of you.

I apologize in advance for necro'ing this thread but I just wanted to add my 2 cents, hoping it will help future people. Comparing BSD, true UNIX, Minnix, etc to Linux and its many flavors is quite like comparing an orange, to a clementine, to a grapefruit. They all sorta look similar, but beneath the surface the differences are noticeable. As stated above, read clearly and research different desktop, server, etc options. Learning one will certainly help with the others, however small nuances will quickly become noticeable overtime like the gentlemen who struggled with KDE because of a simple mistake. If you are used to eating clementines all the time (your Ubuntu, Fedora, and Mint) then suddenly dive into grapefruit(BSD, Slackware, even Arch for some) you'll notice the difference quickly and it won't be pleasant if you aren't prepared to read through Man pages and documentation. The first thing I try to do when playing with a new OS or distro is get the manual from their site. I either missed it or was surprised to not see Gentoo tossed out there. It's use of portage and ports to manage packages, also building from source is about as close as you can get to BSD in some respects while still using Linux. Also for the majority of people BSD has rare desktop use, I've mostly seen it used by hobbyists, on servers or in the case of NetBSD, embedded systems. Once in a blue moon some poor soul needs to build a GUI desktop with BSD. I guess what irked me the most on this thread was the constant refusal to listen when asking for advice. RTFM, do your own research, then ask questions you can't find anywhere else. It obviously appears this kid got nothing out of this.Warning rant ahead, TL;DR any system is only as secure as the humans who use and maintain it.I'm so tired of the "BSD is inherently more secure than other operating systems" BS likely read on Wikipedia. OpenBSD out of the box is like a vault, but the issue arises when some vendor needs you to open some port for them. Overtime people get lazy, use bad infosec habits and get overconfident in the "I have OpenBSD, only 4 vulnerabilities in many years" meanwhile over time various ports continue to open, forget to be closed off. Suddenly someone finds a 0-day on the current release of it and sells it to criminals. Lots of banks, gov'ts, etc use OpenBSD for the "security." To a hacker it looks like a safe full of money because mostly people trying to protect something valuable would go through the hassle to hire experts and use/maintain it, next morning you have a massive breach on your hands. ANY SYSTEM is only as secure as the people who use, oversee, and pentest it. Same fallacy with Linux and OS X, I guarantee I could find at least 10 servers still vulnerable to heart bleed or any other major security flaw with a little poking around or even worse, using default admin settings. An object is only as strong as it's weakest part and when it comes to tech, that is the human operator.

mccabee wrote:I guess what irked me the most on this thread was the constant refusal to listen when asking for advice. RTFM, do your own research, then ask questions you can't find anywhere else.

Well, but that would mean one would need to actually put efforts into this ...Or to actually install some different linux/BSD/unix/whatever flavors, read some documentation and then compare the different flavors in detail ...

Anyways, let's hope the OP or somebody else took something from this thread.

Well stumbling across this post introduced me to the Mageia forums and so far I love Mageia, and the small differences between RHEL and Fedora have been fun to learn more about. I just hoped that if someone stumbles across this thread in the future with the same question they can see that there is no "perfect" OS or distro. If the concern is security, you need to know how to test and harden servers, networks etc. That is a whole other beast since you need to run vulnerability scans. I laugh whenever people say "Apple doesn't get viruses" and then demonstrate to them how easy it is to gain root privileges if you have access to the box. Also Coming from an infosec background, I always look to the weakest link in the chain, humans. I know a financial advisor and her boss and coworkers are still fooled by in house phishing tests. Kinda scary given they are a relatively large investment firm. I am certainly not religious, however I firmly stand by the "give a man a fish he eats for a day, teach a man to fish and he will eat for a lifetime." I've always learned the most and retained that knowledge by reading documentation, manuals and then practicing and using that knowledge. I also think it requires a certain degree of passion and interest for someone to learn rather than simply ask for the answer.

BSD is an old family of operating systems where you can find NetBSD, FreeBSD, OpenBSD and others xxBSD. Each is a BSD-ish operating system with often it's own package manager.

.rpm and .deb are package file formats. .rpm is used in famous Linux distributions like RedHat or Suse and of course ou Mageia !

RPM and DPKG are low level tools to deal with packages files (install, remove...). RPM deals with .rpm and DPKG deals with .deb

APT is a package manager. You can compare it with Yast for Suse, Yum for RedHat(and Fedora, and CentOS...), and our URPMI for Mageia.

Now that basics are explained:

plspls wrote:rpm is less good for server

1) You compare RPM and APT which is a nonsense.2) Very famous RPM distributions are used for servers in companies... in particular RedHat, Suse and Mageia is also used for big servers, clusters and so on

plspls wrote:apt is good for server but BSD even better

rpm is good for desktop

1) you compare APT and BSD which is a nonsense.2) Apt is also used in very good Desktop distributions : Mint, Ubuntu...

-> Please just read what more skilled people write about BSD and Linux and don't pollute topics with the risk of letting naive people believe you know what you are saying.