• 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的时候,速度就快很多了。

  • 相关阅读:
    Java实现线程的三种方法
    java 包和访问权限小结
    Java从外部调用类的私有方法
    find
    sigprocmask
    alerm和pause
    kill和raise
    信号处理中可重入函数调用
    低速系统调用的信号中断
    signal函数
  • 原文地址:https://www.cnblogs.com/apexchu/p/4131821.html
Copyright © 2020-2023  润新知