未完待续
包管理器
介绍
OpenBSD使用 pkg_add作为他的包管理器。
命令
安装和升级 pkg_add
Bash
# 安装包
pkg_add -v <package name>
# 更新包
pkg_add -u <package name>
# 列出所有可更新的包
pkg_add -u
# 生成手动安装的包信息,用于安装到其他机器
pkg_info -mz
# 根据文件列表安装
pkg_add -l <file>
检查一致性 pkg_check
在一些特殊情况下,某个软件包由于与其他文件的冲突而未完全添加。未完全安装的软件包的名称前缀会标记为 partial-。例如在安装时按下 CTRL+C 时。后续可以完成安装,partial-* 软件包将消失,或者可以使用 pkg_delete删除。更严重的系统故障,如文件系统问题,可能导致 /var/db/pkg 变得损坏或不一致。pkg_check可以帮助清理。
删除包 pkg_delete
注:已修改的配置文件不会被删除
Bash
# 删除包
pkg_delete <package name>
获取包信息 pkg_info
Bash
# 搜索包含关键词的软件包:
pkg_info -Q keyword
# 模糊搜索包
pkg_info -Q -e keyword
# 搜索包并单行显示(缺省完整显示包信息)
pkg_info -I keyword
# 列出所有已安装的软件包
pkg_info
配置国内源
一下多种方案选择一种即可
阿里源
Bash
echo "https://mirrors.aliyun.com/pub/OpenBSD/" > /etc/installurl
cat /etc/installurl
清华源
Bash
echo "https://mirrors.tuna.tsinghua.edu.cn/OpenBSD/" > /etc/installurl
cat /etc/installurl
官方源
Bash
echo "https://cdn.openbsd.org/pub/OpenBSD/" > /etc/installurl
cat /etc/installurl
除了永久改变源站之外,也可以使用临时修改的方式
Bash
export PKG_PATH=https://mirrors.aliyun.com/pub/OpenBSD/$(uname -r)/packages/$(arch -s)/
# OR
export PKG_PATH=https://mirrors.tuna.tsinghua.edu.cn/OpenBSD/$(uname -r)/packages/$(arch -s)/
网络配置
OpenBSD 中的网络配置是通过 /etc 中的文本文件完成的。这些设置通常最初是在系统安装过程中配置的。
Bash
ifconfig
DNS解析
DNS 解析由 resolv.conf(5) 文件控制,该文件由 resolvd(8) 管理。
Bash
$ cat /etc/resolv.conf
search example.com
nameserver 125.2.3.4
nameserver 125.2.3.5
lookup file bind
这里默认的域名是 example.com,会有两个名称服务器(125.2.3.4 和 125.2.3.5),并且在名称服务器之前会查询 hosts(5) 文件。
服务管理
服务管理程序rcctl类似linux下的service或systemctl
进程管理
启用或禁用
Bash
rcctl enable httpd ## 启用apache服务
rcctl disable httpd ## 禁用apache
启动或停止
Bash
rcctl start httpd
rcctl stop httpd
也可以根据需要传入 -d (开启debug)或 -f (强制)参数
列出相关的参数
Bash
# rcctl get httpd
httpd_class=daemon
httpd_flags=
httpd_timeout=30
httpd_user=root1.2.3.4.5.
列出默认参数
Bash
# rcctl getdef httpd
httpd_class=daemon
httpd_flags=
httpd_timeout=30
httpd_user=root1.2.3.4.5.
列出符合特定条件的进程
Bash
rcctl ls $con1.
列出符合条件的进程
Bash
all all services and daemons ## 所有的服务和进程
faulty enabled but stopped daemons ## 启用但未能启动的服务和进程
off disabled services and daemons ## 禁用的服务和进程
on enabled services and daemons ## 启用的服务和进程
started running daemons ## 已经启动的进程
stopped stopped daemons ## 已经停止的进程1.2.3.4.5.6.
# rcctl ls faulty
httpd
ntpd1.2.3.
这里httpd和ntpd两个进程已经启用,但是未能启动
调整pkg_scripts中进程的顺序
pkg_scripts这个变量是用来控制从软件包中安装的进程的。有多个进程的时候,我们有时候需要调整一下它们的顺序.
Bash
rcctl order d ## 把指定的进程d移到第一位:
rcctl order d d1 d2 ## 把指定的进程d移到d1和d2之前
rcctl order ## 列出当前的顺序1.2.3.
设置进程参数
Bash
rcctl set httpd status on ## 应该是和rcctl enable httpd的功能是一样的,我目前没有发现两者的差别
rcctl set ntpd flags -s ## 设置ntpd的flags参数为'-s'1.2.