FreeBSD软件安装卸载工具--Ports和Packages详解

1、如何只抓取 tarball?
2、如何仅做到解开 tarball的步骤?
3、如何仅做到解开 tarball 并补上官方提供的 patch?
4、如何安装一个新的 port?
5、如何安装一个新的 port,并将打包(package)起来?
6、如何打包一个 port,并将其所有相依的 ports 也打包起来?
7、如何对一个已经安装的 port 打包?
8、如何清理 ports 编辑期间所产生的暂存资料?
9、如何清理 ports 编辑期间所产生的暂存资料,以及其相对应的 tarball?
10、如何在安装 ports 前查询所需依赖/相关的套件?
11、如何移除已安装的 ports?
12、如何一并移除所相依的 ports?
13、如何重新安装已安装过的 ports?
14、如何以关键字搜寻 ports?
15、如何升级已安装的 ports?
16、如何查询目前系统安装了哪些套件?
17、如何查询目前系统有没有安装这个关键字的套件?
18、如何查询某个档案是属於哪些套件?
19、如何查询某个套件安装了哪些档案?
20、如何安装旧版的 ports?
21、如何更新 ports Mk?
22、如何解决安装 ports 时出现 sed -i 的错误?
23、如何列出所有可以升级的 ports?
24、如何得知 ports system 对某个 ports 所提供的编译叁数?
25、如何手动加入编译 ports 的叁数?
26、如何指定 ports 的安装路径?
27、安装 ports 出现 FORCE_PKG_REGISTER 的错误讯息
28、安装 ports 出现 Shared object libintl.so.X not found 的错误讯息
29、如何安装 packages?
30、如何强制安装 packages?
31、如何查询 packages 与其他 packages 之间的相依性?
32、如何远端安装 packages?
33、如何更新 INDEX 对照表?
34、如何更新 INDEX HTML?
35、如何针对某些 ports 不做 CVSup?
36、如何使用 CVSup 同步 ports collections?
37、安装 ports 出现 port is outdated 的错误讯息
39、安装 ports 出现 OpenSSL vulnerabilities 的错误讯息
40、如何在 FreeBSD 上模拟 Linux 的环境?
41、如何在 FreeBSD 上安装 Linux rpm?
42、安装 ports 时,原本应该出现的清单选项不见了
43、如何检查是否有安装重覆的 ports/packages? `make deinstall' 与 `pkg_delete' 有什麽不同?
44、安装 ports 出现 local modification time does not match remote 的
错误讯息

1、如何只抓取 tarball?

如果只希望抓取 tarball 下来的话,仅需下 make fetch 即可。
如果是要抓取单一的 port,以 editors/joe 为例的话,则:

代码:
cd /usr/ports/editors/joe/
make fetch

预设会将 joe 的 tarball 下载至 /usr/ports/distfiles/ 目录下。
如果是希望抓取安装此 ports 所有须要的其他 ports 的 tarball,以

systuils/portupgrade 为例的话,则:

代码:
cd /usr/ports/systuils/portupgrade/
make fetch-recursive

预设会将此 ports 的 tarball 与所有须要的其他 ports 的 tarball,下载至 /usr/ports/distfiles/ 目录下。

如果是希望抓取全部所有 ports 的 tarball ,则:

代码:
cd /usr/ports/
make fetch

则会所将全部所有 ports 的 tarball 下载至 /usr/ports/distfiles/ 目录下。
如果是希望抓取全部 ftp 下所有 ports 的 tarball ,则:

代码:
cd /usr/ports/ftp/
make fetch

则会所将全部 ftp 下所有 ports 的 tarball 下载至 /usr/ports/distfiles/
目录下。

2、如何仅做到解开 tarball的步骤?

有时候习惯自己 patch/修正 原始码的时候,很常用到这个功能。
以 editors/joe 为例的话,则:

代码:
cd /usr/ports/editors/joe/
make extract

会将 tarball解开至 /usr/ports/editors/joe/work/ 目录下。

3、如何仅做到解开 tarball 并补上官方提供的 patch?

此方法与 2 有一些类似,不同於是先补上官方提供的 patch ,再行 patch 自己
的修正。以 editors/joe 为例的话,则:

代码:
cd /usr/ports/editors/joe/
make patch

会将 tarball解开至 /usr/ports/editors/joe/work/ 目录下,并已经 patch 上
官方提供的 patch。

4、如何安装一个新的 port?

如果系统上未安装此软体,则可以选择安装一个新的 port。
以 editors/joe 为例的话,则:

代码:
cd /usr/ports/editors/joe/
make install

如此会在系统上安装一个新的 joe 软体。如果需要在安装完成後,一并清除编辑
时期所留下来的暂存目录,则可叁考 FAQ 8 的方法,一起使用,如:

代码:
cd /usr/ports/editors/joe/
#make clean

如果想要一次清掉所有 ports 产生的暂存资料,则只要回到 ports 的根目录执
行即可:

代码:
cd /usr/ports/
#make clean

5、如何安装一个新的 port,并将打包(package)起来?

将安装完成的软体打包起来,有许多便利性:包括在丛集系统中,可供其它机器
使用,或将未来此软体出问题可重新利用此 package 重新快速安装。
以 editors/joe 为例的话,则:

代码:
cd /usr/ports/editors/joe/
#make package

如此会在系统上安装一个新的 joe 软体,并将此软体打包(package)起来。

package 预设会在 /usr/ports/editors/joe/ 目录下,如果希望集中管理的话,
建议做如下的步骤:

代码:
mkdir -p /usr/ports/packages/All/

