I think I found a reason why I like not having Ports as a secondary system; Basically, FreeBSD updates, upgrades, patches, whatever you want to call it, can be done exactly like Debian when you are doing the Base System. You run this:
freebsd-update fetch && freebsd-update install
Just like
apt-get update && apt-get upgrade
Now, the reason I don't like Ports as a secondary thing, are mostly because of this:
Let's say I have a FreeBSD machine that acts as a Server. Let's say I have another as a desktop. Now, if I want to use X, or anything not in the Base, I have to use Ports. Which is fine. It's easy to do, and a very simple command like "pkg_add -r xorg xterm kde windowmaker enlightenment Eterm pidgin xmms vsftpd twm fvwm".... You get the idea, it's easy to do that and have all that stuff right away.
Now, let's say I have another desktop and Server, all of which are running multiple versions of Linux (Pretend for a minute anyone would dual boot a Server) and they're running Debian, Open SUSE or SUSE, and Slackware.
What if basically any port, has a security flaw? Patching that on the other machines can be either one line on your Shell, or, you can use a GUI and install the updates. You're only going to reboot if a Kernel update was there, which isn't very often, and even a fresh install, of an old version, will be done with patches, in about 15 minutes.
Now on FreeBSD, this is NOT going to work. The Ports aren't part of the base system, and so first off, that freebsd-update tool won't work. I look into the docs, and see I need to sync my sources basically. OK fine, no big deal:
portsnap fetch && portsnap update && portsnap extract
Alright... Oh wait... The patches are still needed.... All that did was grab the Ports that are new, and extract them, but it didn't actually touch my installed Ports. Hmm, OK, read more docs and try to see why it is that one tool updates the base, another tool updates my Ports, but doesn't upgrade them, and really just syncs it... And why another tool is needed to actually install patches / fixes....
Find out that my Base system is fully updated, but there aren't any FTP or HTTP servers in the base system, which means I HAVE to use ports to use it as a server, and neither is X in the base, so to use a GUI I also have to again... OK, fine, now cvsup, portsnap... Why all this to do the same job? Well, that's fine, you have a choice in what you want.. That's a good thing, but why didn't it actually update anything? Hmm, I'm still getting email from my root account that I need to either un-install these or update them... But I did... OK, read docs again..
Personally, if FreeBSD had a tool that actually did the Ports all the way, not just 50%, I think it would not only have more users, but a lot of those Linux only people, would really not have many reasons left not to.
Here is something that personally happened to me earlier:
Now, I've had a bit of a week, and I've been REALLY tired. I haven't been sleeping much, and so I've been kind of... Well, you know how it is, you've been up 30 hours, take a 4 hour nap and you're up again... Well, that.
So earlier today, I was like "You know what? I'm going to try again. I'll do this, and see if it's improved or gotten any easier".
I loaded up my Browser to the Docs, go to Ports and upgrading, and saw what to do. Well, I noticed I had a LOT of updates I needed from checking the root email. OK, so sitting here screwing around with each one, is probably not only a bad idea, but I'll probably screw it up pretty bad doing one section of them at a time.
I did this:
portmaster -af
It ran for a while, occasionally popping up to ask how I wanted something, and I thought it was going well. I was wrong, because half way through, something Terminated. I looked on my Console, and saw "its4" was not going to play nice....OK,.... Try a few things from FAQs and Docs... (Like not grabbing THAT port so it won't stop there) and try again.
It didn't work. I didn't type anything else other than that, and now, my Ports seem broken. I tried this to see if it could do it better, or at least get going:
portupgrade -a
That didn't work, so I tried :
portupgrade -af
Now, THAT should work right? No...
Any suggestions on how to basically SCRAP the Ports, and start from scratch? Without a format? I'm looking in the docs because I know somewhere in there, it will tell me how to handle this, but for now, how would you go about basically redoing all your Ports?
In case someone answers before I'm done reading this; Is there a way to basically just re-install ALL the Ports I have installed? I mean I don't want every Port installed obviously, but can I get the ones I do have, to basically... Well, let me put it like this... They're broken like Windows NT right now lol.
I'm not giving up that easy though. I should be able to do this, and I always hated it, but, suck it up, man up, and try again I guess..