Pkgng
From wikinotes
FreeBSD's package manager.
Originally the selling point of PKGNG (package next-generation), was allowing users to use a mix of binary packages and ports. This is not the case, but you can compile your own packages to install on all machines.
Documentation
binary packages http://pkg.freebsd.org/
CheatSheet
pkg install <pkg> # install package pkg install -y <pkg> # install package without interactive confirmation pkg info # show all installed packages pkg info <pkg> # info about INSTALLED package pkg info -r <pkg> # list packages that depend on pkg pkg delete <pkg> # uninstall package pkg autoremove # delete uneeded deps pkg update # update package index pkg clean # remove compiled/uneeded binaries pkg lock/unlock # pin packages so they are not updated
Install
cd /usr/ports/ports-mgmt/pkgng make installForce Update to latest
pkg clean # cleans /var/cache/pkg/ rm -rf /var/cache/pkg/* # just remove it all pkg update -f # forces update of repository catalog rm /var/db/pkg/repo-*.sqlite # removes all remote repository catalogs pkg bootstrap -f # forces reinstall of pkg
Installing old package versions
cd /var/cache/pkg sudo pkg install py39-salt-3006.5.pkg # some file in repo
Alternative Repositories
/etc/pkg/FreeBSD.conf/
main freebsd repo /usr/local/etc/pkg/repos/*.conf
alternative freebsd repos I ran into an issue with saltstack pushing updates to pkg which broke it. This enabled me to disable the updates.
Troubleshooting
If, on kernel-updates you have issues, or you need to reinstall all packages:
pkg-static install -f pkg # force reinstall pkg pkg upgrade -f # reinstall all packages