# pkgng vs port FreeBSD 10



## fred974 (Jan 23, 2014)

Hello,

I'm currently creating my jail flavor and need a bit of advise.
I created my new user and user group

```
pw group add user
echo -n '$1$p75bbfK.$Kz3dwkoVlgZrfLZdAXQt91' |\
pw user add user-g webadmin -G wheel -s /bin/csh -d /home/user-m -H 
chown -R user:user/home/user
```
My question is about how do I install the packages that i want.
In the past i installed them using the port tree

```
make -C /usr/ports/ports-mgmt/portmaster BATCH=yes OPTIONS_FILE_SET="BASH ZSH" install
```
But a lot of people are tell a lot of good about the new package management pkgng
Should i keep installing my package using port or start using pkgng?

If using 
	
	



```
pkg install
```
 , would I still need to have portmaster
Thank you in advance

fred


----------



## wblock@ (Jan 23, 2014)

Ports are used to build packages.  When you install them, it's the package manager that keeps track of them.

pkg is just a new package manager.  You can create packages yourself from ports (by using `make install`), or have the package manager download and install binary packages from remote repositories.  This is the same as the old pkg_install did.

If you want to use ports, continue to use them, and portmaster.  pkg will keep track of them just fine.

If you want to switch to binary packages, then use `pkg install`.  The difference is that you don't build these, but you also don't get to set options, and it's not guaranteed they will work with packages already on the system.  That's why there are other commands like `pkg upgrade`.


----------



## BSDBernd (Jan 23, 2014)

> If you want to switch to binary packages, then use pkg install. The difference is that you don't build these, but you also don't get to set options, and it's not guaranteed they will work with packages already on the system. That's why there are other commands like pkg upgrade.



So if I normally use binary packages and want to build the the MOC player because of some options I want to set, then I first have to update the ports tree and my already installed binary packages and then build the MOC player using ports. Is there a possibility to check in the system that everything will fit together when I want to use a particular port?


----------



## wblock@ (Jan 23, 2014)

That's a good question.  There are some ports that check for particular options being set or unset in their dependencies, but it's not common.  I suspect that's done in port Makefiles.  For ports, `make missing` is usually enough to find dependencies that are missing.


----------



## BSDBernd (Jan 23, 2014)

If it would be possible to simulate what happens when you install a port, then this would be great. You could see if there are going to be some problems and could try to find a solution without having made a mistake. If there would be a fast o.k.-check for everything you install, then the system could warn us if some move we intend to make could harm the system.


----------



## fred974 (Jan 23, 2014)

Thank you for the clarification @wblock@


----------



## scottro (Jan 24, 2014)

If you use ports-mgmt/portmaster, it will go through the list of packages to be installed, and then, before doing anything, give you a complete list of what it's going to do.  Does that help you at all?  

In addition, there is /usr/ports/UPDATING which will give a list of known changes, and may quite possibly not only alert you to potential problems, but also potential solutions. It's not perfect of course, but at least most known potential problems are documented in that one place.


----------

