Skip to content

NetBSD

Managing source packages

Setup on non-NetBSD systems

  • Install necessary packages:

      apt install build-essential libncurses5-dev libssl-dev libudev-dev zlib1g-dev

As superuser

  1. Clone branch from pkgsrc repository (e.g. branch pkgsrc-2018Q4):

     cd /usr && cvs -d [email protected]:/cvsroot checkout -r pkgsrc-2018Q4 -P pkgsrc

    or:

     cd /usr && git clone --depth 1 -b pkgsrc-2018Q4 https://github.com/NetBSD/pkgsrc.git
  2. Run bootstrap:

     cd pkgsrc/bootstrap && env SH=/bin/bash ./bootstrap --abi 64
  3. Add new binary directories to PATH:

     export PATH="$PATH:/usr/pkg/sbin:/usr/pkg/bin"
  4. Configure cron to fetch information about security vulnerabilities:

     0 3 * * * /usr/pkg/sbin/pkg_admin fetch-pkg-vulnerabilities >/dev/null 2>&1
     9 3 * * * /usr/pkg/sbin/pkg_admin audit | mail -s "Installed package audit result" \
                   root >/dev/null 2>&1

As normal user

  1. Clone branch from pkgsrc repository (e.g. branch pkgsrc-2018Q4):

     cd ~ && cvs -d [email protected]:/cvsroot checkout -r pkgsrc-2018Q4 -P pkgsrc

    or:

     cd ~ && git clone --depth 1 -b pkgsrc-2018Q4 https://github.com/NetBSD/pkgsrc.git
  2. Run bootstrap:

     cd pkgsrc/bootstrap && env SH=/bin/bash ./bootstrap --abi 64 --unprivileged
  3. Add new binary directories to PATH:

     export PATH="$HOME/pkg/sbin:$HOME/pkg/bin:$PATH"
  4. Configure cron to fetch information about security vulnerabilities:

     0 3 * * * ~/pkg/sbin/pkg_admin fetch-pkg-vulnerabilities >/dev/null 2>&1
     9 3 * * * ~/pkg/sbin/pkg_admin audit | mail -s "Installed package audit result" \
                   $USER >/dev/null 2>&1

Installing packages

  1. Move into pkgsrc repository:

     cd /usr/pkgsrc

    or:

     cd ~/pkgsrc
  2. Compile and install a package (e.g. vifm) with its dependencies:

     cd ./sysutils/vifm && bmake install clean clean-depends

Updating packages

  1. Move into pkgsrc repository:

     cd /usr/pkgsrc

    or:

     cd ~/pkgsrc
  2. Update repository:

     cvs up -dP

    or:

     git pull
  3. Update package (e.g. vifm):

     cd ./sysutils/vifm && bmake update && bmake clean clean-depends

Uninstalling packages

  • Uninstall package (e.g. vifm) and the packages that depend on it:

      pkg_delete -R vifm

Managing binary packages

  • Select mirror (e.g. version 8.0_2018Q4):

      export PKG_PATH="ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/8.0_2018Q4/All/"
  • Install package ‘pkg’:

      pkg_add <pkg>
  • Uninstall package ‘pkg’:

      pkg_delete <pkg>
  • Uninstall package ‘pkg’ and unused dependencies:

      pkg_delete -A <pkg>
  • Uninstall package ‘pkg’ and the packages that depend on it:

      pkg_delete -R <pkg>

Serial console

  • Configure serial boot:

      sed -i 's,normally:,normally:consdev auto;,' /boot.cfg
  • Configure serial console login:

      sed -i 's,^tty00.*unknown.*off.*secure$,tty00	"/usr/libexec/getty std.9600"	wsvt25  on secure,' /etc/ttys