# From the POV of the non-geek Linux user



## rhizomatic (Dec 16, 2009)

I currently run Debian testing ("squeeze"), and whilst I am very happy with it, I have always had a _hankering_ to try FreeBSD.  I already use OpenBSD on my hardware firewall and am impressed with just what a reliable old workhorse it is.  I'm not a "geek", and only dabble in computers, preferring to use them as a means with which to do other work.

So, the crux of my question: as a Debian user, running Gnome as a WM on a desktop standard tasksel with a few additional applications (e.g. drscheme, some java apps, etc.) to the usual OOo, GIMP, etc. suites, what would I likely experience as different were I to switch to using FreeBSD?

I have downloaded the 8.0.iso and have it burnt to a DVD, but want to ensure that I don't trash my existing /home directory.  Is it best to back-up my /home directory and use the whole disk for a FreeBSD install and then copy back my current /home content to the newly installed section/ slice?  Is there a way of preserving my current /home dir and will it still be viable if I install FreeBSD to my existing HDD?

Sorry for the questions - I haven't been able to find answers to these kinds of questions before, so would really appreciate some thoughts.  I have a couple of weeks off at Xmas so am very happy to give this a go then, but want to know what I am actually letting myself in for from those who have some experience under their belts already.

Thanks.


----------



## sim (Dec 16, 2009)

Once you're into a WM like Gnome or KDE and using apps like OOo etc, you won't notice much difference at all. If you drop into a terminal it'll be recognisable yet different, and you will need to relearn some commands and conventions. Accept that it's not Linux, be willing to learn a bit and you'll be fine.

I now have a desktop FreeBSD machine running KDE4 and it's great. There are still some things I need to sort out - dual monitors, an NFS locking problem, Wine on amd64 - but it's a very nice set-up already. BUT! It took some work.  I only have a little experience of Linux distros but my perception is that they take care of more of the bread 'n' butter and nice-to-haves, out of the box.  The FreeBSD experience starts off more bare-bones by default, but ultimately most things are possible. For example, I had to work out how to get my USB pen to automount (tip: hald), and there's a number of things like that for which you'll need to be prepared to put the leg-work in.   The payoff is that you learn (absorb) a lot about how your system really works - I have Ubuntu on my netbook and it works well but I always feels a bit detached from it, and on some occasions a bit frustrated that I don't understand what it's doing behind the scenes.

I would definitely backup your /home.  Linux uses a different filesystem format to FreeBSD so for an easy life start fresh. Alternatively, maybe look for a partition resize tool (Ubuntu might have one) and then dual boot, so you have your existing Linux system during the transition.

HTH

sim


----------



## rhizomatic (Dec 16, 2009)

Nice response, thanks sim.  I can get a sense of where you are coming from.  That sense of "detachment":  I used to run Slackware and it required a lot of work from me, and often times I wished that more would work out of the box.  But because I had to work on the system to configure it the way I wanted, I really felt that I had a sense of my system.

With Debian I am super impressed by its package management system (for me apt, but I believe all of the variants are as good), and the overall stability of the system, but I do feel detached from it somehow ... not knowing where things are installed, not understanding that when I tweak some setting it doesn't seem to actually take, and minor things like that.

However, having said that, I am really keen to have a stable, secure and reasonably up-to-date computing system that stays out of my way, is reliable and robust, and that is transparent should I want to look under the hood.

So, for whatever reason, FreeBSD still appeals to me.  I have a vague understanding of the ports system, although am happy to read up more (the docs for FreeBSD seem generally better - or rather more coherent - than GNU/Linux), and between ports and binaries and allowing for Linu binaries, I suspect that I should be okay.  I need only re-learn some terminology, esp. device naming.

I am most concerned about the /home dir issue - and what might happen to that, and all of the data therein.  Also, any further thoughts on the experiential aspect of switching from one UNIX-like OS to another would always be welcome.  Would it help if I rephrased my question thus:

Are you a Linux to FreeBSD user?  If so, what did you find different in your computing experience?​
Anyway sim, thanks for your thoughts ... they tally with my own assumptions:  Gnome should feel and act like Gnome regardless of the OS one uses - no surprises at that level.  So your thoughts about sysadmin are useful insights.  Thanks.


----------



## foo_daemon (Dec 16, 2009)

Okay, here's my long explanation for you:

The general rule of thumb is _always back up your data_ before any OS install.  FreeBSD will not (without some tough hacks) install to an extended partition like Linux does; it's going to need one of your primary partitions formatted to UFS.

FreeBSD can mount easily mount ntfs,ext3/ext2,reiserfs(ro) and of course the ubiquitous FAT, so you should be able to mount and access your existing linux home directory.  (As a side note, when you setup your BSD login account, try to match the UID from your linux login, or else expect to be `$ chown -R` the home directory on every cross-boot).

After a primary partition is chosen, the auto-installer will make a bunch of 'sub-partitions' of recommended sizes for /home, /usr, /var, swap, and / .  These 'sub-partitions' are hidden within the UFS primary partition, and won't actually be visible to bootloaders.

