Linux简明系统维护手册(二)

2008-02-23 07:17:40来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

四、主要的软件安装

  前面说过,我的习惯是,装系统的时候就安装一个内核和编译系统,得到了一个干净的系统后,再安装其他的软件就比较清晰。另一点,除非搞不到源代码版本,一般情况下我都会下载官方版本的源代码文件,来重新编译之。同样的,选择软件版本要根据该软件的Release Note来决定,并非越新越好。这就是为什么很多软件都是几个版本齐头并进的发展之原因。这些软件不同版本之间的安装方法会有少许不同,安装前一定要仔细阅读目录中的README文件和INSTALL文件,否则这些少许不同会造成不少得麻烦。下面描述的安装过程都核版本号紧密相关。另外,所有的软件都把程序文件的包拷贝到/usr/local/src目录中再解压缩,这是习惯。因为在Linux中习惯于把后来的软件装在/usr/local中。

  (1)安装DNS服务器

  1、从www.isc.org下载bind 域名服务器软件。我们这里用的是bind8.3.0,bind8分支和bind9分支是并行发展的。根据自己的实际情况选择合适的bind版本。

  2、mkdir /usr/src/bind83

  3、下载的文件叫bind-src.tar.gz,复制到/usr/local/src/bind83目录下。

  4、cd /usr/local/src/bind83

  5、tar zxvf bind-src.tar.gz

  6、cd src

  7、make stdlinks

  8、make clean

  9、make depend

  10、make all

  11、make install

  12、编辑配置文件:/etc/named.conf内容如下,需要更改的部分用黑体标出:

  /*

   * This is a worthless, nonrunnable example of a named.conf file that has

   * every conceivable syntax element in use.  We use it to test the parser.

   * It could also be used as a conceptual template for users of new features.

   */



  /*

   * C-style comments are OK

   */



  // So are C  -style comments



  # So are shell-style comments



  // watch out for ";" -- it's important!



  options {

       directory "/var/named";                 

      // use current directory

       named-xfer "/usr/libexec/named-xfer";   

      // _PATH_XFER

       dump-file "named_dump.db";             

      // _PATH_DUMPFILE

      pid-file "/var/run/named.pid";          

       // _PATH_PIDFILE

      statistics-file "named.stats";          

      // _PATH_STATS

      memstatistics-file "named.memstats";     

      // _PATH_MEMSTATS

      check-names master fail;

      check-names slave warn;

      check-names response ignore;

      host-statistics no;

      deallocate-on-exit no;                  

      // Painstakingly deallocate all

      // objects when exiting instead of

      // letting the OS clean up for us.

      // Useful a memory leak is suspected.

            // Final statistics are written to the

            // memstatistics-file.

      datasize default;

      stacksize default;

      coresize default;

      files unlimited;

      recursion yes;

      fetch-glue yes;

      fake-iquery no;

      notify yes;    

     // send NOTIFY messages.  You can set

         // notify on a zone-by-zone

         // basis in the "zone" statement

         // see (below)

      serial-queries 4;               

     // number of parallel SOA queries

         // we can have outstanding for master

         // zone change testing purposes

      auth-nxdomain yes;             

         // always set AA on NXDOMAIN.

         // don't set this to 'no' unless

         // you know what you're doing -- older

         // servers won't like it.

      multiple-cnames no;             

       // if yes, then a name my have more

        // than one CNAME RR.  This use

        // is non-standard and is not

        // recommended, but it is available

        // because previous releases supported

        // it and it was used by large sites

        // for load balancing.

     allow-query { any; };

     allow-transfer { any; };

      transfers-in 10;               

     // DEFAULT_XFERS_RUNNING, cannot be

       // set > than MAX_XFERS_RUNNING (20)

      transfers-per-ns 2;             

         // DEFAULT_XFERS_PER_NS

      transfers-out 0;                

        // not implemented

      max-transfer-time-in 120;     

        // MAX_XFER_TIME; the default number

        // of minutes an inbound zone transfer

        // may run.  May be set on a per-zone

        // basis.

     transfer-format one-answer;

     query-source address * port *;

  /*

     * The "forward" option is only meaningful if you've defined

     * forwarders.  "first" gives the normal BIND

     * forwarding behavior, i.e. ask the forwarders first, and if that

     * doesn't work then do the full lookup.  You can also say

     * "forward only;" which is what used to be specified with

     * "slave" or "options forward-only".  "only" will never attempt

   * a full lookup; only the forwarders will be used.

   */

    forward first;

    forwarders { };                

    // default is no forwarders

      topology { localhost; localnets; };     

    // prefer local nameservers

      listen-on port 53 { any; };     

    // listen for queries on port 53 on

      // any interface on the system

      // (i.e. all interfaces).  The

      // "port 53" is optional; if you

      // don't specify a port, port 53

      // is assumed.

    /*

     * Interval Timers

     */

    cleaning-interval 60;          

     // clean the cache of expired RRs

      // every 'cleaning-interval' minutes

    interface-interval 60;          

    // scan for new or deleted interfaces

      // every 'interface-interval' minutes

    statistics-interval 60;         

    // log statistics every 

      // 'statistics-interval' minutes

    maintain-ixfr-base no;   

    // If yes, keep transaction log file for IXFR

    max-ixfr-log-size 20;        

    // Not implemented, maximum size the 

      // IXFR transaction log file to grow

  };



  /*

   * Control listeners, for "ndc".  Every nameserver needs at least one.

   */

  controls {

        inet * port 52 allow { any; };

             // a bad idea

        unix "/var/run/ndc" perm 0600 owner 0 group 0; 

       // the default

  };



  zone "rd.xxx.com" in {

        type master;                    

      // what used to be called "primary" 

        file "rd.xxx.com.db";

        check-names fail;

        allow-update { none; };

        allow-transfer { any; };

        allow-query { any; };

        // notify yes;                  

      // send NOTIFY messages for this

            // zone?  The global option is used

            // if "notify" is not specified

            // here.

        also-notify { };                

      // don't notify any nameservers other

            // than those on the NS list for this

            // zone

  };



  zone "223.99.211.in-addr.arpa" in {

        type master;         

           // what used to be called "secondary" 

        file "21.9.22.db";

        };



  zone "0.0.127.in-addr.arpa" in {

        type master;

        file "127.0.0.db";

  };



  zone "." in {

        type hint;                     

       // used to be specified w/ "cache"

        file "named.root";

  };



  logging {

        /*

         * All log output goes to one or more "channels"; you can make as

         * many of them as you want.

         */



     channel syslog_errors {         

      // this channel will send errors or

        syslog user;            

      // or worse to syslog (user facility)

        severity error;

     };



    category parser {

       syslog_errors;

          // you can log to as many channels

       default_syslog;     

      // as you want

    };



    category lame-servers { null; };       

     // don't log these at all



    channel moderate_debug {

       severity debug 3;              

     // level 3 debugging to file

       file "foo";                     

     // foo

       print-time yes;                 

    // timestamp log entries

       print-category yes;            

     // print category name

       print-severity yes;             

     // print severity level

         /*

          * Note that debugging must have been turned on either

          * on the command line or with a signal to get debugging

          * output (non-debugging output will still be written to

          * this channel).

          */

        };



    /*

     * If you don't want to see "zone XXXX loaded" messages but do

     * want to see any problems, you could do the following.

     */



    channel no_info_messages {

            syslog;

            severity notice;

    };



    category load { no_info_messages; };



    /*

     * You can also define category "default"; it gets used when no

     * "category" statement has been given for a category.

     */

 

    category default {

          default_syslog;

          moderate_debug;

    };



};

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux简明系统维护手册(一)

下一篇:linux内核的编译