pkgin is aimed at being an apt / yum like tool for managing pkgsrc binary packages. It relies on pkg_summary(5) for installation, removal and upgrade of packages and associated dependencies, using a remote repository.
Execute the following commands a root in order to install pkgin, for more information check install binary packages (NetBSD)
# PKG_PATH="http://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r|cut -f '1 2' -d.)/All/" # export PKG_PATH # pkg_add pkgin
Initialize/Update repo definition
The following command allows you to initialize or update the database that contains the definition and information of the available packages.
# pkgin update
It is recommended to run the above command regularly to keep the operating system up to date.
List availables packages
# pkgin avail 0verkill-0.16nb1 0verkill is bloody 2D action deathmatch-like game in ASCII-ART 2048-cli-0.9.1 The game 2048 for your Unix terminal 2bwm-0.3 Fast floating WM written over the XCB library and derived from mcwm 2fa-1.1.0nb18 Command-line client for two-factor authentication 2vcard-0.6nb1 Convert an addressbook to the popular VCARD file format 3ddesktop-0.2.9nb13 3D Virtual Desktop Switcher 3proxy-0.8.11 Multi-protocol proxy 4stAttack-2.1.4nb20 Game in which you have to try to out-smart your opponent 6tunnel-0.13 Tunnelling for applications that don't speak IPv6 7kaa-2.15.4p1nb1 Seven Kingdoms: Ancient Adversaries ...
List installed packages
# pkgin list pkgin list pkg_install-20210308 Package management and administration tools for pkgsrc pkgin-20.12.1 Apt / yum like tool for managing pkgsrc binary packages vim-8.2.2557 Vim editor (vi clone) without GUI vim-share-8.2.2557 Data files for the vim editor (vi clone)
With this command with search for all packages that contains the word nginx
# pkgin search nginx nginx-1.19.6 Lightweight HTTP server and mail proxy server nginx-1.18.0nb8 Lightweight HTTP server and mail proxy server ....
Search using regular expression
With this command with search for all packages that starts with apache word followed by – and 1 digit.
# pkgin search '^apache\-[[:digit:]]' apache-2.4.46nb2 Apache HTTP (Web) server, version 2.4
Install/update a package and its dependencies
The install subcommand allows to install/update packages.
# pkgin install nginx calculating dependencies...done. 2 packages to install: nginx-1.19.6 pcre-8.44 0 to refresh, 0 to upgrade, 2 to install 944K to download, 4698K to install proceed ? [Y/n]
It is also possible to install several packages at the same time by separating the packages by a blank space.
Uninstall a package.
Remove a package and its dependencies.
# pkgin remove curl 5 packages to delete: cmake-3.19.2 git-2.29.2 git-base-2.29.2 git-contrib-2.29.2 curl-7.74.0
Remove orphan dependencies
# pkgin autoremove
Show information about a package.
# pkgin pkg-descr nginx Information for https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/9.0/All/nginx-1.19.6.tgz: Description: Nginx (pronounced engine-x) is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. Igor Sysoev started development of Nginx in 2002, with the first public release in 2004. Nginx now hosts nearly 12.18% (22.2M) of active sites across all domains. Nginx is known for its high performance, stability, rich feature set, simple configuration, and low resource consumption. Nginx is one of a handful of servers written to address the C10K problem. Unlike traditional servers, Nginx doesn't rely on threads to handle requests. Instead it uses a much more scalable event-driven (asynchronous) architecture. This architecture uses small, but more importantly, predictable amounts of memory under load. Even if you don't expect to handle thousands of simultaneous requests, you can still benefit from Nginx's high-performance and small memory footprint. Nginx scales in all directions: from the smallest VPS all the way up to clusters of servers. Nginx powers several high-visibility sites, such as Netflix, Hulu, Pinterest, CloudFlare, Airbnb, WordPress.com, GitHub, SoundCloud, Zynga, Eventbrite, Zappos, Media Temple, Heroku, RightScale, Engine Yard and NetDNA. Homepage: https://nginx.org/
Update all packages
# pkgin full-upgrade
Clean the cache
# pkgin clean
Find package dependencies
Run the following commands to get all the dependencies of a package.
# pkgin show-deps curl direct dependencies for curl-7.74.0 nghttp2>=1.40.0nb4 libidn2>=2.0.0
# pkgin show-rev-deps curl local reverse dependency tree for curl git-2.29.2 git-contrib-2.29.2 git-base-2.29.2 cmake-3.19.2
# pkgin show-full-deps curl full dependency tree for curl-7.74.0 xmlcatmgr>=2.0beta1 libuuid>=2.18 libffi>=3.3nb1 libunistring>=0.9.4 python38>=3.8.0 libxml2>=2.9.10nb3 nghttp2>=1.40.0nb4 libidn2>=2.0.0
Find package requirements
With the following command we find all module/libraries which a package depends on.
# pkgin requires curl Shared libraries required by curl-7.74.0: /usr/pkg/lib/libunistring.so.2 /usr/pkg/lib/libnghttp2.so.14 /usr/pkg/lib/libidn2.so.0 /usr/lib/libz.so.1 /usr/lib/libwind.so.1 /usr/lib/libutil.so.7 /usr/lib/libssl.so.14 /usr/lib/libsqlite3.so.1 /usr/lib/libroken.so.20 /usr/lib/libpthread.so.1 /usr/lib/libkrb5.so.27 /usr/lib/libintl.so.1 /usr/lib/libhx509.so.6 /usr/lib/libheimntlm.so.5 /usr/lib/libheimbase.so.2 /usr/lib/libgssapi.so.11 /usr/lib/libcrypto.so.14 /usr/lib/libcom_err.so.8 /usr/lib/libc.so.12 /usr/lib/libasn1.so.10 /lib/libcrypt.so.1
Show shared libraries.
With the following command we find all libraries that a package shares with other packages.
# pkgin provides curl Shared libraries provided by curl-7.74.0: /usr/pkg/lib/libcurl.so.4.7.0 /usr/pkg/lib/libcurl.so.4 /usr/pkg/lib/libcurl.so
Show all files contained in a package
# pkgin pkg-content nginx Information for https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/9.0/All/nginx-1.19.6.tgz: Files: /usr/pkg/man/man8/nginx.8 /usr/pkg/sbin/nginx /usr/pkg/share/examples/nginx/conf/fastcgi.conf /usr/pkg/share/examples/nginx/conf/fastcgi_params /usr/pkg/share/examples/nginx/conf/koi-utf /usr/pkg/share/examples/nginx/conf/koi-win /usr/pkg/share/examples/nginx/conf/mime.types /usr/pkg/share/examples/nginx/conf/nginx.conf /usr/pkg/share/examples/nginx/conf/win-utf /usr/pkg/share/examples/nginx/html/50x.html /usr/pkg/share/examples/nginx/html/index.html /usr/pkg/share/examples/rc.d/nginx
Show the category to which a package belongs
# pkgin spc nginx www - nginx-1.19.6 www - nginx-1.18.0nb8
- man pkgin
- pkgin -h