澳门在线威尼斯官方 > 电脑操作 > FreeBSD软件包管理,如何最有效能的安装软件

原标题:FreeBSD软件包管理,如何最有效能的安装软件

浏览次数:86 时间:2019-11-01

Freebsd 下如何最有效率的安装软件

FreeBSD软件包管理

在FreeBSD下提供了两套包管理工个,Ports Collection和Packages Collection分别用来管理源码软件包和二进制软件包,Ports Collection可以用来下载软件,配置,编译,安装全自动完,Ports在本地并没有可存二进制代码和源码包,而是在本地提供一个下载软件的地址或者找到软件的方法。

Ports使用的源码包是以tar.gz结尾的包,Packages使用二进制包是以.tgz结尾,在FreeBSD 的安装盘中所提供的软件包大多使用.tgz文件格式。可以方便的使用pkg_add 来进行安装。

如果使用MINI安装默认是不安装Ports树的,需要使用管理员进行安装Ports:

sysinstall-->Configure-->Distributions--> X ports -->OK -->CD/DVD 等一会就会安装好的。

Ports默认的安装目录是在/usr/ports在这个目录在各个软件分类在不同的目录里。/usr/ports就被称为Ports树。

如果只想安装某一个软件的ports可以不执行上面操作,直接在光盘里的/cdrom/packages/里面找到需要的文件解压过/usr/ports相应的目录里就可以了。

我使用的安装盘是FreeBSD 7.0-RELEASE,光盘上所带的包基本上都是最新的,因为本地存储的是描述文件,时间长了以后会和ftp.freebsd.org的port源码不一样,比如某个版本更新了。如要更新本地版式本,只要下载更新的ports包下来解压一下就好了。当然也可使用cvsup来同步全部的源码树,对整个Ports Collection进行更新。

在7.0-RELEASE中共包含了17742个软件包,找起来很麻烦。我们可以在/usr/ports目录下使用make print-index 来生成一个包索引,把输出内容重定向到一个文件,就可以方便的查询了。

make readme 生成当前目录下所有目录的一个描述索引(README.html)。

make readmes 会生成当前目录下所有子目录的描述索引(README.html)。可以做一个目录到apache下,很方便的浏览文件。

make search key=apache2 可以列出所有和apache2相关的软件包。这也是一种查找软件包的方法。

whereis ssh

ssh: /usr/bin/ssh /usr/share/man/man1/ssh.1.gz /usr/ports/security/ssh

从返回的信息里也可以看到ssh所在的ports树的位置。

找到软件包的位置了就可以进行安了,安装十分简单,比如安装ssh吧

#cd /usr/ports/security/ssh

#make install

下面的事情就是等待了,ports会先去/usr/ports/distfiles目录里找一下有没有找一下有没有ssh的码包,如果没有话就去网上找,编译的时候如果需要别的支持文件的话也会自动去网上下载下来进行编译安装。同样下载下来的tar.gz文件包存放在/usr/ports/distfiles里面,备份这个目录是一个好主意,这样在你的机器没有网络环境的时候也可以使用ports进行包安装,只要把备份起来的文件恢复到/usr/ports/distfiles里面。安装完成后会在/var/db/pkg目录里面写入一个package安装记录,从而使两个包管理软件相互同步。

make也有其它的一些参数,比如make fetch这个命令所做的只是把要安装包的从网上拿下来,而不进行编译安装。

make 不带任何参数的情况下,只对软件包过行编译,而不安装。这个命令会在目录下生成一个work的目录,里面包括了,编译参数,补丁信息,编译步骤,及一个解压出来的原码文件。

make package可以在安装完成之后生成了一个按make install参数安装的二进制安装包。

不带任何参数的mail install通常会把软件安装在/usr/local下面,执行程序放在/usr/local/bin中,配置文件放在/usr/local/etc中,启动文件会放在/var/local/etc/rc.d中。

删除安装的软件可以使用make deinstall也是非常简单的,只有几个提示。

ports还支持对全系统升级那个又可以写一个东西来单独说一下了。

pkg包管理主要是用来安装光盘上的二进制包

pkg_add pkname 以这样的格式进行去安装就可以了

usage: pkg_add [-vInfFrRMSK] [-t template] [-p prefix] [-P prefix] [-C chrootdir]  pkg-name [pkg-name ...]

pkg_info可以用来查看已经安装上去的软件包,包括使用ports安装上去的也可以查到,这个命令所读取的是/var/db/pkg这目录里的信息。

usage: pkg_info [-bcdDEfgGiIjkKLmopPqQrRsvVxX] [-e package] [-l prefix]

[-t template] -a | pkg-name ...

pkg_info [-qQ] -W filename

pkg_info [-qQ] -O origin

pkg_info

pkg_delete删除一个包

pkg_version为把本地已经安装的包和远程服务器上进行比较,看是否已经有更新的了

FreeBSD 8上的Rsync同步简易教程

FreeBSD8.2系统安装Salt

制作FreeBSD系统定制安装ISO

FreeBSD搭建NAT并在单网卡上配置多个VLAN

本文永久更新链接地址:

在FreeBSD下提供了两套包管理工个,Ports Collection和Packages Collection分别用来管理源码软件包和二进制软件包,Ports Collection可...

 

From <>