I really like the FreeBSD bootloader because it dynamically recognizes (and gives generic names) to partitions, beating out LILO and GRUB with their annoying manual modifications.  However, I don't think it boots extended partitions, so it might be better for you to not install it in the MBR.

As to what you'll experience that's different, I can't personally speak much on, as I haven't really used Linux OS's for too long.  I would suggest that you check out freshports, and see if 'essential packages' that you need are available in the ports system (I know offhand that OOo, GIMP, and drscheme are).

Best of luck.

Edit: You know, I wasn't really thinking about it, but you probably don't have spare primary partitions sitting around and are probably going to need to 'resize' your linux partitions.  That can get tricky and is not really for non-advanced users.  If I remember correctly, though, SUSE Linux installer has a very simple and effective tool for shrinking/creating new partitions (even NTFS!).


----------



## Purple_Q (Dec 16, 2009)

> Are you a Linux to FreeBSD user? If so, what did you find different in your computing experience?



One of my favorite questions 
My friend, I recently switched to FreeBSD after a long background (not quite a decade) from Slackware.
I like to consider myself a geek though I may not be since i'm not proficient in alot of things most of these fellas here are, such as networking, servers, etc.
I'm a big fan of minimalism and console when possible, so I typically use TWM or Windowmaker, the only KDE app I ever fire up is Konqueror.

That aside, I myself am far more of a "user", or dare I say power-user, than anything else. I don't administrate networks or etc. The biggest differences i've experienced since my switch is

1. Ease of software installation.
You can build your software (ports, all automatic), or install binaries (packages).
Software installation, especially in the old school, was always work on Slackware. Tracking down dependencies, etc.

2. System speed. I most especially notice that the boot time of the generic kernel that comes with FreeBSD blows the doors of the custom kernels I always built. I'm fairly experienced at rolling my own linux kernels, so I know I was building mine strictly for my system. As optimized as I could make it. I've not tried to build a custom kernel in BSD yet, nor am I sure i'll need too. I'm pretty satisfied with how fast my laptop here kicks into gear now.

3. Commands. There are alot of similar, but alot of different console commands. I suppose if you don't do alot of console stuff, that may not matter to you. Alot of the configuration files are different than what i'm used to also.

4. The differences between "systems". This is a subject that can spark much debate, so to keep the point simple, I will just point out that linux is nothing but a kernel, with many many pieces added to it to make a functional system, whereas BSD is a complete, linear and well structured system in and of itself, and third party softwares are something you can add later. This can take a while to understand, at least, it did for me. BSD systems, like FreeBSD, as far as i'm concerned, represent complete user control and freedom. Power!

5. Imporant point! With particularly technical analysis of system I/O, throughput and integirty, I should point out, BSD has one kicka*ss mascot! Don't get me wrong, there'll always be a place in my heart for Tux and all, but um, the Beasite, there is NONE cooler! 
  --Q

**EDIT**
Almost forgot something critical.
http://www.freebsd.org/doc/en/books/handbook/updating-freebsdupdate.html
Perhaps this should part of my point #1, but that page says it all. I know there are alot of other linux distros with automatic features, updates and whatnot, but compared to manually doing everything with Slackware, i'm amazed that with a few commands, a good internet connection and some time, you can do a complete release and system upgrade, as well as all the userland stuff. That ease alone had me crazy in love with FreeBSD at first sight.


----------



## rhizomatic (Dec 16, 2009)

foo_daemon and purple_q, thanks for your comments guys!  Very sweet POV, so thanks.

Man do I remember the dependency hell of Slackware.  My first was 8.1 and although it was a wonderful learning experience, it was actually quite hard work to maintain.  However, I just didn't dig the Mandrake (as it was then, pre-Mandriva) nor the RH/ Fedora routines.  Consequently, I stayed with Slackware until 10.1 until I switched to Debian "Lenny".

I feel quite spoilt by my Debian experience, to be honest.  It really does take care of the user generally.  Except (& perhaps tis is really just me), when the system does something that I don't understand, I find it really difficult to reconcile it and sort it out.  Having said that, I can't say that this happens often, but I was wondering about the alternatives, and how the userland experience may differ on a day-to-day basis for FreeBSD users than for GNU/Linux users.

For example, in Gnome an Update-Manager icon appears on my "system tray" and when I click onto it it tells me that there are x-number of software updates available.  I enter my root password and can update those apps and apply security fixes.  If I want to install a specific software package, for now I call up a terminal and enter 

     $sudo apt-get install foobar

and obligingly, the system will install foobar, unless there is a real problem with the dependencies.  How different is the ports system? What about installing binary packages?

I guess that the bottom-line for me is a computer system that I can use without running into dependency hell if I try to install something that I feel like I need and which is reasonably up-to-date.  Is it likely to be any different when running FreeBSD?

Thanks guys for your input.  Curious minds want to know ...


----------



## Oxyd (Dec 16, 2009)

rhizomatic said:
			
		