以後打包的 packages 都会存放在此目录下,并且系统会自动做分类,以方便管
理。如果需要在安装完成後,一并清除编辑 时期所留下来的暂存目录,则可叁
考 FAQ 8 的方法,一起使用,如:

代码:
cd /usr/ports/editors/joe/
make package clean

6、如何打包一个 port,并将其所有相依的 ports 也打包起来?

因为 FAQ 5 只有对最终的 port 才进行打包,中间依赖的 ports 并没有一起打
包,这会出现一个常遇到 的问题,就是如果编辑一个 port 需要依赖其它的
ports,那麽必须将其它 ports 也一起打包,否则安装 packages 会有相 依赖其
它 ports 的 packages 的问题。
以 sysutils/portupgrade 为例的话,则:

代码:
cd /usr/ports/sysutils/portupgrade/
make DEPENDS_TARGET=package package

如此会在对所有 portupgrade 所相依赖的 ports 一并打包,也包括自己本身。

7、如何对一个已经安装的 port 打包?

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

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

会将已安装的 port 打包起来,放在 /var/db/pkg/ 目录下。

8、如何清理 ports 编辑期间所产生的暂存资料?

在编辑 port 的时候,会有编辑期间所需要的工作目录(work),因此通常安装好
一个套件後,会清除此暂存目录,以节省系 统磁碟空间。
以 editors/joe 为例的话,则:

代码:
cd /usr/ports/editors/joe/
make clean

如果是希望清除所有 ports 的暂存目录,则:

代码:
cd /usr/ports/
make clean

如果是希望清除全部 ftp 下所有的暂存目录,则:

代码:
cd /usr/ports/ftp/
make clean

9、如何清理 ports 编辑期间所产生的暂存资料,以及其相对应的 tarball?

在 FAQ 8 中,仅只是清除编辑期间所需要的工作目录(work),并没有将编译
ports 时一并下载的 tarball 删除(相对应之 tarball 预设会存放
在 /usr/ports/distfiles/),如果欲把 tarball 一并删除,
以 editors/joe 为例的话,则:

代码:
cd /usr/ports/editors/joe/
make distclean

make distclean 的步骤包含了 make clean 的功能,也就是说除了会删除
tarball 外,还会一并M除编辑期间所需要的工作目录。

如果是希望清除所有 ports 的暂存目录,及 tarball ,则:

代码:
cd /usr/ports/
make distclean

如果是希望清除全部 ftp 下所有的暂存目录,及 tarball,则:

代码:
cd /usr/ports/ftp/
make distclean

10、如何在安装 ports 前查询所需依赖/相关的套件?

在安装 ports 前,可以查询所需依赖/相关的套件。
以 mail/p5-Mail-SpamAssassin 为例的话,则:

代码:
cd /usr/ports/mail/p5-Mail-SpamAssassin/
make all-depends-list #显示所有相关的套件
make pretty-print-build-depends-list #显示编译期间所需要的套件
make pretty-print-run-depends-list #显示此套件要执行时所需要的套件

11、如何移除已安装的 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}

但很有可能会导致其它的套件执行起来出现问题。

至於二者的差别,请叁考FAQ 43

上一页12 3 下一页

(0)

相关推荐

  • 苹果iphone看漫画软件comikon下载及使用方法图文详解

    有网友给我推荐了另一款名叫漫画控(comikon)的软件。从官方介绍来看,漫画控不仅在功能上完胜icomic,甚至比起comicglass优势也不少,关键是它还是一款免费软件。笔者在这里为大家详细介绍 ...

  • 谈谈FreeBSD软件安装方法

    安装了 FreeBSD 后,您一定还会需要安装其它非 FreeBSD 内附的软件。在 FreeBSD 上安装软件有许多种方法,我们将一一为各位介绍。 本章包含了下列软件安装必备的课题: * 各种安装方 ...

  • FREEBSD软件安装

    安装了 FreeBSD 后,您一定还会需要安装其它非 FreeBSD 内附的软件。在 FreeBSD 上安装软件有许多种方法,我们将一一为各位介绍。 本章包含了下列软件安装必备的课题: 各种安装方式的 ...

  • FreeBSD 软件安装

    0. 前言 我们系统安装完成后,只有少数的服务正在执行, 当然了,在 FreeBSD 之下,可用的软件众多。 只怕您不会用 .. 1. 常用的软件安装方式 1. make : 需要自行抓取 sourc ...

  • ansys 19.0怎么安装?ANSYS Products 19.0安装教程及破解方法图文详解

    ansys 19.0怎么安装?ANSYS Products 19.0是一款非常好用且功能强大的有限元分析软件,该软件集结构.流体.电磁场.声场和耦合场分析等多种功能于一体,并且支持与主流的cad软件接 ...

  • ps文字工具怎么用(详解)

    网上搜索发现很多小伙伴搜索ps文字工具的用法,小编给大家整理出一套ps文字工具用法详解. 操作方法 01 ctrl+n新建自己需要尺寸的图层 02 点击左边"T"形图片选择需要的文 ...

  • Adobe reader软件安装卸载

    Adobe reader 作为PDF阅读工具,在这里介绍Adobe reader如何进行安装和卸载 Adobe Reader XI安装 01 双击打开" Adobe Reader XI&qu ...

  • 网线制作工具 网线水晶头制作过程详解(视频+图文教程)

    电脑这概念其实真的很广,要精通电脑的所有技巧技能,并不是一两年的经验可以做到的,因为电脑这个概念其实有这非常广泛的链接,笔者今日就深受其教诲,比如一个简单的电脑技能,网线水晶头的制作,虽然这个熟悉的朋 ...

  • Linux系统中nmap网络扫描工具的命令用法详解

    Linux系统中nmap网络扫描工具的命令用法详解