System & Port update/upgrade

前言

雖然主力的Gateway是FreeBSD,但是我發現這幾年來我的技能數都點到Linux(正確的說都點到V2ray去了)

基本概念

在Linux裡面基本上沒有所謂的Base OS, 所有的程式都是可以靠同一個package manager來進行update,所以才會有

1
2
3
4
# Debian/Ubuntu
apt update && apt upgrade
# Arch
pacman -Syu

這種一個指令搞定全世界的方法…

而FreeBSD就不一樣了,FreeBSD在這方面就比較像Windows有系統更新跟自己安裝的程式更新這兩個用不同的指令

FreeBSD 系統更新

基本指令

1
2
3
4
# 現有版本更新patch
freebsd-update fetch && freebsd-update install
# 更新到x.y-Release版
freebsd-update upgrade -r x.y-RELEASE && freebsd-update install

Port更新

Port Tree更新

1
2
3
4
5
cd /usr/ports
# 第一次使用
portsnap fetch && portsnap extract && portsnap update
# 之後使用
portsnap fetch && portsnap update

Port Software更新

1
portmaster -a

pkg

其實不需要自己compile的話用pkg比較方便

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Install
pkg install <pkg_name>

# Remove
pkg delete <pkg_name>

# Autoremove
pkg autoremove

# Check pkgs version
pkg version

# 更新repo
pkg update

# 更新pkg
pkg upgrade

結論

因為我現在不需要cutomize config to build pkg, 所以現在都是直接改用pkg來處理一切