# Protecting the base system - a la PC-BSD



## nickednamed (Jun 20, 2012)

Hello all,

I have been using PC-BSD for a while now and I really like the idea of the PBI system. I like the idea of "sandboxing" the applications in order to protect the base system [especially important for idiots like me] and avoiding dependency / library / updating problems, etc, even if it is at the expense of HDD space and possibly performance [?].

Unfortunately, there are many WMs and programs not available on PC-BSD which I would like.

My question is this: can something similar be achieved using "regular" FreeBSD? I suppose it is impractical / impossible to run a desktop style system from within a jail. I've heard different things regarding static linking.

So, once again, can a PBI-style system be set up in order to protect the base system on FreeBSD?

Thank you.


----------



## kpedersen (Jun 20, 2012)

You could perhaps get your ports tree to use multiple different prefixes (rather than /usr/local).

So ideally you could have.

/usr/local
/usr/gnome2
/usr/gnome3
/usr/openoffice2

Though unfortunately a lot of ports seem to not work well with this.


----------



## SirDice (Jun 20, 2012)

nickednamed said:
			
		

> So, once again, can a PBI-style system be set up in order to protect the base system on FreeBSD?


Not yet. PC-BSD just uses a different approach. There is some work being done with pkgng which might be more to your liking.


----------



## wblock@ (Jun 20, 2012)

There are ports for using PBIs on FreeBSD.  See ports-mgmt/pbi-manager.  (Untested.)


----------



## phoenix (Jun 20, 2012)

And, you can always generate your own PBIs for things that aren't currently packaged up as PBIs.  PC-BSD 9.0 includes tools for doing this.  Not sure about previous versions.


----------



## Deleted member 30996 (Jun 21, 2012)

nickednamed said:
			
		

> Unfortunately, there are many WMs and programs not available on PC-BSD which I would like.



Install them. You can still use ports with PC-BSD.

Populate your ports tree if you haven't done so already and start compiling the programs you're wanting to use. 


```
# portsnap fetch extract
```

If you ever want to really learn about FreeBSD I'd advise you to build it from scratch. I used PC-BSD for several years and have learned more about FreeBSD since I started running my own builds than I did in all the years I used PC-BSD where everything is done for you.


----------



## nickednamed (Jun 25, 2012)

Thanks guys. I will keep my eye on both ports-mgmt/pbi-manager and pkgng. I am currently trying my hand at making a few little PBI's: nothing complicated, just cmus at the moment.

And I am aware that I can use the ports system, and have been doing so, but I guess *I* will concentrate on making those PBIs I want.

Thanks for the input.


----------



## andyzammy (Jun 25, 2012)

Is it possible to statically link a port to produce one big binary? If not, what are the issues preventing this?


----------



## nickednamed (Oct 14, 2012)

Just a quick update in case anyone is interested:

I have installed Libreoffice using PC-BSD's pbi_manager, which I installed via the ports system. As far as I can tell, it works very well.

So now I can have my cake and eat it too! Meaning, I can maintain a small, manageable FreeBSD system and learn how to properly maintain a system using the power of ports, while at the same time running large, complicated programs without having to worry about the risk of dependency hell, broken lib files, bloat, rarely used toolkits, etc.

So if anyone is interested, based on my fairly limited use of pbi_manager on FreeBSD, it comes highly recommended although you can't beat the ports system for power and flexibility, and as was pointed out to me, learning the base system well.

UPDATE:

I've written a little HOWTO about using PBIs on FreeBSD for anyne who is interested: Here


----------

