※ 引述《Kuster (克斯特)》之铭言:
: 看了两位前辈的说法,我想请教一下这样的解读是不是正确的:
: FreeBSD的初始安装直接包含了kernel与userspace所需的所有档案
: 这些档案均与package管理系统无关,也不被管控
: ports与pkg_*最终在安装的时候会将纪录留在同一个管理系统,即/var/db/pkg
: 这两的差异只在于最终使用的binary来源,一个是自己产生,一个是别人产生的
: 不知道我这样的解读是不是正确的?
: 我很好奇那我要怎么更新这些不被管控的档案?
freebsd-update 会同时更新 binary 和 source,可以用来更新到 RELEASE 和 RC。
至于 STABLE (有时候是 PRERELEASE) 或 CURRENT 这类的开发中的版本,没办法使用
freebsd-update 来更新。 (其实没有特殊需求也不会去用这些不稳定版)
/usr/src 如果当初没有安装,我认为事后要装的话直接用 svn checkout 就好了。
虽然说系统本身没有分套件,但是 source 和 binary 之前是有清楚的对应关系的
通常
/usr/src/bin -> /bin
/usr/src/lib -> /lib
/usr/src/usr.bin -> /usr/bin
大概像是这样,找不到的话用 whereis 找也很方便
比较特别的是 /usr/src/sys 是放 kernel 的地方,/usr/src/sys/modules 是 ko
核心设定档会放在 /usr/src/sys/<arch>/conf,打 uname -v 可以看到目前执行的
kernel 使用的设定档名称
: 因为我个人之前习惯使用ubuntu
: 从kernel必备到userspace里面的档案似乎都是打包成package之后再安装
: 个人感觉分割得比较细
: 至于kernel module的部分,我有在/boot/kernel找到*.ko
: 但我有点疑惑的是,虽然我有找到各个.ko的档案
: 但是透过kldstat就只会看到一个名为kernel的module
: 要加上参数,即kldstat -v,才会看到内含的module
: 这样我要怎么移除(unload)这些内含的module呢?
: 谢谢!!