FreeBSD的默认下载工具是fetch

Fetch ftp://ftp.gnu.org/gnu/gettext/Gettext-0.17.tar.gz

 

Ports机制

首先,FreeBSD下最有特色的软件安装和升级机制就是ports,既方便又高效。下面我们从ports套件的安装开始讲起,让你细致的了解有关ports的每一个细节

一、ports套件的安装

①我的FreeBSD 8.0-release是最小化安装,所以既没有ports,也没有/usr/ports目录。选择启用ports的话,需要在root下输入"sysinstall"来安装它:

输入sysinstall --> 选择Configure --> Distributions --> ports,然后安装即可。

②ports的默认路径是/usr/ports。这个ports的根目录下面有很多的文件夹及子文件夹,组成一个树状目录,包含大量ports下的软件。比如mail是邮件服务软件,games是游戏,www代表web服务软件,databases则是数据库软件。

[root@bsd01 /usr/ports]# cd www
[root@bsd01 /usr/ports/www]# ls -d apache*
apache-contrib apache13 apache13-modssl+ipv6
apache-forrest apache13+ipv6 apache13-ssl
apache-jserv apache13-modperl apache20
apache-mode.el apache13-modssl apache22

如果你需要安装什么软件,只要进入当前目录,然后“make install clean”即可。

[root@bsd01 ~]# cd /usr/ports/www/apache22
[root@bsd01 /usr/ports/www/apache22] make install clean

/usr/ports/distfiles是存放软件包的文件夹。ports会先检查/usr/ports/distfiles目录内有没有这个软件包,如果没有它就会自动从网上下载安装。

二、加速ports的升级速度

ports从网上下载软件包自动安装,那么从那里下载呢?首先,我们需要安装axel来取代默认的下载工具fetch,这样可以提高ports的安装速度:

cd /usr/ports/ftp/axel
make install

然后,我们需要一个源地址管理。跟ubuntu上的/etc/source.list文件一样,freebsd用的文件是/etc/make.conf,我们可以修改其文件,达到加速下载的目的。

#修改 /et/make.conf
vi /etc/make.conf
#加入以下内容
FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes

MASTER_SITE_OVERRIDE?=

ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/$%7BDIST_SUBDIR%7D/

MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}      

这样处理后,在公司的网络环境下,FreeBSD的下载速度明显提高了,有时居然能达到1M/s,这样升级及安装软件方便极了;呵呵,终于可以摆脱fetch的龟速了。

三、更新ports目录树

既然ports的树目录全部下载到本地,那么即使FreeBSD有新的软件包或者添置了新的软件,本地目录树也不会更新。所以,我们每隔一段时间需要更新本地目录树。我来介绍一种在FreeBSD中方便、快捷的更新ports的方法:使用portsnap来更新ports目录树。

①配置portsnap:

我们使用portsnap,首先要设置一下它的配置文件,位于/etc/portsnap.conf:

[root@bsd01 /usr/ports]# vi /etc/portsnap.conf

SERVERNAME=portsnap.freebsd.org

修改成:

SERVERNAME=portsnap.hshh.org

这个是他的更新服务器。另外还有几个国内比较快的portsnap服务器:

portsnap.hshh.org

portsnap2.hshh.org

portsnap3.hshh.org (网通)

portsnap4.hshh.org

②首次使用portsnap:

在你的FreeBSD首次使用portsnap必须执行下面2步:

[root@bsd01 ~]# portsnap fetch
[root@bsd01 ~]# portsnap extract

portsnap fecth是从网上获取portsnap快照的最新压缩包,听闻这个压缩包官方没小时更新一次。

portsnap extract 则是把这个压缩包创立到/usr/ports。哪怕你以前已经手工安装了ports,他也会重新创立一次。

(注:这2步可以合成使用,指令为 [root@bsd01 ~]# portsnap fetch extract)

③以后使用portsnap更新,只需要执行下面2步:

[root@bsd01 ~]# portsnap fetch
[root@bsd01 ~]# portsnap update

同样,这2步可以合成使用:[root@bsd01 ~]# portsnap fetch update

portsnap第一次运行extract命令时,可能需要一段时间,以后更新使用update的时候,速度就快很多了。

 

From <>

 

Pkg 用法

Usage: pkg [-v] [-d] [-l] [-N] [-j <jail name or id>|-c <chroot path>|-r <rootdir>] [-C <configuration file>] [-R <repo config dir>] [-o var=value] [-4|-6] <command> [<args>]

Global options supported:

        -d             Increment debug level

        -j             Execute pkg(8) inside a jail(8)

        -r             Execute pkg(8) using relocating installation to <rootdir>

        -c             Execute pkg(8) inside a chroot(8)

        -C             Use the specified configuration file

        -R             Directory to search for individual repository configurations

        -l             List available commands and exit

        -v             Display pkg(8) version

        -N             Test if pkg(8) is activated and avoid auto-activation

        -o             Override configuration option from the command line

        -4             Only use IPv4

        -6             Only use IPv6

 

Commands supported:

本文由澳门在线威尼斯官方发布于电脑操作,转载请注明出处:FreeBSD软件包管理,如何最有效能的安装软件

关键词:

上一篇:【澳门在线威尼斯官方】博客首发

下一篇:没有了