学而实习之 不亦乐乎

FreeBSD 修改软件安装源

2023-09-28 08:12:18

FreeBSD 有四类源,pkg、ports、portsnap、update

  • pkg 源提供二进制安装包,FreeBSD 中 pkg 源分为系统级和用户级两个源。不建议直接修改/etc/pkg/FreeBSD.conf,因为该文件会随着基本系统的更新而发生改变。
  • ports 源提供源码方式安装软件的包管理器,其下载路径是/usr/ports/distfiles。
  • portsnap 源打包的是 ports 文件。
  • freebsd-update 源提供基本系统更新。只有一级架构的 release 版本才提供该源。也就是说 current 和 stable 是没有的。

一、修改 pkg 源

1、禁用原来的FreeBSD.conf

# ee /etc/pkg/FreeBSD.conf


enabled: yes 
改为
enabled: no

保存(ESC, 然后 a -> a)即可

2、创建用户级源目录

# mkdir -p /usr/local/etc/pkg/repos
# touch /usr/local/etc/pkg/repos/FreeBSD.conf

这个是台湾的源

taiwan:{
  url: "pkg+http://pkg0.twn.freebsd.org/${ABI}/latest", //台湾源,快,推荐;latest表示软件最新版;如latest换成quarterly表示软件稳定版;
  mirror_type: "srv",
  signature_type: "none",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes //表示启用;
}

这个是中科大的源

ustc:{
    url: "pkg+http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/latest",
    mirror_type: "srv",
    signature_type: "none",
    fingerprints: "/usr/share/keys/pkg",
    enabled: yes
}

ustc: {
  url: "pkg+http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/latest",
  mirror_type: "srv",
  signature_type: "none",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
FreeBSD: { enabled: no }

若要获取滚动更新的包,请将 quarterly 修改为 latest。请注意,CURRENT版本只有latest。
若要使用https,请先安装 security/ca_root_nss,并将 http 修改为 https ,最后使用如下命令刷新缓存即可:

# pkg update -f

二、修改 ports 源

1、先安装axel加速工具

# pkg install axel

2、创建或修改文件 make.conf

# ee /etc/make.conf

-- content of make.conf --
FETCH_CMD=axel -n 30 -a    #-n 30 表示使用30个线程下载
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/${DIST_SUBDIR}/

安装 ports 升级工具 portmaster 试试效果:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

portmaster是ports的升级工具,使用基本上就用:

# portmaster -a

三、修改 portsnap 源

1、编辑 portsnap 配置文件

# ee /etc/portsnap.conf

将SERVERNAME=portsnap.FreeBSD.org 修改为 SERVERNAME=porsnap.tw.freebsd.org

2、获取ports目录

# portsnap fetch

第一次用 portsnap 还需要:

# portsnap extract
# portsnap update

以后更新ports目录,就直接 

# portsnap fetch update 

注意:出现(Is the system clock correct?)的问题,需要同步时间,如下:

# ntpdate ntp.api.bz

四、修改 update 源

编辑文件:

# ee /etc/freebsd-update.conf 

将 ServerName update.FreeBSD.org 修改为 ServerName update.tw.FreeBSD.org

如:从 FreeBSD 12 升级到 13.0

# freebsd-update -r 13.0-RELEASE upgrade

FreeBSD 安全补丁可以通过以下命令下载并安装补丁

# freebsd-update fetch

-- 安装更新 --
# freebsd-update install

-- 查找所有软件包是否有漏洞补丁(安全审计) --
# pkg audit -F