FreeBSD下软件的安装管理
FreeBSD下软件的安装管理一、前言
在FreeBSD下,软件包分成两种。一种是打包好的二进制分发的软件包、另外一种就是源代码分发的软件包。名字分别叫package和ports。
package的软件包是别人打包好的二进制代码分发包。这和Linux下的rpm有相识的地方。安装管理也相对简单。由于在打包的时候最主要考虑的问题就是如何在多样性的系统中安装运行,所以这样的软件包没有针对特定的系统进行优化处理。但是这样的包体积小巧,便于在网络中进行传播。
ports的软件包就是以源代码进行分发的软件包。这样的软件包的有点在于在本机上进行编译的时候可以针对本机进行充分优化。但是这样的程序通常情况下我仅仅建议针对特定的商业应用才考虑使用这样的办法来进行安装软件。原因是太耗费时间,并且对于新手来说常常出错。
二、安装package软件包
我们知道,windows下的软件包格式有很多,但是一般常见的打包软件的后缀是msi的软件包。在Linux下打包的软件一般是后缀为rpm的文件。而FreeBSD的打包软件格式为tgz和tbz两种格式。
安装package的软件包非常简单,常用的命令就:
pkg_add
pkg_deletc
pkg_info
pkg_version
1、现在来说说如何安装软件。
顾名思义,pkg_add一般是用来安装软件使用的安装命令。如:
pkg_add ***.tgz
如此,软件包将自动被安装到系统上。但是这里需要特别指出的是,FreeBSD不仅仅可以在本地安装相关的软件(这里本地指的是本地磁盘,光盘,软盘,移动磁盘等资源),还可以直接通过网络安装软件。如果需要使用这样的办法自动安装软件,你需要配置PACKAGESITE这个环境变量。以便让系统实现在FreeBSD的网络资源中直接安装相关软件包。不过在使用这样的办法安装的时候,不需要指定软件包的版本号。
2、如何删除软件包
pkg_deletc nicry.1.7.3
在这里我们就删除了nicry这个软件包。注意,这里有两点需要提出。其一是卸载的时候需要指定版本号,这可以方便你在系统中同样的软件出现不同的版本的时候删除其中一个版本。其二是删除软件包的时候其名字没有后缀。
3、查询系统中安装的软件包
pkg_info
直接在命令行中输入就可以查询到相关信息,比如你的系统中安装了那些软件包,软件的相关描述等信息。
pkg_version
这个命令可以查看到系统中软件包的更加详细的信息。如图
http://img0.tfol.com/pic/10/00/02/75/20050613085009734.jpg
其中,大家可以看到后面的有趣的=符号。在这里我大致描述一下这个符号的意义。
= ports树和软件包版本匹配
> 版本比记录中的版本号要高
? 异常结果,发现版本好和记录号异常
* 软件包有很多版本
三、ports的软件包安装
首先,需要确保Ports Collection已经安装在你的系统中。你可以查看/usr/ports下是否有大量文件,如果有,那么说明你安装了Ports Collection,如果没有,请使用sysinstall在你系统中安装这个基本软件包,以便你可以安装ports的软件包。
http://img0.tfol.com/pic/10/00/02/75/20050613085009859.jpg
1、安装
安装Ports Collection的顺序一般为进入安装目录,执行
make
make install
2、卸载
进行某ports的软件安装目录,执行
make deinstall
当然,除了这些常用的命令以外,大家可以阅读一下man文件,其实还有一些诸如修复、卸载以后重新安装(不需要介质,而是利用系统中软件仓储)、清除临时文件等等……
四、其他
在大家安装软件的时候,通常会遇到任何一个系统中安装软件都可能碰到的问题,那就是安装依赖。所谓的安装依赖就是指的在安装一个软件包的时候提示需要安装其他软件包才能进行。比如我们在windows中就常常碰到一些打包不完整的软件提示我们安装某些开发库,在Linux中也是常常遇到。在FreeBSD中也一样,这样的问题常常会遇到。有的时候我们可以通过其他一些手段强行越过。比如我们在安装package的时候可以使用:
pkg_add -r ××.1.1.1.tgz
来进行强行安装。但是大多时候是没有效果的,在这个时候,你需要的就是按照提示首先将其他软件安装上,这样才能继续下去。
另外,我们在维护软件包的时候,记住下面这个目录/var/db/ports和/var/db/pkg。这两个目录是进行安装记录的目录,有点类似将所有安装的软件包进行集中记录的数据库的模样。大家可以多多留意这个目录,或许有意想不到的收获~
http://img0.tfol.com/pic/10/00/02/75/20050613085009968.jpg
Nicry 2004.6.12日夜
页:
[1]