From owner-freebsd-stable@FreeBSD.ORG Tue Mar 29 06:27:02 2011 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 98DE31065674 for ; Tue, 29 Mar 2011 06:27:02 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from qmta07.emeryville.ca.mail.comcast.net (qmta07.emeryville.ca.mail.comcast.net [76.96.30.64]) by mx1.freebsd.org (Postfix) with ESMTP id 29DDC8FC26 for ; Tue, 29 Mar 2011 06:27:01 +0000 (UTC) Received: from omta19.emeryville.ca.mail.comcast.net ([76.96.30.76]) by qmta07.emeryville.ca.mail.comcast.net with comcast id QuR81g0061eYJf8A7uT1SK; Tue, 29 Mar 2011 06:27:01 +0000 Received: from koitsu.dyndns.org ([67.180.84.87]) by omta19.emeryville.ca.mail.comcast.net with comcast id QuT01g0081t3BNj01uT0yB; Tue, 29 Mar 2011 06:27:01 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id 4EBBC9B422; Mon, 28 Mar 2011 23:27:00 -0700 (PDT) Date: Mon, 28 Mar 2011 23:27:00 -0700 From: Jeremy Chadwick To: Jason Hsu Message-ID: <20110329062700.GA63420@icarus.home.lan> References: <20110329013223.ddca7453.jhsu802701@jasonhsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20110329013223.ddca7453.jhsu802701@jasonhsu.com> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-stable@freebsd.org Subject: Re: Best way to switch from Linux to BSD X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Mar 2011 06:27:02 -0000 On Tue, Mar 29, 2011 at 01:32:23AM -0400, Jason Hsu wrote: > I've been trying to switch from Linux to BSD for my everyday computing > (email, word processing, spreadsheets, etc.), but I couldn't get > things to work properly. I've been so spoiled by the quickness and > user-friendliness of antiX/Swift Linux and Puppy Linux for so long. I > have a backlog of stuff to do, so I'm sticking to Linux for now as my > main OS. However, I might try BSD in VirtualBox and on my laptop. > > Are there any good tutorials for using BSD on the desktop? I'm having > much more difficulty finding good information on BSD than was the case > for Linux. In retrospect, this shouldn't be a surprise given that > Linux is relatively mainstream while BSD is very obscure. If desktop BSD is more your style, you might want to look into using PC-BSD, which is based on FreeBSD. You did mention it in the portion of your text that I removed though. But I have no experience with it (I mainly use FreeBSD for servers). To answer your Subject question directly: I can't speak for others, but the way I did it was by giving up Linux entirely and forcing myself to use FreeBSD. Gaining familiarity took years upon years. In no way shape or form do I think I'm a "FreeBSD master" -- there is a lot of change going on, and a lot of pieces to the OS that I do not understand. That is just the nature of the beast, and applies to all OSes -- even Windows. I'm just now learning PowerShell at my workplace; my brain feels like it's full. Maybe a sympathy (empathy?) story will relieve some of your stress and keep your spirits up. I started with Linux 0.99pl45, installed on my 486 via floppies. I helped test CSLIP code since Oregon State at the time was putting some new Annex dial-in boxes into place that offered CSLIP vs. SLIP. The concept of Slackware existed but was basically just "a thing to get Linux on your machine"; there weren't other choices (to my knowledge). The last Linux version I used heavily was the 1.3.x series, and did experiment with the 2.0.x series as well. There were 4 reasons I gave up on Linux (for our servers): 1) I was sick and tired of having to apply patches on top of patches. To fix a serious bug or add a needed feature in the kernel, you'd have to dig through mailing lists, find a patch -- usually 30-40KBytes in size -- and apply it. Then if you needed something else, you'd have to do the same thing -- and the patches usually were from different people and (key point) did not apply cleanly with one another. In the late 1.3.x days I was literally applying 8 or 9 patches (anyone remember the "ac" patchset from Alan Cox? Still a sore spot for me), and having to re-work them by hand almost every time. Amusingly, parts of FreeBSD are becoming like this, but the source code is still managed centrally and you get everything you need from csup/src-all for a working system. 2) Package management didn't exist. There was this "thing" ( ;-) ) that eventually got created called RPM, but it didn't jibe with what Slackware did, so you ended up with a mix-match system: some programs built from source, others from RPMs. I preferred to build everything from source, dropped it all into /usr/src, made my own scripts to run configure/make/etc. with the right arguments, and so on. I did all the dependency management myself by hand. The experience I gained from this still applies even today. 3) Our systems were rooted on two separate occasions. On both occasions the attackers gained access through combinations of badly-written daemons and kernel exploits (and in the case of the latter, often ones which hadn't been announced on lists; there was no official "security mailing list" back then -- remember, no distros). FreeBSD was known for being more secure (not flawless, just better in this regard) at the time. There's also something that doesn't get discussed often enough: Linux is incredibly popular and as such is a huge focus for l33t h4x0r k1dz. The BSDs are not so much a focus, which is a big plus. Example: recently one of our users had his website compromised through a PHP bug, and the attacker attempted to install a rootkit for Linux. Naturally it broke (it even had "FreeBSD support" in it, but obviously the kids didn't test it ever, which further supports my point). I had the users' website down for about 24 hours while I did a security analysis, found the hole, restored his account from a 16-hour-old backup, and immediately had him upgrade the software so he wouldn't be compromised again. 4) The state of the firewall stack in Linux was -- and still is -- a complete disgrace. This actually *is* a slam against Linux. :-) ipfwadm, then ipchains, then iptables. FreeBSD ipfw was a godsend compared to those, and today, pf(4) blows everything out of the water. One of my home routers is Linux-based and every time I have to bust out "iptables -L" I want to throw up. I "understand" it, I just think it's a horrible way to represent and control a firewalling layer. My personal opinion is that you're being impatient -- though your concerns and questions being justified/legitimate, please don't get me wrong or take that as an insult. I've only seen you on the list recently asking some good questions, but you may be feeling what I did when I switched from Linux to FreeBSD -- very overwhelmed. Everything was so different, lots of useful or convenient things didn't seem to exist (and still don't), and finding the BSD version of a Linux "thing" was a scary ordeal. Anyway... I tend to recommend to people that they use whatever OS they prefer, whatever works best for them, whatever meets their familiarity levels. If that's Linux, awesome. If NetBSD, awesome. If Windows XP, awesome. If OS X, awesome. With virtualisation out there -- things like VMware Workstation, Xen, etc. you can experiment with a new OS without leaving your current one. Maybe that would be a better choice for you right now? -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP 4BD6C0CB |