作者HuangTzHuan ()
看板FreeBSD
标题Re: [问题] 如何看已安装套件?
时间Wed Aug 28 18:43:45 2013
※ 引述《Kuster (克斯特)》之铭言:
: 看了两位前辈的说法,我想请教一下这样的解读是不是正确的:
: FreeBSD的初始安装直接包含了kernel与userspace所需的所有档案
: 这些档案均与package管理系统无关,也不被管控
: ports与pkg_*最终在安装的时候会将纪录留在同一个管理系统,即/var/db/pkg
: 这两的差异只在於最终使用的binary来源,一个是自己产生,一个是别人产生的
: 不知道我这样的解读是不是正确的?
是的
: 我很好奇那我要怎麽更新这些不被管控的档案?
那些档案是跟着 FreeBSD 的版本一起更新的
例如 FreeBSD 8.0 昇级到 9.0
或是 security fix 如 9.1p2 昇到 9.1p3 这种
就会更新那些档案
更新的方式主要有三种:
1. 更新 source tree 到目标版本,直接从
/usr/src make world 编出整个系统
这部份请参考 /usr/src/UPDATING
2. 下载目标版本的 iso,从 iso 开机选择 upgrade
3. 用 freebsd-update 进行更新。
1. 是最传统的方式,喜欢客制化的人大都会从 1. 来更新
从 1. 来更新的弹性最大,可以在某个范围内选择不要安装
base 里的某些软体 (例如我想用 ports 里的 postfix
不想用 base 的 sendmail,或者我没有成为 dns 的需求,不需要 bind)
都可以加上选项来移除。编译时也可以加上特定的编译选项
甚至可以使用非预设的编译器来重编系统。
2. 我个人没有这麽做过啦,一般能远端做的事都不太会到电脑前
所以我也不知道 iso 开机选 upgrade 会出现什麽...
3. 就是懒人更新,比较接近 ubuntu 的用法,如果你不打算
客制任何 base 的部份的话,就很适合用 3.
: 因为我个人之前习惯使用ubuntu
: 从kernel必备到userspace里面的档案似乎都是打包成package之後再安装
: 个人感觉分割得比较细
: 至於kernel module的部分,我有在/boot/kernel找到*.ko
: 但我有点疑惑的是,虽然我有找到各个.ko的档案
: 但是透过kldstat就只会看到一个名为kernel的module
: 要加上参数,即kldstat -v,才会看到内含的module
: 这样我要怎麽移除(unload)这些内含的module呢?
如果是编进 kernel 里的话无法移除,要编成 kernel module 才能移除
※ 编辑: HuangTzHuan 来自: 140.112.30.49 (08/28 18:45)