macos安装pkgsrc

# 有二进制源(包不算多,但是nixpackage每次安装都编译太烦了)
# bsd系统比较严谨的特点
# 软件配置等在/opt/pkg/share/examples有示例
  • 安装

# 下载,我是Mojave (10.14.6) or Catalina
wget https://pkgsrc.joyent.com/packages/Darwin/bootstrap/bootstrap-macos14-trunk-x86_64-20200716.tar.gz

# 手动复制安装
tar xvf bootstrap-macos14-trunk-x86_64-20200716.tar.gz

# 文件解压之后的目录结构

╭─jcleng@bogon /Users/jcleng/work/pkgsrc  ‹system›
╰─$ tree -L 3
.
├── bootstrap-macos14-trunk-x86_64-20200716.tar.gz
├── opt
│   └── pkg
│       ├── bin
│       ├── etc
│       ├── include
│       ├── lib
│       ├── libdata
│       ├── libexec
│       ├── sbin
│       └── share
└── private
    ├── etc
       ├── manpaths.d
       └── paths.d
    └── var
        └── db
            └── pkgin


# 开始移动文件
mv ./opt/pkg/ /opt
sudo chmod 777 /opt/pkg

# 其它文件也要移动
mv ./private/etc/manpaths.d/ /private/etc/
sudo chmod 777 /private/etc/manpaths.d

mv ./private/etc/paths.d/ /private/etc/
sudo chmod 777 /private/etc/paths.d

mv ./private/var/db/pkgin /private/var/db/
sudo chmod 777 /private/var/db/pkgin

sudo chown -R jcleng:wheel /opt/pkg
# 最后把 /opt/pkg/bin 加入变量环境即可
/usr/libexec/path_helper
  • 配置源

$ find /opt/pkg/ -name repositories.conf\*

/opt/pkg//etc/pkgin/repositories.conf
/opt/pkg//.pkgdb.refcount/files/opt/pkg/etc/pkgin/repositories.conf
/opt/pkg//share/examples/pkgin/repositories.conf.example


code /opt/pkg//etc/pkgin/repositories.conf
  • 使用

# 搜索
pkgin search php7
# 安装
pkgin install php72-fpm-7.2.34nb5

installing php72-fpm-7.2.34nb5...
php72-fpm-7.2.34nb5: Creating user ``fpm''
php72-fpm-7.2.34nb5: copying /opt/pkg/share/examples/php/php-fpm.conf to /opt/pkg/etc/php-fpm.conf
php72-fpm-7.2.34nb5: copying /opt/pkg/share/examples/php/php-fpm.d/www.conf to /opt/pkg/etc/php-fpm.d/www.conf
===========================================================================
The following files should be created for php72-fpm-7.2.34nb5:

        /etc/rc.d/php_fpm (m=0755)
            [/opt/pkg/share/examples/rc.d/php_fpm]

===========================================================================
===========================================================================
$NetBSD: MESSAGE,v 1.2 2014/03/18 10:00:51 adam Exp $

For more information about PHP FastCGI Process Manager see FPM docs at:
http://php.net/manual/en/book.fpm.php

For NetBSD consider adding something like following to /etc/newsyslog.conf:

/var/log/php-fpm.log 640 7 * * BZ /var/run/php-fpm.pid SIGUSR1

===========================================================================
pkg_install warnings: 0, errors: 0
reading local summary...
processing local summary...
marking php72-fpm-7.2.34nb5 as non auto-removable

# 安装位置
/opt/pkg/sbin/php-fpm
# 详情
cat /opt/pkg/share/examples/rc.d/php_fpm
# 不使用fpm使用php-cgi
php-cgi -b 127.0.0.1:9000 -c "php.ini";