pkgin
1.1、pkgin简介

pkginpkgsrc binary distribution的包管理工具。

pkgin已经被应用在NetBSD 6+中。

pkgin官网:http://pkgin.net

pkginGitHub上的网址:https://github.com/NetBSDfr/pkgin

1.2、pkgin相关的目录和文件
/usr/pkg/etc/pkgin
                ├── preferred.conf
                └── repositories.conf
/var/db/pkgin
          ├── cache
          │   ├── xx.tar.gz
          │   └── yy.tar.gz
          ├── pkg_install-err.log
          ├── pkgin.db
          └── sql.log
1.2.1、/usr/pkg/etc/pkgin/preferred.conf

该文件中定义了用户最想安装的某个软件包的哪个版本。每一行定义一个,示例:

mysql-server<5.6
php>=5.4
autoconf=2.69.*
1.2.2、/usr/pkg/etc/pkgin/repositories.conf

该文件中定义仓库相关的信息。

注意:

该文件受PKG_REPOS环境变量的影响。

PKG_REPOS环境变量的值是用空格隔开的路径列表,示例:

export PKG_REPOS=~/pkgin/repositories/a.conf ~/pkgin/repositories/b.conf

PKG_REPOS环境变量不为空的时候,优先使用它所指定的仓库配置文件。

该文件中可以使用如下2个变量:

$arch相当于uname -m的结果比如amd64x86
$osrelease相当于uname -s的结果比如NetBSDLinuxDarwin

示例:

http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/8.1/All

该文件的每一行就是一个URL,可以有多个URL,每个URL就是一个pkgin仓库, 很不幸的是,国内没有公开的pkgin仓库镜像,只能使用台湾日本pkgin仓库镜像。

NetBSD pkgin 仓库镜像

1.2.3、/var/db/pkgin/cache/

该目录缓存的是下载的二进制压缩包。

该目录可以删除。

删除方法一:

sudo pkgin clean

删除方法二:

sudo rm -rf /var/db/pkgin/cache

删除以后,还会重建的。

1.2.4、/var/db/pkgin/pkgin.db

该文件是一个SQLite数据库。

该文件是通过pkgin update获取到的数据写到此数据库中的。

1.2.5、/var/db/pkgin/sql.log

该文件记录了操作SQLite数据库时候的SQL语句的错误。

该文件用于出错时候的调试。

1.3、pkgin命令

pkgin命令的使用格式:

pkgin [option]
pkgin [option]... <command>
1.4.1、-h

打印出pkgin命令的使用帮助。

1.4.2、-v

打印出pkgin的版本号。

1.4.3、-V

打印出一些额外的信息,用于调试。

1.4.4、-y

有询问Yes or Not的时候,自动回答yes

1.4.5、pkgin update

更新仓库的元数据。修改了仓库之后,必须用此命令进行更新元数据。

示例:

sudo pkgin update
1.4.6、pkgin [-y] upgrade

升级所有的过期的软件包。

1.4.7、pkgin search <queryStr>

查询给定名字的包。

示例:

pkgin search vim
1.4.8、pkgin [-y] install <packageName>...

从仓库中安装最新软件包,并自动安装依赖包。

示例:

pkgin -y install vim
1.4.9、pkgin [-y] delete <packageName>...

卸载给定名字的包。

示例:

pkgin -y delete vim
1.4.10、pkgin [-y | -n] autoremove

删除无用的软件包。

1.4.11、pkgin pkg-content <packageName>

查看packageName包中的所有内容。

示例:

pkgin pkg-content vim
1.4.12、pkgin pkg-descr <packageName>

查看packageName的信息。

示例:

pkgin pkg-descr vim