FreeBSD常用命令和packages使用方法讲解

安装 packages

目前 FreeBSD 的 packages 是由 .tgz 所打包。如果想安装一个 packages ,可使用 pkg_add,如安装一个 joe 的 tgz:

pkg_add joe-{version}.tgz

强制安装 packages
由於有些 packages 会有与其他 packages 相依性的关系,所以必须先行安装那些 packages 才能正常安装。 如果须要强制安装 packages ,可以不须安装那些有相依性 packages ,但要注意的是强制安装的结果可能会导致执行或运作的不正常。强制安装 packages 的指令如下,如强制安装一个 joe 的 tgz:
pkg_add -f joe-{version}.tgz

查询 packages 与其他 packages 之间的相依性

由於有些 packages 会有与其他 packages 相依性的关系,所以必须先行安装那些 packages 才能正常安装。 查询 packages 与其他 packages 之间的相依性的指令如下,如查询与 portupgrade 相依的其他 packages:

pkg_info -r portupgrade-{version}.tgz

远端安装 packages

有两种设定方式,首先是 PACKAGEROOT,如:

setenv PACKAGEROOT ftp://ftp.cn.freebsd.org/ #设定 PACKAGEROOT 为 ftp.cn.freebsd.org 站台另一种方式是设定 PACKAGESITE,好处是若该站台的 packages 仓储并不是符合
官方的设定或你想自己指定一个路径。以 ftp.cn.freebsd.org i386 的 current pakcages 为例:

setenv PACKAGESITE ftp://ftp.cn.freebsd.org/pub/FreeBSD/ports/i386/packages-current/Latest/
两种方式选择其中一种皆可,接下来的步骤都一样。 往後要安装 packages 的时候,如 portupgrade 的话,则:

pkg_add -r portupgrade
则系统会自动於 ftp.cn.freebsd.org 下载所有与 portupgrade 相依的 packages 并安装。

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

查询目前系统已安装的全部套件:
pkg_info

查询目前系统有没有安装这个关键字的套件
pkg_info | grep

查询某个档案是属於哪些套件

如果想查询 /usr/local/bin/joe 是属於哪个套件的话,则:

pkg_info -W /usr/local/bin/joe
如果没有回传任何资讯的话,代表着这个档案是由 FreeBSD 内建的。

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

如果想查询目前系统所安装的 joe 包含了哪些档案,则:

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

列出所有可以升级的 ports

ports collection 的更新速度很快,在每次更新 ports collections 後,往往会出现比目前现在安装的套件还新的版本,可 以令系统自行整理并提供可升级套件的列表:

pkg_version –c

移除已安装的 ports
以 editors/joe 为例的话,则:
cd /usr/ports/editors/joe/
make deinstall
或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete joe-{version}
有时候套件之间的相依性会导致无法直接移除,如果要强制移除的话,则:
cd /var/db/pkg/
pkg_delete -f joe-{version}但很有可能会导致其它的套件执行起来出现问题。

一并移除所相依的 ports
以 sysutils/portupgrade 为例的话,则:
cd /usr/ports/sysutils/portupgrade/
make deinstall-depends
执行此步骤前,请注意是否会移除应该保护的套件。
或是使用 pkg_delete
cd /var/db/pkg/
pkg_delete -r portupgrade-{version}

对一个已经安装的 port 打包

如果安装好一个套软,事前并未打包,事後想打包的话,则:
以 editors/joe 为例的话

cd /var/db/pkg/
pkg_create -b joe-{版本号}
会将已安装的 port 打包起来,放在 /var/db/pkg/ 目录下。

`make deinstall' 与 `pkg_delete' 有什麽不同

简单来说,`make deinstall' 会移除该 port,并且不会叁照其相依/相关的 ports。 `pkg_delete' 在移除该 port 前,会叁照其相依/相关的 ports,并且 `pkg_delete' 有支援 wild card,如要移除所有 p 开头的 ports,则:

cd /var/db/pkg/
pkg_delete p*
要注意的是,如果使用 `make deinstall',则最好确定系统目前所安装的版本,与 ports collection 中显示的版本符合,否则有可能会出现非预期性错误;而 `pkg_delete' 是因为直接删除系统中所安装的版本,所以没有此问题。

因此,换句话说,当系统所安装的版本符合 ports collections 中的版本,则可以使用 `make deinstall' 或 `pkg_delete',否则的话最好用 `pkg_delete'。

对一个已经安装的 port 打包

如果安装好一个套软,事前并未打包,事後想打包的话,则:
以 editors/joe 为例的话

cd /var/db/pkg/
pkg_create -b joe-{版本号}
会将已安装的 port 打包起来,放在 /var/db/pkg/ 目录下。

(0)

相关推荐

  • freebsd 常用命令

    FREEBSD是一个unix的分支.他的命令大部分也是从他的里面来的 如果你从unix转到BSD来,那么你一定对他的命令会比较熟悉 1: man 在线查询 man ls 2: ls 查看目录与档案 l ...

  • FreeBSD常用命令--ports使用方法讲解

    更新 INDEX 对照表 4.x 的 INDEX 位於 /usr/ports/INDEX,5.x 位於 /usr/ports/INDEX-5。 INDEX 是对照 ports 所有相依等资讯的对照表, ...

  • FreeBSD常用命令集

    FreeBSD常用命令集

  • 财务分析常用的excel图表制作方法讲解

    觉得office软件不好用的人,一定是不会用的人,尤其是excle表格,它能做的事情远超想象,今天就教大家做一下常用的5种财务分析图表的制作方法,应该能给你的工作带来一些帮助. 财务分析和经营分析中经 ...

  • 在Linux上使用VirtualBox的命令行管理界面的方法讲解

    VirtualBox拥有一套命令行工具,你可以使用 VirtualBox 的命令行界面 (CLI) 对远程无界面的服务器上的虚拟机进行管理操作.在这篇教程中,你将会学到如何在没有 GUI 的情况下使用 ...

  • Word2016把常用命令添加到快速工具栏的方法

    word2016是一个文字处理器应用程序,它是我们办公.学习中不可多得的好帮手.不少小伙伴还不太熟悉有关的操作技巧,因此常常存在困惑.比如:很多用户不知道怎么把常用命令添加到快速工具栏,小编今天就来问 ...

  • Linux常用命令大全 Linux常用命令全集

    Linux常用命令全集 http://www./linux/ 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 d ...

  • Liunx系统管理常用命令.技巧简明笔记

    一、linux查看硬件设备、系统信息常用命令 1、系统 复制代码 代码如下: # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版 ...

  • Linux下的基本操作和常用命令

    随着mono的发展,asp.net也实现了跨平台的开发,而要mono在Linux下跑起来,也需要掌握一些Linux的操作,以下为大家总结了一些关于Linux的基本操作。 Linux命令基础操作 一、S ...