📄 readme
字号:
out what to do for the one you happen to be using.(special compilation-related warning about SunOS systems:) From: Tom Limoncelli <tom_limoncelli@Warren.MENTORG.COM> Message-Id: <199301111630.AA26308@warren.mentorg.com> To: vixie (Paul A Vixie) Date: Mon, 11 Jan 93 11:30:39 EST Sun compiler v2.0.1 hates bind4.9 code. Sun has 3 compilers: /usr/ucb/cc -- the default for SunOS 4.1.[123], dropped in Solaris 2.0. /usr/lang/cc -- the "unbundled" cc v1.0 (pretty good, but expensive), only generates code for SunOS 4.1.x. /usr/lang/cc.2.0.1 -- the latest "unbundled" cc, for when they stop shipping the bundled version altogether. This generates code for SunOS 4.1.x and Solaris 2.x. Sun's 2.0.1 C compiler (the one with the floating licenses) for SunOS 4.1.x outputs a HUGE number of warnings. They can be ignored.--------------------- (4.8.3 README -- mostly obsolete now)This directory contains all the info and sourcesfor the Berkeley Internet Name Domain server.You should read and understand these directions before startingto install the libraries and nameserver. Some of these stepsreplace existing source and binary files; you should make backupsof all existing files before you begin this installation.Two installation procedures are described. The first is for 4.3BSDand other similar systems that are already configured to use earlierversions of the nameserver, and which have the new version of <netdb.h>(containing a h_addr_list field in the hostent structure). The secondprocedure is for 4.2BSD and derived systems. This procedure requiresmore decisions to be made, and may have to be varied due to systemor operation constraints.The subdirectories and their contents are:bin - shell scripts used by current Berkeley makefilesman - manual pages & documentationdoc - copy of Bind Operations Guide, and other documents include - include files to go in /usr/includenamed - name server sourcesres - source for C library resolver routines (and other libc additions) (may be used as separate library, resolv.a)master - Sample data filestools - some test programsHere is how to install the name server on 4.3BSD:0) cp bin/mkdep.append /usr/ucb/mkdep cp bin/manroff /usr/man/manroff1) cp include/arpa/nameser.h /usr/include/arpa 2) cp include/*.h /usr/include 3) cp man/*.1 /usr/man/manl cp man/*.3 /usr/man/man3 cp man/*.5 /usr/man/man5 cp man/*.7 /usr/man/man7 cp man/*.8 /usr/man/man84) NOTE: Don't install the Makefiles on 4.3 Tahoe Release cp res/{res*.c,herror.c} /usr/src/lib/libc/net cp res/Makefile.libc.net /usr/src/lib/libc/net/Makefile cp res/strcasecmp.c /usr/src/lib/libc/gen cp res/strpbrk.c /usr/src/lib/libc/compat-sys5 cp res/named/{*.c,Makefile} /usr/src/lib/libc/net/named5) add strcasecmp.[co] to the Makefile in /usr/src/lib/libc/gen6) add strpbrk.[co] to the Makefile in /usr/src/lib/libc/compat-sys57) rebuild and install /lib/libc.a.8) edit named/pathnames.h to correpond with your system's configuration9) cd named; make depend; make all; make install10) cd tools/nslookup; make nslookup; make install11) create the master files (samples in master/*)12) edit /etc/rc.local to include:if [ -f /etc/named ]; then /etc/named; echo -n ' named' >/dev/consolefi13) recompile network client and server programs that use gethostbyname, etc.Here is how to install the name server on 4.2BSD or similar systems.First, a few notes on the choices that must be made.Rather than building libresolv.a, you may wish to integrate the resolverroutines into /lib/libc.a. This is recommended to make it easy to recompilenetwork programs once named is running. This procedure may require hand-tayloring on some systems.You will have to choose a version of mkdep from the bin directorythat will work on your system:If you've modified make(1) to use .depend files as describedin the current sendmail distribution, use mkdep; otherwise,if you have the 4.3BSD cc -M option, use mkdep.append; on ultrix,use mkdep.ultrix (uses cc -Em); otherwise, use mkdep.old.compiler.The mkdep script is used by "make depend" to regenerate Makefile dependencylists.You will need to chose a version of netdb.h. First, check /usr/include/netdb.hon your system. If the hostent structure has a h_addr_list entry, you canprobably use your existing netdb.h or the one in include/netdb.h.If the existing netdb.h in /usr/include does not have a h_addr_list field,you will have to decide whether to update to the 4.3BSD format of the hostentstructure. This is the best approach, but cannot be used unless you planto upgrade entirely: if you use the new structure in /usr/include/resolv.h,you must recompile everything that uses the hostent structure, includingthe rest of the C library and all networking programs, without usingany pre-existing object files. If this isn't possible or desirable,and /usr/include/netdb.h doesn't have an h_addr_list line, useinclude/netdb.h.4.2 instead of netdb.h. The other version of netdb.h(include/netdb.h.4.2.compat) may be used instead of include/netdb.h.4.2.This version along with a change in res/named/gethostnamadr.c.compatprovide for using the new format of the hostent structure while havingbinary compatibility with existing libraries.On systems with Sun RPC, you will have to merge include/netdb.h orinclude/netdb.h.4.2 with /usr/include/netdb.h; copy the rpc-related linesinto the appropriate copy of netdb.h. Alternatively, use an alternateinclude path when compiling the resolver library and programs that use it.0) cp bin/{whatever} /usr/ucb/mkdep (see above) cp bin/manroff /usr/man/manroff1) cp include/arpa/nameser.h /usr/include/arpa Also, on ultrix 2.x, if you haven't fixed the inet_addr definition in inet.h, do cp include/arpa/inet.h /usr/include/arpa2) cp include/resolv.h /usr/include3) cp include/netdb.h /usr/include/netdb.hOR cp include/netdb.h.4.2 /usr/include/netdb.hOR edit /usr/include/netdb.h4) cp man/*.1 /usr/man/manl cp man/*.3 /usr/man/man3 cp man/*.5 /usr/man/man5 cp man/*.7 /usr/man/man7 cp man/*.8 /usr/man/man85) cd res; make depend; make libresolv.a; make installOR update the libc sources as in the 4.3BSD instructions above and use res/Makefile as a guide for integration and omit the RES=-lresolv in the next two stepsOR compile the .o files in res according to Makefile, then use place those object files in /lib/libc.a (keeping a backup!) and omit the RES=-lresolv in the next two steps6) edit named/pathnames.h to correpond with your system's configuration7) cd named; make depend; make RES=-lresolv all; make install (if your system defines signal-catching routines to return int instead of void, use "make DEFINES=-DSIG_FN=int RES=-lresolv all")8) edit tools/nslookup/pathnames.h to correpond with your system's configuration9) cd tools/nslookup; make RES=-lresolv nslookup install10) create the master files (samples in master/*)11) edit /etc/rc.local to include:if [ -f /etc/named ]; then /etc/named; echo -n ' named' >/dev/consolefi12) eventually, recompile network client and server programs that usegethostbyname, etc.If you have any problems or fixes send them to bind@ucbarpa.berkeley.eduTo be added to that mailing list, send mail to bind-request@ucbarpa.berkeley.eduFor sendmail that supports MX records, use anonymous ftp to obtain ucbarpa.Berkeley.EDU:~ftp/4.3/sendmail.5.64.tar.Z
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -