# cd /usr/ports/audio/mpg123
# make install在这台计算机连接到Internet上的条件下,在这个过程中系统将顺序完成下载、编译、安装几个步骤。
make fetch: 每个Port中并没有保存应用软件的原始源代码文件,它保存的是如何获得软件的源代码,并产生可执行文件的操作过程。每种软件的源文件通常保存在其他介质上(一般位于Internet上),那么当通过Ports Collection来安装一个软件时,第一步就是要获得相关的文件。这个下载文件的功能是Ports Collection的一部分功能,如果这台计算机联接到Internet上了,它能够到网络上找到该文件并使用fetch命令将文件下载到本机内,所有的步骤都是完全自动完成的,需要使用者操作的仅仅是使用make命令来启动这个过程。
如果使用的是make fetch命令,fetch参数将使得make仅仅完成下载任务,而不进行编译和安装处理过程。
即使计算机没有联接到Internet上,也不必担心,因为Ports Collection将所有下载的文件都保存在/usr/ports/distfiles目录中,而make命令将首先检查该目录中是否已经存在了要下载的源文件,当发现存在这个文件之后,就不再重新下载。因而可以手工将这个应用软件的源代码文件拷贝到这个目录下,make时就不会再重复下载过程了。如果不能确定源文件的位置,可以从Makefile文件中获得源文件的位置,Makefile中将给出该源文件存在几个不同的网络地址,供fetch命令连续尝试下载,一般最新Ports Collection对应的软件的源文件都能从ftp.freebsd.org中下载得到。
make: 不带任何参数的make命令在完成上述下载工作之后,就开始编译软件了。make程序首先在这个Port目录下建立一个工作子目录,命名为work,此后将源代码展开到这个目录下,再应用这个软件的各个补丁文件,并启动自动配置和编译过程。在这里,每进行一步操作,就在work目录下生成一个空文件,这些文件用于标记编译、安装port的工作进行到哪一步了。
$ ls -al /usr/ports/security/ssh
total 8
drwxr-xr-x 3 root wheel 512 Apr 14 16:57 .
drwxr-xr-x 7 root wheel 512 Apr 19 01:18 ..
-rw-r--r-- 1 root wheel 768 Apr 14 16:57 .PLIST.mktmp
-rw-r--r-- 1 root wheel 0 Apr 14 15:56 .build_done
-rw-r--r-- 1 root wheel 0 Apr 14 15:56 .configure_done
-rw-r--r-- 1 root wheel 0 Apr 14 15:55 .extract_done
-rw-r--r-- 1 root wheel 0 Apr 14 16:57 .install_done
-rw-r--r-- 1 root wheel 0 Apr 14 15:55 .patch_done
drwxr-xr-x 4 root wheel 4608 Apr 14 15:56 ssh-1.2.26make展开应用软件包时会检查下载软件包的完整性,这是通过验证下载文件产生的MD5 数据是否与记载在Port中的数据相一致,来保证了下载软件的正确性。
巧 巧 读 书:http://www.qqread.com/freebsd/s348193.html相关专题
- FreeBSD系统安全管理 (8828篇文章)
- FreeBSD使用教程 (6592篇文章)
- Freebsd频道 (698篇文章)
- FreeBSD系统安装与配置之准备篇 (1753次浏览)
- FreeBSD入门安装及汉化 (1472次浏览)
- FreeBSD下安装GNOME桌面 (971次浏览)
- FreeBSD 5.0硬盘安装指南 (707次浏览)
- freebsd5.2.1上安装vmware 3.2.1 (610次浏览)
- FreeBSD 5.1安装VMware全部过程 (571次浏览)
- FreeBSD连载(72):设置和使用DHCP (563次浏览)
- 使用FreeBSD的原因 (506次浏览)
- FreeBSD系统终极安装手册(图) (474次浏览)
- FreeBSD5.3下安装Apache+PHP+MySQL+Tomcat (453次浏览)



