位置: 编程技术 - 正文

谈谈FreeBSD软件安装方法(freebsd的软件多吗)

编辑:rootadmin

推荐整理分享谈谈FreeBSD软件安装方法(freebsd的软件多吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:freebsd有什么用,freebsd有什么用,freebsd软件包,freebsd优点,freebsd使用手册,freebsd应用到哪些地方,freebsd软件包,freebsd软件包,内容如对您有帮助,希望把文章链接给更多的朋友!

谈谈FreeBSD软件安装方法(freebsd的软件多吗)

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

FreeBSD下一块网卡绑定多个IP的方法 假设网卡lnc0原IP地址为..0.2,现在为它绑定另一个IP:CODE#ifconfiglnc..0.3netmask...alias解释:CODE如果别名IP地址和网卡原IP地址在同一个子

BSD下vi用法详解 vi用法VI命令可以说是Unix/linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后

FreeBSD5.4之apache-2.0.+php+ZendOptimizer简单安装、设置 强烈推荐以ports安装,下面把安装和一些简单的设置贴一下,其他比较高级的功能请大家发贴讨论(请google先,很多问题别人早已问过的)。1:安装apachec

标签: freebsd的软件多吗

本文链接地址:https://www.jiuchutong.com/biancheng/353920.html 转载请保留说明!

上一篇:简单更新ports tree 的方法(更新profile)

下一篇:FreeBSD下一块网卡绑定多个IP的方法(freebsd启动网卡)

  • 个体户每个月要申报个税吗
  • 没有提取盈余公积的情况
  • 电子发票有使用期限吗
  • 展览服务费进项可以抵扣吗
  • 营业外支出罚款所得税怎么处理
  • 预缴企业所得税分录
  • 发票代码有误什么意思
  • 现金流管理模式
  • 文化事业建设费税收优惠政策2023
  • 供应商发出货物,将发货单提交给
  • 工会经费计提多了跨年
  • 少提的税金如何做账
  • 保险柜库存现金留存不能超过多少
  • 哪些收据可以税务登记
  • 税控盘服务费怎么填写申报表
  • 下脚料回收
  • 企业买茶叶如何账务处理
  • 实收资本账簿印花税需要每年交吗
  • 外帐的倒推流程是什么
  • 居民委员会有没有纳税人识别号吗
  • 接受捐赠收入要计入企业所得税应纳税所得额吗
  • 资本公积转增的股票可以转让吗
  • 往年的年报填错了怎么办
  • 一般企业利润表格式
  • 劳务市场零工临时工
  • 向境外企业支付服务费代扣代缴什么税
  • linux关闭thp
  • 事业单位项目前景怎么样
  • 补缴配套费
  • 手撕票怎么做会计分录
  • 电脑机箱前面耳机的WIN10系统没有声音怎么办
  • 收到汇算清缴退税账务处理
  • 固定资产抵债交不交增值税
  • element ui+vue
  • 各级税务机关应当遵循依法
  • 最贵的苹果电脑99万
  • laravel debug rce
  • 会计利润类科目是什么
  • 在海洋里游泳
  • php中实现文件上传需要用到哪几个函数
  • php实现发送邮件
  • 气象数据32766
  • rk3566 rk3288
  • elemental ui
  • 发ai的英文单词
  • 织梦怎么添加相关
  • html常用标签有哪些
  • 农产品普通发票进项税抵扣
  • 分公司可以独立开票吗
  • sql中的row_number
  • 公司向法人借款协议
  • 阶段性减免企业社保费实施政策对象
  • 中级会计实务主观题怎么给分
  • 长租公寓如何纳税
  • 公司举行活动发言稿范文
  • 工资达不到5000个人所得税
  • 专用发票与普通发票图片
  • 企业为员工代缴社保怎样在网上申报
  • 公司法人可以变更给老人吗
  • mysql5.5.62安装配置教程
  • windows提示无法完成更新
  • win10能玩dota
  • windows vista可以换7吗
  • linux中的用户管理主要涉及用户账号文件
  • 乌班图系统切换root
  • linux常用命令修改
  • xp主题怎么改成win7
  • win1020h2版本千万别更新
  • Linux下查看某一个程序所使用的内存方法
  • 微软刷机怎么刷
  • jquery mobile app案例
  • nodejs实例教程
  • 如何使用nodejs
  • 使用的英文
  • jquery 动态添加列表元素
  • unity vtext
  • 基于bootstrap的网站
  • javascript函数
  • 亏损可以结转吗
  • 最近领导故意挑事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设