> Are you a Linux to FreeBSD user?  If so, what did you find different in your computing experience?​



Hehe.  I still remember my first boot into FreeBSD after having used Linux for years: â€œWell, that went smooth, so let's look around a little -- what hardware is working?  [cmd=]ls /dev[/cmd]  Huh?  What _are_ these files??!â€

Other than that, after some reading and toying arund, I had no big difficulty setting up FreeBSD -- the Handbook indeed is great and if you're comfortable with the shell enough already, it's a rather smooth transition, IMO.



			
				rhizomatic said:
			
		

> For example, in Gnome an Update-Manager icon appears on my "system tray" and when I click onto it it tells me that there are x-number of software updates available.  I enter my root password and can update those apps and apply security fixes.  If I want to install a specific software package, for now I call up a terminal and enter
> 
> $sudo apt-get install foobar
> 
> and obligingly, the system will install foobar, unless there is a real problem with the dependencies.  How different is the ports system? What about installing binary packages?



I don't know about any tray-icon thing that would pop up and tell you that there are updates available, let alone ask for a password and install them.  There _might_ be one that'll tell you there are updates ready (I might have seen one, but I'm not sure if it really was for FreeBSD -- and I don't remember the name at all).  But I seriously doubt there is anything GUI-based to update or install ports or packages.

The Ports system is rather simple for simple things and rather flexible for more subtle things.   Most commonly, you'll se yourself doing `# cd /usr/ports/category/package && make install clean` -- simple, isn't it?  That'll first see if the package or any of its dependencies has some options that can be configured, if so, it'll present you with a curses interface to change the options; after that, it'll proceed to download, compile and install the port, along with dependencies.

A trick is to run `# make config-recursive` before `# make install clean` so that you aren't prompted for the configuration options in the middle of the process -- it can get quite annoying when you thing the machine is happily chumming on the port, while it's in fact sitting there, waiting for your input.

With packages, all you have to do is `# pkg_add -r name_of_the_package`.  People who prefer Ports, prefer them because they offer more control over the software (packages won't let you choose the options that pop up during a port install), and they're also more up-to-date, where packages lag behind.

You can mix ports and packages, though you'll get lots of warnings when a package requires foo-1.2.3 installed, but you installed foo from a port and have version foo-1.2.5.  That's usually harmless, but it still is at your own risk.

Details are in the Handbook, of course.


----------



## Purple_Q (Dec 16, 2009)

Oxyd pretty much nailed it.
Read that link in my last post on this thread. The Handbook is the most essential viewing any BSD user can use.
I also don't know if there are any pretty GUI tools that watch and manage updates, since I don't use a "pretty" GUI anyway.

Look at that page link though. Managing updates of any scale (major; to system, minor; to apps) is easy as cake. I feel it's easier to stay "on the edge" using ports. Just my opinion. The way I see it, you really don't need a pretty GUI tool to watch for any system and security updates. How long would it take to run a couple commands right?

  --Q


----------



## hedwards (Dec 17, 2009)

Well, FreeBSD isn't really that much work once you've figured out the basics, it just doesn't hand hold you through all the bits like some of the Linux distros do.

Probably the best thing would be to install it a few times to a virtual machine of some sort so as to get a hang of how you do that. But, the basic install program does a fairly good job of keeping things sane IIRC. It's also a good time to practice with things like installing packages and ports because you've still got a usable install to do your daily tasks with.

If I think about it, probably the most intimidating thing about it is that there's so much to customize, after the installation, chances are you're left at the console without anything installed and without really any optimizations done. Which is a good thing once you figure things out, but it does make for a bit more work to get to a usable desktop.


----------



## Dru (Dec 17, 2009)

Oxyd said:
			
		

> But I seriously doubt there is anything GUI-based to update or install ports or packages.



There is:
http://www.freebsdsoftware.org/ports-mgmt/bpm.html

I tried it out, still needs development though, I couldnt get it to show the port/package as uninstalled, if I removed it after it had already been detected as installed, I did try it to update a port once though, and it worked.



			
				Purple_Q said:
			
		

> 2. System speed. I most especially notice that the boot time of the generic kernel that comes with FreeBSD blows the doors of the custom kernels I always built. I'm fairly experienced at rolling my own linux kernels, so I know I was building mine strictly for my system. As optimized as I could make it. I've not tried to build a custom kernel in BSD yet, nor am I sure i'll need too. I'm pretty satisfied with how fast my laptop here kicks into gear now.



Q, roll your own on FreeBSD, your boot time would probably be cut in half, plus it does free up some resources, I notice a light cpu and memory drop after doing so on a fresh install.

Now back to the regularly scheduled programming....sorry I just had to throw that in.


----------



## Purple_Q (Dec 17, 2009)

Oh yeah  It's required by my nature.

I just haven't gotten to that yet, i'm still getting used to some things, customizing stuff, etc. After doing it for so long in tuxworld, how could I not here? It's kind of a matter of personal pride too. It's like proper hygiene for the computer.
  --Q


----------

