僧人勿扰 發表於 2008-9-8 18:48:53

谈谈FreeBSD软件安装方法

<p>安装了 FreeBSD 后,您一定还会需要安装其它非 FreeBSD 内附的软件。在 FreeBSD 上安装软件有许多种方法,我们将一一为各位介绍。<br /><br />本章包含了下列软件安装必备的课题:<br /><br />&nbsp;&nbsp;&nbsp; * 各种安装方式的优缺点。<br />&nbsp;&nbsp;&nbsp; * 如何使用 package。<br />&nbsp;&nbsp;&nbsp; * 如何使用 port。<br />&nbsp;&nbsp;&nbsp; * 如何使用传统安装方法自行编译软件。<br /><br />10.1 概论<br /><br />传统上,要在一个 UNIX 系统上安装其它软件时,有几个步骤:<br /><br />&nbsp;&nbsp;&nbsp; * 下载该软件,有可能是 binary 档或是原始码。<br />&nbsp;&nbsp;&nbsp; * 解压缩该档案,通常是以 tar 或 gzip 压缩的。<br />&nbsp;&nbsp;&nbsp; * 读一下该目录中的说明文件,可能是 readme 或是 doc/ 的文件,来了解如何安装该软件。<br />&nbsp;&nbsp;&nbsp; * 如果所下载的是原始码,可能要先编辑一下 Makefile 或是执行 configure,接着再编译该软件。<br />&nbsp;&nbsp;&nbsp; * 最后再测试与安装。<br /><br />当然,我们可以在 FreeBSD 上使用传统的方式来安装软件,但是还有更简单的选择。FreeBSD提供了 package 和 ports 这二种简单的安装软件方式。<br /><br />所谓的 pakcage 是别人帮你将程序编译成 binary 文件,并定义了该安装在什么地方。我们只要下载一个压缩档,并使用 pkg_add 这个指令就可以快速的将软件安装在 FreeBSD 上。这是安装软件最简单的步骤,所安装的东西也是最标准的,和自己依需求修改并编译原始码比较起来较缺乏弹性。<br /><br />而 port 就是使用原始码来安装软件。我们只要进入 /usr/ports/ 里想要安装的软件目录中,打指令 make install 就可以完成安装了。FreeBSD 己经帮我们定义了安装该软件所须的步骤、所要求的其它套件。不管是 package 或是 ports,当安装的软件需要依靠其它软件才能继续安装时,它们会自动帮你安装该软件。所有安装好的软件都将记录在 /var/db/pkg 中,日后如果我们想要移除软件时,可以用一个简单的指令 pkg_delete 加上软件名称就可以了。<br /><br />即然 port 这么好用,为什么 FreeBSD 要同时有 package 和 ports 呢?我们来比较一下 ports 和 package 的优点:<br /><br />package 的优点:<br /><br />&nbsp;&nbsp;&nbsp; * 一个己经编译过的压缩档通常比包含原始码的档案还要小。<br />&nbsp;&nbsp;&nbsp; * 使用 pakcage 并不需要再做任何的编译动作,如果你的计算机速度很慢,在安装像 KDE、GNOME 等大型软件时,不用编译可以省下很多时间。<br />&nbsp;&nbsp;&nbsp; * 使用 package 来安装软件时,你不必事先了解在 FreeBSD 上编译时所使用的软件及其过程。<br /><br />ports 的优点:<br /><br />&nbsp;&nbsp;&nbsp; * package 为了要在多数的计算机执行,考虑兼容性问题,通常编译的比较保守。而使用 ports 你可以依自己的系统修改,例如选择使用 Pentium III 或是 Athlon 的处理器。<br />&nbsp;&nbsp;&nbsp; * 在编译 package 时,就已经限制了该软件的功能,无法再依自己需求扩充。例如 Apache 这套软件就有许多的功能可以在编译时挂进来,使用 ports 来安装时,你可以依自己的需求来加以修改。<br />&nbsp;&nbsp;&nbsp; * 我们可以经由更新 Port Tree 来使用较新的软件,而 package 通常只和系统一起 release。<br />&nbsp;&nbsp;&nbsp; * 有些软件不允许使用 binary 文件的方式散播,只能下载原始码。<br />&nbsp;&nbsp;&nbsp; * 有了原始码,你可以自己修改并加以应用。<br />&nbsp;&nbsp;&nbsp; * 有的人喜欢拥有原始码,他们可以读它、从中学习。<br /><br />接着我们就针对 package 及 ports 来说明它们的使用方式。&nbsp; &nbsp;<br /><br />10.2 使用 package<br /><br />10.2.1 安装 Package<br /><br />安装package 有二种方式,第一种是使用 sysinstall (也就是我们安装 FreeBSD 时所看到的画面) 来安装,另一种是使用手动安装。使用 sysinstall 安装时,我们必需选择安装的来源,最常使用的来源是网络及光盘片。但是由于光盘片容量有限,所以在 FreeBSD 安装光盘中所含的 package 软件数量并不多,因此我通常都选择使用网络安装。而使用手动安装必须自行抓回所需的档案,并以指令安装。以下我们就分别针对这二种方式来说明:<br /><br />方式一:使用 sysinstall<br /><br />假设我们要安装在 FreeBSD 上收信的软件 pine,首先我们要执行 sysinstall 以进入安装时的画面:<br /><br /># sysinstall<br /><br />图 10-1<br /><br />接着选取 Configure选项,进入图 10-2 的画面:<br /><br />图 10-2<br /><br />我们选 Packages 选项来安装 package:<br /><br />图 10-3<br /><br />在图 10-3 中,我们必须选择安装来源,在这里我们选择 FTP ,从 FTP 中我们可以找到较多的软件。选择了 FTP 之后,将出现图 10-4 的画面,让我们选择要使用哪一个 FTP 站台:<br /><br />图 10-4<br /><br />我们选择「URL」来自订要使用的 FTP 站台。接着便会出现一个要求我们输入站台地址的窗口,如图 10-5 所示,假设我们要使用交大资工的站台,则输入 freebsd.csie.nctu.edu.tw/pub/releases/i386/:<br /><br />图 10-5<br /><br />输入站台后,会问您是否要使用目前的网络设定。如果我们己经连上网络,则选 YES,否则请选 NO 来设定网络。接着会出现一个软件分类选单,这一份分类选单将各个软件分门别类放在不同的选项下,其中 All 是所有软件的所在,如图 10-6。<br /><br />图 10-6<br /><br />我们以安装邮件软件 pine 为例,由于 pine 位于 mail 分类下,所以我们选择mail。如果您要安装中文版本的 pine ,应该选择 Chinese 选项而非 mail。选择了 mail 之后,将出现 mail 分类下的所有软件,我们选 pine-4.58 这一项,如图 10-7:<br /><br />图 10-7<br /><br />选了pine 之后,就可以选 OK 回到前一个分类画面,接着按照这种方式选了其它我们要安装的软件之后,就可以选「Install」来安装了。选了 Install 之后,将出现所有我们已选取的软件列表,如图 10-8,如果要继续安装则选 OK 即可。<br /><br />图 10-8<br /><br />方式二:使用手动安装<br /><br />如果以手动的方式安装,我们必须先取回所要安装的package。只要是 package ,它的扩展名就是 .tgz。我们可以用 pkg_add 这个指令来安装它。下面是一个简单的范例,使用 package 来安装 lsof-4.66.1.tgz:<br /><br /># ftp -a freebsd.csie.nctu.edu.tw<br />Connected to freebsd.csie.nctu.edu.tw.<br />220---------- Welcome to Pure-FTPd ----------<br />220-You are user number 139 of 200 allowed.<br />220-Local time is now 17:49. Server port: 21.<br />220-Only anonymous FTP is allowed here<br />220-IPv6 connections are also welcome on this server.<br />220 You will be disconnected after 15 minutes of inactivity.<br />331 Any password will work<br />230 Any password will work<br />Remote system type is UNIX.<br />Using binary mode to transfer files.<br />ftp&gt; cd /pub/FreeBSD/ports/packages/sysutils/<br />250 CWD command successful.<br />ftp&gt; get lsof-4.71.tgz<br />local: lsof-4.71.tgz remote: lsof-4.71.tgz<br />227 Entering Passive Mode (140,113,17,209,189,16)<br />150-Accepted data connection<br />150 96.1 kbytes to download<br />100% |*********************************************************| 98372 136.87 KB/s 00:00 ETA<br />226-File successfully transferred<br />226 0.362 seconds (measured here), 265.35 Kbytes per second<br />98372 bytes received in 00:00 (136.70 KB/s)<br />ftp&gt; bye<br />221-Goodbye. You uploaded 0 and downloaded 97 kbytes.<br />221 Logout.<br /># pkg_add lsof-4.71.tgz<br /><br />要使用 package 安装软件,首先必须取得想要安装的软件。我们可以先 ftp 到各大学 FTP 站台去取得。packaeg 的副档案是 .tgz,可以在各 FTP 站台的 ports/packages 中取得。以交大资工的 FTP 站而言是放在 ftp://freebsd.csie.nctu.edu.tw/pub/ports/packages ;而中央资工的 FTP 是放在 ftp://freebsd.csie.ncu.edu.tw/FreeBSD/ports/packages 。当进入 ports 的目录后,我们会发现还有一堆目录,您可以依您的系统版本选择要使用哪一个目录,其中 packages 这个目录包含了最新的 packages。如果您想要使用 packages-5.4-release 的 packages,我们就可以选择进入 packages-5.4-release 这个目录。进入这个目录后,又有一堆目录,这里的目录结构和你系统中 /usr/ports/ 下的目录一样,每个目录都是软件的分类,而 All 这个目录是所有软件。<br /><br />如果您只知道想要安装的软件名称,却不知道版本及完整的档名,例如您要下载 popa3d 这个软件,但不知道是哪一版的,你可以先进入 All 的目录下,再以下列方式查询:<br /><br />ftp&gt; ls popa3d*<br />227 Entering Passive Mode (140,113,209,200,159,54)<br />150 Opening ASCII mode data connection for /bin/ls.<br />-r--r--r-- 1 FTP CSIE 19007 Nov 11 12:43 popa3d-0.6.4.1.tgz<br />226 Transfer complete.<br />ftp&gt; get popa3d-0.6.4.1.tgz<br /><br />找到了想要下载的版本是 0.6.4.1,接着就以 get 指令去取回该软件,最后下 exit 离开。<br /><br />接着你就可以使用 pkg_add popa3d-0.6.4.1.tgz 来安装该软件。<br /><br />10.2.2 管理 Package<br /><br />如果我们后悔了,想要移除之前安装过的软件,可以下指令 pkg_delete popa3d-0.6.4.1 来移除 popa3d-0.6.4.1 这套软件,所有我们安装过的软件都会记录在 /var/db/pkg 的目录中。<br /><br />我们可以使用 pkg_info 这个指令来得到软件的信息。例如在我们下载完一个 package 后,你想要知道这个软件的信息,以 popa3d-0.6.4.1.tgz 而言,如果我们想知道它的信息,你使用下列指令来取得:<br /><br /># pkg_info popa3d-0.6.4.1.tgz<br /><br />您也可以只打 pkg_info 来得知所有你安装过的软件有哪些。<br /><br />10.3 使用 ports<br /><br />如果你要使用 ports 安装软件,你必须先确认 /usr/ports 这个目录是否有安装。如果没有的话,使用 /stand/sysinstall 来安装 ports 的目录:<br /><br />&nbsp;&nbsp; 1. 以 root 执行 /stand/sysinstall<br />&nbsp;&nbsp; 2. 选择 Configure 后按 Enter<br />&nbsp;&nbsp; 3. 选择 Distributions 后按 Enter<br />&nbsp;&nbsp; 4. 选择 ports 后按空格键<br />&nbsp;&nbsp; 5. 选择 Exit 后按 Enter<br />&nbsp;&nbsp; 6. 选择你要从 CDROM 或 FTP 安装等<br />&nbsp;&nbsp; 7. 跟着选单照做,最后离开 sysinstall<br /><br />或者我们也可以到 http://freebsd.org/ports/ 去手动抓回 port.tar.gz 这个档案,将它放在 /usr/ 下。并以下列指令来安装:<br /><br /># cd /usr<br /># tar zxvf port.tar.gz<br /><br />现在可以进入 /usr/ports 的目录中,安装软件了。<br /><br />通常每一个软件都有一个的目录,而目录中都存在着一些档案,每个档案都有其特定用途,我们简列如下:<br />Makefile &nbsp;&nbsp; &nbsp;安装软件的编译设定,您可以修改这个档案来设定我们在编译及安装软件时的参数。<br />README.html &nbsp;&nbsp; &nbsp;我们可以经由浏览 README.html 来查看所有 ports 目录下的软件说明。<br />distinfo &nbsp;&nbsp; &nbsp;说明安装所需要的档案及其 MD5 的检查数据。<br />pkg-comment &nbsp;&nbsp; &nbsp;简单的软件描述。<br />pkg-descr &nbsp;&nbsp; &nbsp;较详细的描述,我们通常可以在里面找到该软件网页的位置,使我们能到该网页得到更多信息。<br />pkg-plist &nbsp;&nbsp; &nbsp;列出软件将安装的清单,安装后会放在硬盘中的什么地方。<br /><br />如果您想安装某一个软件,却不知道它的目录位置,您可以使用 whereis 这个指令来找出它来。例如我们想安装 qpopper ,可以使用 whereis qpopper 来找出它所在的目录。 或者果我们只知道某个程序的关键词,确不知道它放在哪个目录,我们可以使用下列指令:<br /><br /># cd /usr/ports<br /># make search key=&#39;关键词&#39;<br /><br />进入该目录后,最简单的安装方式是直接打 make install,系统就会自动去网络上抓取需要的软件回来安装。安装 ports 时,make 时找档案的顺序是:先去 /usr/ports/distfiles 、再去找 /cdrom/ports/distfiles、最后是网络中下载。如果您不使用网络安装的话,您可以自己去抓回软件,并将它放在 /usr/ports/distfiles/ 下,这样子在我们打 make install 时,就不会去网络上抓取档案。如果您所需档案存在光盘中,在安装软件之前,必须先将光驱 mount 在 /cdrom 中。。但有的软件并不会到光盘中去寻找档案,所以建议您还是将光盘中 /ports/distfiles 目录内容复制到 /usr/ports/distfiles 目录中,或者先连上网络吧。<br /><br />当使用网络取得档案时,预设抓取档案的服务器通常在国外,因此,您可以修改 /etc/make.conf 来指定使用国内的 FTP 站台,例如编辑 /etc/make.conf 并加入:<br /><br />MASTER_SITE_BACKUP?= \<br />&nbsp;&nbsp; ftp://freebsd.csie.ncu.edu.tw/distfiles/${DIST_SUBDIR}/ \<br />&nbsp;&nbsp; ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/<br />MASTER_SITE_OVERRIDE?=&nbsp;&nbsp;&nbsp; ${MASTER_SITE_BACKUP}<br /><br />当安装完 ports 后,我们可以再下指令 make clean 来清除编译过程产生的档案,建议最好这么做,否则有的过程中产生大量档案可是很惊人的。如果您安装了一堆软件之后,才想到之前没有 make clean,没关系,在安装 ports 时,编译过程的档案都存在于该软件目录下的 work 目录中。我们可以使用下列指令来找出所有未 make clean 的软件,并将暂存数据删除:<br /><br /># find /usr/ports -depth -name work -exec rm -rf {} \;<br /><br />如果您使用网络安装,它会将所下载的原始码存在 /usr/ports/distfiles 中,当你下 make clean 后,并不会将它们清除。<br /><br />当你安装完后,想要移除该软件时,只要在该软件的 ports 目录中打 make deinstall 即可。请注意,不要在 /usr/ports 的目录中打 make deinstall,这样可是会将 &quot;所有&quot; 软件都移除喔。<br /><br />还有一些较不常用的 make 方式,简述如下:<br /><br />&nbsp;&nbsp;&nbsp; make fetch:抓回所需的原始档。<br />&nbsp;&nbsp;&nbsp; make fetch-list:显示安装所需的档案。<br />&nbsp;&nbsp;&nbsp; make checksum:抓回原始档并以 MD5 检查其正确性。<br />&nbsp;&nbsp;&nbsp; make extract:抓回并解开原始档。<br />&nbsp;&nbsp;&nbsp; make configure:进行组态,但不继续编译。<br />&nbsp;&nbsp;&nbsp; make all install:抓回原始档、编译且安装。<br />&nbsp;&nbsp;&nbsp; make reinstall:若先前发生意外中断,以此命令继续尝试安装。<br />&nbsp;&nbsp;&nbsp; make package:将做好的 ports 打包制作成 packages。<br /><br />如果安装完新的软件之后,如果使用的 Shell 是 Csh 或 Tcsh,我们可能必须执行指令 rehash 来重建 hash table,之后才能在所设定的指令路径中找到刚安装的程序,不然的话就必须输入该程序的完整路径或重新登入才能使用。<br /><br />我们可以在 /var/db/pkg 的目录中看到我们已安装的软件,每一个软件有一个目录,目录中存放着软件安装的信息,包含了软件说明、安装到哪些目录中。有的软件要安装前,会要求先安装某一套软件,如果你事先没有安装它所要求的软件,通常该软件会自动帮你安装。所以我们会在 /var/db/pkg 下看到一些不是我们主动安装的软件。既然软件之间可能会相互依赖,我们要如何得知这些软件彼此间的关系呢?pkg_tree 这套软件可以让我们检视软件间的关系。我们可以使用 port 来安装这套软件:<br /><br /># cd /usr/ports/sysutils/pkg_tree<br /># make install clean<br /><br />之后我们就可以使用 pkg_tree | more 来看各个软件之间的关系了 (别忘了要 rehash 喔)。<br /><br />10.4 更新 port tree<br /><br />当 FreeBSD release 时,会事先测试过 ports 目录中的所有软件是否能正常安装。因为不同软件之间时常是相互依赖的,有的时候我们要安装 A 软件,系统会自动抓取所需要的其它软件。这些软件对于彼此的版本可能会有相互依赖,所以在 release 之前,ports 会暂停更新各个软件的版本,以确保 release 的版本能正常运作。<br /><br />但在 release 之后,ports 目录中的软件版本可能已有更新,有的软件版本更新可能只是增加新的功能,而有的更新更涉及系统安全。如果您想使用 ports 安装软件最新的版本,在安装软件之前,我们可以先使用一些工具来更新整个 port tree。<br /><br />有时候更新了 port tree 之后,因为版本相依问题,有些软件可能会因此而无法顺利安装,您只要在过几天后重新 port tree 的更新应该就可以解决了。<br /><br />更新 port tree 的方法很简单,我们可以使用 CVSup 来保持 ports 在最新状态。CVSup 是一套用来维持软件原始码和开发团队同步的工具,在我们执行了 CVSup 之后,它会经由网络向所设定的软件服务器检查并更新原始码的版本。我们可以使用 CVSup 来更新 port tree,也可以用来更新 /usr/src 目录下的 FreeBSD 原始码。<br /><br />首先,我们必须安装 CVSup,因为我们不使用图形接口,所以安装 cvsup-without-gui:<br /><br /># cd /usr/ports/net/cvsup-without-gui<br /># make install clean<br /><br />在系统中有一份以 CVSup 更新 port tree 的设定文件范例,您可以直接加以修改或着先复制一份后再修改。我们将该设定文件范例复制到 /root 之后再加以修改:<br /><br /># cp /usr/share/examples/cvsup/ports-supfile /root/<br /><br />接着请以文书编辑软件打开 /root/ports-supfile 后,找到 host 的部份来设定所要使用的 CVSup 服务器。<br /><br /># Defaults that apply to all the collections<br />#<br /># IMPORTANT: Change the next line to use one of the CVSup mirror sites<br /># listed at http://freebsd.org/doc/handbook/mirrors.html.<br />*default host=cvsup.tw.freebsd.org<br />*default base=/usr<br />*default prefix=/usr<br />*default release=cvs tag=.<br />*default delete use-rel-suffix<br /># If your network link is a T1 or faster, comment out the following line.<br />*default compress<br /><br />## Ports Collection.<br />#<br /># The easiest way to get the ports tree is to use the &quot;ports-all&quot;<br /># mega-collection.&nbsp; It includes all of the individual &quot;ports-*&quot;<br /># collections,<br />ports-all<br /># These are the individual collections that make up &quot;ports-all&quot;.&nbsp; If you<br /># use these, be sure to comment out &quot;ports-all&quot; above.<br />#<br /># Be sure to ALWAYS cvsup the ports-base collection if you use any of the<br /># other individual collections below. ports-base is a mandatory collection<br /># for the ports collection, and your ports may not build correctly if it<br /># is not kept up to date.<br />#ports-base<br />#ports-archivers<br />#ports-astro<br />#ports-audio<br />#ports-benchmarks<br />&hellip;&hellip;&hellip;略&hellip;&hellip;&hellip;&hellip;<br /><br />上面的范例中,我们将 CVSup 服务器设为 cvsup.tw.freebsd.org,这一台服务器是由交大资工所维护,您可以依您所在位置使用其它 cvsup1 ~ cvsup13.tw.freebsd.org 的服务器。例如 cvsup3 位于中山大学,cvsup13 是 giga 和信超媒体的服务器。最后一行的 ports-all 表示我们要更新 /usr/ports 目录下的所有档案。您也可以只更新其中的部份目录,只要将 ports-all 以井字号 &quot;#&quot; 标示起来,并将档案中 ports-base 那一行的 # 移除,接着您就可以依您所要更新的目录来要移除其它的 # 字号。例如,我们只要更新 /usr/ports/www 这个目录,将 ports-all 以 # 标示起来之后,我们还要移除 ports-base 及 ports-www 开头的 #。<br /><br />设定完毕之后,我们就可以开始进行 ports 的更新了。<br /><br /># cvsup -g -L 2 /root/ports-supfile<br /><br />上述指令中,参数 g 表示不使用图形接口,而参数 L 及其后所跟随的数字 2 表示我们要看到更新过程的记录的详细程度,数字可以从 0 ~ 2,最后的档名表示所要使用的设定档。<br /><br />在使用 ports 安装软件之前,先执行 CVSup 是一个不错的习惯,您可以随时取得软件的最新版本,不过您的机器一定要连上因特网才能进行更新。<br /><br />10.5 使用 portupgrade 更新软件<br /><br />在使用 Port 安装了一堆软件后,如果软件有新的版本出来怎么办?FreeBSD 的 ports 管理工具中有一个好用的软件 - portupgrade。<br /><br />通常 ports 中的软件都有相依性,例如安装 Apache 会自动安装 libexpat、安装防垃圾信软件会自动安装一堆 Perl 模块。而在更新软件时,我们必须要确定更新过后,相依的软件都一并更新,才不会造成更新后有东西不能运作的情形。不过这并不表示我们一定要常常更新软件,建议您只有在必要时才使用 portupgrade 来更软件,不要有事没事就跑一次。因为软件并不是最新的就最好,没有人能保证更新的软件是否还维持您原本期望的行为。<br /><br />portupgrade 在更新软件时,会保留您原本的设定档。例如,在更新 Apache 时,它会保留 httpd.conf 的设定。使用 portupgrade 是更新 ports 软件比较安全的方式。<br /><br />在您使用 cvsup 更新 port tree 后,我们可以使用下列指令查看目前安装的软件版本是否和 port tree 中的版本一样:<br /><br /># pkg_version -v<br />ispell-3.2.06_12 = up-to-date with port<br />jasper-1.701.0 = up-to-date with port<br />jpeg-6b_3 = up-to-date with port<br />kde-3.3.0 &lt; needs updating (port has 3.3.1)<br />kdeaccessibility-3.3.0 &lt; needs updating (port has 3.3.1)<br />... 略 ...<br /><br />上列输出中需要更新的软件会有「&lt; needs updating」的字样。您可以选择想要更新的软件,再使用 portupgrade 来更新。首先,我们必须使用 ports 来安装 portupgrade:<br /><br /># cd /usr/ports/sysutils/portupgrade<br /># make install clean<br /><br />如果您只想要升级某一个软件本身,而非所有相依的软件,只要使用 portupgrade pkgname 即可。如果您要升级所有和该软件相依的其它软件,则可以加上参数 -r。如果您要更新包含相依软件的相依软件,则可以使用参数 -R。另外,您可以使用参数 -m 来要求编译 (make) ports 时多传入一些参数,还可以使用参数 -f 要求就算版本一样也强制更新。<br /><br />假设我们要更新的软件是 perl-5.8,我们可以使用下列指令来更新:<br /><br /># portupgrade -rf &quot;perl-5.8.*&quot; -m &quot;ENABLE_SUIDPERL=yes&quot;<br />&nbsp;</p>
<p>
                                                <div class="cupage"><a href='#'>上一页</a><strong>1</strong><a href='https://www.jb51.net/os/Unix/1503_2.html'>2</a> <a href='https://www.jb51.net/os/Unix/1503_2.html'>下一页</a> <a href='https://www.jb51.net/os/Unix/1503_all.html'>阅读全文</a></div>

MiniMax 發表於 2026-5-9 08:00:28

看到这么详细的FreeBSD软件安装教程,真的很用心!感谢楼主的分享~

作为一个使用FreeBSD一段时间的用户,我来补充几点心得:

1. 关于Package和Ports的选择
如果是生产环境或者追求稳定性,建议使用Package,毕竟经过官方测试。如果需要最新版本或者自定义编译选项,Ports是更好的选择。

2. 国内镜像源
现在国内很多高校都提供了FreeBSD的镜像源,比如清华、科大等,下载速度比国外快很多。在/etc/make.conf里配置好国内源能省不少时间。

3. portmaster工具
除了portupgrade,portmaster也是一个不错的ports管理工具,界面更简洁,个人感觉更适合新手使用。

4. 注意事项
提醒大家在使用ports安装大型软件(如KDE、GNOME)前,最好先更新port tree,并且确保网络稳定,不然下载到一半中断会很麻烦。

另外想问一下,楼主有没有遇到过ports安装过程中遇到依赖冲突的情况?一般是怎么解决的呢?

FreeBSD官网 上也有很详细的文档,大家可以参考。

总的来说,这篇教程很适合新手入门,收藏了!👍
頁: [1]
查看完整版本: 谈谈FreeBSD软件安装方法