zoukankan      html  css  js  c++  java
  • 通过CVSup及时更新Ports Tree

    更新Ports Tree的方法有很多,例如匿名CVS、CVSup和CTM。


    CVSup 是采用pull的方式来更新源码的。以CVSup为例,当用户(或cron)运行CVSup程序时,它会和远程的CVSupd服务器取得联系,然后更新文件。用户取回的更新文件是最新的,而且随时可以拿到这些文件。用户还可以限制更新动作,只更新自己感兴趣的某个文件或目录。更新动作由服务端根据用户的设定完成。


    CTM有一个脚本文件专门用来辨别修改过的文件。这个脚本文件是由主CTM服务器来执行,每天比较几次,并把两次执行时间内修改过的文件加以压缩、编号,然后加以编码 (以可打印的ASCⅡ字符为主),最后以E-mail的方式寄出。当用户收到的时候,这些“CTM deltas”由ctm.rmail程序来处理。它可以自动解码和进行确认,并在用户的源代码上使用这些修改。如果用户不小心把部分程序清除掉了, CVSup会扫描出来,并自动为用户把不足的部分补齐。


    更新Ports Tree

    Ports Tree基本上是每天都在更新的,而且各种软件每天都有新的版本会推出,所以要及时更新Ports Tree。另外,一些Ports Tree有问题的地方也需要通过CVSup取得新的版本文件来修正。下面给出更新Ports Tree的方法。


    如果用户系统中并没有安装Ports,那么请把光盘放入光驱中,用“/stand/sysinstall”命令,进入“Configure”中的“Distributions”,选择Ports来安装。具体更新操作如下:


    一.)这种方式使用 sysinstall 手动安装Ports Collection。

       1.以 root 用户身份, 运行 sysinstall (对于 FreeBSD 5.2 之前的版本, 应该是 /stand/sysinstall),如下所示:
          # sysinstall
       2. 选择 Configure, 按 Enter。
       3. 选择 Distributions, 按 Enter。
       4. 选择 ports, 按 Space。
       5. 选择 Exit, 按 Enter。
       6. 选择您的安装介质,就像CDROM,FTP,等等
       7. 选择 Exit 并按 Enter。
       8. 按 X 键退出 sysinstall。
    二.)先安装 CVSup,输入下面的命令。
    先在#后输入cd /usr/ports/net/cvsup-without-gui/
    再在#后输入make install clean


    三.)通过下面的命令在/etc中新增一个make.conf (其实有一个sample在/etc/default中,但现在不用它)文件。


    % touch /etc/make.conf


    3.参照下面的内容编辑make.conf。
    SUPHOST=ftp.freebsdchina.org


    SUPFILE=        /usr/share/examples/cvsup/stable-supfile
    PORTSSUPFILE=   /root/ports-supfile
    DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile


    MASTER_SITE_BACKUP?=\
    ftp://ftp.freebsd.org.cn/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
    ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/\
    ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/


    4.接着从/usr/share/examples/cvsup中复制一份ports-supfile到/usr中。这是为了日后使用方便,且维持原有范例不变。

    % cp /usr/share/examples/cvsup/ports-supfile /usr

    5.编辑ports-supfile。

    6.把*default host=CHANGE_THIS.FreeBSD.org改为*default host=freebsd.org。

    7.把ports-all注释掉。

    8.把下面需要的Ports组件打开(把#号去掉)。

    ports-base 基本的工具。

    ports-archivers 关于文件压缩及解压缩的程序。

    ports-astro 与天文学相关的程序。

    ......

    ports-X11-servers X-Window系统服务器。

    ports-X11-toolkits 以X-Window系统为基础的开发工具。

    ports-X11-wm X-Window系统的管理工具。

    9.因为刚安装好cvsup-without-gui-16.1g.tgz,所以必须先输入下面的命令,重新载入环境配置文件,才能让程序路径生效。不然在运行时会提示找不到文件。
    % source ~/.cshrc

    10.最后用下面的命令更新Ports-Tree。


    % cvsup -g -L 2 /usr/ports-supfile

     

    但是又出现新问题了 
    我配置好了ports-supfile之后 
    运行 
    cvsup -g -L 2 /usr/cvsup/ports-supfile 
    得到提示 
    www# cvsup -g -L 2 /usr/cvsup/ports-supfile 
    cvsup: Command not found. 

    (解决办法#rehash)


    只要看到如下的结果,就表示Ports Tree更新成功了。


    ……
    Shutting down connection to server
    Finished successfully

    结论

    其实,并不是每个系统非得一定要对Ports Tree进行更新。但是为了使系统更加稳定地运行,减少系统自身的安全性带来的危害,建议还是更新FreeBSD系统的Ports Tree。
  • 相关阅读:
    jmeter Transaction Controller、Throughput Controller 控制器
    图书系统的简易代码
    模板简单梳理
    自制过滤器
    自制URL转换器
    URL简单梳理
    window下的Django入门
    十一、常用内建模块
    九、进程与线程
    八、错误、调试与测试
  • 原文地址:https://www.cnblogs.com/apexchu/p/1852666.html
Copyright © 2011-2022 走看看