Freebsd 下如何最有效率的安装软件
FreeBSD的默认下载工具是fetch,既慢又不好用。在FreeBSD下安装软件有一些很有效率的方式,下面就给大家介绍一下。
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?=\
http://ports.hshh.org/${DIST_SUBDIR}/\
http://ports.cn.freebsd.org/${DIST_SUBDIR}/\
ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
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的时候,速度就快很多了。
Freebsd 下如何最有效率的安装软件的更多相关文章
- FreeBSD--如何最有效率的安装软件
Freebsd 下如何最有效率的安装软件 From <https://www.cnblogs.com/apexchu/p/4131821.html> FreeBSD的默认下载工具是fetc ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- Linux 系统下用源码包安装软件
Linux系统下用源码包安装软件 by:授客 QQ:1033553122 下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关的安装说明文件,一般是READ ...
- [转载]Linux下非root用户如何安装软件
[转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...
- Window平台下的静默下载并安装软件脚本bat
一,隐藏命令窗口 当我们运行bat脚本的时候,弹出CMD窗口.如果要隐藏窗口可以在bat脚本开头处写一下代码: @echo off if "%1" == "h" ...
- linux下无root源码安装软件
先进入源码文件夹下指定安装路径 ./configure --prefix=/public/home/ztu/usr/samtools 编译 make 安装 make install 写入环境变量 vi ...
- 关于 FreeBSD 老版本如何安装软件
关于 FreeBSD 不被支持版本如何安装软件: ALLOW_UNSUPPORTED_SYSTEM=yes写到/etc/ make.conf 如果提示没有make.conf 请手动新建一个文 ...
- yum install错误 系统环境:Oracle Linux5.4 在通过yum安装软件时出现以下错误:
1.yum配置文件 1 [root@rh168 yum.repos.d]# cat yum.repo 2 [base] 3 name=Oracle linux 4 baseurl=file:/// ...
- FreeBSD下安装lua
额,一行命令搞定啊 make freebsd CC=clang && make install 花了我一晚上,问题是啥呢? 我在Makefile中压根没有看到CC的定义在哪儿,然后直接 ...
随机推荐
- sql查找字符串是否包含字符
SELECT [Fgoodsid] ,[Fgoodsname] ,[Fcinema] ,[Fprice] FROM [tenpaytest].[dbo].[goodsinfo]where Fgoods ...
- ActiveMQ的消息确认问题
http://riddickbryant.iteye.com/blog/441890 [发送端] session = connection.createSession(Boolean.FALSE, ...
- [XAF]如何在非按钮事件中打开视图
private static void OpenDetailView(XafApplication app) { IObjectSpace os = app.CreateObjectSpace(); ...
- jqGrid初次使用遇到的问题及解决方法
问题一:初始化定义翻页用的导航栏时,表中出现"undefined"方框: 解决:需要导入grid.locale-cn.js文件. 问题二:页面只有一页,无法翻页: 解决:初始化设置 ...
- HDU 2066 一个人的旅行 - from lanshui_Yang
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
- C#窗体钉在桌面、置底、嵌入桌面的办法
想做一个桌面时钟,钉在桌面上不影响正常使用,只在看桌面的时候显示. 从网上多方寻找找到这么个代码,但是还是有不方便的地方,大家探讨一下. 这个程序在使用“显示桌面”的时候还可以显示,将程序的Form1 ...
- Visual Studio原生开发的10个调试技巧(一)
最近碰巧读了Ivan Shcherbakov写的一篇文章,<11个强大的Visual Studio调试小技巧>.这篇文章只介绍了一些有关Visual Studio的基本调试技巧,但是还有其 ...
- 手把手教你使用 Imagepro plus - 宏操作【转】
Imagepro plus操作5 – 提高测量效率的必须技术-宏操作(续) 星期三, 七月 7th, 2010 | 图像分析 | hbchendl | 浏览:897 请先参阅:Imagepro plu ...
- Linux下高并发socket链接数测试
一.如何增大service进程的max open files ulimit -n 只能改小max open files,不能改大.需要按照以下步骤: 修改/etc/security/limits.co ...
- 手把手让你爱上Android sdk自带“9妹”(9patch 工具)
前几天群成员讨论过关于9patch的工具[我比较喜欢喊它9妹子,西西(*^_^*)].然后研究了一下,比较简单但是很实用的一个Android sdk 自带工具.这里给大家做一个分享下经验! 1.什么是 ...