当前位置: 首页
系统平台
FreeBSD常用命令与packages使用教程

FreeBSD常用命令与packages使用教程

热心网友 时间:2026-06-20
转载

安装 packages

目前 FreeBSD 的 packages 采用的是 .tgz 打包格式。安装一个 package 其实很简单,直接用 pkg_add 就行。比如要安装 joe,命令是这样的:

pkg_add joe-{version}.tgz

强制安装 packages

有些 package 会有依赖关系,必须先装好那些依赖包才能正常安装。但如果你非要跳过检查、强行装上,可以用 -f 参数。不过得留个心眼:强制安装很可能导致执行时出问题,甚至根本跑不起来。强制安装 joe 的示例:

pkg_add -f joe-{version}.tgz

查询 packages 之间的依赖关系

想知道某个 package 依赖哪些其他 package?用 pkg_info -r 就行。比如查 portupgrade 的依赖:

pkg_info -r portupgrade-{version}.tgz

远端安装 packages

远程安装有两种设定方式。第一种是设置 PACKAGEROOT 环境变量,指定一个镜像站根目录:

setenv PACKAGEROOT ftp://ftp.cn.freebsd.org/

第二种是设置 PACKAGESITE,好处是可以精确指定 package 仓库的路径,比如针对 i386 架构的 current 版本:

setenv PACKAGESITE ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/i386/packages-current/Latest/

两种方式选其一即可。设置好之后,安装 package 就简单了,比如装 portupgrade:

pkg_add -r portupgrade

系统会自动从指定站点下载所有依赖包并完成安装。

查询当前系统安装了哪些套件

查看已安装的全部套件,敲 pkg_info 就行。如果只想找某个关键词,可以配合 grep

pkg_info | grep 关键字

查询某个文件属于哪个套件

假设想知道 /usr/local/bin/joe 是哪个套件的,用 -W 参数:

pkg_info -W /usr/local/bin/joe

如果没有返回任何信息,说明这个文件是 FreeBSD 系统自带的。

查询某个套件安装了哪些档案

想看看已安装的 joe 到底包含了哪些文件?用 -L 参数:

pkg_info -L /var/db/pkg/joe-{version}

列出所有可以升级的 ports

Ports Collection 更新速度很快,每次更新后,系统中已安装的套件很可能有更新的版本。用下面这条命令可以让系统自动列出可升级的套件:

pkg_version -c

移除已安装的 ports

以 editors/joe 为例,可以用两种方法。第一种是进入 ports 目录后执行 make deinstall

cd /usr/ports/editors/joe/
make deinstall

第二种是直接用 pkg_delete

cd /var/db/pkg/
pkg_delete joe-{version}

有时候套件间的依赖关系会导致无法直接删除,如果非要强制移除,可以加 -f 参数:

cd /var/db/pkg/
pkg_delete -f joe-{version}

但注意,这样强制删除很可能让其他依赖它的套件运行出问题。

一并移除所依赖的 ports

以 sysutils/portupgrade 为例,可以用 make deinstall-depends 一次性移除它以及它所依赖的包:

cd /usr/ports/sysutils/portupgrade/
make deinstall-depends

执行前请务必确认会不会误删需要保留的套件。

或者用 pkg_delete-r 参数:

cd /var/db/pkg/
pkg_delete -r portupgrade-{version}

对一个已经安装的 port 打包

有时候安装完套件才发现没打包,事后想补打一个?以 editors/joe 为例:

cd /var/db/pkg/
pkg_create -b joe-{版本号}

这条命令会把已安装的 port 打包成 .tgz,放在 /var/db/pkg/ 目录下。

make deinstall 与 pkg_delete 有什么不同

简单来说,make deinstall 只管移除对应的 port,不会理会它跟其他 port 的依赖关系;而 pkg_delete 在删除之前会检查依赖关系,并且支持通配符。比如要删除所有以 p 开头的 ports,可以这样:

cd /var/db/pkg/
pkg_delete p*

这里有个小提醒:如果用 make deinstall,最好确保系统当前安装的版本和 ports collection 里的版本一致,否则可能出现意外错误。而 pkg_delete 直接删除系统中实际安装的版本,没这个顾虑。

换句话说,当系统版本和 ports collection 版本一致时,两种方法都可以;不一致时,建议用 pkg_delete

对一个已经安装的 port 打包(重复说明)

如果安装好套件后忘了打包,事后补救的方法如下(仍以 editors/joe 为例):

cd /var/db/pkg/
pkg_create -b joe-{版本号}

打包好的文件会放在 /var/db/pkg/ 目录下。

来源:https://www.jb51.net/os/Unix/1478.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
微软详解Win11时间点还原 默认每24小时创建恢复点

微软详解Win11时间点还原 默认每24小时创建恢复点

微软今日推送了最新的 6 月可选更新,并发布博客详细解读了 Win11 全新的“时间点还原”(Point-in-time restore)功能——这一功能本质上是对系统恢复体验的一次全面升级,旨在让用户更轻松地应对电脑故障。 微软表示,面向 Windows 11 客户端用户的“时间点还原”功能现已正

时间:2026-06-30 07:39
Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

Win11 26H1六月可选更新KB5095091 优化放大镜改善装机体验

微软今天推送了Windows 11 26H1设备的6月可选更新KB5095091,安装完成后系统版本号会升级到Build 28000 2340。值得一提的是,这次更新并非面向所有设备,而是专门为搭载高通骁龙X2系列芯片的机型准备的——包括骁龙X2 Plus、X2 Elite和X2 Elite Ext

时间:2026-06-30 07:39
Win11六月可选更新KB5095093修复回收站弹窗异常

Win11六月可选更新KB5095093修复回收站弹窗异常

微软已悄然推送Windows 11六月可选更新,编号KB5095093。本次更新覆盖两个版本:24H2用户安装后版本号升级至Build 26100 8737,而25H2用户则更新至Build 26200 8737。 本次更新并非仅是小修小补,而是带来了多项实质性新功能。下面我们就来详细解析这些更新内

时间:2026-06-30 07:39
苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

苹果macOS 27 Beta2封堵Siri AI跳过候补名单漏洞

科技媒体 Cult of Mac 昨日(6月23日)发布博文指出,苹果在 macOS 27 Beta 2 更新中悄然封堵了一个此前可用的后门——用户曾能通过一条终端命令绕过候补名单,直接启用新版 Siri AI,如今这一方法已失效。 简要回顾一下:在 macOS 27 Beta 1 阶段,只需在 M

时间:2026-06-30 07:38
微软加速Win11 25H2推送 覆盖所有符合条件家用PC

微软加速Win11 25H2推送 覆盖所有符合条件家用PC

近日(6月23日),科技媒体 Windows Latest 发布了一则值得关注的动态:微软已进一步扩大 Windows 11 25H2 的推送范围,所有满足硬件要求、且不受 IT 部门管理的家庭版和专业版设备,现在均可顺利接收本次更新。 此次升级有一个显著特点——采用“启用包”(eKB)方式进行推送

时间:2026-06-30 07:38
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