|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.