Annotation of 43BSDReno/share/doc/smm/01.setup/common/3.t, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1980, 1986, 1988 Regents of the University of California.
        !             2: .\" All rights reserved.
        !             3: .\"
        !             4: .\" Redistribution and use in source and binary forms are permitted
        !             5: .\" provided that the above copyright notice and this paragraph are
        !             6: .\" duplicated in all such forms and that any documentation,
        !             7: .\" advertising materials, and other materials related to such
        !             8: .\" distribution and use acknowledge that the software was developed
        !             9: .\" by the University of California, Berkeley.  The name of the
        !            10: .\" University may not be used to endorse or promote products derived
        !            11: .\" from this software without specific prior written permission.
        !            12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
        !            13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        !            14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            15: .\"
        !            16: .\"    @(#)3.t 6.7 (Berkeley) 3/7/89
        !            17: .\"
        !            18: .ds lq ``
        !            19: .ds rq ''
        !            20: .ds RH "Upgrading a 4.2BSD or \*(Ps System
        !            21: .ds CF \*(DY
        !            22: .LP
        !            23: .nr H1 3
        !            24: .nr H2 0
        !            25: .bp
        !            26: .LG
        !            27: .B
        !            28: .ce
        !            29: 3. UPGRADING A 4.2BSD OR \*(Ps SYSTEM
        !            30: .sp 2
        !            31: .R
        !            32: .NL
        !            33: .PP
        !            34: This section describes the procedure for upgrading a 4.2 or \*(Ps
        !            35: system to \*(4B.  This procedure may vary according to the version of
        !            36: the system running before conversion.
        !            37: If you are upgrading from 4.2BSD,
        !            38: begin by reading the ``Bugs Fixes and Changes in \*(4B'' document to
        !            39: see what has changed since the last time you bootstrapped the system.
        !            40: If you have local system modifications to the
        !            41: kernel to install, look at the document
        !            42: ``Changes to the Kernel in \*(4B'' to get an idea of how
        !            43: the system changes will affect your local modifications.
        !            44: .if \n(Th \{\
        !            45: If you are converting from a
        !            46: System V system, some of this section will still apply (in particular,
        !            47: the filesystem conversion).  However, many of the system configuration
        !            48: files are different, and the executable file formats are completely
        !            49: incompatible.
        !            50: .\}
        !            51: .PP
        !            52: If you are running 4.2BSD or \*(Ps, upgrading your system
        !            53: involves replacing your kernel and system utilities.
        !            54: Binaries compiled under \*(Ps will work without recompilation
        !            55: under \*(4B, though they may run faster if they are recompiled.
        !            56: .if \n(Th \{\
        !            57: When converting from 4.2BSD, most local programs will have to be recompiled,
        !            58: as there are a number of incompatibilities between 4.3BSD
        !            59: and the vendor-supplied 4.2BSD.
        !            60: .\}
        !            61: .if \n(Vx \{\
        !            62: Binaries compiled under 4.2BSD will probably work without recompilation,
        !            63: but it is a good idea to recompile and relink because of the many changes
        !            64: in header files and libraries since 4.2BSD.
        !            65: 4.1BSD binary images can also run unchanged under \*(4B
        !            66: but only when the system is configured to include the
        !            67: ``4.1BSD compatibility mode.''*
        !            68: .FS
        !            69: * With ``4.1BSD compatibility mode''
        !            70: system calls from 4.1BSD are either emulated or safely ignored.
        !            71: There are only two exceptions: programs that read directories or use
        !            72: the old jobs library will not operate properly.  However, while 4.1BSD
        !            73: binaries will execute under \*(4B
        !            74: it is \fBSTRONGLY RECOMMENDED\fP that the programs be recompiled under
        !            75: the new system.
        !            76: .FE
        !            77: .\}
        !            78: .PP
        !            79: The easiest upgrade path from 4.2BSD or \*(Ps
        !            80: (depending on your file system configuration)
        !            81: is to build
        !            82: new root and \fI/usr\fP file systems on unused partitions,
        !            83: then copy or merge site specific files
        !            84: into their corresponding files on the new system.
        !            85: All user file systems can be retained unmodified,
        !            86: except that the new \fIfsck\fP should be run
        !            87: before they are mounted (see below).
        !            88: .PP
        !            89: Section 3.1 lists the files to be saved as part of the conversion process.
        !            90: Section 3.2 describes the bootstrap process.
        !            91: Section 3.3 discusses the merger of the saved files back into the new system.
        !            92: Section 3.4 provides general hints on possible problems to be
        !            93: aware of when converting from 4.2BSD to \*(4B.
        !            94: .NH 2
        !            95: Files to save
        !            96: .PP
        !            97: The following list enumerates the standard set of files you will want to
        !            98: save and suggests directories in which site-specific files should be present.
        !            99: This list will likely be augmented with non-standard files you
        !           100: have added to your system.
        !           101: If you do not have enough space to create parallel
        !           102: file systems, you should create a \fItar\fP image of the
        !           103: following files before the new file systems are created.
        !           104: In addition, it is
        !           105: \fBSTRONGLY\fP advised that you do a full dump before rebuilding the file
        !           106: system to guard against missing something the first time around.
        !           107: .DS
        !           108: .TS
        !           109: l c l.
        !           110: /.cshrc        \(dg    root csh startup script
        !           111: /.login        \(dg    root csh login script
        !           112: /.profile      \(dg    root sh startup script
        !           113: /.rhosts       \(dg    for trusted machines and users
        !           114: /dev/MAKEDEV   \(dd    in case you added anything here
        !           115: /dev/MAKEDEV.local     *       for making local devices
        !           116: /etc/disktab   \(dd    in case you changed disk partition sizes
        !           117: /etc/fstab     \(dg    disk configuration data
        !           118: /etc/ftpusers  \(dg    for local additions
        !           119: /etc/gateways  \(dg    routing daemon database
        !           120: /etc/gettytab  \(dd    getty database
        !           121: /etc/group     *       group data base
        !           122: /etc/hosts     \(dg    for local host information
        !           123: /etc/hosts.equiv       \(dg    for local host equivalence information
        !           124: /etc/networks  \(dg    for local network information
        !           125: /etc/passwd    *       user data base
        !           126: /etc/printcap  \(dg    line printer database
        !           127: /etc/protocols \(dd    in case you added any local protocols
        !           128: /etc/rc        *       for any local additions
        !           129: /etc/rc.local  *       site specific system startup commands
        !           130: /etc/remote    \(dg    auto-dialer configuration
        !           131: /etc/services  \(dd    for local additions
        !           132: /etc/syslog.conf       *       system logger configuration
        !           133: /etc/securettys        *       for restricted list of ttys where root can log in
        !           134: /etc/ttys      *       terminal line configuration data
        !           135: /etc/ttytype   *       terminal line to terminal type mapping data
        !           136: /etc/termcap   \(dd    for any local entries that may have been added
        !           137: /lib   \(dd    for any locally developed language processors
        !           138: /usr/dict/*    \(dd    for local additions to words and papers
        !           139: /usr/hosts/MAKEHOSTS   *       for local changes
        !           140: /usr/include/* \(dd    for local additions
        !           141: /usr/lib/aliases       \(dd    mail forwarding data base
        !           142: /usr/lib/crontab       *       cron daemon data base
        !           143: /usr/lib/font/*        \(dd    for locally developed font libraries
        !           144: /usr/lib/lib*.a        \(dg    for locally libraries
        !           145: /usr/lib/lint/*        \(dd    for locally developed lint libraries
        !           146: /usr/lib/sendmail.cf   *       sendmail configuration
        !           147: /usr/lib/tabset/*      \(dd    for locally developed tab setting files
        !           148: /usr/lib/term/*        \(dd    for locally developed nroff drive tables
        !           149: /usr/lib/tmac/*        \(dd    for locally developed troff/nroff macros
        !           150: /usr/lib/uucp/*        \(dg    for local uucp configuration files
        !           151: /usr/man/manl  *       for manual pages for locally developed programs
        !           152: /usr/msgs      \(dg    for current msgs
        !           153: /usr/spool/*   \(dg    for current mail, news, uucp files, etc.
        !           154: /usr/src/local \(dg    for source for locally developed programs
        !           155: /sys/conf/HOST \(dg    configuration file for your machine
        !           156: /sys/conf/files.HOST   \(dg    list of special files in your kernel
        !           157: /*/quotas      \(dg    file system quota files
        !           158: .TE
        !           159: .sp
        !           160: \(dg\|Files that can be used from 4.2BSD or \*(Ps without change.
        !           161: \(dd\|Files that need local modifications merged into \*(4B files.
        !           162: *\|Files that require special work to merge and are discussed
        !           163: in section 3.3.
        !           164: .DE
        !           165: .NH 2
        !           166: Installing \*(4B
        !           167: .PP
        !           168: .if \n(Vx \{\
        !           169: \fBNote\fP: The \*(4B release contains only Tahoe filesystems and executable
        !           170: images.
        !           171: In order to bring up \*(4B on a VAX, it is necessary to extract the sources
        !           172: on a VAX, compile and install.
        !           173: Most of the files listed above are found in /usr/src/sys/vaxdist
        !           174: as well as in their standard locations on the distribution tape
        !           175: so that the root and /usr images need not be extracted from the tape.
        !           176: The following sections describe the procedure for installing \*(4B
        !           177: on the Tahoe.
        !           178: For a VAX system, the starting root and /usr filesystems can be created
        !           179: by building and installing executables using alternate filesystems.
        !           180: .\}
        !           181: The next step is to build a working \*(4B system.
        !           182: This can be done by following the steps in section 2 of
        !           183: this document for extracting the root and /usr file systems
        !           184: from the distribution tape onto unused disk partitions.
        !           185: If you have a running 4.2BSD or \*(Ps system,
        !           186: you can also do this by using
        !           187: .IR dd (1)
        !           188: to copy the \*(lqmini root\*(rq filesystem onto one disk partition,
        !           189: then use it to load the \*(4B root filesystem as in chapter 2.
        !           190: The root filesystem dump on the tape could also be extracted directly,
        !           191: although this will require an additional file system check after booting \*(4B
        !           192: to convert the new root filesystem.
        !           193: The exact procedure chosen will depend on the disk configuration
        !           194: and the number of suitable disk partitions that may be used.
        !           195: If there is insufficient space to load the new root and \fI/usr\fP
        !           196: filesystems before reusing the existing partitions,
        !           197: it is \fBSTRONGLY\fP advised that you make full dumps of each filesystem
        !           198: on magtape before beginning.
        !           199: It is also desirable to run file system checks
        !           200: of all filesystems to be converted to \*(4B before shutting down.
        !           201: If you are running a system older than 4.2BSD, you will have to
        !           202: dump and restore your file systems; see section 2.1 for some hints.
        !           203: In either case, this is an excellent time to review your disk configuration
        !           204: for possible tuning of the layout.
        !           205: Section 4.2 and \fIconfig\fP(8) are required reading.
        !           206: .PP
        !           207: To ease the transition to new kernels,
        !           208: the 4.3BSD and \*(4B
        !           209: bootstrap routines pass the identity of the boot device
        !           210: through to the kernel.
        !           211: The kernel then uses that device as its root file system.
        !           212: Thus, for example, if you boot from \fI/dev/\*(Dk1a\fP,
        !           213: the kernel will use \*(Dk1a as its root file system.
        !           214: If \fI/dev/\*(Dk1b\fP is configured as a swap partition, 
        !           215: it will be used as the initial swap area,
        !           216: otherwise the normal primary swap area (\fI/dev/\*(Dk0b\fP) will be used.
        !           217: The \*(4B bootstrap is backward compatible with 4.2BSD and \*(Ps,
        !           218: so you can replace your old bootstrap if you use it
        !           219: to boot your first \*(4B kernel.
        !           220: .PP
        !           221: Once you have extracted the \*(4B system and booted from it,
        !           222: you will have to build a kernel customized for your configuration.
        !           223: If you have any local device drivers,
        !           224: they will have to be incorporated into the new kernel.
        !           225: See section 4.1.3 and ``Building 4.3BSD UNIX Systems with Config.''
        !           226: .PP
        !           227: If converting from 4.2BSD, \*(Ps, or the CCI 1.21 release, your old
        !           228: file systems must be converted.
        !           229: .if \n(Vx \{\
        !           230: The standard disk partitions in \*(4B are the same as those
        !           231: in 4.2BSD and \*(Ps,
        !           232: except for those on the DEC UDA50; see section 4.3.2 for details.
        !           233: .\}
        !           234: If you've modified the partition
        !           235: sizes from the original BSD or CCI ones, and are not already using the
        !           236: \*(4B disk labels, you will have to modify the default disk partion
        !           237: tables in the kernel.  Make the necessary table changes and boot
        !           238: your custom kernel \fBBEFORE\fP trying to access any of your old
        !           239: file systems!  After doing this, if necessary, the remaining filesystems
        !           240: may be converted in place by running the \*(4B version of
        !           241: .IR fsck (8)
        !           242: on each filesystem and allowing it to make the necessary corrections.
        !           243: The new version of \fIfsck\fP is more
        !           244: strict about the size of directories than the version supplied with 4.2BSD.
        !           245: Thus the first time that it is run on a 4.2BSD file system,
        !           246: it will produce messages of the form:
        !           247: .DS
        !           248: .if \n(Vx \{\
        !           249: \fBDIRECTORY ...: LENGTH\fP xx \fBNOT MULTIPLE OF 512 (ADJUSTED)\fP
        !           250: .\}
        !           251: .if \n(Th \{\
        !           252: \fBDIRECTORY ...: LENGTH\fP xx \fBNOT MULTIPLE OF 1024 (ADJUSTED)\fP
        !           253: .\}
        !           254: .DE
        !           255: Length ``xx'' will be the size of the directory;
        !           256: it will be expanded to the next multiple of
        !           257: .if \n(Vx \{\
        !           258: 512
        !           259: .\}
        !           260: .if \n(Th \{\
        !           261: 1024
        !           262: .\}
        !           263: bytes.
        !           264: The new \fIfsck\fP will also set default \fIinterleave\fP and
        !           265: \fInpsect\fP (number of physical sectors per track) values on older
        !           266: file systems, in which these fields were unused spares; this correction
        !           267: will produce messages of the form:
        !           268: .DS
        !           269: \fBIMPOSSIBLE INTERLEAVE=0 IN SUPERBLOCK (SET TO DEFAULT)\fP*
        !           270: \fBIMPOSSIBLE NPSECT=0 IN SUPERBLOCK (SET TO DEFAULT)\fP
        !           271: .DE
        !           272: .FS
        !           273: * The defaults are to set \fIinterleave\fP to 1 and
        !           274: \fInpsect\fP to \fInsect\fP;
        !           275: .if \n(Vx \{\
        !           276: this is correct on many drives.
        !           277: Notable exceptions are the RM80 and RA81,
        !           278: where npsect should be set to
        !           279: one more than nsect.
        !           280: This affects only performance (and in the case
        !           281: of the RA81, at least, virtually unmeasurably).
        !           282: .\}
        !           283: .if \n(Th \{\
        !           284: this is correct on all drives supported on the CCI.
        !           285: .\}
        !           286: .FE
        !           287: File systems that have had their interleave and npsect values
        !           288: set will be diagnosed by the old \fIfsck\fP as having a bad superblock;
        !           289: the old \fIfsck\fP will run only if given an alternate superblock
        !           290: .if \n(Vx \{\
        !           291: (\fIfsck \-b32\fP),
        !           292: .\}
        !           293: .if \n(Th \{\
        !           294: (\fIfsck \-b16\fP),
        !           295: .\}
        !           296: in which case it will re-zero these fields.
        !           297: The \*(4B kernel will internally set these fields to their defaults
        !           298: if fsck has not done so; again, the
        !           299: .if \n(Vx \{\
        !           300: \fI\-b32\fP
        !           301: .\}
        !           302: .if \n(Th \{\
        !           303: \fI\-b16\fP
        !           304: .\}
        !           305: option may be
        !           306: necessary for running the old \fIfsck\fP.
        !           307: .PP
        !           308: In addition, \*(4B removes several limits on file system sizes
        !           309: that were present in both 4.2BSD and 4.3BSD.
        !           310: The limited file systems
        !           311: continue to work in \*(4B, but should be converted
        !           312: as soon as it is convenient
        !           313: by running \fIfsck\fP with the \fI\-c\fP option.
        !           314: If no file systems have been so converted,
        !           315: the sequence \fIfsck \-p \-c\fP will update all of them,
        !           316: fix the interleave and npsect fields,
        !           317: and fix any incorrect directory lengths
        !           318: all at once.
        !           319: The new unlimited file system formats are treated as read-only
        !           320: by older systems.
        !           321: A second \fIfsck \-c\fP, however, will
        !           322: reconvert the new format to the old if none of the static limits
        !           323: of the old file system format have been exceeded.
        !           324: The new file systems are otherwise
        !           325: compatible between 4.2BSD, \*(Ps, and \*(4B,
        !           326: though running a \*(4B file system under older systems
        !           327: may cause more of the above
        !           328: messages to be generated the next time it is \fIfsck\fP'ed on \*(4B.
        !           329: .NH 2
        !           330: .if \n(Th \{\
        !           331: Merging your files from 4.2BSD into \*(4B
        !           332: .\}
        !           333: .if \n(Vx \{\
        !           334: Merging your files from 4.2 or 4.3BSD into \*(4B
        !           335: .\}
        !           336: .PP
        !           337: When your system is booting reliably and you have the \*(4B
        !           338: root and /usr file systems fully installed you will be ready
        !           339: to continue with the next step in the conversion process,
        !           340: merging your old files into the new system.
        !           341: .PP
        !           342: If you saved the files on a \fItar\fP tape, extract them
        !           343: into a scratch directory, say /usr/convert:
        !           344: .DS
        !           345: \fB#\fP \fImkdir /usr/convert\fP
        !           346: \fB#\fP \fIcd /usr/convert\fP
        !           347: \fB#\fP \fItar xp\fP
        !           348: .DE
        !           349: .PP
        !           350: The data files marked in the previous table with a dagger (\(dg)
        !           351: may be used without change from the previous system.
        !           352: Those data files marked with a double dagger (\(dd) have syntax 
        !           353: changes or substantial enhancements.
        !           354: You should start with the \*(4B version and carefully
        !           355: integrate any local changes into the new file.
        !           356: Usually these local modifications can be incorporated
        !           357: without conflict into the new file;
        !           358: some exceptions are noted below.
        !           359: The files marked with an asterisk (*) require
        !           360: particular attention and are discussed below.
        !           361: .PP
        !           362: If you have any homegrown device drivers in /dev/MAKEDEV.local
        !           363: that use major device numbers reserved by the system you
        !           364: will have to modify the commands used to create the devices or alter
        !           365: the system device configuration tables in /sys/\*(mC/conf.c.
        !           366: Otherwise /dev/MAKEDEV.local can be used without change
        !           367: from 4.2 or \*(Ps.
        !           368: .PP
        !           369: System security changes require adding several new ``well-known'' groups 
        !           370: to /etc/group.
        !           371: The groups that are needed by the system as distributed are:
        !           372: .DS
        !           373: .TS
        !           374: l c.
        !           375: name   number
        !           376: _
        !           377: wheel  0
        !           378: daemon 1
        !           379: kmem   2
        !           380: sys    3
        !           381: tty    4
        !           382: operator       5
        !           383: bin    10
        !           384: .TE
        !           385: .DE
        !           386: Only users in the ``wheel'' group are permitted to \fIsu\fP to ``root''.
        !           387: Most programs that manage directories in /usr/spool
        !           388: now run set-group-id to ``daemon'' so that users cannot
        !           389: directly access the files in the spool directories.
        !           390: The special files that access kernel memory, /dev/kmem
        !           391: and /dev/mem, are made readable only by group ``kmem''.
        !           392: Standard system programs that require this access are
        !           393: made set-group-id to that group.
        !           394: The group ``sys'' is intended to control access to kernel sources,
        !           395: and other sources belong to group ``bin.''
        !           396: Rather than make user's terminals writable by all users,
        !           397: they are now placed in group ``tty'' and made only group writable.
        !           398: Programs that should legitimately have access to write on user's terminals
        !           399: such as \fItalkd\fP and \fIwrite\fP now run set-group-id to ``tty''.
        !           400: The ``operator'' group controls access to disks.
        !           401: By default, disks are readable by group ``operator'',
        !           402: so that programs such as \fIdf\fP can access the file system
        !           403: information without being set-user-id to ``root''.
        !           404: The
        !           405: .IR shutdown (8)
        !           406: program is executable only by group operator
        !           407: and is setuid to root so that members of group operator may shut down
        !           408: the system without root access.
        !           409: .PP
        !           410: Several new users have also been added to the group of ``well-known'' users 
        !           411: in /etc/passwd.
        !           412: The current list is:
        !           413: .DS
        !           414: .TS
        !           415: l c.
        !           416: name   number
        !           417: _
        !           418: root   0
        !           419: daemon 1
        !           420: operator       2
        !           421: games  7
        !           422: uucp   66
        !           423: nobody 32767
        !           424: .TE
        !           425: .DE
        !           426: The ``daemon'' user is used for daemon processes that
        !           427: do not need root privileges.
        !           428: The ``operator'' user-id is used as an account for dumpers
        !           429: so that they can log in without having the root password.
        !           430: By placing them in the ``operator'' group, 
        !           431: they can get read access to the disks.
        !           432: The ``uucp'' login has existed long before \*(4B,
        !           433: and is noted here just to provide a common user-id.
        !           434: The password entry ``nobody'' has been added to specify
        !           435: the user with least privilege.  The ``games'' user is a pseudo-user
        !           436: that controls access to game programs.
        !           437: .PP
        !           438: After installing your updated password file,
        !           439: you must run \fImkpasswd\fP\|(8) to create the \fIndbm\fP
        !           440: password database.
        !           441: Note that \fImkpasswd\fP is run whenever \fIvipw\fP\|(8) is run.
        !           442: .PP
        !           443: The format of the cron table, /usr/lib/crontab, has been changed
        !           444: to specify the user-id that should be used to run a process.
        !           445: The userid ``nobody'' is frequently useful for non-privileged programs.
        !           446: .PP
        !           447: Some of the commands previously in /etc/rc.local have been 
        !           448: moved to /etc/rc;
        !           449: several new functions are now handled by /etc/rc, /etc/netstart
        !           450: and /etc/rc.local.
        !           451: You should look closely at the prototype version of these files
        !           452: and read the manual pages for the commands contained in it
        !           453: before trying to merge your local copy.
        !           454: Note in particular that \fIifconfig\fP has had many changes,
        !           455: and that host names are now fully specified as domain-style names
        !           456: (e.g, monet.Berkeley.EDU) for the benefit of the name server.
        !           457: .PP
        !           458: The C library and system binaries on the distribution tape
        !           459: are compiled with new versions of
        !           460: \fIgethostbyname\fP and \fIgethostbyaddr\fP which use
        !           461: the name server,
        !           462: .IR named (8).
        !           463: If you have only a small network and are not connected
        !           464: to a large network, you can use the distributed library routines without
        !           465: any problems; they use a linear scan of the host table \fI/etc/hosts\fP
        !           466: if the name server is not running.
        !           467: If you are on the DARPA Internet or have a large local network,
        !           468: it is recommend that you set up
        !           469: and use the name server.
        !           470: For instructions on how to set up the necessary configuration files,
        !           471: refer to ``Name Server Operations Guide for BIND''.
        !           472: Several programs rely on the host name returned by \fIgethostname\fP
        !           473: to determine the local domain name.
        !           474: .PP
        !           475: If you want to compile your system to use the
        !           476: host table lookup routines instead of the name server, you will
        !           477: need to modify /usr/src/lib/libc/Makefile according to the instructions there
        !           478: and then recompile all of the system and local programs (see section 6.6).
        !           479: Next, you must run \fImkhosts\fP\|(8) to create the \fIndbm\fP
        !           480: host table database from \fI/etc/hosts\fP.
        !           481: .PP
        !           482: The format of /etc/ttys has changed, see \fIttys\fP\|(5)
        !           483: for details.
        !           484: It now includes the terminal type and security options that were previously
        !           485: placed in /etc/ttytype and /etc/securettys.
        !           486: .PP
        !           487: There is a new version of \fIsyslog\fP that uses a more generalized
        !           488: facility/priority scheme.
        !           489: This has changed the format of the syslog.conf file.
        !           490: See \fIsyslogd\fP\|(8) for details.
        !           491: \fISyslog\fP now logs kernel errors, 
        !           492: allowing events such
        !           493: as soft disk errors, filesystem-full messages, and other such error messages
        !           494: to be logged without slowing down the system
        !           495: while the messages print on the console.
        !           496: It is also used by many of the system daemons
        !           497: to monitor system problems more closely, for example
        !           498: network routing changes.
        !           499: .PP
        !           500: If you are using the name server, your \fIsendmail\fP configuration
        !           501: file will need some minor updates to accommodate it.
        !           502: See the ``Sendmail Installation and Operation Guide'' and the sample
        !           503: \fIsendmail\fP configuration files in /usr/src/usr.lib/sendmail/cf.
        !           504: The sendmail.cf's supplied with this release are alleged to be
        !           505: ``generic'', but have only really seen use at Berkeley.  In particular
        !           506: there are two points to watch out for.  First, all host names in the
        !           507: sendmail.cf itself must be fully qualified names.  Second, the
        !           508: sendmail.cf's assume you have a /usr/lib/sendmail that was compiled
        !           509: with the resolver library (i.e., not hosttables). This is necessary
        !           510: to canonicalize unqualified names into fully-qualified names (e.g.,
        !           511: foo -> foo.bar.com).  Using these .cf files with a host table can
        !           512: probably be done, but it will be difficult.
        !           513: Be sure to regenerate your sendmail frozen configuration file after
        !           514: installation of your updated configuration file with the command
        !           515: \fI/usr/lib/sendmail -bz\fP.
        !           516: The aliases file,
        !           517: /usr/lib/aliases has also been changed to add certain well-known addresses.
        !           518: .PP
        !           519: The spooling directories saved on tape may be restored in their
        !           520: eventual resting places without too much concern.  Be sure to
        !           521: use the `p' option to \fItar\fP so that files are recreated with the
        !           522: same file modes:
        !           523: .DS
        !           524: \fB#\fP \fIcd /usr\fP
        !           525: \fB#\fP \fItar xp msgs spool/mail spool/uucp spool/uucppublic spool/news\fP
        !           526: .DE
        !           527: .PP
        !           528: The following two sections contain additional notes concerning
        !           529: changes in \*(4B that affect the installation of local files;
        !           530: be sure to read them as well.
        !           531: .NH 2
        !           532: Hints on converting from 4.2BSD to \*(4B
        !           533: .PP
        !           534: This section summarizes the most significant changes between
        !           535: 4.2BSD and 4.3BSD, particularly those that are likely to 
        !           536: cause difficulty in doing the conversion.
        !           537: It does not include changes in the network;
        !           538: see chapter 5 for information on setting up the network.
        !           539: .PP
        !           540: The mailbox locking protocol has changed;
        !           541: it now uses the advisory locking facility to avoid concurrent
        !           542: update of users' mail boxes.
        !           543: If you have your own mail interface, be sure to update its locking protocol.
        !           544: .PP
        !           545: The kernel's limit on the number of open files has been
        !           546: increased from 20 to 64.  It is now possible to change this limit almost
        !           547: arbitrarily (there used to be a hard limit of 30).  The standard I/O library
        !           548: autoconfigures to the kernel limit.
        !           549: Note that file (``_iob'') entries may be allocated
        !           550: by \fImalloc\fP from \fIfopen\fP;
        !           551: this allocation has been known to cause problems with programs
        !           552: that use their own memory allocators.
        !           553: This does not occur until after 20 files have been opened
        !           554: by the standard I/O library.
        !           555: .PP
        !           556: \fISelect\fP can be used with more than 32 descriptors
        !           557: by using arrays of \fBint\fPs for the bit fields rather than single \fBint\fPs.
        !           558: Programs that used \fIgetdtablesize\fP as their first argument to \fIselect\fP
        !           559: will no longer work correctly.
        !           560: Usually the program can be modified to correctly specify the number
        !           561: of bits in an \fBint\fP.
        !           562: Alternatively the program can be modified to use an array of \fBint\fPs.
        !           563: There are a set of macros available in \fI<sys/types.h>\fP to simplify this.
        !           564: See
        !           565: .IR select (2).
        !           566: .PP
        !           567: Old core files will not be intelligible by the current debuggers
        !           568: because of numerous changes to the user structure
        !           569: and because the kernel stack has been enlarged.
        !           570: The \fIa.out\fP header that was in the user structure is no longer present.
        !           571: Locally-written debuggers that try to check the magic number
        !           572: will need modification.
        !           573: .PP
        !           574: \fIFind\fP now has a database of file names,
        !           575: constructed once a week from \fIcron\fP.
        !           576: To find a file by name only,
        !           577: the command \fIfind name\fP will look in the database for
        !           578: files that match the name.  This is much faster than
        !           579: \fIfind / \-name name \-print\fP.
        !           580: .PP
        !           581: Files may not be deleted from directories having the ``sticky'' (ISVTX) bit
        !           582: set in their modes
        !           583: except by the owner of the file or of the directory, or by the superuser.
        !           584: This is primarily to protect users' files in publicly-writable directories
        !           585: such as \fI/tmp\fP and \fI/usr/tmp\fP.
        !           586: All publicly-writable directories should have their ``sticky'' bits set
        !           587: with ``chmod +t.''
        !           588: .PP
        !           589: The include file \fI<time.h>\fP has returned to \fI/usr/include\fP,
        !           590: and again contains the definitions for the C library time routines of
        !           591: \fIctime\fP\|(3).
        !           592: .PP
        !           593: The \fIcompact\fP and \fIuncompact\fP programs have been supplanted
        !           594: by the faster \fIcompress\fP.
        !           595: If your user population has \fIcompact\fPed files, you will want
        !           596: to install \fIuncompact\fP from /usr/src/old/compact.
        !           597: .PP
        !           598: The configuration of the virtual memory limits has been simplified.
        !           599: A MAXDSIZ option, specified in bytes in the machine configuration file,
        !           600: may be used to raise the maximum process region size from
        !           601: the default of 17Mb to 32Mb or 64Mb.
        !           602: The initial per-process limit is still 6Mb,
        !           603: but can be raised up to MAXDSIZ with the \fIcsh limit\fP command.
        !           604: .PP
        !           605: Some \*(4B binaries will not run with a 4.2BSD kernel because
        !           606: they take advantage of new functionality in \*(4B.
        !           607: One noticeable example of this problem is \fIcsh\fP.
        !           608: .if \n(Th \{\
        !           609: Also, most terminal \fIioctl\fP operations are incompatible
        !           610: between \*(4B and the vendor-supplied versions of 4.2BSD.
        !           611: .\}
        !           612: .PP
        !           613: If you want to use \fIps\fP after booting a new kernel,
        !           614: and before going multiuser, you must initialize its name list
        !           615: database by running \fIps \-U\fP.
        !           616: .NH 2
        !           617: Hints on converting from 4.3BSD to \*(4B
        !           618: .PP
        !           619: The largest visible change between 4.3BSD to \*(4B
        !           620: (other than the addition of support for the Tahoe processor)
        !           621: is the addition of support for disk labels.
        !           622: This facility allows each disk or disk pack to contain all geometry
        !           623: information about the disk and the partition layout for the disk.
        !           624: Disk labels are supported on all disk types on the Tahoe machines,
        !           625: and on hp and ra/rd disks on the VAX.
        !           626: See section 2.1.6 as well as
        !           627: .IR disklabel (8)
        !           628: and
        !           629: .IR disklabel (5).
        !           630: Installation of this facility requires use of the new kernel and device
        !           631: drivers, bootstraps and other standalone programs,
        !           632: /etc/disktab,
        !           633: .if \n(Vx \{\
        !           634: .IR bad144 (8V),
        !           635: .\}
        !           636: .IR newfs (8),
        !           637: and probably other programs.
        !           638: .PP
        !           639: The bootstrap programs have been fixed to work on MicroVAX IIs
        !           640: and VAXstation II's with QVSS (VS II) or QDSS (GPX) displays;
        !           641: the kernel includes support for these displays, courtesy of Digital
        !           642: Equipment Corp.
        !           643: In order to install the bootstrap on RD52/53/54 disks with
        !           644: .IR disklabel (8),
        !           645: the new /etc/disktab must be used,
        !           646: or the block 0 bootstrap must be explictly listed as /usr/mdec/rdboot
        !           647: (\fInot\fP raboot).
        !           648: .\}
        !           649: .PP
        !           650: The order in which daemons are started by /etc/rc and /etc/rc.local
        !           651: has changed, and network initialization has been split into /etc/netstart.
        !           652: Look at the prototype files, and modify /etc/rc.local as necessary;
        !           653: c.f. section 5.6.1.
        !           654: .PP
        !           655: \*(4B includes the Olson
        !           656: timezone implementation, which uses timezone and daylight-savings-time
        !           657: rules loaded from files in /etc/zoneinfo; see
        !           658: .IR ctime (3)
        !           659: and
        !           660: .IR tzfile (5).
        !           661: .PP
        !           662: The type of the
        !           663: .IR sprintf (3S)
        !           664: function has been changed from \fIchar *\fP in 4.2BSD and 4.3BSD
        !           665: to \fIint\fP as in the proposed ANSI C standard and in System V.
        !           666: Programers are discouraged from using the return value from
        !           667: .I sprintf
        !           668: until this change is ubiquitous.
        !           669: Fortunately, the previous return value from
        !           670: .I sprintf
        !           671: was essentially useless.
        !           672: .PP
        !           673: The ownership and modes of some directories have changed.
        !           674: The \fIat\fP programs now run set-user-id ``root'' instead of ``daemon.''
        !           675: Also, the uucp directory no longer needs to be publicly writable,
        !           676: as \fItip\fP reverts to privileged status to remove its lock files.
        !           677: After copying your version of /usr/spool, you should do:
        !           678: .DS
        !           679: \fB#\fP \fIchown \-R root /usr/spool/at\fP
        !           680: \fB#\fP \fIchown \-R uucp.daemon /usr/spool/uucp\fP
        !           681: \fB#\fP \fIchmod \-R o\-w /usr/spool/uucp\fP
        !           682: .DE
        !           683: .PP
        !           684: The MAKEHOSTS file has moved from /usr/hosts to /usr.
        !           685: .PP
        !           686: The source versions of the manual pages have been moved from
        !           687: /usr/man/man[1-8] to /usr/src/man, /usr/src/new/man, and /usr/src/local/man.
        !           688: Local manual pages should be moved into their respective source code
        !           689: directories, or into /usr/src/local/man/man[1-8], and Makefiles changed to
        !           690: install the formatted manual pages into /usr/local/man/cat[1-8].  The shell
        !           691: script /usr/man/manroff calls nroff with the standard manual arguments.  An 
        !           692: example of installing a manual page might be:
        !           693: .DS
        !           694: \fB#\fP \fI/usr/man/manroff example.2 > example.0\fP
        !           695: \fB#\fP \fIinstall -o bin -g bin -m 444 example.0 /usr/local/man/cat2\fP
        !           696: .DE
        !           697: .PP
        !           698: Whatever else is left is likely to be site specific or require
        !           699: careful scrutiny before placing in its eventual resting place.
        !           700: Refer to the documentation and source code 
        !           701: before arbitrarily overwriting a file.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.