diff options
Diffstat (limited to 'static/plan9-4e/man8')
60 files changed, 10635 insertions, 0 deletions
diff --git a/static/plan9-4e/man8/0intro.8 b/static/plan9-4e/man8/0intro.8 new file mode 100644 index 00000000..f96a521b --- /dev/null +++ b/static/plan9-4e/man8/0intro.8 @@ -0,0 +1,8 @@ +.TH INTRO 8 +.SH NAME +intro \- introduction to system administration +.SH DESCRIPTION +This manual section describes commands for system administration +as well as various utility programs necessary for the system +but not routinely invoked +by a user. diff --git a/static/plan9-4e/man8/9load.8 b/static/plan9-4e/man8/9load.8 new file mode 100644 index 00000000..bffcb43c --- /dev/null +++ b/static/plan9-4e/man8/9load.8 @@ -0,0 +1,407 @@ +.TH 9LOAD 8 +.SH NAME +9load, ld \- PC bootstrap program +.SH SYNOPSIS +.I "(Under MS-DOS) +.br +[ +.I drive +:][ +.I path +.RB ] ld +[ +.I 9load +] +.SH DESCRIPTION +.I 9load +and +.I ld +are programs that reside in a FAT file system and bootstrap Plan 9. +.I 9load +loads the kernel, but it cannot be run from DOS; use +.I ld +to bootstrap (by starting +.IR 9load ) +if DOS is running. +.I 9load +is run automatically by the boot procedures described below; +it cannot be run directly by hand. +There are three bootstrap sequences: +.IP \- +BIOS, MBR, disk partition PBS, +.IR 9load , +kernel +.IP \- +BIOS, floppy PBS, +.IR 9load , +kernel +.IP \- +BIOS, MBR, DOS, +.IR ld , +.IR 9load , +kernel. +.PP +Details follow. +.PP +.I 9load +is a bootstrap program that loads and starts a program, +typically the kernel, on a PC. +It is run by the PC partition boot sector program (PBS), +which usually resides in the first +sector of the active partition. +A copy of the Plan 9 PBS is kept in +.BR /386/pbs , +but due to the ``cylinder-head-sector'' (CHS) addressing mode of old BIOSes, it can only +operate up to 8.5GB into the disk. +Plan 9 partitions further into the disk +can only be booted using +.BR /386/pbslba , +and then only if the machine's BIOS supports +linear block addressing (LBA) mode for disk transfers. +.PP +When booting from floppy or hard disk, the BIOS loads the +first sector of the medium at location 0x7C00. In the +case of a floppy, this is the PBS. In the case of a hard +disk it it the master boot record (MBR). +The MBR copies itself to address +.BR 0x600 , +finds the active partition and loads its PBS at address +.BR 0x7C00 . +A copy of the Plan 9 MBR is kept in +.BR /386/mbr ; +some commercial MBRs cannot read sectors +past 2GB. +The Plan 9 MBR can read sectors up to 8.5GB into +the disk, and further if the BIOS supports LBA. +The single file +.B /386/mbr +detects whether the BIOS supports LBA and +acts appropriately, defaulting to CHS mode +when LBA is not present. +The PBSs cannot do this due to code size considerations. +The Plan 9 MBR is suitable for booting non-Plan 9 +operating systems, +and (modulo the large disk constraints just described) +non-Plan 9 MBRs are suitable for booting Plan 9. +.PP +Thus the default sequence is: BIOS, MBR, PBS, +.IR 9load , +kernel. +.PP +Because it contains many device drivers for different +disks and networks, +.I 9load +is larger than 64K and cannot be run as a DOS +.RB `` .com '' +executable. +A stripped-down version that knows about disks but not networks, +called +.I ld +(really +.BR ld.com ), +fits in 64K and can be used under DOS to load and start a program (default +.IR 9load ) +from the FAT16 partition. +Its command line argument is of the same format as the +.I bootfile +specifiers described below. +This profusion of loaders is unfortunate, but at least +.I ld +and +.I 9load +are compiled from the same source. +.PP +.I 9load +begins execution at address +.B 0x80010000 +(64K) and +loads the +.I bootfile +at the entry address specified by the header, +usually +.BR 0x80100020 . +After loading, control is passed to the entry location. +.PP +In summary, +Plan 9 can be booted on a PC two different ways: +either by booting MS-DOS and using +.I ld +to start +.I 9load +in the appropriate directory, +or by booting directly from a Plan 9 boot floppy or disk +partition +prepared using +.B format +to install the appropriate files and bootstrap sectors +(see +.IR prep (8)). +.PP +The +.IR bootfile , +which may be compressed with +.IR gzip (1), +can be specified to +.I 9load +as a +.B bootfile= +entry in +.IR plan9.ini , +or if booting from the ethernet, by a BOOTP server. +If the +.B plan9.ini +file contains multiple +.B bootfile= +entries, +.I 9load +will present a numerical menu of the choices; type +the corresponding number to select an entry. +.PP +The format of the +.I bootfile +name is +.IB device ! file +or +.IB device ! partition ! file\f1. +If +.BI ! file +is omitted, the default for the particular +.I device +is used. +Supported +.I devices +are +.TF \fLethern +.TP +.BI fd n +An MS-DOS floppy disk. +.I N +specifies the floppy drive, either +0 or 1. +The +.I bootfile +is the contents of the MS-DOS +.IR file . +There is no default file. +For compatibility with hard disks, a +.I partition +may be given, but only +.B dos +is recognized: +.BI fd0!dos! file\f1. +.TP +.BI ether n +Ethernet. +.I N +specifies the Ethernet device number. +If a +.I partition +is specified, it is taken to be the name of a host machine +from which to load the kernel. +.I file +is determined by the +.B /lib/ndb +(see +.IR ndb (6)) +entry for this PC. +.TP +.BI sd Cn +Non-floppy disk. +The device name format is described in +.IR sd (3). +A +.I partition +must be given and must +name a partition containing a FAT file system. +The name +.B dos +refers to the first DOS partition on a given device. +It is common for Plan 9 partitions to contain a small +FAT file system for configuration. +By convention, this partition is called +.BR 9fat . +There is no default partition or pathname. +.PD +.PP +When +.I 9load +starts running at physical address 0x10000, +it switches to 32-bit mode. +It then double maps the first 16Mb of physical memory to +virtual addresses 0 and 0x80000000. +Physical memory from 0x300000 upwards is used as data +space. +Next, in order to find configuration information, +.I 9load +searches all units on devices +.BR fd +and +.BI sd Cn \fR, +in that order, for a file called +.B plan9\eplan9.ini +or +.B plan9.ini +(see +.IR plan9.ini (8)) +on a partition named +.B dos +or +.BR 9fat . +If one is found, searching stops and the file is read into memory +at physical address 0x1200 +where it can be found later by any loaded +.IR bootfile . +Some options in +.B plan9.ini +are used by +.IR 9load : +.TF bootfile=manual +.TP +.B console +.TP +.B baud +Specifies the console device and baud rate if not a display. +.TP +.BI ether n +Ethernet interfaces. These can be used to load the +.I bootfile +over a network. +Probing for Ethernet interfaces is too prone to error. +.TP +.BI bootfile= bootfile +Specifies the +.IR bootfile . +This option is overridden by a command-line argument. +.TP +.B bootfile=auto +Default. +.TP +.B bootfile=local +Like +.IR auto , +but do not attempt to load over the network. +.TP +.B bootfile=manual +After determining which devices are available for loading from, +enter prompt mode. +.PD +.PP +When the search for +.B plan9.ini +is done, +.I 9load +proceeds to determine which bootfile to load. +If there was no +.I bootfile +option, +.I 9load +chooses a default +from the following prioritized device list: +.EX + fd sd ether +.EE +.I 9load +then attempts to load the +.I bootfile +unless +the +.B bootfile=manual +option was given, in which case prompt mode is entered immediately. +If the default device is +.BR fd , +.I 9load +will prompt the user for input before proceeding with the +default bootfile load after 5 seconds; +this prompt is omitted if +a command-line argument or +.I bootfile +option +was given. +.PP +.I 9load +prints the list of available +.IR device s +and +enters prompt mode on encountering any error +or if directed to do so by a +.B bootfile=manual +option. +In prompt mode, the user is required to type +a +.IB bootfile +in response to the +.L "Boot from: +prompt. +.PP +.I 9load +parses the master boot record and Plan 9 partition tables +(see +.IR prep (8)), +leaving partitioning information appended to the +in-memory contents of +.I plan9.ini +for the +.IR bootfile . +This is used by +.IR sd (3) +to initialize partitions so that +.IR kfs (4) +file systems can be mounted as the root file system. +A more extensive partitioning is typically done by +.I fdisk +and +.I prep +as part of +.I termrc +or +.I cpurc +(see +.IR cpurc (8)). +.PP +A +control-P +character typed at any time on the console causes +.B 9load +to perform a hardware reset +(Ctrl-Alt-Del can also be used on a PC keyboard). +.PP +When loaded from a PBS (rather than from +.IR ld.com ), +.I 9load +must be contiguously allocated on +the disk. +See +.IR dossrv (4) +for information on ensuring this. +.SH FILES +.RI [ drive :] +[ +.I path +.RB ] 9load +.br +.RI [ drive :] +[ +.I path +.RB ] ld +.br +.IB "FAT filesystem" :\eplan9\eplan9.ini +.br +.IB "FAT filesystem" :\eplan9.ini +.SH SOURCE +.B /sys/src/boot/pc +.SH "SEE ALSO" +.IR plan9.ini (8), +.IR prep (8) +.SH BUGS +.PP +Much of the work done by +.B 9load +is duplicated by the loaded kernel. +.PP +If +.I ld +detects an installed MS-DOS Extended Memory Manager, +it attempts to de-install it, but the technique +used may not always work. +It is safer not to install the Extended Memory Manager before running +.IR ld . diff --git a/static/plan9-4e/man8/9pcon.8 b/static/plan9-4e/man8/9pcon.8 new file mode 100644 index 00000000..23ba23ce --- /dev/null +++ b/static/plan9-4e/man8/9pcon.8 @@ -0,0 +1,160 @@ +.TH 9PCON 8 +.SH NAME +9pcon \- 9P to text translator +.SH SYNOPSIS +.B aux/9pcon +[ +.B -cn +] +[ +.B -m +.I msize +] +.I service +.SH DESCRIPTION +.I 9pcon +provides a textual interface to +.IR service , +a conventional 9P server. +By default, +.I 9pcon +interprets +.I service +as a file to be opened. +The +.B -c +flag causes +.I 9pcon +to interpret +.I service +as a command to run which will carry out a +(binary) 9P +conversation over file descriptors 0 and 1. +The +.B -n +flag +causes +.I 9pcon +to interpret +.I service +as a network address to dial. +.PP +Once the connection is established, +.I 9pcon +prints R-messages as they arrive from the server, +and sends T-messages as they are typed on standard input. +There is no prompt. +Lines beginning with # are ignored. +The syntax for T-messages is one of: +.IP +.B Tversion +.I msize +.I version +.br +.B Tauth +.I afid +.I uname +.I aname +.br +.B Tattach +.I fid +.I afid +.I uname +.I aname +.br +.B Twalk +.I fid +.I newfid +.I wname... +.br +.B Topen +.I fid +.I mode +.br +.B Tcreate +.I fid +.I name +.I perm +.I mode +.br +.B Tread +.I fid +.I offset +.I count +.br +.B Twrite +.I fid +.I offset +.I data +.br +.B Tclunk +.I fid +.br +.B Tremove +.I fid +.br +.B Tstat +.I fid +.br +.B Twstat +.I fid +.I name +.I uid +.I gid +.I mode +.I mtime +.I length +.br +.B Tflush +.I oldtag +.LP +See +.IR intro (5) +for a description of the fields in each message. +For the most part, the syntax mirrors the description +of the messages in section 5. +The exceptions are that +the tags on the T-messages are added automatically; +.BR Twalk 's +.I nwname +count is inferred from the number of +.I wnames +given; +and +.BR Twstat 's +.I dir +is in expanded form rather than being an opaque byte sequence. +Note that since commands are parsed with +.B tokenize +(see +.IR getfields (2)), +it is easy to pass empty strings for absent +.IR name , +.IR uid , +and +.I gid +fields. +To ease specifying default integer fields, the +.B Twstat +message recognizes +.B ~0 +in the +.IR mode , +.IR mtime , +and +.I length +arguments. +For example, +.EX + Twstat 101 '' '' sys ~0 ~0 ~0 +.EE +sends a +.I wstat +message that attempts to change the group id associated with +.SH SOURCE +.B /sys/src/cmd/aux/9pcon.c +.SH SEE ALSO +.IR intro (5) +.SH BUGS +There should be a flag to wait for responses, +to facilitate scripting. diff --git a/static/plan9-4e/man8/INDEX.8 b/static/plan9-4e/man8/INDEX.8 new file mode 100644 index 00000000..6a86e3c4 --- /dev/null +++ b/static/plan9-4e/man8/INDEX.8 @@ -0,0 +1,157 @@ +0intro 0intro +intro 0intro +9load 9load +ld 9load +9pcon 9pcon +apm apm +auth auth +auth.srv auth +changeuser auth +convkeys auth +convkeys2 auth +disable auth +enable auth +guard.srv auth +login auth +printnetkey auth +status auth +wrkey auth +boot boot +booting booting +buildindex buildindex +checkarenas checkarenas +checkindex checkindex +cpurc cpurc +termrc cpurc +cron cron +dhcpd dhcpd +rarpd dhcpd +tftpd dhcpd +drawterm drawterm +fmtarenas fmtarenas +fmtindex fmtindex +fmtisect fmtisect +exsort fs +fs fs +fsconfig fsconfig +echo httpd +httpd httpd +imagemap httpd +man2html httpd +save httpd +init init +ipconfig ipconfig +rip ipconfig +ftpd ipserv +imap4d ipserv +ipserv ipserv +rexexec ipserv +rlogind ipserv +telnetd ipserv +kfscmd kfscmd +ksync kfscmd +il17007 listen +il17008 listen +il17009 listen +il17013 listen +il17031 listen +il19 listen +il565 listen +il566 listen +il7 listen +il9 listen +listen listen +tcp110 listen +tcp113 listen +tcp143 listen +tcp17007 listen +tcp17009 listen +tcp17013 listen +tcp19 listen +tcp21 listen +tcp23 listen +tcp25 listen +tcp513 listen +tcp515 listen +tcp53 listen +tcp564 listen +tcp565 listen +tcp566 listen +tcp567 listen +tcp7 listen +tcp9 listen +tcp993 listen +lp lp +dump9660 mk9660 +mk9660 mk9660 +mkext mkfs +mkfs mkfs +mkpaqfs mkpaqfs +mksacfs mksacfs +aux/accupoint mouse +aux/mouse mouse +mouse mouse +na na +cs ndb +csquery ndb +dns ndb +dnsdebug ndb +dnsquery ndb +ipquery ndb +mkdb ndb +mkhash ndb +mkhosts ndb +ndb ndb +query ndb +newuser newuser +9auth nfsserver +nfsserver nfsserver +pcnfsd nfsserver +portmapper nfsserver +pcmcia pcmcia +gping ping +hogports ping +ping ping +traceroute ping +plan9.ini plan9.ini +ppp ppp +pppoe ppp +pptp ppp +pptpd ppp +fdisk prep +format prep +mbr prep +prep prep +qer qer +runq qer +rdarena rdarena +reboot reboot +applychanges replica +applylog replica +compactdb replica +replica replica +updatedb replica +scanmail scanmail +testscan scanmail +scuzz scuzz +secstore secstore +secstored secstore +secuser secstore +securenet securenet +snoopy snoopy +stats stats +swap swap +timesync timesync +tlssrv tlssrv +udpecho udpecho +bootfloppy update +bootplan9 update +bootwin9x update +bootwinnt update +personalize update +setup.9fat update +setup.disk update +setup.kfs update +update update +venti venti +vga vga diff --git a/static/plan9-4e/man8/INDEX.html.8 b/static/plan9-4e/man8/INDEX.html.8 new file mode 100644 index 00000000..0bb88c67 --- /dev/null +++ b/static/plan9-4e/man8/INDEX.html.8 @@ -0,0 +1,237 @@ +<HEAD> +<TITLE>plan 9 man section 8</TITLE> +</HEAD> +<BODY> +<B>[<A HREF="/sys/man/index.html">manual index</A>]</B> +<H2>Plan 9 from Bell Labs - Section 8 - System Administration</H2> +<HR> +<DL> +<DT><A HREF="/magic/man2html/8/0intro">0intro</A> +- introduction to system administration +<DD><TT> intro</TT> +</DT> +<DT><A HREF="/magic/man2html/8/9load">9load</A> +- PC bootstrap program +<DD><TT> 9load, ld</TT> +</DT> +<DT><A HREF="/magic/man2html/8/9pcon">9pcon</A> +- 9P to text translator +<DD><TT> 9pcon</TT> +</DT> +<DT><A HREF="/magic/man2html/8/apm">apm</A> +- Advanced Power Management 1.2 BIOS interface +<DD><TT> apm</TT> +</DT> +<DT><A HREF="/magic/man2html/8/auth">auth</A> +- maintain authentication databases +<DD><TT> changeuser, wrkey, convkeys, convkeys2, printnetkey, status, auth.srv, guard.srv, login, disable, enable</TT> +</DT> +<DT><A HREF="/magic/man2html/8/boot">boot</A> +- connect to the root file server +<DD><TT> boot</TT> +</DT> +<DT><A HREF="/magic/man2html/8/booting">booting</A> +- bootstrapping procedures +<DD><TT> booting</TT> +</DT> +<DT><A HREF="/magic/man2html/8/buildindex">buildindex</A> +- rebuild a Venti index +<DD><TT> buildindex</TT> +</DT> +<DT><A HREF="/magic/man2html/8/checkarenas">checkarenas</A> +- check the integrity, and optionally fix, Venti arenas +<DD><TT> checkarenas</TT> +</DT> +<DT><A HREF="/magic/man2html/8/checkindex">checkindex</A> +- check the integrity and optionally fix a Venti index +<DD><TT> checkindex</TT> +</DT> +<DT><A HREF="/magic/man2html/8/cpurc">cpurc</A> +- boot script +<DD><TT> cpurc, termrc</TT> +</DT> +<DT><A HREF="/magic/man2html/8/cron">cron</A> +- clock daemon +<DD><TT> cron</TT> +</DT> +<DT><A HREF="/magic/man2html/8/dhcpd">dhcpd</A> +- Internet booting +<DD><TT> dhcpd, rarpd, tftpd</TT> +</DT> +<DT><A HREF="/magic/man2html/8/drawterm">drawterm</A> +- connect to Plan 9 CPU servers from other operating systems +<DD><TT> drawterm</TT> +</DT> +<DT><A HREF="/magic/man2html/8/fmtarenas">fmtarenas</A> +- format a file into a number of Venti arenas +<DD><TT> fmtarenas</TT> +</DT> +<DT><A HREF="/magic/man2html/8/fmtindex">fmtindex</A> +- format a Venti index +<DD><TT> fmtindex</TT> +</DT> +<DT><A HREF="/magic/man2html/8/fmtisect">fmtisect</A> +- format a Venti index section +<DD><TT> fmtisect</TT> +</DT> +<DT><A HREF="/magic/man2html/8/fs">fs</A> +- file server maintenance +<DD><TT> fs, exsort</TT> +</DT> +<DT><A HREF="/magic/man2html/8/fsconfig">fsconfig</A> +- configuring a file server +<DD><TT> fsconfig</TT> +</DT> +<DT><A HREF="/magic/man2html/8/httpd">httpd</A> +- HTTP server +<DD><TT> httpd, echo, save, imagemap, man2html</TT> +</DT> +<DT><A HREF="/magic/man2html/8/init">init</A> +- initialize machine upon booting +<DD><TT> init</TT> +</DT> +<DT><A HREF="/magic/man2html/8/ipconfig">ipconfig</A> +- Internet configuration and routing +<DD><TT> ipconfig, rip</TT> +</DT> +<DT><A HREF="/magic/man2html/8/ipserv">ipserv</A> +- Internet remote access daemons +<DD><TT> telnetd, rlogind, rexexec, ftpd, imap4d</TT> +</DT> +<DT><A HREF="/magic/man2html/8/kfscmd">kfscmd</A> +- kfs administration +<DD><TT> kfscmd, ksync</TT> +</DT> +<DT><A HREF="/magic/man2html/8/listen">listen</A> +- listen for calls on a network device +<DD><TT> listen, il7, il9, il19, il565, il566, il17007, il17008, il17009, il17013, il17031, tcp7, tcp9, tcp19, tcp21, tcp23, tcp25, tcp53, tcp110, tcp113, tcp143, tcp513, tcp515, tcp564, tcp565, tcp566, tcp567, tcp993, tcp17007, tcp17009, tcp17013</TT> +</DT> +<DT><A HREF="/magic/man2html/8/lp">lp</A> +- PostScript preprocessors +<DD><TT> lp</TT> +</DT> +<DT><A HREF="/magic/man2html/8/mk9660">mk9660</A> +- create an ISO-9660 CD image +<DD><TT> dump9660, mk9660</TT> +</DT> +<DT><A HREF="/magic/man2html/8/mkfs">mkfs</A> +- archive or update a file system +<DD><TT> mkfs, mkext</TT> +</DT> +<DT><A HREF="/magic/man2html/8/mkpaqfs">mkpaqfs</A> +- make a compressed read-only file system +<DD><TT> mkpaqfs</TT> +</DT> +<DT><A HREF="/magic/man2html/8/mksacfs">mksacfs</A> +- make a compressed file system +<DD><TT> mksacfs</TT> +</DT> +<DT><A HREF="/magic/man2html/8/mouse">mouse</A> +- configure a mouse to a port +<DD><TT> aux/mouse, aux/accupoint</TT> +</DT> +<DT><A HREF="/magic/man2html/8/na">na</A> +- assembler for the Symbios Logic PCI-SCSI I/O Processors +<DD><TT> na</TT> +</DT> +<DT><A HREF="/magic/man2html/8/ndb">ndb</A> +- network database +<DD><TT> query, mkhash, mkdb, cs, csquery, dns, dnsquery, ipquery, dnsdebug, mkhosts</TT> +</DT> +<DT><A HREF="/magic/man2html/8/newuser">newuser</A> +- adding a new user +<DD><TT> newuser</TT> +</DT> +<DT><A HREF="/magic/man2html/8/nfsserver">nfsserver</A> +- NFS service +<DD><TT> nfsserver, portmapper, pcnfsd, 9auth</TT> +</DT> +<DT><A HREF="/magic/man2html/8/pcmcia">pcmcia</A> +- identify a PCMCIA card +<DD><TT> pcmcia</TT> +</DT> +<DT><A HREF="/magic/man2html/8/ping">ping</A> +- probe the Internet +<DD><TT> ping, gping, traceroute, hogports</TT> +</DT> +<DT><A HREF="/magic/man2html/8/plan9.ini">plan9.ini</A> +- configuration file for PCs +<DD><TT> plan9.ini</TT> +</DT> +<DT><A HREF="/magic/man2html/8/ppp">ppp</A> +- point to point protocol +<DD><TT> ppp, pppoe, pptp, pptpd</TT> +</DT> +<DT><A HREF="/magic/man2html/8/prep">prep</A> +- prepare hard and floppy diskettes, flashes +<DD><TT> prep, fdisk, format, mbr</TT> +</DT> +<DT><A HREF="/magic/man2html/8/qer">qer</A> +- queue management for spooled files +<DD><TT> qer, runq</TT> +</DT> +<DT><A HREF="/magic/man2html/8/rdarena">rdarena</A> +- extract a Venti arena +<DD><TT> rdarena</TT> +</DT> +<DT><A HREF="/magic/man2html/8/reboot">reboot</A> +- reboot the system upon loss of remote file server connection +<DD><TT> reboot</TT> +</DT> +<DT><A HREF="/magic/man2html/8/replica">replica</A> +- simple client-server replica management +<DD><TT> applychanges, applylog, compactdb, updatedb</TT> +</DT> +<DT><A HREF="/magic/man2html/8/scanmail">scanmail</A> +- spam filters +<DD><TT> scanmail, testscan</TT> +</DT> +<DT><A HREF="/magic/man2html/8/scuzz">scuzz</A> +- SCSI target control +<DD><TT> scuzz</TT> +</DT> +<DT><A HREF="/magic/man2html/8/secstore">secstore</A> +- secstore commands +<DD><TT> secstored, secuser</TT> +</DT> +<DT><A HREF="/magic/man2html/8/securenet">securenet</A> +- Digital Pathways SecureNet Key remote authentication box +<DD><TT> securenet</TT> +</DT> +<DT><A HREF="/magic/man2html/8/snoopy">snoopy</A> +- spy on network packets +<DD><TT> snoopy</TT> +</DT> +<DT><A HREF="/magic/man2html/8/stats">stats</A> +- display graphs of system activity +<DD><TT> stats</TT> +</DT> +<DT><A HREF="/magic/man2html/8/swap">swap</A> +- establish a swap file +<DD><TT> swap</TT> +</DT> +<DT><A HREF="/magic/man2html/8/timesync">timesync</A> +- synchronize the system clock to a time source +<DD><TT> timesync</TT> +</DT> +<DT><A HREF="/magic/man2html/8/tlssrv">tlssrv</A> +- TLS server +<DD><TT> tlssrv</TT> +</DT> +<DT><A HREF="/magic/man2html/8/udpecho">udpecho</A> +- echo UDP packets +<DD><TT> udpecho</TT> +</DT> +<DT><A HREF="/magic/man2html/8/update">update</A> +- administration for local file systems +<DD><TT> bootfloppy, bootplan9, bootwin9x, bootwinnt, personalize, setup.9fat, setup.disk, setup.kfs, update</TT> +</DT> +<DT><A HREF="/magic/man2html/8/venti">venti</A> +- an archival block storage server +<DD><TT> venti</TT> +</DT> +<DT><A HREF="/magic/man2html/8/vga">vga</A> +- configure a VGA card +<DD><TT> vga</TT> +</DT> +</DL> diff --git a/static/plan9-4e/man8/Makefile b/static/plan9-4e/man8/Makefile new file mode 100644 index 00000000..a2af6bc6 --- /dev/null +++ b/static/plan9-4e/man8/Makefile @@ -0,0 +1,3 @@ +MAN = $(wildcard *.8) + +include ../../mandoc.mk diff --git a/static/plan9-4e/man8/apm.8 b/static/plan9-4e/man8/apm.8 new file mode 100644 index 00000000..23fdd668 --- /dev/null +++ b/static/plan9-4e/man8/apm.8 @@ -0,0 +1,111 @@ +.TH APM 8 +.SH NAME +apm \- Advanced Power Management 1.2 BIOS interface +.SH SYNOPSIS +.I (in plan9.ini) +.B apm0= +.PP +bind -a '#P' /dev +.PP +.B aux/apm +[ +.B -d +.I device +] +[ +.B -m +.I mountpoint +] +[ +.B -s +.I service +] +.SH DESCRIPTION +.I Aux/apm +presents at +.I mountpoint +(default +.BR /mnt/apm ) +an interface to the APM 1.2 BIOS +(see +.IR apm (3)) +.I device +(the default is to try +.BR /dev/apm , +followed by +.BR #P/apm ). +If a +.I service +is specified, the interface will be +posted at +.BI /srv/ service +as well. +.PP +The directory contains the following files. +.TP +.B battery +Contains one line for each battery in the system. +Each line lists three fields: the status (a string, one of +.BR unknown , +.BR high , +.BR low , +.BR critical , +or +.BR charging ), +the percent charge remaining, and +an estimate of the amount of time left in seconds. +If either or both of the last two are unknown, +the corresponding field will be zero. +.TP +.B ctl +The +.B ctl +file is used to set power management modes for +various parts of the system. +Control messages are of the form +.RI `` device " " verb ,'' +where +.I device +is one of +.BR system , +.BR display , +.BR storage , +.BR lpt , +.BR eia , +.BR network , +and +.BR pcmcia , +and +.I verb is one of +.BR enable , +.BR disable , +.BR standby , +and +.BR on . +.B Enable +and +.B disable +control whether power management is active +for the device, while +.B standby +puts the device into standby mode +and +.B on +brings it back to full power. +.TP +.B event +Reads from this file will block until an APM event +has occurred. +A large enough read is guaranteed to return +an integral number of textual event descriptions, one per line. +.SH SOURCE +.B /sys/src/cmd/aux/apm.c +.br +.B /acme/bin/Battery +.SH BUGS +The verbs +.B suspend +and +.B off +should be supported but doing so requires +nontrivial help from the kernel. diff --git a/static/plan9-4e/man8/auth.8 b/static/plan9-4e/man8/auth.8 new file mode 100644 index 00000000..5aabf0ac --- /dev/null +++ b/static/plan9-4e/man8/auth.8 @@ -0,0 +1,194 @@ +.TH AUTH 8 +.SH NAME +changeuser, wrkey, convkeys, convkeys2, printnetkey, status, auth.srv, guard.srv, login, disable, enable \- maintain authentication databases +.SH SYNOPSIS +.B auth/changeuser +.RB [ -np ] +.I user +.PP +.B auth/wrkey +.PP +.B auth/convkeys +.RB [ -p ] +.I keyfile +.PP +.B auth/convkeys +.RB [ -p ] +.I keyfile +.PP +.B auth/printnetkey +.I user +.PP +.B auth/status +.I user +.PP +.B auth/enable +.I user +.PP +.B auth/disable +.I user +.PP +.B auth/auth.srv +.PP +.B auth/guard.srv +.PP +.B auth/login +.I user +.SH DESCRIPTION +These administrative commands run only on the authentication server. +.IR Changeuser +manipulates an authentication database file system served by +.IR keyfs (4) +and used by file servers. +There are two authentication databases, +one holding information about Plan 9 accounts +and one holding SecureNet keys. +A +.I user +need not be installed in both databases +but must be installed in the Plan 9 database to connect to a Plan 9 service. +.PP +.I Changeuser +installs or changes +.I user +in an authentication database. +It does not install a user on a Plan 9 file server; see +.IR fs (8) +for that. +.PP +Option +.B -p +installs +.I user +in the Plan 9 database. +.I Changeuser +asks twice for a password for the new +.IR user . +If the responses do not match +or the password is too easy to guess +the +.I user +is not installed. +.I Changeuser +also asks for an APOP secret. +This secret is used in the APOP (RFC1939), +CRAM (RFC2195), and +Microsoft challenge/response protocols used for +POP3, IMAP, and VPN access. +.PP +Option +.B -n +installs +.I user +in the SecureNet database and prints out a key for the SecureNet box. +The key is chosen by +.IR changeuser . +.PP +If neither option +.B -p +or option +.B -n +is given, +.I changeuser +installs the +.I user +in the Plan 9 database. +.PP +.I Changeuser +prompts for +biographical information such as email address, +user name, sponsor and department number and +appends it to the file +.B /adm/netkeys.who +or +.BR /adm/keys.who . +.PP +.I Wrkey +prompts for a machine key, host owner, and host domain and stores them in +local non-volatile RAM. +.PP +.I Convkeys +re-encrypts the key file +.IR keyfile . +Re-encryption is performed in place. +Without the +.B -p +option +.I convkeys +uses the key stored in +.B /dev/keys +to decrypt the file, and encrypts it using the new key. +By default, +.I convkeys +prompts twice for the new password. +The +.B -p +forces +.I convkeys +to also prompt for the old password. +The format of +.I keyfile +is described in +.IR keyfs (4). +.PP +The format of the key file changed between Release 2 +and 3 of Plan 9. +.I Convkeys2 +is like +.IR convkeys . +However, in addition to rekeying, it converts from +the previous format to the Release 3 format. +.PP +.I Printnetkey +displays the network key as it should be entered into the +hand-held Securenet box. +.PP +.I Status +is a shell script that prints out everything known about +a user and the user's key status. +.PP +.I Enable/disable +are shell scripts that enable/disable both the Plan 9 and +Netkey keys for individual users. +.PP +.I Auth.srv +is the program, run only on the authentication server, that handles ticket requests +on IL port 566. +It is started +by an incoming call to the server +requesting a conversation ticket; its standard input and output +are the network connection. +.I Auth.srv +executes the authentication server's end of the appropriate protocol as +described in +.IR authsrv (6). +.PP +.I Guard.srv +is similar. It is called whenever a foreign (e.g. Unix) system wants +to do a SecureNet challenge/response authentication. +.PP +.I Login +allows a user to change his authenticated id to +.IR user . +.I Login +sets up a new namespace from +.B /lib/namespace +and exec's +.IR rc (1) +under the new id. +.SH FILES +.TF /sys/lib/httppasswords +.TP +.B /adm/keys.who +List of users in the Plan 9 database. +.TP +.B /adm/netkeys.who +List of users in the SecureNet database. +.TP +.B /sys/lib/httppasswords +List of realms and passwords for HTTP access. +.SH SOURCE +.B /sys/src/cmd/auth +.SH "SEE ALSO" +.IR keyfs (4), +.IR securenet (8) diff --git a/static/plan9-4e/man8/boot.8 b/static/plan9-4e/man8/boot.8 new file mode 100644 index 00000000..65d292cf --- /dev/null +++ b/static/plan9-4e/man8/boot.8 @@ -0,0 +1,258 @@ +.TH BOOT 8 +.SH NAME +boot \- connect to the root file server +.SH SYNOPSIS +.B /boot +[ +.B -fkm +] +[ +.BI -u username +] +[ +.IB method ! fs-addr +] +.SH DESCRIPTION +.PP +.I Boot +is the first program run after a kernel has been loaded. +It connects to the file server that will serve the +root, performs any authentication needed to +connect to that server, and +.IR exec (2)'s +the +.IR init (8) +program. +It is started by the kernel, never run directly by the user. See +.IR booting (8) +for information about the process of loading the kernel (and +.IR boot ) +into memory. +.PP +Once loaded, the kernel initializes its data structures and devices. +It sets the two environment variables +.B /env/cputype +and +.B /env/terminal +to describe the processor. +It then binds a place-holder file server, +.IR root (3), +onto +.B / +and crafts an initial process whose sole function is to +.IR exec (2) +.BR /boot , +a binary which is compiled into +.IR root (3). +.PP +The command line passed depends +on the information passed from boot ROM +to kernel. +Machines that boot directly from ROM (that is, most machines other than PCs) +pass the boot line given to the ROM directly to +.IR boot . +.PP +On the PC, each line in the DOS file +.B plan9.ini +of the form +.IB name = value +is passed to the boot program as an environment +variable with the same name and value. +The command line is +.IP +.B /386/9dos +.IB method ! server +.PP +(The first argument is ignored by +.IR boot .) +.I Boot +must determine the file +.I server +to use +and a +.I method +with which to connect to it. +Typically this will name a file server on the network, +or state that the root file system is on local disk and name the partition. +The complete list of methods is given below. +.PP +.I Boot +must also set a user name to be used +as the owner of devices and all console +processes and an encryption key to be used +when challenged. +.I Boot +will prompt for these. +.PP +Method and address are prompted for first. +The prompt lists all valid methods, with the default in brackets, for example: +.IP +.EX +root is from (il, local!#S/sdC0/fs)[il]: +.EE +.PP +A newline picks the default. +Other possible responses are +.I method +or +.IB method ! address\f1. +To aid in automatic reboot, the default is automatically +taken on CPU servers if nothing is typed within 15 seconds. +.PP +The other interactions depend on whether the system +is a +terminal or a CPU server. +.SS Terminal +.PP +The terminal must have a +.I username +to set. +If none is specified with the +.B -u +option, +.I boot +will prompt for one on the console: +.IP +.EX +user: +.EE +.PP +The user will also be prompted for a password to +be used as an encryption key on each +.IR attach (5): +.IP +.EX +password: +.EE +.PP +With most +.I methods +.I boot +can now connect to the file server. +However, with the serial line +.I methods +.B 9600 +and +.BR 19200 , +the actual mechanics of setting up the complete connection +are too varied to put into the boot program. +Instead +.I boot +lets the user set up the connection. +It prints a prompt on the console and then simulates +a dumb terminal between the user and the serial line: +.IP +.EX +Connect to file system now, type ctrl-d when done. +(Use the view or down arrow key to send a break) +.EE +.PP +The user can now type at the modem to +dial the number. What is typed depends on +the modem and is beyond this discussion. +.PP +When the user types a control-D, +.I boot +stops simulating a terminal and starts the file +system protocol over the serial line. +.PP +Once connected, +.I boot +mounts +the root file system before +.B / +and makes the connection available as +.B #s/boot +for subsequent processes to +.B mount +(see +.IR bind (2)). +.I Boot +completes by +.IR exec (2)'ing +.B /$objtype/init +.BR -t . +If the +.B -m +option is given it is also passed as an option to +.IR init . +.PP +If the kernel has been built with the cache file system, +.IR cfs (4), +the local disk partition +.BI /dev/sd XX /cache +(where +.B XX +is a unit specifier) +exists, and the root file system is from a remote server, +then the kernel will insert a user level cache +process between the remote server and the local namespace +that caches all remote accesses on the local partition. +The +.B -f +flag commands +.B cfs +to reformat the cache partition. +.SS CPU Servers +.PP +The user owning devices and console processes on CPU servers +and that user's domain and encryption key are +read from NVRAM on all machines except PC's. +PC's keep the information in the disk partition +.BI /dev/sd XX /nvram\f1. +If a +.B -k +option is given or if no stored information is found +.I boot +will prompt for all three items and store them. +.IP +.EX +password: +authid: bootes +authdom: research.bell-labs.com +.EE +.PP +The key is used for mutual authentication of the server and its clients. +The domain and id identify the owner of the key. +.PP +Once connected, +.I boot +behaves as on the terminal except for +.IR exec (2)'ing +.B /$objtype/init +.BR -c . +.SS Booting Methods +.PP +The methods available to any system depend on what was +compiled into the kernel. +The complete list of booting methods are listed below. +.TP 8 +.B il +connect via Ethernet using the IL protocol. +.TP 8 +.B tcp +connect via Ethernet using the TCP protocol. +This method is used only if the initial file server +is on a Unix system. +.TP 8 +.B local +connect to the local file system. +.PP +For the +.B il +and +.B tcp +methods, +the address must be a numeric IP address. +If no address is specified, +a file server address will be found from another +system on the network using the BOOTP protocol and +the Plan 9 vendor-specific fields. +.SH FILES +.B #s/boot +.SH SOURCE +.B /sys/src/9/boot +.SH "SEE ALSO" +.IR root (3), +.IR dhcpd (8), +.IR init (8) diff --git a/static/plan9-4e/man8/booting.8 b/static/plan9-4e/man8/booting.8 new file mode 100644 index 00000000..a8dd4fdd --- /dev/null +++ b/static/plan9-4e/man8/booting.8 @@ -0,0 +1,158 @@ +.TH BOOTING 8 +.SH NAME +booting \- bootstrapping procedures +.SH SYNOPSIS +none +.SH DESCRIPTION +This manual page collects the incantations required to bootstrap Plan 9 machines. +Some of the information here is specific to the installation at Bell Labs; +some is generic. +.PP +If a CPU server is up, BOOTP/DHCP and TFTP will run from there; +if not, the necessary files and services must be available on a separate machine, +such as a Unix system, to use these protocols for bootstrapping. +.PP +Be sure to read +.IR boot (8) +to understand what happens after the kernel is loaded. +.SS Terminals +To bootstrap a diskless terminal or a CPU server, a file server must be running. +PCs can boot from a floppy disk or any FAT16 partition. +On all the terminals, typing two control-T's followed by a lower-case +.B r +reboots the machine; +other methods of rebooting are mentioned for some machines. +.SS PCs +To boot a PC, it is necessary to get +.B /386/9load +loaded into memory. +There are many ways to do this. A Plan 9 boot floppy prepared by +.B format +(see +.IR prep (8)) +will load +.B 9load +when the PC is reset or powered on. +Other methods are described in +.IR 9load (8). +.B 9load +then locates and loads a Plan 9 kernel, using configuration information +from the file +.B plan9.ini +stored in the +.B 9fat +configuration partition or on a DOS file system. +See +.IR 9load (8) +for details. +.PP +Once the kernel is booted, it behaves like the others. +See +.IR boot (8) +for details. +.SS Alpha PCs +Alpha PCs must be booted via TFTP using the SRM console. +If the system has ARC firmware instead, SRM may be downloaded from +.IP +.EX +http://www.compaq.com/ +.EE +.PP +You must configure the SRM firmware to load the file +.BR /alpha/bootalphapc . +The following commands may be used (replace +.B ewa0 +with the name of your ethernet device, if different): +.IP +.EX +set boot_reset ON +set boot_file /alpha/bootalphapc +set bootdef_dev ewa0 +set ewa0_inet_init bootp +set ewa0_protocols BOOTP +.EE +.PP +This secondary bootstrap program will first load the file +.BR /alpha/conf/ <IP-address> +(substituting the IP address of the system as obtained via bootp). +This file is expected to be in +.IR plan9.ini (8) +format (the file +.B /alpha/conf/10.0.0.2 +may be used as a template). +It then loads the kernel via tftp, using the value of +.B bootfile +to tell it which file to load; this should be +.B /alpha/9apc +for terminals. +.SS CPU Servers +The Plan 9 CPU servers are multi-user, so they do not request a user name +when booting. +On the CPU servers, typing a control-P on the console reboots the machine. +.SS PC CPU Server +Proceed as for the PC terminal, but load +.B /386/9pccpu +or +.BR /386/9pccpudisk . +.SS Alpha PC CPU Server +Proceed as for the Alpha PC terminal, but use +.B /alpha/9apccpu +as the value of +.BR bootfile . +.SS SGI Challenge multiprocessor CPU Server +The Challenge ROM monitor can boot from the Ethernet. +To boot from the Ethernet, type +.IP +.EX +.B bootp()/mips/9ch +.EE +.PP +or use the ROM command +.B setenv +to set the variable +.B bootfile +to that same string and type +.BR boot . +To load a different file, tell +.B bootp +which file to load, +and to force the download to come from a particular system, +.BR bootp()system:file . +Any arguments after +.B bootp()file +are passed to +.BR /boot . +If you are running a Plan 9 +.SM BOOTP +server (see +.IR dhcpd (8)), +the file name can be omitted and the +file specified by the +.B bootf +parameter for the machine in +.BR /lib/ndb +will be downloaded by default. +.PP +Once the kernel is loaded, +it prompts for the Ethernet +protocol to use to reach the root file server; request the default. +.PP +.SS File servers +The CPU servers and terminals run essentially the same program, but +the Plan 9 file servers run a distinct system. +The file servers accept only the commands described in +.IR fs (8) +on their consoles. +.SS PC File Server +Boot the PC file server like a regular PC, loading the appropriate file system kernel. +.SH "SEE ALSO" +.IR 9load (8), +.IR boot (8), +.IR fs (8), +.IR init (8), +.IR plan9.ini (8) +.SH SOURCE +Sources for the various boot programs are under +.BR /sys/src/boot . +.SH BUGS +The file server should be able to boot from its own disk. diff --git a/static/plan9-4e/man8/buildindex.8 b/static/plan9-4e/man8/buildindex.8 new file mode 100644 index 00000000..43d03e10 --- /dev/null +++ b/static/plan9-4e/man8/buildindex.8 @@ -0,0 +1,62 @@ +.TH BUILDINDEX 8 +.SH NAME +buildindex \- rebuild a Venti index +.SH SYNOPSIS +.B venti/buildindex +[ +.B -B +.I blockcachesize +] +[ +.B -Z +] +.I venti.config +.I tmp +.SH DESCRIPTION +.I Buildindex +populates the index for the Venti system described in +.IR venti.config . +The index must have previously been formatted using +.IR fmtindex (8). +This command is typically used to build a new index for a Venti +system when the old index becomes too small, or to rebuild +an index after media failure. +Small errors in an index can usually be fixed with +.IR checkindex (8). +.PP +The +.I tmp +file, usually a disk partition, must be large enough to store a copy of the index. +This temporary space is used to perform a merge sort of index entries +generated by reading the arenas. +.PP +Options to +.I buildindex +are: +.TP +.BI -B " blockcachesize +The amount of memory, in bytes, to use for caching raw disk accesses while running +.IR buildindex . +(This is not a property of the created index.) +The default is 8k. +The units for the size can be specified by appending +.LR k , +.LR m , +or +.LR g +to indicate kilobytes, megabytes, or gigabytes respectively. +.TP +.B -Z +Do not zero the index. +This option should only be used when it is known that the index was already zeroed. +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti (8), +.IR checkindex (8), +.IR fmtindex (8), +.IR venti.conf (6) +.SH BUGS +Should allow an individual index section to be rebuilt. +The merge sort could be performed in the space used to store the +index rather than requiring a temporary file. diff --git a/static/plan9-4e/man8/checkarenas.8 b/static/plan9-4e/man8/checkarenas.8 new file mode 100644 index 00000000..e817c9cb --- /dev/null +++ b/static/plan9-4e/man8/checkarenas.8 @@ -0,0 +1,34 @@ +.TH CHECKARENAS 8 +.SH NAME +checkarenas \- check the integrity, and optionally fix, Venti arenas +.SH SYNOPSIS +.B venti/checkarenas +[ +.B -afv +] +.I file +.SH DESCRIPTION +.I Checkarenas +examines the Venti arenas contained in the given +.IR file . +The program detects various error conditions, and optionally attempts +to fix any errors that are found. +.PP +Option to +.I checkarenas +are: +.TP +.B -a +For each arena, scan the entire data section. +If this option is omitted, only the end section of +the arena is examined. +.TP +.B -f +Attempt to fix any errors that are found. +.TP +.B -v +Increase the verbosity of output. +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti (8) diff --git a/static/plan9-4e/man8/checkindex.8 b/static/plan9-4e/man8/checkindex.8 new file mode 100644 index 00000000..2ae21f51 --- /dev/null +++ b/static/plan9-4e/man8/checkindex.8 @@ -0,0 +1,52 @@ +.TH CHECKINDEX 8 +.SH NAME +checkindex \- check the integrity and optionally fix a Venti index +.SH SYNOPSIS +.B venti/checkindex +[ +.B -f +] +[ +.B -B +.I blockcachesize +] +.I venti.config +.I tmp +.SH DESCRIPTION +.I Checkindex +examines the Venti index described in +.IR venti.config . +The program detects various error conditions including: +blocks that are not indexed, index entries for blocks that do not exist, +and duplicate index entries. +If requested, an attempt can be made to fix errors that are found. +.PP +The +.I tmp +file, usually a disk partition, must be large enough to store a copy of the index. +This temporary space is used to perform a merge sort of index entries +generated by reading the arenas. +.PP +Option to +.I checkindex +are: +.TP +.BI -B " blockcachesize +The amount of memory, in bytes, to use for caching raw disk accesses while running +.IR checkindex . +The default is 8k. +The units for the size can be specified by appending +.LR k , +.LR m , +or +.LR g +to indicate kilobytes, megabytes, or gigabytes respectively. +.TP +.B -f +Attempt to fix any errors that are found. +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti (8), +.IR buildindex (8), +.IR venti.conf (6) diff --git a/static/plan9-4e/man8/cpurc.8 b/static/plan9-4e/man8/cpurc.8 new file mode 100644 index 00000000..13fe0df4 --- /dev/null +++ b/static/plan9-4e/man8/cpurc.8 @@ -0,0 +1,67 @@ +.TH CPURC 8 +.SH NAME +cpurc, termrc \- boot script +.SH SYNOPSIS +.B cpurc +.PP +.B termrc +.SH DESCRIPTION +After the kernel boots, it execs +.B /boot +(see +.IR root (3)), +which in turn execs +.BR /$cputype/init . +.IR Init (8) +sets the +.B $service +environment variable to +.B cpu +or +.BR terminal , +and then invokes the appropriate +.B rc +script to bring the system up. +.PP +Based on the values of +.B $sysname +and +.B $terminal +these scripts start appropriate network processes and +administrative daemons and enable swapping. +.I Cpurc +sets +.B /env/boottime +to the time +.I cpurc +was executed and +.B /env/NPROC +to a value suitable for parallel compilation in +.IR mk (1). +.PP +These files should be edited by local installations +to reflect the configuration of their systems. +If an executable file +.B /sys/lib/sysconfig/termrc/$sysname +exists for the machine named +.BR $sysname , +.I termrc +will execute it as its last act. +This action is suppressed, as is automatic initialization of the mouse and +VGA on a PC, if the user is +.BR none . +.SH FILES +.TF /sys/lib/sysconfig/termrc +.TP +.B /sys/lib/sysconfig/termrc +machine-specific configuration scripts for +.IR termrc . +.SH SOURCE +.B /rc/bin/cpurc +.br +.B /rc/bin/termrc +.SH "SEE ALSO" +.IR srv (4), +.IR namespace (6), +.IR init (8), +.IR listen (8) diff --git a/static/plan9-4e/man8/cron.8 b/static/plan9-4e/man8/cron.8 new file mode 100644 index 00000000..a6fbf40d --- /dev/null +++ b/static/plan9-4e/man8/cron.8 @@ -0,0 +1,111 @@ +.TH CRON 8 +.SH NAME +cron \- clock daemon +.SH SYNOPSIS +.B auth/cron +[ +.B -c +] +.SH DESCRIPTION +.I Cron +executes commands at specified dates and times according +to instructions in the files +.BI /cron/ user /cron\f1. +It runs only on an authentication server. +Option +.B -c +causes +.I cron +to create +.BI /cron/ user +and +.BI /cron/ user /cron +for the current user; +it can be run from any Plan 9 machine. +.PP +Blank lines and lines beginning with +.B # +in these files are ignored. +Entries are lines with fields +.IP +.I +minute hour day month weekday host command +.PP +.I Command +is a string, which may contain spaces, that is passed to an +.IR rc (1) +running on +.I host +for execution. +The first five fields are integer patterns for +.PD0 +.RS +.TP \w'month\ of\ year\ \ 'u +minute +0\-59 +.TP +hour +0\-23 +.TP +day of month +1\-31 +.TP +month of year +1\-12 +.TP +day of week +0\-6; 0=Sunday +.PD +.RE +.PP +The syntax for these patterns is +.IP +.EX +time : '*' + | range +range : number + | number '-' number + | range ',' range +.EE +.PP +Each number must be in the appropriate range. +Hyphens specify inclusive ranges of valid times; +commas specify lists of valid time ranges. +.PP +To run the job, +.I cron +calls +.I host +and authenticates remote execution, equivalent to running +.B rx +.I host +.I command +(see +.IR con (1)). +The user's profile is run with +.B $service +set to +.BR rx . +.PP +.I Cron +is not a reliable service. +It skips commands if it cannot reach +.I host +within two minutes, or if the +.I cron +daemon is +not running at the appropriate time. +.SH EXAMPLES +Here is the job that mails system news. +.IP +.EX +% cat /cron/upas/cron +# send system news +15 8-17, 21 *** helix /mail/lib/mailnews +% +.EE +.SH SOURCE +.B /sys/src/cmd/auth/cron.c +.SH "SEE ALSO" +.IR con (1), +.IR rc (1) diff --git a/static/plan9-4e/man8/dhcpd.8 b/static/plan9-4e/man8/dhcpd.8 new file mode 100644 index 00000000..838a38ed --- /dev/null +++ b/static/plan9-4e/man8/dhcpd.8 @@ -0,0 +1,272 @@ +.TH DHCPD 8 +.SH NAME +dhcpd, rarpd, tftpd \- Internet booting +.SH SYNOPSIS +.PP +.B ip/dhcpd +.RB [ -mdsnp ] +.RB [ -f +.IR ndb-file ] +.RB [ -x +.IR netmtpt ] +.RB [ -M +.IR secs ] +[ +.I address +.I n +]* +.PP +.B ip/rarpd +.RB [ -d ] +.RB [ -e +.IR etherdev ] +.RB [ -x +.IR netmtpt ] +.PP +.B ip/tftpd +.RB [ -dr ] +.RB [ -h +.IR homedir ] +.RB [ -x +.IR netmtpt ] +.SH DESCRIPTION +These programs support booting over the Internet. +They should all be run on the same server to +allow other systems to be booted. +.I Dhcpd +and +.I tftpd +are used to boot everything; +.I rarpd +is an extra piece just for Suns. +.PP +.I Dhcpd +runs the +.SM BOOTP +and +.SM DHCP +protocols. +Clients use these protocols to obtain configuration information. +This information comes from attribute/value pairs in the network database +(see +.IR ndb (6) +and +.IR ndb (8)). +DHCP requests are honored both for static addresses found in +the NDB and for dynamic addresses listed in the command line. +DHCP requests are honored if either: +.br +\- there exists an NDB entry +containing both the ethernet address of the requester and +an IP address on the originating network or subnetwork. +.br +\- a free dynamic address exists on the originating network or subnetwork. +.PP +A BOOTP request is honored it all of the following are true: +.br +\- there exists an NDB entry +containing both the ethernet address of the requester and +an IP address on the originating network or subnetwork. +.br +\- the entry contains a +.B bootf= +attribute +.br +\- the file in the +.B bootf= +attribute is readable. +.PP +Dynamic addresses are specified on the command line as a list +of addresses and number pairs. +For example, +.EX + ip/dhcpd 10.1.1.12 10 10.2.1.70 12 +.EE +directs +.I dhcpd +to return dynamic addresses 10.1.1.12 through 10.1.1.21 inclusive +and 10.2.1.70 through 10.2.1.81 inclusive. +.PP +.I Dhcpd +maintains a record of all dynamic addresses in the directory +.BR /lib/ndb/dhcp , +one file per address. +If multiple servers have access to this common directory, +they will correctly coordinate their actions. +.PP +Attributes come from either the NDB entry for the system, the entry for its +subnet, or the entry for its network. The system entry has precedence, +then the subnet, then the network. +The NDB attributes used are: +.TF ipmask +.TP +.B ip +the IP address +.TP +.B ipmask +the IP mask +.TP +.B ipgw +the default IP gateway +.TP +.B dom +the domain name of the system +.TP +.B fs +the default Plan 9 name server +.TP +.B auth +the default Plan 9 authentication server +.TP +.B dns +a domain name server +.TP +.B ntp +a network time protocol server +.TP +.B time +a time server +.TP +.B wins +a +.SM NETBIOS +name server +.TP +.B www +a World Wide Web proxy +.TP +.B pop3 +a POP3 mail server +.TP +.B smtp +an SMTP mail server +.TP +.B bootf +the default boot file +.PD +.PP +.I Dhcpd +will answer +.SM BOOTP +requests only if it has been specifically targeted or if it +has read access to the boot file for the requester. That means that the requester +must specify a boot file in the request or one has to exist in NDB for +.I dhcpd +to answer. +.I Dhcpd +will answer all +.SM DHCP +requests for which it can associate an IP address with the +requester. +The options are: +.TP +.B d +Print debugging to standard output. +.TP +.B m +Mute: don't reply to requests, just log them and what +.I dhcpd +would have done. +.TP +.B f +Specify a file other than +.B /lib/ndb/local +as the network database. +.TP +.B s +Sleep 2 seconds before answering requests. This is used to make a server +be a backup only. +.TP +.B n +Don't answer +.SM BOOTP +requests. +.TP +.B p +Answer +.SM DHCP +requests from +.SM PPTP +clients only. +.TP +.B x +The IP stack to use is mounted at +.IR netmtpt . +The default is +.BR /net . +.TP +.B M +Use +.I secs +as the minimum lease time. +.PD +.PP +.I Rarpd +performs the Reverse Address Resolution Protocol, translating +Ethernet addresses into IP addresses. +The options are: +.TP +.B d +Print debugging to standard output. +.TP +.B e +Use the Ethernet mounted at +.BI /net/ etherdev\f1. +.TP +.B x +The IP stack to use is mounted at +.IR netmtpt . +The default is +.BR /net . +.PD +.PP +.I Tftpd +transfers files to systems that are booting. +It runs as user +.B none +and can only access files with global read permission. +The options are: +.TP +.B d +Print debugging to standard output. +.TP +.B x +The IP stack to use is mounted at +.IR netmtpt . +The default is +.BR /net . +.TP +.B h +Change directory to +.IR homedir . +The default is +.BR /lib/tftpd . +All requests for files with non-rooted file names are served starting at this +directory with the exception of files of the form +.BR xxxxxxxx.SUNyy . +These are Sparc kernel boot files where +.B xxxxxxxx +is the hex IP address of the machine requesting the kernel and +.B yy +is an architecture identifier. +.I Tftpd +looks up the file in the network database using +.I ipinfo +(see +.IR ndb (2)) +and responds with the boot file specified for that particular +machine. +If no boot file is specified, the transfer fails. +.I Tftpd +supports only octet mode. +.TP +.B r +Restricts access to only those files rooted in the +.IR homedir . +.PD +.SH FILES +.BR /lib/ndb/dhcp " directory of dynamic address files +.SH SOURCE +.B /sys/src/cmd/ip +.SH "SEE ALSO" +.IR ndb (6) diff --git a/static/plan9-4e/man8/drawterm.8 b/static/plan9-4e/man8/drawterm.8 new file mode 100644 index 00000000..2f5a1d50 --- /dev/null +++ b/static/plan9-4e/man8/drawterm.8 @@ -0,0 +1,124 @@ +.TH DRAWTERM 8 +.SH NAME +drawterm \- connect to Plan 9 CPU servers from other operating systems +.SH SYNOPSIS +.B drawterm +[ +.B -a +.I authaddr +] +[ +.B -c +.I cpuaddr +] +[ +.B -d +depth +] +[ +.B -r +root +] +[ +.B -nm +] +.SH DESCRIPTION +.I Drawterm +is +.I not +a Plan 9 program. +It is a program that users of non-Plan 9 systems can use +to establish graphical +.IR cpu (1) +connections with Plan 9 CPU servers. +Just as a real Plan 9 terminal does, +.I drawterm +serves its local name space +as well as some devices (the keyboard, mouse, and screen) +to a remote CPU server, which mounts this name space +on +.B /mnt/term +and starts a shell. +Typically, either explicitly or via the profile, one uses the shell +to start +.IR rio (1). +.PP +By default, +drawterm +uses the CPU server +.B CPUSERV +and the authentication server +.BR AUTHSERV . +The +.B -a +and +.B -c +options specify alternate servers. +(Edit the source to set appropriate local values for the variables +.B AUTHSERV +and +.BR CPUSERV ). +.PP +On Windows systems, the file system served by the +terminal (and mounted on +.BR /mnt/term ) +is the tree rooted at +.BR c:/ . +The +.B -r +option specifies a different file system root. +In Windows, the depth of the virtual screen +provided by +drawterm +matches the depth of the actual screen. +To present a screen with a different depth, use the +.B -d +option. +Both options do nothing on non-Windows systems. +.PP +The +.B -n +option causes +drawterm to prompt for authentication via +.IR netkey -style +challenge/response rather than using +the password-based protocol typically used +by terminals. +.PP +By default, drawterm queues mouse events to +guard against lost events due to network latency. +The +.B -m +option turns this behavior off. +.PP +Drawterm has been ported to +Digital Unix, +Irix, +Linux, +Solaris, +and +Windows. +Binaries are kept in +.BR /sys/src/cmd/unix/drawterm/bin . +.SH SOURCE +.B /sys/src/cmd/unix/drawterm +.SH DIAGNOSTICS +The Unix versions of drawterm print diagnostics +to standard error. +The Windows version displays message boxes. +.SH "SEE ALSO +.IR cpu (1), +.IR rio (1) +.SH BUGS +Although at first +.I drawterm +may seem like a Plan 9 terminal, in fact it is just a way to provide a CPU server +with some terminal devices. +The difference is important because one cannot run terminal-resident programs +when using +.IR drawterm . +The illusion can be improved by delicate adjustments in +.BR /usr/$user/lib/profile . +.PP +It would be nice to be able to change the default servers +without recompiling. diff --git a/static/plan9-4e/man8/fmtarenas.8 b/static/plan9-4e/man8/fmtarenas.8 new file mode 100644 index 00000000..b9f18816 --- /dev/null +++ b/static/plan9-4e/man8/fmtarenas.8 @@ -0,0 +1,64 @@ +.TH FMTARENAS 8 +.SH NAME +fmtarenas \- format a file into a number of Venti arenas +.SH SYNOPSIS +.B venti/fmtarenas +[ +.B -Z +] +[ +.B -a +.I arenasize +] +[ +.B -b +.I blocksize +] +.I name +.I file +.SH DESCRIPTION +.I Fmtarenas +formats the given +.IR file , +typically a disk partition, into a number of +.IR venti (8) +arenas. +The arenas are given names of the form +.IR name%d , +where +.I %d +is replaced with a sequential number starting at 0. +.PP +Option to +.I fmtarenas +are: +.TP +.BI -a " arenasize +The arenas are of +.I arenasize +bytes. The default is 512 megabytes, which was selected to provide a balance +between the number of arenas and the ability to copy an arena to external +media such as recordable CDs and tapes. +.TP +.BI -b " blocksize +The size, in bytes, for read and write operations to the file. +The size is recorded in the file, and is used by applications that access the arenas. +The default is 8k. +.TP +.B -Z +Do not zero the data sections of the arenas. +Using this option reduces the formatting time +but should only be used when it is known that the file was already zeroed. +.PP +The units for the various sizes can be specified by appending +.LR k , +.LR m , +or +.LR g +to indicate kilobytes, megabytes, or gigabytes respectively. +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti (8), +.IR fmtisect (8), +.IR fmtindex (8) diff --git a/static/plan9-4e/man8/fmtindex.8 b/static/plan9-4e/man8/fmtindex.8 new file mode 100644 index 00000000..ec98f209 --- /dev/null +++ b/static/plan9-4e/man8/fmtindex.8 @@ -0,0 +1,60 @@ +.TH FMTINDEX 8 +.SH NAME +fmtindex \- format a Venti index +.SH SYNOPSIS +.B venti/fmtindex +[ +.B -a +] +.I venti.config +.SH DESCRIPTION +.I Fmtindex +takes the +.IR venti.conf (6) +file +.I venti.config +and initializes the index sections to form a usable index structure. +The arena files and index sections must have previously been formatted +using +.IR fmtarenas (8) +and +.IR fmtisect (8) +respectively. +.PP +The function of a Venti index is to map a Sha1 fingerprint to a location +in the data section of one of the arenas. The index is composed of +blocks, each of which contains the mapping for a fixed range of possible +fingerprint values. +.I Fmtindex +determines the mapping between Sha1 values and the blocks +of the collection of index sections. Once this mapping has been determined, +it cannot be changed without rebuilding the index. +The basic assumption in the current implementation is that the index +structure is sufficiently empty that individual blocks of the index will rarely +overflow. The total size of the index should be about 2% to 10% of +the total size of the arenas, but the exact depends both the index block size +and the compressed size of block stored to Venti. +.PP +.I Fmtindex +also computes a mapping between a linear address space and +the data section of the collection of arenas. The +.B -a +option can be used to add additional arenas to an index. +To use this feature, +add the new arenas to +.I venti.config +after the existing arenas and then run +.I fmtindex +.BR -a . +.PP +A copy of the above mappings is stored in the header for each of the index sections. +These copies enable +.IR buildindex (8) +to restore a single index section without rebuilding the entire index. +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti (8), +.IR fmtarenas (8), +.IR fmtisect (8), +.IR venti.conf (6) diff --git a/static/plan9-4e/man8/fmtisect.8 b/static/plan9-4e/man8/fmtisect.8 new file mode 100644 index 00000000..b82966ba --- /dev/null +++ b/static/plan9-4e/man8/fmtisect.8 @@ -0,0 +1,50 @@ +.TH FMTISECT 8 +.SH NAME +fmtisect \- format a Venti index section +.SH SYNOPSIS +.B venti/fmtisect +[ +.B -Z +] +[ +.B -b +.I blocksize +] +.I name +.I file +.SH DESCRIPTION +.I Fmtisect +formats the given +.IR file , +typically a disk partition, as a Venti index section with the specified +.IR name . +One or more formatted index sections are combined into a Venti +index using +.IR fmtindex (8). +Each of the index sections within an index must have a unique name. +.PP +Options to +.I fmtisect +are: +.TP +.BI -b " blocksize +The size, in bytes, for read and write operations to the file. +All the index sections within a index must have the same block size. +The default is 8k. The units for the size can be specified by appending +.LR k , +.LR m , +or +.LR g +to indicate kilobytes, megabytes, or gigabytes respectively. +.TP +.B -Z +Do not zero the index. +Using this option reduces the formatting time +but should only be used when it is known that the file was already zeroed. +.PP +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti (8), +.IR fmtarenas (8), +.IR fmtindex (8) diff --git a/static/plan9-4e/man8/fs.8 b/static/plan9-4e/man8/fs.8 new file mode 100644 index 00000000..7c53e72f --- /dev/null +++ b/static/plan9-4e/man8/fs.8 @@ -0,0 +1,678 @@ +.TH FS 8 +.SH NAME +fs, exsort \- file server maintenance +.SH SYNOPSIS +.PD 0 +.B help +[ +.I command ... +] +.PP +.B arp +.I subcommand +.PP +.B cfs +.I filesystem +.PP +.B check +.RI [ options ] +.PP +.B clri +.RI [ file ...] +.PP +.B cpu +.RI [ proc ] +.PP +.B create +.I path uid gid perm +.RB [ lad ] +.PP +.B cwcmd +.I subcommand +.PP +.B date +.RB [[ +- ] +.IR seconds ] +.PP +.B duallow +.RI [ uid ] +.PP +.B dump +.PP +.B files +.PP +.B flag +.I flag +[ +.I channel +] +.PP +.B fstat +[ +.I files +] +.PP +.B halt +.PP +.B hangup +.I channel +.PP +.B newuser +.I name +.RI [ options ] +.PP +.B noattach +.PP +.B passwd +.PP +.B profile +.RB [ 01 ] +.PP +.B remove +.RI [ files ...] +.PP +.B route +.I subcommand +.PP +.BR stat [ adesw ] +.PP +.B stats +.RB [[ - ] +.IR flags ...] +.PP +.B sync +.PP +.B time +.I command +.PP +.B trace +.RI [ number ] +.PP +.B users +.RI [ file ] +.PP +.B version +.PP +.B who +.RI [ user ...] +.PP +.B wormeject +[ +.I tunit +] +.PP +.B wormingest +[ +.I tunit +] +.PD +.PP +.B disk/exsort +.RB [ -w ] +.RI [ file ] +.SH DESCRIPTION +Except for +.IR exsort , +these commands are available only on the console of an +.IR fs (4) +file server. +.PP +The console requires the machine's password to be supplied before +accepting commands. Typing a control-D will cause +the server to request +the password again. +.PP +.I Help +prints a `usage string' for the named +.IR commands , +by default all commands. +Also, many commands print menus of their options if given +incorrect or incomplete parameters. +.PP +.I Arp +has two +.IR subcommands : +.B print +prints the contents of the ARP cache and +.B flush +flushes it. +.PP +.I Cfs +changes the current file system, that is, the file tree to which +commands +.RB ( check , +.BR clri , +.BR create , +.BR newuser , +.BR profile , +.BR remove , +and +.BR users ) +apply. +The initial +.I filesystem +is +.BR main . +.PP +.I Check +verifies the consistency of the current file system. +With no options it checks and reports the status. +It suspends service while running. +Options are: +.TF touch +.PD +.TP +.B rdall +Read every block in the file system (can take a +.I long +time). +Normally, +.I check +will stop short of the actual contents +of a file and just verify the block addresses. +.TP +.B tag +Fix bad +.IR tags ; +each block has a tag that acts as a backwards pointer for +consistency checking. +.TP +.B ream +Fix bad tags +and also clear the contents +of blocks that have bad tags. +.TP +.B pfile +Print every file name. +.TP +.B pdir +Print every directory name. +.TP +.B free +Rebuild the list of free blocks +with all blocks that are not referenced. +This option is only useful on non-cache/WORM +file systems. +If the filesystem was modified, the summary printed +at the conclusion of the check may not reflect the true +state of the freelist and may also print a list of +.I missing +blocks. +These +.I missing +blocks are actually on the free list and the true +state of the filesystem can be determined by running +.I check +with no arguments. +.TP +.B bad +Each block address that is out of range or duplicate is cleared. +Note that only the second and subsequent +use of a block is cleared. +Often the problems in a file system are +caused by one bad file that has a lot of +garbage block addresses. +In such a case, +it is wiser to use +.I check +to find the bad file +(by number of diagnostic messages) +and then use +.I clri +to clear the addresses in that file. +After that, +.I check +can be used to reclaim the free list. +.TP +.B touch +Cause every directory and indirect block not on the current WORM disk +to be advanced to the current WORM on the next dump. +This is a discredited idea to try to keep operating +on the knee of the cache working set. +Buy more cache disk. +.PP +.I Clri +clears the internal directory entry and abandons storage +associated with +.IR files . +It ignores the usual rules for sanity, such as checking against +removing a non-empty directory. +A subsequent +.B check +.B free +will place the abandoned storage in the free list. +.PP +.I Cpu +prints the CPU utilization and state of the processes in the file server. +If the name of a process type argument is given, +then CPU utilization for only those processes is printed. +.PP +.I Create +creates a file on the current file system. +.I Uid +and +.I gid +are names or numbers from +.BR /adm/users . +.I Perm +is the low 9 bits of the permission mode of the file, in octal. +An optional final +.BR l , +.BR a , +or +.BR d +creates a locked file, append-only file, or directory. +.PP +.I Cwcmd +controls the cached WORM file systems. The subcommands are: +.TP +.BI mvstate " state1 state2 " [ platter ] +States are +.BR none , +.BR dirty , +.BR dump , +.BR dump1 , +.BR error , +.BR read , +and +.BR write . +A +.B mvstate +.B dump1 +.B dump +will cause I/O errors in the last dump to be retried. +A +.B mvstate +.B dump1 +.B write +will cause I/O errors in the last dump to be retried in +reallocated slots in the next dump. +A +.B mvstate +.B read +.B none +will flush the cache associated with the WORM. +A +.B mvstate +.B dump +.B write +aborts the background process dumping to WORM; as a consequence it +leaves holes in the dump file system. +Other uses are possible but arcane. +The optional +.I platter +limits affected blocks to those on that platter. +.TP +.BR prchain " [\fIstart\fP] [\fLback\fP] +Print the chain of superblocks for the directory containing the +roots of the dumped file systems, starting at block number +.I start +(default 0) going forward (backwards if +.B back +is supplied). +.TP +.BR savecache " [\fIpercent\fP] +Copy the block numbers, in native endian longwords, of blocks in the +.B read +state to the file +.BR /adm/cache +for use by +.BR disk/exsort . +If an argument is given, +then that percent (most recently used) of each cache bucket +is copied. +.TP +.BR loadcache " [\fIdskno\fP] +Read +.B /adm/cache +and for every block there on WORM disk +.IR dskno , +read the block from WORM to the cache. +If +.I dskno +is not supplied, all blocks in +.B /adm/cache +are read. +.TP +.BR startdump \ [ 01 ] +Suspend +.RB ( 0 ) +or restart +.RB ( 1 ) +the background dump process. +.TP +.B touchsb +Verify that the superblock on the WORM is readable, ignoring the cached copy. +.TP +.B acct +Prints how many times each user has caused the system to allocate new space on the WORM; +the units are megabytes. +.TP +.B clearacct +Clears the accounting records for +.BR acct . +.PP +.I Date +prints the current date. It may be adjusted +using +.BI +- seconds\f1. +With no sign, it sets the date to the absolute number of seconds +since 00:00 Jan 1, 1970 GMT; with a sign it trims the current +time. +.PP +.I Duallow +sets permissions such that +the named +.I user +can read and search any directories. +This is the permission necessary to do a +.IR du (1) +command anywhere in the file system to discover disk usage. +.PP +.I Dump +starts a dump to WORM immediately for all file systems that have +a WORM associated. +File service is suspended while the cache is scanned; +service resumes when the copy to WORM starts. +.PP +.I Files +prints for every connection the number of allocated fids. +.PP +.I Fstat +prints the current status of each named +.IR file , +including uid, gid, wuid (uid of the last user to modify the file), +size, qid, and disk addresses. +.PP +.I Flag +toggles flags, initially all off: +.TF attachxx +.TP +.B arp +Report ARP activity. +.TP +.B attach +Report as connections are made to the file server. +.TP +.B chat +(Very noisy.) Print all 9P messages to and from the server. +.TP +.B route +Report received RIP packets. +.TP +.B ro +Report I/O on the WORM device. +.PD +.PP +If given a second numeric +.I channel +argument, +as reported by +.IR who , +the flag is altered only on that connection. +.PP +.I Halt +does a +.B sync +and halts the machine, returning to the boot ROM. +.PP +.I Hangup +clunks all the fids on the named +.IR channel , +which has the same format as in the output of the +.I who +command. +.PP +.I Newuser +requires a +.I name +argument. +With no options it adds user +.IR name , +with group leader +.IR name , +to +.B /adm/users +and makes the directory +.BI /usr/ name +owned by user and group +.IR name . +The options are +.TF =leaderxx +.TP +.B ? +Print the entry for +.IR name . +.TP +.B : +Add a group: add the name to +.B /adm/users +but don't create the directory. +By convention, groups are numbered starting from 10000, users from 0. +.TP +.I newname +Rename existing user +.I name +to +.IR newname . +.TP +.BI = leader +Change the leader of +.I name +to +.IR leader . +If +.I leader +is missing, remove the existing leader. +.TP +.BI + member +Add +.I member +to the member list of +.IR name . +.TP +.BI - member +Remove existing +.I member +from the member list of +.IR name . +.PD +.PP +After a successful +.I newuser +command the file server overwrites +.B /adm/users +to reflect the internal state of the user table. +.PP +.I Noattach +disables +.IR attach (5) +messages, in particular for system maintenance. +Previously attached connections are unaffected. +Another +.I noattach +will enable normal behavior. +.PP +.I Passwd +sets the machine's password and writes it in non-volatile RAM. +.PP +.I Profile +.B 1 +clears the profiling buffer and enables profiling; +.I profile +.B 0 +stops profiling and writes the data to +.B /adm/kprofdata +for use by +.B kprof +(see +.IR prof (1)). +If a number is not specified, the profiling state toggles. +.PP +.I Remove +removes +.IR files . +.PP +.I Route +maintains an IP routing table. The +.I subcommands +are: +.TF "add dest gate mask" +.TP +.B add \f2dest gate \fP[\f2mask\fP] +Add a static route from IP address +.I dest +using gateway +.I gate +with an optional subnet +.IR mask . +.TP +.B delete \f2dest\fP +Delete an entry from the routing table. +.TP +.B print +Display the contents of the routing table. +.TP +.B ripon +Enables the table to be filled from RIP packets. +.TP +.B ripoff +Disables the table from being updated by RIP packets. +.PD +.PP +The +.I stat +commands are connected with a service or device identified by the +last character of the name: +.BR d , +SCSI targets; +.BR e , +Ethernet controllers; +.BR w , +cached WORM. +The +.I stata +command prints overall statistics about the file system. +The +.I stats +command takes an optional argument identifying the characters +of +.I stat +commands to run. The option is remembered and becomes the +default for subsequent +.I stats +commands if it begins with a minus sign. +.PP +.I Sync +writes dirty blocks in memory to the magnetic disk cache. +.PP +.I Time +reports the time required to execute the +.IR command . +.PP +.I Trace +with no options prints the set of queue-locks held by each process in +the file server. If things are quiescent, there should be no output. +With an argument +.I number +it prints a stack traceback of that process. +.PP +.I Users +uses the contents of +.I file +(default +.BR /adm/users ) +to initialize the file server's internal representation of the users +structure. +Incorrectly formatted entries in +.I file +will be ignored. +If file is explicitly +.BR default , +the system builds a minimal functional users table internally; +this can help recover from disasters. +If the +.I file +cannot be read, you +.I must +run +.IP +.EX +users default +.EE +.PP +for the system to function. The +.B default +table looks like this: +.IP +.EX +-1:adm:adm: +0:none:adm: +1:tor:tor: +10000:sys:: +10001:map:map: +10002:doc:: +10003:upas:upas: +10004:font:: +10005:bootes:bootes: +.EE +.PP +.I Version +reports when the file server was last compiled and last rebooted. +.PP +.I Who +reports, one per line, the names of users connected to the file server and the +status of their connections. +The first number printed on each line is the channel number of the connection. +If +.I users +are given the output selects connections owned by those users. +.PP +.I Wormeject +moves the WORM disk in slot +.I tunit +to the output shelf. +.PP +.I Wormingest +moves the WORM disk from the input shelf to +slot +.IR tunit . +.PP +When the file server boots, it prints the message +.IP +.EX +for config mode hit a key within 5 seconds +.EE +.PP +If a character is typed within 5 seconds of the message appearing, +the server will enter config mode. +See +.IR fsconfig (8) +for the commands available in config mode. +The system also enters config mode if, at boot time, +the non-volatile RAM does not appear to contain a valid configuration. +.PP +.I Exsort +is a regular command to be run on a CPU server, not on the file server +console. +It reads the named +.I file +(default +.BR /adm/cache ) +and sorts the cache disk block numbers contained therein. +It assumes the numbers are 4-byte integers and guesses the +endianness by looking at the data. +It then prints statistics about the cache. +With option +.B -w +it writes the sorted data back to +.IR file . +.SH SOURCE +.B /sys/src/fs +.br +.B /sys/src/cmd/disk/exsort.c +.SH SEE ALSO +.IR fs (4) +.br +Ken Thompson, +``The Plan 9 File Server''. diff --git a/static/plan9-4e/man8/fsconfig.8 b/static/plan9-4e/man8/fsconfig.8 new file mode 100644 index 00000000..76ea6742 --- /dev/null +++ b/static/plan9-4e/man8/fsconfig.8 @@ -0,0 +1,249 @@ +.TH FSCONFIG 8 +.SH NAME +fsconfig \- configuring a file server +.SH SYNOPSIS +.B service +.I name +.PP +.B config +.I device +.PP +.B filsys +.I name +.I device +.PP +.B ream +.I name +.PP +.B recover +.I name +.PP +.B ip +.I ipaddr +.PP +.B ipgw +.I ipaddr +.PP +.B ipmask +.I ipaddr +.PP +.B ipauth +.I ipaddr +.PP +.B ipsntp +.I ipaddr +.PP +.B end +.SH DESCRIPTION +When a file server's configuration has not been set, +or by explicit request early in the server's initialization (see +.IR fs (8)), +the server enters `config mode'. The commands described here +apply only in that mode. They establish configuration constants +that are typically valid for the life of the server, and therefore +need be run only once. If the non-volatile RAM on the server +gets erased, it will be necessary to recreate the configuration. +.PP +In these commands, +.I ipaddr +is an IP address in the form +.BR 111.103.94.19 +and +.I name +is a text string without white space. +The syntax of a +.I device +is more complicated: +.TP +.BI w n1 . n2 . n3 +A SCSI disk on target id +.IR n2 , +unit +.IR n1 , +and partition +.IR n3 . +A single number specifies a unit, while two numbers specify +.IB unit . partition\f1, +with the missing numbers defaulting to zero. +Any one of the numbers may be replaced by +.BI < m - n > +to represent the values +.I m +through +.I n +inclusive. For example, +.B (w<1-4>) +is the concatenation of SCSI targets 1 through 4. +.TP +.BI l n1 . n2 . n3 +.TP +.BI r n1 . n2 . n3 +The same as +.BR w , +but leaving a single block at the beginning for a label +.BI ( l ), +or not. +These are are only really relevant when used as +.I device3 +in the +.B j +device (see below). +.TP +.BI ( device... ) +A pseudo-device formed from the concatenation of the +.I devices +in the list. The devices are +.I not +blank- or comma-separated. +.TP +.BI [ device... ] +A pseudo-device formed from the block-wise interleaving of the +.I devices +in the list. The size of the result is the number of devices times +the size of the smallest device. +.TP +.BI p device . n1 . n2 +A partition starting at +.IR n1 % +from the beginning of +.I device +with a length +.IR n2 % +of the size of the device. +Parenthesize +.I device +if it contains periods. +.TP +.BR j (\f2device1\ device2\f1...)\f2device3 +.I Device1 +is the SCSI juke box interface. +The +.IR device2 s +are the SCSI drives in the jukebox and +.I device3 +represents the demountable platters in the juke box. +.TP +.BI f device +A pseudo-WORM disk: blocks on +.I device +can be written only once and may not be read unless written. +.TP +.BI c device1device2 +A cached WORM. The first +.I device +is the cache, the second the WORM. +.TP +.BI o +(Letter o) The read-only (dump) file system +of the previously defined cached WORM file system. +.PP +The +.B service +command sets the textual name of the server as known in +the network databases. +.PP +The configuration information is stored in block zero on a +device whose device string is written in non-volatile RAM. +The +.B config +command identifies the +.I device +on which the information is recorded. +.PP +The +.I filsys +command configures a file system on +.I device +and calls it +.IR name . +.I Name +is used as the specifier in +.B attach +messages to connect to that file system. +(The file system +.CW main +is the one attached to if the specifier is null; see +.IR attach (5)). +.PP +The +.I ream +command initializes the named file system. It overwrites +any previous file system on the same device +and creates an empty root directory +on the device. +If +.I name +is +.BR main , +the file server, until the next reboot, +will accept +.B wstat +messages +(see +.IR stat (5)) +that change the owner and group of files, +to enable initializing a fresh file system from a +.IR mkfs (8) +archive. +.PP +For the +.I recover +command, the +named file system +must be a cached WORM. +.I Recover +clears the associated magnetic cache and initializes the file +system, effectively resetting its contents to the last dump. +.PP +The rest of the commands record IP addresses: the file server's address +.RI ( ip ), +the local gateway's +.RI ( ipgw ), +the local authentication server's +.RI ( ipauth ), +the local subnet mask +.RI ( ipmask ), +and the address of a system running an SNTP server. +.I Ipauth +should be +.B 0.0.0.0 +if the system is doing its own authentication rather than +calling an external authentication server. +.PP +The various configuration commands only record what to do; they write +no data to disk. The command +.I end +exits config mode and begins running the file server proper. +The server will then perform whatever I/O is required to establish +the configuration. +.SH EXAMPLE +Initialize a file server +.B kgbsun +with a single file system interleaved between SCSI targets 3 and 4. +.IP +.EX +service kgbsun +config w3 +filsys main [w<3-4>] +ream main +.EE +.PP +Initialize a file server +.B kremvax +with a single disk on target 0 partitioned as a cached pseudo-WORM +file system with the cache on the third quarter of the drive +and the pseudo-WORM on the interleave of the first, second, and +fourth quarters. +.IP +.EX +service kremvax +config p(w0)50.1 +filsys main cp(w0)50.25f[p(w0)0.25p(w0)25.25p(w0)75.25] +filsys dump o +ream main +.EE +.SH SOURCE +.BR /sys/src/fs/port/config.c +.SH "SEE ALSO +Ken Thompson, +``The Plan 9 File Server''. diff --git a/static/plan9-4e/man8/httpd.8 b/static/plan9-4e/man8/httpd.8 new file mode 100644 index 00000000..2e569b85 --- /dev/null +++ b/static/plan9-4e/man8/httpd.8 @@ -0,0 +1,196 @@ +.TH HTTPD 8 +.SH NAME +httpd, echo, save, imagemap, man2html \- HTTP server +.SH SYNOPSIS +.PP +.B ip/httpd/httpd +.RB [ -a +.IR srvaddr ] +.RB [ -d +.IR domain ] +.RB [ -n +.IR namespace ] +.RB [ -w +.IR webroot ] +.PP +.B ip/httpd/echo +.RB [ -b +.IR inbuf ] +.RB [ -d +.IR domain ] +.RB [ -r +.IR remoteip ] +.RB [ -w +.IR webroot ] +.RB [ -N +.IR netdir ] +.I method version uri +.RI [ search ] +.PP +.B ip/httpd/save +.RB [ -b +.IR inbuf ] +.RB [ -d +.IR domain ] +.RB [ -r +.IR remoteip ] +.RB [ -w +.IR webroot ] +.RB [ -N +.IR netdir ] +.I method version uri +.RI [ search ] +.PP +.B ip/httpd/imagemap +.RB [ -b +.IR inbuf ] +.RB [ -d +.IR domain ] +.RB [ -r +.IR remoteip ] +.RB [ -w +.IR webroot ] +.RB [ -N +.IR netdir ] +.I method version uri +.PP +.B ip/httpd/man2html +.RB [ -b +.IR inbuf ] +.RB [ -d +.IR domain ] +.RB [ -r +.IR remoteip ] +.RB [ -w +.IR webroot ] +.RB [ -N +.IR netdir ] +.I method version uri +.RI [ search ] +.SH DESCRIPTION +.I Httpd +serves the +.I webroot +directory of the file system described by +.I namespace +(default +.BR /lib/namespace.httpd ), +using version 1.1 of the HTTP protocol. +It announces the service +.I srvaddr +(default +.BR tcp!*!http ), +and listens for incoming calls. +.PP +.I Httpd +supports only the GET and HEAD methods of the HTTP protocol; +some magic programs support POST as well. +Persistent connections are supported for HTTP/1.1 or later clients; +all connections close after a magic command is executed. +The Content-type +(default application/octet-stream) +and Content-encoding +(default binary) +of a file are determined by looking for suffixes of the file name in +.BR /sys/lib/mimetype . +.PP +Each requested URI is looked up in a redirection table, read from +.BR /sys/lib/httpd.rewrite . +If a prefix of the URI matches a redirection path, +the URI is rewritten using a replacement path, +and a redirect is sent to the HTTP client. +If the replacement path does not specify a server name, +and the request has no explicit host, +then +.I domain +is the host name used in the redirection. +.PP +Before opening any file, +.I httpd +looks for a file in the same directory called +.BR .httplogin . +If the file exists, the directory is considered +locked and the client must specify a user name +and password machine a pair in the file. +.B .httplogin +contains a list of space or newline separated tokens, each +possibly delimited by single quotes. The first +is a domain name presented to the HTTP client. +The rest are pairs of user name and password. +Thus, there can be many user name/password pairs +valid for a directory. +.PP +If the requested URI begins with +.BI /magic/ server /\f1, +.I httpd +executes the file +.BI /bin/ip/httpd/ server +to finish servicing the request. +.IR Method +and +.IR version +are those received on the first line of the request. +.I Uri +is the remaining portion of the requested URI. +.I Inbuf +contains the rest of the bytes read by the server, +and +.I netdir +is the network directory for the connection. +There are routines for processing command arguments, +parsing headers, etc. in the httpd library, +.BR /sys/src/cmd/ip/httpd/libhttpd.a.$O . +See +.B httpd.h +in that directory and existing magic commands for more details. +.PP +.I Echo +is a trivial server that just returns the method, URI, any search, +the headers, and the message body sent by the client. +.PP +.I Save +writes a line to +.BI /usr/web/save/ uri .data +and returns the contents of +.BI /usr/web/save/ uri .html. +Both files must be accessible for the request to succeed. +The saved line includes the current time +and either the search string from a HEAD or GET +or the first line of the body from a POST. +It is used to record form submissions. +.PP +.I Imagemap +processes an HTML imagemap query. +It looks up a the point +.I search +in the image map file given by +.IR uri , +and returns a redirection to the appropriate page. +The map file defaults to NCSA format. +Any entries after a line starting with the word +.B #cern +are interpreted in CERN format. +.PP +.I Man2html +converts +.IR man (6) +format manual pages into html. +It includes some abilities to search the manuals. +.SH FILES +.TF /lib/namespace.httpd +.TP +.B /sys/lib/mimetype +content type description file +.TP +.B /lib/namespace.httpd +default namespace file for httpd +.TP +.B /sys/lib/httpd.rewrite +redirection file +.SH SOURCE +.B /sys/src/cmd/ip/httpd +.SH "SEE ALSO" +.I newns +in +.IR auth (2), +.IR listen (8) diff --git a/static/plan9-4e/man8/init.8 b/static/plan9-4e/man8/init.8 new file mode 100644 index 00000000..94c3a465 --- /dev/null +++ b/static/plan9-4e/man8/init.8 @@ -0,0 +1,87 @@ +.TH INIT 8 +.SH NAME +init \- initialize machine upon booting +.SH SYNOPSIS +.B /$cputype/init +[ +.B -ctm +] [ +.I command ... +] +.SH DESCRIPTION +.I Init +initializes the machine: it establishes the name space (see +.IR namespace (4) +and +.I newns +in +.IR auth (2)), +and environment (see +.IR env (3)) +and starts a shell +.RI ( rc (1)) +on the console. +If a +.I command +is supplied, that is run instead of the shell. +On a CPU server the invoked shell runs +.IR cpurc (8) +before accepting commands on the console; +on a terminal, it runs +.IR termrc +and then the user's profile. +Options +.B -t +(terminal) +and +.B -c +(CPU) +force the behavior to correspond to the specified service class. +Otherwise +.I init +uses the value of the environment variable +.B $service +to decide the service class. +.PP +.I Init +sets environment variables +.B $service +(either to the incoming value or according to +.B -t +or +.BR -c ), +.B $objtype +(to the value of +.BR $cputype ), +.B $user +(to the contents of +.BR #c/user ), +and +.B $timezone +(to the contents of +.BR /adm/timezone/local ). +.PP +With option +.B -m +.I init +starts only an interactive shell +regardless of the +.I command +or service class. +.PP +On a CPU server, +.I init +requires the machine's password to be supplied before starting +.I rc +on the console. +.PP +.I Init +is invoked by +.IR boot (8), +which sets the arguments as appropriate. +.SH SOURCE +.B /sys/src/cmd/init.c +.SH "SEE ALSO" +.IR rc (1), +.IR auth (2), +.IR boot (8) diff --git a/static/plan9-4e/man8/ipconfig.8 b/static/plan9-4e/man8/ipconfig.8 new file mode 100644 index 00000000..ef547979 --- /dev/null +++ b/static/plan9-4e/man8/ipconfig.8 @@ -0,0 +1,205 @@ +.TH IPCONFIG 8 +.SH NAME +ipconfig, rip \- Internet configuration and routing +.SH SYNOPSIS +.B ip/ipconfig +.RB [ -ndDrG ] +.RB [ -b +.IR baud ] +.RB [ -m +.IR mtu ] +.RB [ -g +.IR gateway ] +.RB [ -h +.IR hostname ] +.RB [ -x +.IR netmtpt ] +.I type +.I device +.RI [ verb ] +.RI [ local-addr ] +.RI [ mask ] +.RI [ remote-addr ] +.RI [ file-server-addr ] +.RI [ auth-server-addr ] +.PP +.B ip/rip +.RB [ -bdr ] +.RB [ -x +.IR netmtpt ] +.SH DESCRIPTION +.I Ipconfig +binds a device interface (default +.BR /net/ether0 ) +to a mounted IP stack (default +.BR /net ) +and configures the interface with a local address, a +mask, and a remote address. The addresses can be specified +in the command line or obtained via DHCP. If DHCP is +requested, it will also obtain the addresses of DNS +servers, NTP servers, gateways, a Plan 9 file server, +and a Plan 9 authentication server. If this is the first +interface on the IP stack, the information will be +written to +.B /net/ndb +in the form of an +.IR ndb (8) +entry. +.PP +.I Type +may be +.BR ether , +.BR ppp , +or +.BR gbe . +The +.B gbe +type is equivalent to +.B ether +except that it allows jumbo packets. +For +.B ppp +the device can be any byte stream device. +.PP +The verb (default +.IR add ) +determines the action performed. The verbs are: +.TP +.B add +if the device is not bound to the IP stack, bind it. +Add the given local address, mask, and remote address to the interface. +An interface may have multiple addresses. +.TP +.B remove +remove the address from the device interface. +.TP +.B unbind +unbind the device interface and all its addresses from the +IP stack. +.PP +The options are: +.TP +.B x +use the IP stack mounted at +.I netmtpt +instead of at +.BR /net . +.TP +.B g +the default gateway. +.TP +.B d +use DHCP to determine any unspecified configuration parameters. +.TP +.B r +by default, +.I ipconfig +exits after trying DHCP for 15 seconds with no answer. +This option directs +.I ipconfig +instead to fork a background +process that keeps trying forever. +.TP +.B h +the hostname to add to DHCP requests. Some DHCP +servers, such as the one used by COMCAST, will not respond +unless a correct hostname is in the request. +.TP +.B n +determine parameters but don't configure the interface. +.TP +.B b +the baud rate to use on a serial line +when configuring +.BR PPP . +.TP +.B D +turn on debugging. +.TP +.B G +use only generic DHCP options. Without this option, +.I ipconfig +adds to requests a Vendor Class option with value +.BI plan9_$ cputype +and also requests vendor specific options 128 and 129 which we +interpret as the Plan 9 file server and auth server. +Replies to these options contain a list of IP addresses for possible +file servers and auth servers. +.TP +.B m +the maximum IP packet size to use on this +interface. +.PP +If DHCP is requested, a process is forked +off to renew the lease before it +runs out. If the lease does run out, this +process will remove any configured addresses +from the interface. +.PP +.I Rip +runs the routing protocol RIP. +It listens for RIP packets on connected networks and +updates the kernel routing tables. +The options are: +.TP +.B b +broadcasts routing information onto the networks. +.TP +.B n +gathers routing information but doesn't write to the +route table. This is useful with +.B \-d +to debug a network. +.TP +.B x +use the IP stack mounted at +.I netmtpt +instead of at +.BR /net . +.TP +.B d +turn on (voluminous) debugging. +.PP +.SH EXAMPLE +Configure Ethernet 0 as the primary IP interface. +Get all addresses via DHCP. Start up a connection server +and DNS resolver for this IP stack. +.IP +.EX +% bind -b '#l0' /net +% bind -a '#I0' /net +% ip/ipconfig +% ndb/cs +% ndb/dns -r +.EE +.PP +Add a second address to the stack. +.IP +.EX +% ip/ipconfig ether /net/ether0 add 12.1.1.2 255.255.255.0 +.EE +.PP +At Lucent our primary IP stack is always to the company's internal +firewall-protected network. The following creates an external +IP stack to directly access the outside Internet. Note that the +connection server uses a different set of +.I ndb +files. This prevents us from confusing inside and outside name/address +bindings. +.IP +.EX +% bind -b '#l1' /net.alt +% bind -b '#I1' /net.alt +% ip/ipconfig -x /net.alt -g 204.178.31.1 ether /net.alt/ether1\\ + 204.178.31.6 255.255.255.0 +% ndb/cs -x /net.alt -f /lib/ndb/external +% ndb/dns -sx /net.alt -f /lib/ndb/external +% aux/listen -d /rc/bin/service.alt /net.alt/tcp +% aux/listen -d /rc/bin/service.alt /net.alt/il +.EE +.SH SOURCE +.B /sys/src/cmd/ip/ipconfig.c +.br +.B /sys/src/cmd/ip/rip.c +.SH "SEE ALSO" +.IR ndb (6) diff --git a/static/plan9-4e/man8/ipserv.8 b/static/plan9-4e/man8/ipserv.8 new file mode 100644 index 00000000..313a125f --- /dev/null +++ b/static/plan9-4e/man8/ipserv.8 @@ -0,0 +1,239 @@ +.TH IPSERV 8 +.SH NAME +telnetd, rlogind, rexexec, ftpd, imap4d \- Internet remote access daemons +.SH SYNOPSIS +.PP +.B ip/telnetd +.RB [ -adnptN ] +.RB [ -u +.IR user ] +.PP +.B ip/rlogind +.PP +.B ip/rexexec +.PP +.B ip/ftpd +.RB [ -adp ] +.RB [ -n +.IR namepace-file ] +.PP +.B ip/imap4d +.RB [ -ap ] +.RB [ -d +.IR smtpdomain ] +.RB [ -s +.IR servername ] +.PP +.SH DESCRIPTION +These programs support remote access across the Internet. All expect the +network connection to be standard input, output, and error. They are normally +started from scripts in +.B /rc/bin/service +(see +.IR listen (8)). +.PP +.I Telnetd +allows login from a remote client. +There are three types of login: +.TF anonymous +.TP +.I normal +Normal users log in by encrypting and returning a +challenge printed by +.IR telnetd . +The user can use either the +.IR netkey +program +(see +.IR passwd (1)) +or a SecureNet handheld authenticator to encrypt the challenge. +.B /lib/namespace +defines the namespace. +.TP +.I noworld +Users in group +.B noworld +in +.BR /adm/users +authenticate with a password in the clear. +.B /lib/namespace.noworld +defines the namespace. +.TP +.I anonymous +User +.B none +requires no authentication. +.B /lib/namespace +defines the namespace. +.PD +.PP +The options are: +.TP +.B a +allow anonymous login by +.B none +.TP +.B d +print debugging to standard error +.TP +.B p +don't originate any telnet control codes +.TP +.B n +turn on local character echoing and imply the +.B p +option +.TP +.B t +trusted, that is, don't authenticate +.TP +.B u +use +.I user +as the local account name +.TP +.B N +permit connections by `noworld' users only. +.PD +.PP +.I Rlogind +logs in using the BSD remote login protocol. +.I Rlogind +execs +.I telnetd +.B -nu +after completing its initial handshake. +.PP +.I Rexexec +executes a command locally for a remote client. It uses the +standard Plan 9 authentication (see +.IR authsrv (6)). +.PP +.I Ftpd +runs the Internet file transfer protocol. Users may transfer +files in either direction between the local and +remote machines. +As for +.IR telnetd , +there are three types of login: +.TF anonymous +.TP +.I normal +Normal users authenticate +via the same challenge/response as for +.IR telnetd . +.BI /usr/ username /lib/namespace.ftp +or, if that file does not exist, +.B /lib/namespace +defines the namespace. +.TP +.I noworld +Users in group +.B noworld +in +.B /adm/users +login using a password in the clear. +.B /lib/namespace.noworld +defines the namespace. +.TP +.I anonymous +Users +.B anonymous +and +.B none +require no authentication. +The argument to the +.B \-n +option (default +.IR /lib/namespace.ftp ) +defines the namespace. +Anonymous users may only store files in the subtree +below +.BR /incoming . +.PD +.PP +The options are: +.TP +.B a +allow anonymous access +.TP +.B n +the namespace for anonymous users (default +.BR /lib/namespace.ftp ) +.TP +.B d +write debugging output to standard error +.PP +.I Imap4d +provides access to a user's mailboxes via the IMAP4rev1 protocol. +Only files rooted in +.BI /mail/box/ username / +are accessible. +The list of subscribed mailboxes is contained in +.BI /mail/box/ username /imap.subscribed , +and initially contains only +.BR INBOX , +IMAP's name for the user's mailbox. +A shadow file, +.IB mailbox .imp , +is created for each mailbox examined. +.PP +The options are: +.TP +.B a +Assume the user is already authenticated. +By default, the user must authenticate using +CRAM-MD5 or +.IR securenet (8) +challenge/response authentication. +.TP +.B p +Allow login authentication. This option +should only be enabled for servers using +an encrypted connection, such as SSL, +and when enabled, all non-encrypted connections should be disallowed. +.I Imap4d +does not enforce this policy. +.TP +.B s +The server's name. +If none is provided, +.B cs +(see +.IR ndb (8)) +is queried or +.B /env/sysname +is used. +.TP +.B d +The local mail domain. +Defaults to the server +.B /env/site +in the mail server's domain. +.SH FILES +.B /lib/namepace +.br +.BI /usr/ username /lib/namespace.ftp +.br +.B /lib/namespace.world +.br +.B /lib/namespace.ftp +.br +.BI /mail/box/ username / mailbox +.br +.BI /mail/box/ username / mailbox .imp +.br +.BI /mail/box/ username /imap.subscribed +.SH SOURCE +.B /sys/src/cmd/ip/telnetd.c +.br +.B /sys/src/cmd/ip/rlogind.c +.br +.B /sys/src/cmd/ip/rexexec.c +.br +.B /sys/src/cmd/ip/ftpd.c +.br +.B /sys/src/cmd/ip/imap4d/ +.br +.SH "SEE ALSO" +.IR ftpfs (4) diff --git a/static/plan9-4e/man8/kfscmd.8 b/static/plan9-4e/man8/kfscmd.8 new file mode 100644 index 00000000..e2122a6f --- /dev/null +++ b/static/plan9-4e/man8/kfscmd.8 @@ -0,0 +1,198 @@ +.TH KFSCMD 8 +.SH NAME +kfscmd, ksync \- kfs administration +.SH SYNOPSIS +.B disk/kfscmd +.RB [ -n +.IR name ] +cmd ... +.PP +.B disk/ksync +.SH DESCRIPTION +.I Kfs +is a local user-level file server for a Plan 9 terminal with a disk. +.I Kfscmd +transmits commands to the +.I kfs +server (see +.IR kfs (4)). +The +.B -n +option changes the name of the kfs service to +.BI kfs. name +(by default, full name is just +.BR kfs ). +.PP +.I Ksync +executes the +.B sync +command for all active +.I kfs +servers. +.PP +The known commands are described below. +Note that some commands are multiple words and +should be quoted to appear as a single argument to +.IR rc (1). +.TP \w'\fLallowoff\ \fIn'u +.B allow +Turn permission checking off (to simplify administration). +.TP +.B allowoff +.TP +.B disallow +Turn permission checking on. +.TP +.B noauth +Disable authentication of users. +.TP +.B halt +Write all changed blocks and stop the file system. +.TP +.B start +The opposite of halt; restart the file system. +.TP +.B help +Print the list of commands. +.TP +.BI "rename " "file name" +Change the name of +.I file +to +.IR name . +.I Name +may be a single path element or a full path; if it is a full path, +every element along the path must exist except the last. +.TP +.BI "newuser " user +Add +.I user +to +.B /adm/users +and make the standard directories needed for booting. +.TP +.BI "remove " file +Remove +.I file +and place its blocks on the free list. +.TP +.BI "clri " file +Remove +.I file +but do not place the blocks on the free list. +This command can be used to remove files that have duplicated blocks. +The non-duplicate blocks can be retrieved by checking the file system +with option +.B f +(see below). +.TP +.BI create \ file\ owner\ group\ mode\ [adl] +Create the file. Owner and group are users in +.B /adm/users +and mode is an octal number. +If present, +.L a +creates an append only file, +.L d +creates a directory, and +.L l +creates a file that is exclusive-use. +.TP +.B sync +Write to disk all of the dirty blocks in the memory cache. +.TP +.B atime +Toggle whether atimes are updated as files and directories +are accessed. By default, atimes are updated. On laptops it can be +useful to turn off atime updates to reduce disk accesses. +.TP +.B stats +Report statistics about the performance of the file system. +.TP +.B user +Re-initialize authentication information by reading +.BR /adm/users . +.TP +.BI cfs " filsys +Change the `console' to the named file system (default is the main system). +.TP +.B chat +Toggle tracing of 9P messages. +.TP +.B check [PRdfprtw] +Check the file system. +The options are +.PD 0 +.RS +.TP +.B p +print the names of directories as they are checked. +.TP +.B P +print the names of all files as they are checked. +.TP +.B r +read all of the data blocks and check the tags. +.TP +.B f +rebuild the list of free blocks. +.TP +.B d +delete redundant references to a block. +.TP +.B t +fix bad tags. +.TP +.B c +fix bad tags and clear the contents of the block. +.TP +.B w +write all of the blocks that are touched. +.RE +.PD +.TP +.BI listen " [address] +Start a listener to serve the network at +.IR address , +default +.BR il!*!17008 . +This feature is intended to facilitate small networks of a couple +machines in the situation when convenience is more +important than performance. +This command is only useful on machines with +(possibly simulated) NVRAM, which needs to be readable +to the +.I kfs +processes; +see +.I readnvram +in +.IR authsrv (2). +The production file server +(see +.IR fs (4)) +is strongly encouraged for anything more than casual use. +.TP +.B noneattach +When listening to the network, the default behavior is that the user +.B none +may only attach over connections that have already +authenticated as someone else. +This prevents just anyone from being +able to dial your server and attach as +.BR none . +The +.B noneattach +command toggles whether +.B none +can attach without such a chaperone. +.PD +.SH SOURCE +.B /sys/src/cmd/disk/kfscmd.c +.br +.B /$objtype/bin/disk/ksync +.SH "SEE ALSO" +.IR kfs (4), +.IR mkfs (8), +.IR prep (8), +.IR sd (3) diff --git a/static/plan9-4e/man8/listen.8 b/static/plan9-4e/man8/listen.8 new file mode 100644 index 00000000..4e4c5378 --- /dev/null +++ b/static/plan9-4e/man8/listen.8 @@ -0,0 +1,172 @@ +.TH LISTEN 8 +.SH NAME +listen, il7, il9, il19, il565, il566, il17007, il17008, il17009, il17013, il17031, tcp7, tcp9, tcp19, tcp21, tcp23, tcp25, tcp53, tcp110, tcp113, tcp143, tcp513, tcp515, tcp564, tcp565, tcp566, tcp567, tcp993, tcp17007, tcp17009, tcp17013 \- listen for calls on a network device +.SH SYNOPSIS +.B aux/listen +.RB [ -q ] +.RB [ -d +.IR srvdir ] +.RB [ -t +.IR trustsrvdir ] +.RB [ -n +.IR namespace ] +.RI[ net +.RI [ name ]] +.SH DESCRIPTION +.I listen +announces itself to a network as +.I name +(by default the contents of +.BR /env/sysname ) +and listens for inbound calls to local services. +.I Net +is the network protocol on which to listen, by default +.BR /net/il . +The services available are executable files in +.I srvdir +or +.IR trustsrvdir . +If neither +.I srvdir +nor +.I trustsrvdir +is given, +.I listen +looks for executable files in +.BR /bin/service . +Services found in +.I srvdir +are executed as user +.BR none ; +services found in +.I trustsrvdir +as executed as the user who started +.IR listen . +Option +.B -q +suppresses affirmative log information; +option +.B -n +sets an alternate +.I namespace +file (default +.BR /lib/namespace ). +.PP +Service names are made by concatenating the name of +the network with the name of the service or port. +For example, +an inbound call on the TCP network for port 565 executes service +.BR tcp565 . +.PP +The following services are available in +.BR /bin/service . +.TF il17005\ tcp17005 +.TP +.B il19 tcp19 +.B chargen +service. +.TP +.B il17007 tcp17007 +serve a piece of the name space using the Plan 9 file system protocol, +with authentication (typically used by +.IR cpu (1)). +.TP +.B tcp564 +like 17007, without authentication (used by Unix +systems to see Plan 9 files). +.TP +.B il17008 +like 17007, but serves the root of the tree, forgoing the negotiation for which subtree to serve. +.TP +.B il17009 tcp17009 +remote execution. +.TP +.B "il17013 tcp17013" +server for +.IR cpu (1) +command. +.TP +.B il17031 +server for +.IR ramfs (4). +.TP +.B il565 tcp565 +report the address of the incoming call. +.TP +.B tcp21 +FTP daemon +.TP +.B tcp515 +LP daemon; see +.IR lp (8). +.TP +.B tcp23 +.B telnet +terminal connection. +.TP +.B tcp25 +mail delivery. +.TP +.B tcp513 +.B rlogin +terminal connection. +.TP +.B il7 tcp7 +echo any bytes received (bit mirror) +.TP +.B il9 tcp9 +consume any bytes received (bit bucket) +.TP +.B tcp53 +TCP port for DNS. +.TP +.B tcp110 +POP3 port. +.TP +.B tcp143 +IMAP4rev1 port. +.TP +.B tcp113 +.B Ident +port (always reports +.BR none ). +.TP +.B tcp567 +Plan 9 ticket service. +.PD +.PP +The following services are available in +.BR /bin/service.auth . +.TF il565\ tcp565 +.TP +.B tcp566 +check a SecureNet box. +.TP +.B il566 +authentication requests. +.TP +.B tcp993 +Secure IMAP4rev1 port. +.SH FILES +.TF /env/sysname +.TP +.B /net/il +by convention, IL device bind point +.TP +.B /net/tcp +by convention, TCP device bind point +.TP +.B /env/sysname +default announced name +.SH SOURCE +The source to +.I listen +is in +.BR /sys/src/cmd/aux/listen.c . +The other commands are +.IR rc (1) +scripts in +.BR /rc/bin/service . +.SH "SEE ALSO" +.IR authsrv (6), +.IR dial (2) diff --git a/static/plan9-4e/man8/lp.8 b/static/plan9-4e/man8/lp.8 new file mode 100644 index 00000000..f4502bc9 --- /dev/null +++ b/static/plan9-4e/man8/lp.8 @@ -0,0 +1,126 @@ +.TH LP 8 +.SH NAME +lp \- PostScript preprocessors +.SH DESCRIPTION +These programs are part of the +.IR lp (1) +suite. +Each corresponds to a +.I process +in the +.BI -p process +option of +.I lp +and exists as an +.IR rc (1) +script in +.B /sys/lib/lp/process +that provides an interface to a PostScript conversion program in +.BR /$cputype/bin/aux . +The list of processors follows; +after each description is a bracketed list of +.I lp +options to which the processor responds: +.TF \fIp9bitpost\fP +.TP +.I dpost +converts +.IR troff (1) +output for device +.SM post +to PostScript. +This is used for files troff'ed on our +.SM UNIX +systems that do not handle +.SM UTF +characters. +.RB [ DLcimnorxy ] +.TP +.I dvipost +converts +.IR tex (1) +output to PostScript. +.RB [ Lcinor ] +.TP +.I g3post +converts CCITT Group 3 FAX data to PostScript. +.RB [ DLm ] +.TP +.I gifpost +converts GIF image data to PostScript. +.RB [ DLm ] +.TP +.I generic +is the default processor. +It uses +.IR file (1) +to determine the type of input and executes the correct +processor for a given (input, printer) pair. +.TP +.I hpost +adds a header page to the beginning of a PostScript printer +job so that it may be separated from other jobs in the output bin. +The header has the image of the job's owner from the directory of faces (see +.IR face (6)). +Page reversal is also done in this processor. +.TP +.I jpgpost +converts JPEG image data to PostScript. +.RB [ DLm ] +.TP +.I noproc +passes files through untouched. +.TP +.I p9bitpost +.na +converts a Plan 9 image to PostScript, such as +.B /dev/screen +for the whole screen, +.B /dev/window +for that window's data, +and +.B /dev/wsys/.../window +for some other window's data. +.RB [ DLm ] +.ad +.TP +.I pdfpost +converts PDF data to PostScript. +.TP +.I post +passes PostScript through, adding option patches for paper tray information. +This does not always work with PostScript generated on other systems. +.TP +.I ppost +converts +.SM UTF +text to PostScript. +.RB [ DLcfilmnorxy ] +.TP +.I tr2post +converts +.IR troff (1) +output for device +.SM utf +(the default) to PostScript. +See +.B /sys/lib/troff/font/devutf +directory for troff font width table descriptions. +See also the +.B /sys/lib/postscript/troff +directory for mappings of +troff +.SM UTF +character space to PostScript +font space. +.RB [ DLcimnorxy ] +.SH SOURCE +.B /sys/src/cmd/postscript +.SH SEE ALSO +.IR lp (1) +.SH BUGS +The +.I file +command is not always smart enough to deal with certain file +types. +There are PostScript conversion programs that do not have processors to drive them. diff --git a/static/plan9-4e/man8/mk9660.8 b/static/plan9-4e/man8/mk9660.8 new file mode 100644 index 00000000..0f50b7fe --- /dev/null +++ b/static/plan9-4e/man8/mk9660.8 @@ -0,0 +1,231 @@ +.TH MK9660 8 +.SH NAME +dump9660, mk9660 \- create an ISO-9660 CD image +.SH SYNOPSIS +.B disk/mk9660 +[ +.B -:D +] +[ +.B -9cjr +] +[ +.B -b +.I bootfile +] +[ +.B -p +.I proto +] +[ +.B -s +src +] +[ +.B -v +volume +] +.I image +.PP +.B disk/dump9660 +[ +.B -:D +] +[ +.B -9cjr +] +[ +.B -p +.I proto +] +[ +.B -s +src +] +[ +.B -v +volume +] +[ +.B -m +.I maxsize +] +[ +.B -n +.I now +] +.I image +.SH DESCRIPTION +.I Mk9660 +writes to the random access file +.I image +an ISO-9660 CD image containing the +files named in +.I proto +(default +.BR /sys/lib/sysconfig/proto/allproto ) +from the file tree +.I src +(default +.BR / ). +The +.I proto +file is formatted as described in +.IR mkfs (8). +.PP +The created CD image will be in ISO-9660 +format, but by default the file names will +be stored in UTF-8 with no imposed length +or character restrictions. +The +.B -c +flag causes +.I mk9660 +to use only file names in ``8.3'' form +that use digits, letters, and underscore. +File names that do not conform are changed +to +.BI D nnnnnn +(for directories) +or +.BI F nnnnnn +(for files); +a key file +.B _CONFORM.MAP +is created in the root +directory to ease the reverse process. +.PP +If the +.B -9 +flag is given, the system use fields at the end of +each directory entry will be populated with +Plan directory information (owner, group, mode, +full name); this is interpreted by +.IR 9660srv . +.PP +If the +.B -j +flag is given, the usual directory tree is written, +but an additional tree in Microsoft Joliet format is +alos added. +This second tree can contain long Unicode file names, +and can be read by +.I 9660srv +as well as most versions of Windows +and many Unix clones. +The characters +.BR * , +.BR : , +.BR ; , +.BR ? , +and +.B \e +are allowed in Plan 9 file names but not in Joliet file names; +non-conforming file names are translated +and a +.B _CONFORM.MAP +file written +as in the case of the +.B -c +option. +.PP +If the +.B -r +flag is given, Rock Ridge extensions are written in the +format of the system use sharing protocol; +this format provides Posix-style file metadata and is +common on Unix platforms. +.PP +The options +.BR -c , +.BR -9 , +.BR -j , +and +.B -r +may be mixed freely with the exception that +.B -9 +and +.B -r +are mutually exclusive. +.PP +The +.B -v +flag sets the volume title; +if unspecified, the base name of +.I proto +is used. +.PP +The +.B -: +flag causes +.B mk9660 +to replace colons in scanned file names with spaces; +this is the inverse of the map applied by +.IR dossrv (4) +and is useful for writing Joliet CDs containing data +from FAT file systems. +.PP +The +.B -b +option creates a bootable CD. +Bootable CDs contain pointers to floppy images which are +loaded and booted by the BIOS. +.I Bootfile +should be the name of the floppy image to use; +it is a path relative to the root of the created CD. +That is, the boot floppy image must be listed in the +.I proto +file already: +the +.B -b +flag just creates a pointer to it. +.PP +The +.B -D +flag creates immense amounts of debugging output +on standard error. +.PP +.I Dump9660 +is similar in specification to +.I mk9660 +but creates and updates backup CD images in the style of +the +.I dump +file system +(see +.IR fs (4)). +The dump is file-based rather than block-based: +if a file's contents have not changed since the last +backup, only its directory entry will be rewritten. +.PP +The +.B -n +option specifies a time (in seconds since January 1, 1970) +to be used for naming the dump directory. +.PP +The +.B -m +option specifies a maximum size for the image; +if a backup would cause the image to grow larger than +.IR maxsize , +it will not be written, and +.I dump9660 +will exit with a non-empty status. +.SH EXAMPLE +.PP +Create an image of the Plan 9 source tree, +including a conformant ISO-9660 directory tree, +Plan 9 extensions in the system use fields, and +a Joliet directory tree. +.IP +.EX +disk/mk9660 -9cj -s /n/bootes -p plan9proto cdimage +.EE +.SH SOURCE +.B /sys/src/cmd/disk/9660 +.SH "SEE ALSO" +.I 9660srv +(in +.IR dossrv (4)), +.IR cdfs (4), +.IR mkfs (8) diff --git a/static/plan9-4e/man8/mkfs.8 b/static/plan9-4e/man8/mkfs.8 new file mode 100644 index 00000000..796539ab --- /dev/null +++ b/static/plan9-4e/man8/mkfs.8 @@ -0,0 +1,187 @@ +.TH MKFS 8 +.SH NAME +mkfs, mkext \- archive or update a file system +.SH SYNOPSIS +.B disk/mkfs +.RB [ -aprvxU ] +.RB [ -d +.IR root ] +.RB [ -n +.IR name ] +.RB [ -s +.IR source ] +.RB [ -u +.IR users ] +.RB [ -z +.IR n ] +.I proto ... +.PP +.B disk/mkext +.RB [ -d +.IR name ] +.RB [ -u ] +.RB [ -h ] +.RB [ -v ] +.RB [ -x ] +.I file ... +.SH DESCRIPTION +.I Mkfs +copies files from the file tree +.I source +(default +.BR / ) +to a +.B kfs +file system (see +.IR kfs (4)). +The kfs service is mounted on +.I root +(default +.BR /n/kfs ), +and +.B /adm/users +is copied to +.IB root /adm/users\f1. +The +.I proto +files are read +(see +.IR proto (2) +for their format) +and any files specified in them that are out of date are copied to +.BR /n/kfs . +.PP +.I Mkfs +copies only those files that are out of date. +Such a file is first copied into a temporary +file in the appropriate destination directory +and then moved to the destination file. +Files in the +.I kfs +file system that are not specified in the +.I proto +file +are not updated and not removed. +.PP +The options to +.I mkfs +are: +.TF "s source" +.TP +.B a +Instead of writing to a +.B kfs +file system, write an archive file to standard output, suitable for +.IR mkext . +All files in +.IR proto , +not just those out of date, are archived. +.TP +.B x +For use with +.BR -a , +this option writes a list of file names, dates, and sizes to standard output +rather than producing an archive file. +.TP +.BI "d " root +Copy files into the tree rooted at +.I root +(default +.BR /n/kfs ). +This option suppresses setting the +.B uid +and +.B gid +fields when copying files. +Use +.B -U +to reenable it. +.TP +.BI "n " name +Use +.RI kfs. name +as the name of the kfs service (default +.BR kfs ). +.TP +.B p +Update the permissions of a file even if it is up to date. +.TP +.B r +Copy all files. +.TP +.BI "s " source +Copy from files rooted at the tree +.IR source . +.TP +.BI "u " users +Copy file +.I users +into +.B /adm/users +in the new system. +.TP +.B v +Print the names of all of the files as they are copied. +.TP +.BI "z " n +Copy files assuming kfs block +.I n +(default 1024) +bytes long. +If a block contains only 0-valued bytes, it is not copied. +.PD +.PP +.I Mkext +unpacks archive files made by the +.B -a +option of +.IR mkfs . +The +.B -d +option specifies a directory (default +.BR / ) +to serve as the root of the unpacked file system. +The +.B -u +option, to be used only when initializing a new +.IR fs (4) +file system, sets the owners of the files created to correspond to +those in the archive and restores the modification times of the files. +(This is only permitted at the initial load of the files into a file +system.) +Each file on the command line is unpacked in one pass through the archive. +If the file is a directory, +all files and subdirectories of that directory are also unpacked. +When a file is unpacked, the entire path is created if it +does not exist. +If no files are specified, the entire archive is unpacked; +in this case, missing intermediate directories are not created. +The +.B -v +option prints the names and sizes of files as they are extracted; +.B -h +prints headers for the files on standard output +instead of unpacking the files. +.SH EXAMPLES +.PP +Make an archive to establish a new file system: +.IP +.EX +disk/mkfs -a -u files/adm.users -s dist proto > arch +.EE +.PP +Unpack that archive onto a new file system: +.IP +.EX +srv il!newfs +mount -c /srv/il!newfs /n/newfs +disk/mkext -u -d /n/newfs < arch +.EE +.SH SOURCE +.B /sys/src/cmd/disk/mkfs.c +.br +.B /sys/src/cmd/disk/mkext.c +.SH "SEE ALSO" +.IR prep (8), +.IR kfscmd (8), +.IR sd (3) diff --git a/static/plan9-4e/man8/mkpaqfs.8 b/static/plan9-4e/man8/mkpaqfs.8 new file mode 100644 index 00000000..691f4856 --- /dev/null +++ b/static/plan9-4e/man8/mkpaqfs.8 @@ -0,0 +1,52 @@ +.TH MKPAQFS 8 +.SH NAME +mkpaqfs \- make a compressed read-only file system +.SH SYNOPSIS +.B mkpaqfs +[ +.B -u +] [ +.B -b +.I blocksize +] [ +.B -l +.I label +] [ +.B -o +.I file +] [ +.I source +] +.SH DESCRIPTION +.I Mkpaqfs +copies files from the file tree +.I source +(default +.BR . ) +to a the +.IR paqfs (4) +file system archive +.IR file . +.PP +The files and directory structure are divided into +.I blocksize +(default +.BR 4096 ) +byte blocks. +Larger blocks make large files more compact but take longer to access. +.I Blocksize +must be in the range of 512 bytes to 52K bytes. +If the +.B -u +option is set, the blocks are not compressed. +Otherwise each block is compressed using the +.IR flate (2) +compression algorithm. +The +.B -l +option embeds a label of up to 32 bytes within the file header and may be +useful for identifying the file system. +.SH SOURCE +.B /sys/src/cmd/paqfs/mkpaqfs.c +.SH "SEE ALSO" +.IR paqfs (4) diff --git a/static/plan9-4e/man8/mksacfs.8 b/static/plan9-4e/man8/mksacfs.8 new file mode 100644 index 00000000..fbeb11c2 --- /dev/null +++ b/static/plan9-4e/man8/mksacfs.8 @@ -0,0 +1,38 @@ +.TH MKSACFS 8 +.SH NAME +mksacfs \- make a compressed file system +.SH SYNOPSIS +.B disk/mksacfs +.RB [ -u ] +.RB [ -b +.IR blocksize ] +.RB [ -o +.IR file ] +.I source +.SH DESCRIPTION +.I Mksacfs +copies files from the file tree +.I source +(default +.BR . ) +to a the +.IR sacfs (4) +file system archive +.IR file . +.PP +The files and directory structure are divided into +.I blocksize +(default +.BR 4096 ) +byte blocks. +Larger blocks make large files more compact but take longer to access. +.I Blocksize +must be at least 116. +If +.B -u +is given, the blocks are not compressed. +Otherwise each block is compressed using an efficient compression algorithm. +.SH SOURCE +.B /sys/src/cmd/disk/sacfs/mksacfs.c +.SH "SEE ALSO" +.IR sacfs (4) diff --git a/static/plan9-4e/man8/mouse.8 b/static/plan9-4e/man8/mouse.8 new file mode 100644 index 00000000..a3bb52ea --- /dev/null +++ b/static/plan9-4e/man8/mouse.8 @@ -0,0 +1,120 @@ +.TH MOUSE 8 +.SH NAME +aux/mouse, aux/accupoint \- configure a mouse to a port +.SH SYNOPSIS +.B aux/mouse +[ +.B -b +.I baud +] [ +.B -d +.I type +] [ +.B -n +] +.I port +.PP +.B aux/accupoint +.SH DESCRIPTION +.B Mouse +queries a mouse on a serial or PS2 port for +its type and then configures the port and the +mouse to be used to control the cursor. +.PP +.I Port +can be either a port number (e.g. +.B 0 +or +.BR 1 ) +or the string +.B ps2 +or +.BR ps2intellimouse . +The initialization can be automated by setting +.BR mouseport +in +.IR plan9.ini (8), +which will enable a call to +.I mouse +in +.B termrc +(see +.IR cpurc (8)). +.PP +The option +.B -d +provides a default mouse type should +.B mouse +fail to determine it. The +types are: +.IP C +Logitech type C mouse +.IP W +Logitech type W mouse +.IP M +Microsoft compatible mouse +.PP +The +.B -n +flag queries the mouse and reports its type but does not set the device type. +.PP +The +.B -b +flag sets the baud rate for communication; it is effectual only for serial mice. +.SH +.I Accupoint +is a process, to be used with +.IR pipefile (1), +that processes events from an AccuPoint II pointing device +with four buttons, such as on Toshiba Portégé 3440CT and 3480CT +laptops, converting events on the two extra buttons +(which appear as buttons 4 and 5 in the +.IR mouse (3) +interface) into a simulation of button 2. +These extra buttons on laptops are in turn simulations of Intellimouse +scrolling buttons and have peculiar properties: they generate +only `down' events that repeat automatically, like a keypad, in +an approximation of the Intellimouse scroll wheel. +.I Accupoint +overcomes this behavior to produce a reasonable approximation of +a normal mouse button 2: +it makes left button act like a regular button 2, but is slow to release (the +program must wait for a repeat time before it knows the button has been released), +while the right button generates a fast button 2 `click'. +To use +.IR accupoint , +add a line like this to +.B /usr/$user/lib/profile +or to a system-dependent configuration script in +.B termrc +(see +.IR cpurc (8)): +.EX +.IP +pipefile -dr /bin/aux/accupoint /dev/mouse +.EE +.PP +Before running +.IR accupoint , +the mouse should be configured as an +.B intellimouse +or +.BR ps2intellimouse . +.SH SOURCE +.B /sys/src/cmd/aux/mouse.c +.br +.B /sys/src/cmd/aux/accupoint.c +.SH SEE ALSO +.IR cons (3), +.IR cpurc (8), +.IR pipefile (1). +.SH BUGS +Due to the limitations of +.IR pipefile (1), +when running +.I accupoint +it is difficult restart +.IR rio (1) +if it has exited. + + diff --git a/static/plan9-4e/man8/na.8 b/static/plan9-4e/man8/na.8 new file mode 100644 index 00000000..eb0a111e --- /dev/null +++ b/static/plan9-4e/man8/na.8 @@ -0,0 +1,33 @@ +.TH NA 8 +.SH NAME +na \- assembler for the Symbios Logic PCI-SCSI I/O Processors +.SH SYNOPSIS +.B aux/na file +.SH DESCRIPTION +The SYM53C8XX series of PCI-SCSI I/O Processors contain +loadable microcode to control their operation. +The microcode is written in a language called SCRIPTS. +.I Aux/na +is an assembler for the SCRIPTS programming language. +It assembles SCRIPTS code in +.I file +into an array of assembled SCRIPTS +instructions, patches, defines and enums +that can be included in a C device driver. +.SH SOURCE +.TF /sys/src/cmd/aux/na +.TP +.B /sys/src/cmd/aux/na +.SH "SEE ALSO" +Symbios Logic, +``PCI-SCSI I/O Processors Programming Guide Version 2.1'' +.br +.TF /sys/src/9/*/sd53c8xx.c +.TP +.B /sys/src/9/*/sd53c8xx.n +SCRIPTS source code +.TP +.B /sys/src/9/*/sd53c8xx.c +driver for the SYM53C8XX series of PCI-SCSI controllers +.SH AUTHOR +Nigel Roles (ngr@9fs.org) diff --git a/static/plan9-4e/man8/ndb.8 b/static/plan9-4e/man8/ndb.8 new file mode 100644 index 00000000..322a1373 --- /dev/null +++ b/static/plan9-4e/man8/ndb.8 @@ -0,0 +1,459 @@ +.TH NDB 8 +.SH NAME +query, mkhash, mkdb, cs, csquery, dns, dnsquery, ipquery, dnsdebug, mkhosts \- network database +.SH SYNOPSIS +.B ndb/query +[ +.B -f +.I dbfile +] +.I "attr value" +[ +.I rattr +] +.br +.B ndb/ipquery +.I "attr value" +.I rattr... +.br +.B ndb/mkhash +.I "file attr" +.br +.B ndb/cs +[ +.B -n +] [ +.B -f +.I dbfile +] [ +.B -x +.I netmtpt +] +.br +.B ndb/csquery +[ +.B -s +] +[ +.B server +[ +.I addr... +] +] +.br +.B ndb/dns +[ +.B -rs +] [ +.B -f +.I dbfile +] [ +.B -x +.I netmtpt +] +.br +.B ndb/dnsquery +.br +.B ndb/dnsdebug +[ +.B -rx +] +[ [ +.BI @ server +] +.I domain-name +[ +.I type +] ] +.br +.B ndb/mkdb +.SH DESCRIPTION +The network database holds administrative information used by +network programs such as +.IR dhcpd (8), +.IR ipconfig (8), +.IR con (1), +etc. +.PP +.I Ndb/query +searches the database for an attribute of type +.I attr +and value +.IR value . +If +.I rattr +is not specified, all entries matched by the search are returned. +If +.I rattr +is specified, the value of the first pair with attribute +.I rattr +of all the matched entries is returned. +.PP +.I Ndb/ipquery +uses +.I ndbipinfo +(see +.IR ndb (2)) +to search for the values of the attributes +.I rattr +corresponding to the system +with entries of attribute type +.I attr +and +value +.IR value . +.PP +.I Ndb/mkhash +creates a hash file for all entries with attribute +.I attr +in database file +.IR file . +The hash files are used by +.I ndb/query +and by the ndb library routines. +.PP +.I Ndb/cs +is a server used by +.IR dial (2) +to translate network names. +It is started at boot time. +It finds out what networks are configured +by looking for +.B /net/*/clone +when it starts. +It can also be told about networks by writing +to +.B /net/cs +a message of the form: +.IP +.B "add net1 net2 ..." +.PP +.I Ndb/cs +also sets the system name in +.B /dev/sysname +if it can figure it out. +The options are: +.TP +.B -f +supplies the name of the data base file to use, +default +.BR /lib/ndb/local . +.TP +.B -x +specifies the mount point of the +network. +.TP +.B -n +causes cs to do nothing but set the system name. +.PP +.I Ndb/csquery +can be used to query +.I ndb/cs +to see how it resolves addresses. +.I Ndb/csquery +prompts for addresses and prints out what +.I ndb/cs +returns. +.I Server +defaults to +.BR /net/cs . +If any +.I addrs +are specified, +.I ndb/csquery +prints their translations and immediately exits. +The exit status will be nil only if all addresses +were successfully translated +The +.B -s +flag sets exit status without printing any results. +.PP +.I Ndb/dns +is a server used by +.I ndb/cs +and by remote systems to translate Internet domain names. +.I Ndb/dns +is started at boot time. +By default +.I dns +serves only requests written to +.BR /net/dns . +The options are: +.TP +.B -f +supplies the name of the data base file to use, +default +.BR /lib/ndb/local . +.TP +.B -x +specifies the mount point of the +network. +.TP +.B -s +also answer domain requests sent to UDP port 53. +.TP +.B -r +defer to other servers to resolve queries. +.PP +When the +.B -r +option is specified, the servers used come from the +.I dns +attribute in the database. For example, to specify a set of dns servers that +systems on the network +.IR mh-net : +.EX + +ipnet=mh-net ip=135.104.0.0 ipmask=255.255.0.0 + dns=ns1.cs.bell-labs.com + dns=ns2.cs.bell-labs.com +dom=ns1.cs.bell-labs.com ip=135.104.1.11 +dom=ns2.cs.bell-labs.com ip=135.104.1.12 + +.EE +.PP +The server for a domain is indicated by a database entry containing +both a +.I dom +and a +.I ns +attribute. +For example, the entry for the Internet root is: +.EX + +dom= + ns=A.ROOT-SERVERS.NET + ns=B.ROOT-SERVERS.NET + ns=C.ROOT-SERVERS.NET +dom=A.ROOT-SERVERS.NET ip=198.41.0.4 +dom=B.ROOT-SERVERS.NET ip=128.9.0.107 +dom=C.ROOT-SERVERS.NET ip=192.33.4.12 + +.EE +The last three lines provide a mapping for the +server names to their ip addresses. This is only +a hint and will be superseded from whatever is learned +from servers owning the domain. +.PP +The root of a domain subtree served by the local database is indicated +by an entry with an +.B soa +attribute. +For example, the Bell Labs CS research domain is: +.EX + +dom=cs.bell-labs.com soa= + refresh=3600 ttl=3600 + ns=plan9.bell-labs.com + ns=ns1.cs.bell-labs.com + ns=ns2.cs.bell-labs.com + mb=presotto@plan9.bell-labs.com + mx=mail.research.bell-labs.com pref=20 + mx=plan9.bell-labs.com pref=10 + +.EE +Here, the +.B mb +entry is the mail address of the person responsible for the +domain (default +.BR postmaster ). +The +.B mx +entries list mail exchangers for the domain name and +.B refresh +and +.B ttl +define the area refresh interval and the minimum TTL for +records in this domain. +.PP +Delegation of a further subtree to another set of name servers +is indicated by an +.B soa=delegated +attribute. +.EX + +dom=bignose.cs.research.bell-labs.com + soa=delegated + ns=anna.cs.research.bell-labs.com + ns=dj.cs.research.bell-labs.com + +.EE +Nameservers within the delegated domain (as in this example) +must have their IP addresses listed elsewhere in +.I ndb +files. +.PP +Wild-carded domain names can also be used. +For example, to specify a mail forwarder for all Bell Labs research systems: +.EX + +dom=*.research.bell-labs.com + mx=research.bell-labs.com + +.EE +`Cname' aliases may be established by adding a +.B cname +attribute giving the real domain name; +the name attached to the +.B dom +attribute is the alias. +`Cname' aliases are severely restricted; +the aliases may have no other attributes than +.B dom +and are daily further restricted in their use by new RFCs. +.EX + +cname=anna.cs.research.bell-labs.com dom=www.cs.research.bell-labs.com + +.EE +.I Ndb/dnsquery +can be used to query +.I ndb/dns +to see how it resolves requests. +.I Ndb/dnsquery +prompts for commands of the form +.IP +.I "domain-name request-type" +.LP +where +.I request-type +can be +.BR ip , +.BR mx , +.BR ns , +.BR cname , +.BR ptr .... +In the case of the inverse query type, +.BR ptr , +.I dnsquery +will reverse the ip address and tack on the +.B .in-addr.arpa +for you. +.PP +.I Ndb/dnsdebug +is like +.I ndb/dnsquery +but bypasses the local server. +It communicates via UDP with the domain name servers +in the same way that the local resolver would and displays +all packets received. +The query can be specified on the command line or +can be prompted for. +The queries look like those of +.I ndb/dnsquery +with one addition. +.I Ndb/dnsdebug +can be directed to query a particular name server by +the command +.BI @ name-server\f1. +From that point on, all queries go to that name server +rather than being resolved by +.IR dnsdebug . +The +.B @ +command returns query resolution to +.IR dnsdebug . +Finally, any command preceded by a +.BI @ name-server +sets the name server only for that command. +.PP +Normally +.I dnsdebug +uses the +.B /net +interface and the database file +.BR /lib/ndb/local. +The +.B -x +option directs +.I dnsdebug +to use the +.B /net.alt +interface and +.B /lib/ndb/external +file. +The +.B -r +option is the same as for +.IR ndb/dns . +.PP +.I Ndb/mkdb +is used in concert with +.IR awk (1) +scripts to convert +uucp systems files and IP host files +into database files. +It is very specific to the situation at Murray Hill. +.PP +When the database files change underfoot, +.I ndb/cs +and +.I ndb/dns +track them properly. Nonetheless, to keep the database searches efficient +it is necessary to run +.I ndb/mkhash +whenever the files are modified. +It may be profitable to control this by a frequent +.IR cron (8) +job. +.PP +.I Ndb/mkhosts +generates a BSD style +.BR hosts , +.BR hosts.txt , +and +.B hosts.equiv +files from an ndb data base file specified on the +command line (default +.BR /lib/ndb/local ). +For local reasons the files are called +.BR hosts.1127 , +.BR astro.txt , +and +.BR hosts.equiv . +.SH EXAMPLES +.EX +% ndb/query sys helix +sys=helix dom=helix.research.bell-labs.com bootf=/mips/9powerboot + ip=135.104.117.31 ether=080069020427 + proto=il +% ndb/dnsquery +> plan9.bell-labs.com ip +plan9.bell-labs.com ip 204.178.31.2 +> 204.178.31.2 ptr +2.31.178.204.in-addr.arpa ptr plan9.bell-labs.com +2.31.178.204.in-addr.arpa ptr ampl.com +> +.EE +.SH FILES +.TF /lib/ndb/local.*xxx +.TP +.B /lib/ndb/local +first database file searched +.TP +.B /lib/ndb/local.* +hash files for +.B /lib/ndb/local +.TP +.B /srv/cs +service file for +.I ndb/cs +.TP +.B /net/cs +where +.B /srv/cs +gets mounted +.TP +.B /srv/dns +service file for +.I ndb/dns +.TP +.B /net/dns +where +.B /srv/dns +gets mounted +.SH SOURCE +.B /sys/src/cmd/ndb +.SH SEE ALSO +.IR ndb (2) +.IR ndb (6) diff --git a/static/plan9-4e/man8/newuser.8 b/static/plan9-4e/man8/newuser.8 new file mode 100644 index 00000000..2d385245 --- /dev/null +++ b/static/plan9-4e/man8/newuser.8 @@ -0,0 +1,119 @@ +.TH NEWUSER 8 +.SH NAME +newuser \- adding a new user +.SH SYNOPSIS +.B /sys/lib/newuser +.SH DESCRIPTION +To establish a new user on Plan 9, +add the user's name to +.B /adm/users +by running the +.B newuser +command on the console of the file server +(see +.IR users (6) +and +.IR fs (8)). +Next, give the user a password using the +.B changeuser +command on the console of the authentication server +(see +.IR auth (8)). +At this point, the user can bootstrap a terminal using the new name and +password. +The terminal will only get as far as running +.BR rc , +however, as no +.B profile +exists for the user. +.PP +The +.IR rc (1) +script +.B /sys/lib/newuser +sets up a sensible environment for a new user of Plan 9. +Once the terminal is running +.BR rc , +type +.IP +.EX +/sys/lib/newuser +.EE +.PP +to build the necessary directories in +.B /usr/$user +and create a reasonable initial profile in +.BR /usr/$user/lib/profile +and +plumbing rules in +.BR /usr/$user/lib/plumbing +(see +.IR plumber (4)). +The script then runs the profile which, as its last step, brings up +.IR rio (1). +At this point the user's environment is established and running. +(There is no need to reboot.) +It may be prudent at this point to run +.IR passwd (1) +to change the password, depending on how the initial password was chosen. +.PP +The +.B profile +built by +.B /sys/lib/newuser +looks like this: +.IP +.EX +bind -a $home/bin/rc /bin +bind -a $home/bin/$cputype /bin +bind -c tmp /tmp +font = /lib/font/bit/pelm/euro.9.font +switch($service){ +case terminal + plumber + upas/fs + echo -n accelerated > '#m/mousectl' + echo -n 'res 3' > '#m/mousectl' + prompt=('term% ' ' ') + fn term%{ $* } + exec rio +case cpu + if (test -e /mnt/term/mnt/wsys) { + # rio already running + bind -a /mnt/term/mnt/wsys /dev + echo -n $sysname > /dev/label + } + bind /mnt/term/dev/cons /dev/cons + bind /mnt/term/dev/consctl /dev/consctl + bind -a /mnt/term/dev /dev + prompt=('cpu% ' ' ') + fn cpu%{ $* } + upas/fs + news + if (! test -e /mnt/term/mnt/wsys) { + # cpu call from drawterm + font=/lib/font/bit/pelm/latin1.8.font + exec rio + } +case con + prompt=('cpu% ' ' ') + news +} +.EE +.PP +Sites may make changes to +.B /sys/lib/newuser +that reflect the properties of the local environment. +.PP +Use the +.B -c +option of +.IR mail (1) +to create a mailbox. +.SH "SEE ALSO" +.IR passwd (1), +.IR rio (1), +.IR namespace (4), +.IR users (6), +.IR auth (8), +.IR fs (8) diff --git a/static/plan9-4e/man8/nfsserver.8 b/static/plan9-4e/man8/nfsserver.8 new file mode 100644 index 00000000..95394314 --- /dev/null +++ b/static/plan9-4e/man8/nfsserver.8 @@ -0,0 +1,164 @@ +.TH NFSSERVER 8 +.SH NAME +nfsserver, portmapper, pcnfsd, 9auth \- NFS service +.SH SYNOPSIS +.B aux/nfsserver +[ +.I rpc-options... +] +[ +.I nfs-options... +] +.br +.B aux/pcnfsd +[ +.I rpc-options... +] +.br +.B aux/portmapper +[ +.I rpc-options... +] +.SH DESCRIPTION +These programs collectively provide NFS access to Plan 9 file servers. +.IR Nfsserver , +.IR pcnfsd , +and +.I portmapper +run on a Plan 9 CPU server, and should be started in that order. +All users on client machines have the +access privileges of the Plan 9 user +.LR none . +.PP +The +.I rpc-options +are all intended for debugging: +.nr zz \w'\f5-a\f2 addr'+2n/1n +.TP \n(zz +.B -r +Reject: answer all RPC requests by returning the +.B AUTH_TOOWEAK +error. +.TP +.B -v +Verbose: show all RPC calls and internal program state, including 9P messages. +(In any case, the program creates a file +.BI /srv/ name .chat +where +.I name +is that of the program; echoing +.L 1 +or +.L 0 +into this file sets or clears the +.B -v +flag dynamically.) +.TP +.B -D +Debug: show all RPC messages (at a lower level than +.BR -v ). +This flag may be repeated to get more detail. +.TP +.B -C +Turn off caching: do not answer RPC requests using the +RPC reply cache. +.PP +The +.I nfs-options +are: +.TP \n(zz +.BI -a " addr" +Set up NFS service for the 9P server at network address +.IR addr . +.TP +.BI -f " file" +Set up NFS service for the 9P server at +.I file +(typically an entry in +.BR /srv ). +.TP +.B -n +Do not allow per-user authentication. +.TP +.BI -c " file" +.I File +contains the uid/gid map configuration. It is read at startup +and subsequently every hour (or if +.L c +is echoed into +.BR /srv/nfsserver.chat ). +Blank lines or lines beginning with +.L # +are ignored; lines beginning with +.L ! +are executed as commands; otherwise lines contain four fields +separated by white space: a regular expression (in the notation of +.IR regexp (6)) +for a class of servers, a regular expression for +a class of clients, a file of user id's (in the format of a Unix +password file), and a file of group id's (same format). +.PP +NFS clients must be in the Plan 9 +.B /lib/ndb +database. +The machine name is deduced from the IP address via +.BR ndb/query . +The machine name specified in the NFS Unix credentials +is completely ignored. +.PP +.I Pcnfsd +is a toy program that authorizes PC-NFS clients. All clients +are mapped to uid=1, gid=1 +.RB ( daemon +on most systems) regardless of name or password. +.SH EXAMPLES +A simple +.B /lib/ndb/nfs +might contain: +.PP +.EX +!9fs tcp!ivy +\&.+ [^.]+\e.cvrd\e.hall\e.edu /n/ivy/etc/passwd /n/ivy/etc/group +.EE +.PP +A typical entry in +.B /rc/bin/cpurc +might be: +.PP +.EX +aux/nfsserver -a il!bootes -a il!fornax -c /lib/ndb/nfs +aux/pcnfsd +aux/portmapper +.EE +.PP +Assuming the cpu server's name is +.BR eduardo , +the mount commands on the client would be: +.PP +.EX +/etc/mount -o soft,intr eduardo:bootes /n/bootes +/etc/mount -o soft,intr eduardo:fornax /n/fornax +.EE +.PP +Note that a single instance of +.I nfsserver +may provide access to several 9P servers. +.SH FILES +.TF /lib/ndb/nfs +.TP +.B /lib/ndb/nfs +List of uid/gid maps. +.TP +.B /sys/log/nfs +Log file. +.SH SOURCE +.B /sys/src/cmd/9nfs +.SH BUGS +It would be nice to provide authentication for users, but Unix systems +provide too low a level of security to be trusted in a Plan 9 world. +.SH SEE ALSO +RFC1057, +.I "RPC: Remote Procedure Call Protocol Specification, Version 2." +.br +RFC1094, +.I "NFS: Network File System Protocol Specification." diff --git a/static/plan9-4e/man8/pcmcia.8 b/static/plan9-4e/man8/pcmcia.8 new file mode 100644 index 00000000..027a7f99 --- /dev/null +++ b/static/plan9-4e/man8/pcmcia.8 @@ -0,0 +1,23 @@ +.TH PCMCIA 8 +.SH NAME +pcmcia \- identify a PCMCIA card +.SH SYNOPSIS +.B aux/pcmcia +[ +.I file +] +.SH DESCRIPTION +.B Aux/pcmcia +translates the PCMCIA information structure from +.I file +(default +.BR #y/pcm0attr ) +into a readable description and writes it to +standard output. +.SH FILES +.TF #y/pcm0attr +.TP +.B #y/pcm0attr +The attribute memory of the card in the PCMCIA slot. +.SH SOURCE +.B /sys/src/cmd/aux/pcmcia.c diff --git a/static/plan9-4e/man8/ping.8 b/static/plan9-4e/man8/ping.8 new file mode 100644 index 00000000..a78ba99c --- /dev/null +++ b/static/plan9-4e/man8/ping.8 @@ -0,0 +1,146 @@ +.TH PING 8 +.SH NAME +ping, gping, traceroute, hogports \- probe the Internet +.SH SYNOPSIS +.B ping +[ +.B -d +] [ +.B -i +.I interval +] [ +.B -s +.I size +] [ +.B -n +.I count +] +.I destination +.PP +.B gping +[ +.B -r +] [ +.B -l +] [ +.B -i +.I interval +] +.I destination +[ +.I destination +\&... ] +.PP +.B traceroute +[ +.B -dn +][ +.B -t +.I tries +] +.I dest +.PP +.B hogports +.B [\fImtpt\fP/]\fIproto\fP!\fIaddress\fP!\fIstartport\fP[-\fIendport\fP] +.SH DESCRIPTION +.I Ping +sends ICMP echo requests to a system and returns the time +for a response. It can be used to determine the network delay +and whether or not the destination is up. +.PP +The options are: +.TP +.B n +requests that a total of +.I count +messages be sent, default 32. +.TP +.B i +sets the time between messages +to be +.I interval +milliseconds, default 1000 ms. +.TP +.B s +sets the length of the message to be +.I size +bytes, ICMP header included. +The size cannot be smaller than 32 or +larger than 8192. The default is +64. +.TP +.B d +causes message numbers to be printed +so that one can see the order with which +messages are received and which are lost. +.PP +.I Gping +is a +.I ping +with a graphical display. It +presents separate graphs for each destination +specified. +.PP +The options are: +.TP +.B r +display round trip time in seconds. +This is the default. +.TP +.B l +display percentage of lost messages. +A message is considered lost if not +replied to in 10 seconds. The percentage +is an exponentially weighted average. +.TP +.B i +sets the time between messages +to be +.I interval +milliseconds, default 5000 ms. +.PP +Graphs can be dropped and added using +the button 3 menu. Clicking button 1 +on a datapoint displays the value of the +datapoint and the time it was recorded. +.PP +.I Traceroute +displays the IP addresses and average round trip times to all +routers between the machine it is run on and +.IR dest . +It does this by sending packets to +.I dest +with increasing times to live (TTL) in their headers. +Each router that a packet expires at replies with an ICMP +warning message. +The options are: +.TP +.B d +print debugging to standard error +.TP +.B n +just print out IP numbers, don't try to +look up the names of the routers. +.TP +.B t +send +.I tries +packets at each TTL value (default 1). +.PP +.I Hogports +announces on a range of ports to keep them from other processes. +For example, to keep anyone from making a vncserver visible on +the network mounted at +.BR /net.alt : +.EX + + ip/hogports /net.alt/tcp!*!5900-5950 +.EE +.SH SOURCE +.B /sys/src/cmd/ip/ping.c +.br +.B /sys/src/cmd/ip/gping.c +.br +.B /sys/src/cmd/ip/traceroute.c +.br +.B /sys/src/cmd/ip/hogports.c diff --git a/static/plan9-4e/man8/plan9.ini.8 b/static/plan9-4e/man8/plan9.ini.8 new file mode 100644 index 00000000..6cfb2b55 --- /dev/null +++ b/static/plan9-4e/man8/plan9.ini.8 @@ -0,0 +1,815 @@ +.TH PLAN9.INI 8 +.SH NAME +plan9.ini \- configuration file for PCs +.SH SYNOPSIS +.I none +.SH DESCRIPTION +When booting Plan 9 on a PC, the DOS program +.IR 9load (8) +first reads a DOS file +containing configuration information from the boot disk. +This file, +.BR plan9.ini , +looks like a shell script containing lines of the form +.PP +.EX + name=\f2value\fP +.EE +.LP +each of which defines a kernel or device parameter. +.PP +For devices, the generic format of +.I value +is +.PP +.EX + type=TYPE [port=N] [irq=N] [mem=N] [size=N] [dma=N] [ea=N] +.EE +.LP +specifying the controller type, +the base I/O port of the interface, its interrupt +level, the physical starting address of any mapped memory, +the length in bytes of that memory, the DMA channel, +and for Ethernets an override of the physical network address. +Not all elements are relevant to all devices; the relevant values +and their defaults are defined below in the description of each device. +.PP +The file is used by +.B 9load +and the kernel to configure the hardware available. +The information it contains is also passed to the boot +process, and subsequently other programs, +as environment variables +(see +.IR boot (8)). +However, values whose names begin with an asterisk +.B * +are used by the kernel and are not converted into environment variables. +.PP +The following sections describe how variables are used. +.SS \fLetherX=value\fP +This defines an Ethernet interface. +.IR X , +a unique monotonically increasing number beginning at 0, +identifies an Ethernet card to be probed at system boot. +Probing stops when a card is found or there is no line for +.BR etherX+1 . +After probing as directed by the +.BI ether X +lines, any remaining ethernet cards that can be automatically +detected are added. +Almost all cards can be automatically detected. +This automatic probing is only done by the kernel, not by +.IR 9load (8). +Thus, if you want to load a kernel over the ethernet, you need +to specify an +.B ether0 +line so that +.I 9load +can find the ethernet card, even if the kernel would +have automatically detected it. +.PP +Some cards are software configurable and do not require all options. +Unspecified options default to the factory defaults. +.PP +Known types are +.TP +.B ne2000 +Not software configurable. 16-bit card. +Defaults are +.EX + port=0x300 irq=2 mem=0x04000 size=0x4000 +.EE +The option (no value) +.B nodummyrr +is needed on some (near) clones to turn off a dummy remote read in the driver. +.TP +.B amd79c970 +The AMD PCnet PCI Ethernet Adapter (AM79C970). +(This is the ethernet adapter used by VMware.) +Completely configurable, no options need be given. +.TP +.B wd8003 +Includes WD8013 and SMC Elite and Elite Ultra cards. There are varying degrees +of software configurability. Cards may be in either 8-bit or 16-bit slots. +Defaults are +.EX + port=0x280 irq=3 mem=0xD0000 size=0x2000 +.EE +BUG: On many machines only the 16 bit card works. +.TP +.B elnk3 +The 3COM Etherlink III series of cards including the 5x9, 59x, and 905 and 905B. +Completely configurable, no options need be given. +The media may be specified by setting +.B media= +to the value +.BR 10BaseT , +.BR 10Base2 , +.BR 100BaseTX , +.BR 100BaseFX , +.BR aui , +and +.BR mii . +If you need to force full duplex, because for example the Ethernet switch does not negotiate correctly, +just name the word (no value) +.B fullduplex +or +.BR 100BASE-TXFD . +Similarly, to force 100Mbit operation, specify +.BR force100 . +Port 0x110 is used for the little ISA configuration dance. +.TP +.B 3c589 +The 3COM 3C589 series PCMCIA cards, including the +3C562 and the 589E. +There is no support for the modem on the 3C562. +Completely configurable, no options need be given. +Defaults are +.EX + port=0x240 irq=10 +.EE +The media may be specified as +.B media=10BaseT +or +.BR media=10Base2 . +.TP +.B ec2t +The Linksys Combo PCMCIA EthernetCard (EC2T), +EtherFast 10/100 PCMCIA cards (PCMPC100) and integrated controllers (PCM100), +the Netgear FA410TX 10/100 PCMCIA card +and the Accton EtherPair-PCMCIA (EN2216). +Completely configurable, no options need be given. +Defaults are +.EX + port=0x300 irq=9 +.EE +These cards are NE2000 clones. +Other NE2000 compatible PCMCIA cards may be tried +with the option +.EX + id=string +.EE +where +.B string +is a unique identifier string contained in the attribute +memory of the card (see +.IR pcmcia (8)); +unlike most options in +.BR plan9.ini , +this string is case-sensitive. +The option +.B dummyrr=[01] +can be used to turn off (0) or on (1) a dummy remote read in the driver +in such cases, +depending on how NE2000 compatible they are. +.TP +.B i82557 +Cards using the Intel 8255[789] Fast Ethernet PCI Bus LAN Controller such as the +Intel EtherExpress PRO/100B. +Completely configurable, no options need be given. +If you need to force the media, specify +one of the options (no value) +.BR 10BASE-T , +.BR 10BASE-2 , +.BR 10BASE-5 , +.BR 100BASE-TX , +.BR 10BASE-TFD , +.BR 100BASE-TXFD , +.BR 100BASE-T4 , +.BR 100BASE-FX , +or +.BR 100BASE-FXFD . +.TP +.B 2114x +Cards using the Digital Equipment (now Intel) 2114x PCI Fast Ethernet Adapter Controller, +for example the Netgear FA310. +Completely configurable, no options need be given. +Media can be specified the same was as for the +.BR i82557 . +Some cards using the +.B PNIC +and +.B PNIC2 +near-clone chips may also work. +.\" .TP +.\" .B ga620 +.\" Netgear GA620 and GA620T Gigabit Ethernet cards, +.\" and other cards using the Alteon Acenic chip such as the +.\" Alteon Acenic fiber and copper cards, +.\" the DEC DEGPA-SA and the SGI Acenic. +.\" Completely configurable. +.TP +.B wavelan +Lucent Wavelan (Orinoco) IEEE 802.11b +and compatible PCMCIA cards. +Compatible cards include the Dell TrueMobile 1150 +and the Linksys Instant Wireless Network PC Card. +Port and IRQ defaults are 0x180 and 3 respectively. + +These cards take a number of unique options to aid in +identifying the card correctly on the 802.11b network. +The network may be +.I "ad hoc" +or +.I managed +(i.e. use an access point): +.EX + mode=[adhoc, managed] +.EE +and defaults to +.IR managed . +The 802.11b network to attach to +.RI ( managed +mode) +or identify as +.RI ( "ad hoc" +mode), +is specified by +.EX + essid=string +.EE +and defaults to a null string. +The card station name is given by +.EX + station=string +.EE +and defaults to +.IR "Plan 9 STA" . +The channel to use is given by +.EX + channel=number +.EE +where +.I number +lies in the range 1 to 16 inclusive; +the channel is normally negotiated automatically. + +If the card is capable of encryption, +the following options may be used: +.EX + crypt=[off, on] +.EE +and defaults to +.IR on . +.EX + key\fIN\fP=string +.EE +sets the encryption key +.I n +(where +.I n +is in the range 1 to 4 inclusive) to +.IR string ; +this will also set the transmit key to +.I n +(see below). +.EX + txkey=number +.EE +sets the transmit key to use to be +.I number +in the range 1 to 4 inclusive. +If it is desired to exclude or include unencrypted packets +.EX + clear=[off, on] +.EE +configures reception and defaults to inclusion. + +The defaults are intended to match the common case of +a managed network with encryption and a typical entry would +only require, for example +.EX + essid=left-armpit key2=fishcalledraawaru +.EE +if the port and IRQ defaults are used. +These options may be set after boot by writing to the device's +.I ctl +file using a space as the separator between option and value, e.g. +.EX + echo 'key2 fishcalledraawaru' > /net/ether0/0/ctl +.EE +.TP +.B wavelanpci +PCI ethernet adapters that use the same Wavelan +programming interface. +Currently the only tested cards are those based on the +Intersil Prism 2.5 chipset. +.TP +.B 83815 +National Semiconductor DP83815-based adapters, notably +the Netgear FA311, Netgear FA312, and various SiS built-in +controllers such as the SiS900. +On the SiS controllers, the ethernet address is not detected properly; +specify it with an +.B ea= +attribute. +.\" .TP +.\" .B 83820 +.\" National Semiconductor DP83820-based gigabit ethernet adapters, notably +.\" the D-Link DGE-500T. +.TP +.B rtl8139 +The Realtek 8139. +.TP +.B 82543gc +The Intel RS-82543GC gigabit ethernet controller, +as found on the Intel PRO/1000[FT] server adapter. +The older non-[FT] cards based on the 82542 (LSI L2A1157) +chip are not supported, although support would probably be +easy to add. +.TP +.B smc91cxx +SMC 91cXX chip-based PCMCIA adapters, notably the SMC EtherEZ card. +.TP +.B sink +A +.B /dev/null +for ethernet packets \(em the interface discards sent +packets and never receives any. +This is used to provide a test bed for +some experimental ethernet bridging software. +.SS \fLusbX=type=uhci port=xxx irq=xxx\fP +This specifies the settings for a USB UHCI controller. +Like the ethernet controllers, USB controllers are autodetected +after scanning for the ones listed in +.IR plan9.ini . +Thus, most systems will not need a +.B usbX +line. +.SS \fLscsiX=value\fP +This defines a SCSI interface which cannot be automatically detected +by the kernel. +.PP +Known types are +.TP +.B aha1542 +The Adaptec 154x series of controllers (and clones). +Almost completely configurable, only the +.EX + port=0x300 +.EE +option need be given. +.PP +NCR/Symbios/LSI Logic 53c8xx-based adapters +and Mylex MultiMaster (Buslogic BT-*) adapters are +automatically detected and need no entries. +.PP +By default, the NCR 53c8xx driver searches for up to 32 controllers. +This can be changed by setting the variable +.BR *maxsd53c8xx . +.PP +By default the Mylex driver resets SCSI cards by using +both the hard reset and SCSI bus reset flags in the driver interface. +If a variable +.BR *noscsireset +is defined, the SCSI bus reset flag is omitted. +.SS Uarts +Plan 9 automatically configures COM1 and COM2, if found, +as +.B eia0 +(port 0x3F8, IRQ4) +and +.B eia1 +(port 0x2F8, IRQ3) +respectively. +These devices can be disabled by adding a line: +.EX + eia\fIX\fP=disabled +.EE +This is typically done in order to reuse the IRQ for +another device. +.PP +Plan 9 used to support various serial concentrators, +including the TTC 8 serial line card and various models +in the Star Gate Avanstar series of intelligent serial boards. +These are no longer supported; the much simpler +Perle PCI-Fast4, PCI-Fast8, and PCI-Fast16 controllers +have taken their places. +These latter cards are automatically detected +and need no configuration lines. +.PP +The line +.B serial=type=com +can be used to specify settings for a PCMCIA modem. +.SS \fLmouseport=value\fP +This specifies where the mouse is attached. +.I Value +can be +.TP +.B ps2 +the PS2 mouse/keyboard port. The BIOS setup procedure +should be used to configure the machine appropriately. +.TP +.B ps2intellimouse +an Intellimouse on the PS2 port. +.TP +.B 0 +for COM1 (currently not supported) +.TP +.B 1 +for COM2 (currently not supported) +.SS \fLmodemport=value\fP +Picks the UART line to call out on. +This is used when connecting to a file server over +an async line. +.I Value +is the number of the port. +.SS \fLpcmciaX=type=XXX irq=value\fP +If the default IRQ for the +PCMCIA +is correct, this entry can be omitted. The value of +.B type +is ignored. +.SS \fLconsole=value params\fP +This is used to specify the console device. +The default +value is +.BR cga ; +a number +.B 0 +or +.B 1 +specifies +.I COM1 +or +.I COM2 +respectively. +A serial console is initially configured with the +.IR uart (3) +configuration string +.B b9600 +.B l8 +.B pn +.BR s1 , +specifying 9600 baud, +8 bit bytes, no parity, and one stop bit. +If +.I params +is given, it will be used to further +configure the uart. +Notice that there is no +.B = +sign in the +.I params +syntax. +For example, +.EX + console=0 b19200 po +.EE +would use COM1 at 19,200 baud +with odd parity. +.SS \fLbootfile=value\fP +This is used to direct the actions of +.IR 9load (8) +by naming the device and file from which to load the kernel. +.SS \fLrootdir=dir\fP +.SS \fLrootspec=spec\fP +These are used by +.IR 9load (8) +to identify the directory +.I dir +to make the root directory for the kernel, and the +file system specifier +.I spec +(see +.B mount +in +.IR bind (2)) +on which it can be found. +These are usually used to test variant file systems for distributions, etc. +.SS \fLbootargs=value\fP +The value of this variable is passed to +.IR boot (8) +by the kernel as the name of the root file system. +For example, if the system is to run from a local +.IR kfs (4) +partition, the definition might read +.BR bootargs=local!#S/sdC0/fs . +.SS \fLcfs=value\fP +This gives the name of the file holding the disk partition +for the cache file system, +.IR cfs (4). +Extending the +.B bootargs +example, one would write +.BR cfs=#S/sdC0/cache . +.SS \fLbootdisk=value\fP +This deprecated variable was used to specify the disk used by +the cache file system and other disk-resident services. +It is superseded by +.B bootargs +and +.BR cfs . +.SS \fLpartition=value\fP +This defines the partition table +.IR 9load (8) +will examine to find disk partitioning information. +By default, a partition table in a Plan 9 partition +is consulted; if no such table is found, an old-Plan 9 +partition table on the next-to-last or last sector +of the disk is consulted. +A value of +.B new +consults only the first table, +.B old +only the second. +.SS \fL*maxmem=value\fP +This defines the maximum physical address that the system will scan when sizing memory. +By default the operating system will scan up to 768 megabytes, but setting +.B *maxmem +will limit the scan. +If the system has more than 768 megabytes, you must set +.B *maxmem +for the kernel to find it. +.B *maxmem +must be less than 1.75 gigabytes. +.SS \fL*kernelpercent=value\fP +This defines what percentage of available memory is reserved for the kernel allocation pool. +The remainder is left for user processes. The default +.I value +is +.B 30 +on CPU servers, +.B 60 +on terminals with less than 16MB of memory, +and +.B 40 +on terminals with memories of 16MB or more. +Terminals use more kernel memory because +.IR draw (3) +maintains its graphic images in kernel memory. +This deprecated option is rarely necessary in newer kernels. +.SS \fL*nomce=value\fP +If machine check exceptions are supported by the processor, +then they are enabled by default. +Setting this variable to +.B 1 +causes them to be disabled even when available. +.SS \fL*nomp=value\fP +A multiprocessor machine will enable all processors by default. +Setting +.B *nomp +restricts the kernel to starting only one processor and using the +traditional interrupt controller. +.SS \fL*ncpu=value\fP +Setting +.B *ncpu +restricts the kernel to starting at most +.I value +processors. +.SS \fL*pcimaxbno=value\fP +This puts a limit on the maximum bus number probed +on a PCI bus (default 255). +For example, a +.I value +of 1 should suffice on a 'standard' motherboard with an AGP slot. +This, and +.B *pcimaxdno +below are rarely used and only on troublesome or suspect hardware. +.SS \fL*pcimaxdno=value\fP +This puts a limit on the maximum device number probed +on a PCI bus (default 31). +.\" .SS \fL*nobios=\fP +.\" what does this do? something with pci +.SS \fLioexclude=value\fP +Specifies a list of ranges I/O ports to exclude from use by drivers. +Ranges are inclusive on both ends and separated by commas. +For example: +.EX + ioexclude=0x330-0x337,0x430-0x43F +.EE +.SS \fLapm0=\fP +This enables the ``advanced power management'' interface +as described in +.IR apm (3) +and +.IR apm (8). +The main feature of the interface is the ability to watch +battery life (see +.IR stats (8)). +It is not on by default because it causes problems on some laptops. +.SS \fLmonitor=value\fP +.SS \fLvgasize=value\fP +These are used not by the kernel but by +.I termrc +(see +.IR cpurc (8)) +when starting +.IR vga (8). +.SS \fL*dpms=value\fP +This is used to specify the screen blanking behavior of the MGA4xx +video driver. +Values are +.BR standby , +.BR suspend , +and +.BR off . +The first two specify differing levels of power saving; +the third turns the monitor off completely. +.SS \fLnvr=value\fP +This is used by a file server kernel to locate a file holding information +to configure the file system. +The file cannot live on a SCSI disk. +The default is +.B fd!0!plan9.nvr +(sic), +unless +.B bootfile +is set, in which case it is +.B plan9.nvr +on the same disk as +.BR bootfile . +The syntax is either +.BI fd! unit ! name +or +.BI hd! unit ! name +where +.I unit +is the numeric unit id. +This variant syntax is a vestige of the file server kernel's origins. +.SS \fLaudioX=value\fP +This defines a sound interface. +.PP +Known types are +.TP +.B sb16 +Sound Blaster 16. +.TP +.B ess1688 +A Sound Blaster clone. +.PP +The DMA channel may be any of 5, 6, or 7. +The defaults are +.EX + port=0x220 irq=7 dma=5 +.EE +.SS \fLfs=a.b.c.d\fP +.SS \fLauth=a.b.c.d\fP +These specify the IP address of the file and authentication server +to use when mounting a network-provided root file system. +They are used only if the addresses cannot be determined via DHCP. +.SH Multiple Configurations +.PP +A +.B plan9.ini +file may contain multiple configurations, +each within a block beginning with a line +.EX + [tag] +.EE +A special block with the tag +.B menu +gives a list of blocks from which the user may +interactively select the contents of +.BR plan9.ini . +There may also be multiple blocks with the tag +.B common +which will be included in all selections; +if any lines appear in +.B plan9.ini +before the first block, +they are treated as a +.B common +block. +.LP +Within the +.B menu +block the following configuration lines are allowed: +.SS \fLmenuitem=tag[, description] +The block identified by +.B tag +will appear in the presented menu. +The menu entry will consist of the +.B tag +unless the optional +.B description +is given. +.SS \fLmenudefault=tag[, timeout] +Identifies a default block to be given in the +menu selection prompt. +If the optional +.B timeout +is given (in seconds), +the default block will be selected if there is no user +input within the timeout period. +.SS \fLmenuconsole=value[, baud] +Selects a serial console upon which to present the menu +as no +.B console +or +.B baud +configuration information will have been processed yet +(the +.B plan9.ini +contents are still to be decided...). +.LP +In response to the menu being printed, +the user is prompted to select a menu item from the list. +If the numeric response is followed by a +.BR p , +the selected configuration is printed and the menu presented +again. +.LP +The line +.EX + menuitem=tag +.EE +is prefixed to the selected configuration as an aid to +user-level initialization scripts. +.SH EXAMPLES +.PP +A representative +.BR plan9.ini : +.IP +.EX +% cat /n/c:/plan9.ini +ether0=type=3C509 +mouseport=ps2 +modemport=1 +serial0=type=generic port=0x3E8 irq=5 +monitor=445x +vgasize=1600x1200x8 +% +.EE +.PP +Minimum CONFIG.SYS and AUTOEXEC.BAT files to use +COM2 as a console: +.IP +.EX +% cat /n/c:/config.sys +SHELL=COMMAND.COM COM2 /P +% cat /n/c:/autoexec.bat +@ECHO OFF +PROMPT $p$g +PATH C:\eDOS;C:\eBIN +mode com2:96,n,8,1,p +SET TEMP=C:\eTMP +% +.EE +.PP +Simple +.B plan9.ini +with multiple configurations: +.IP +.EX +[menu] +menuitem=vga, Plan 9 with VGA +menuitem=novga, Plan 9 no automatic VGA +menudefault=vga + +[vga] +monitor=multisync135 +vgasize=1024x768x8 + +[novga] + +[common] +ether0=type=i82557 +audio0=type=sb16 port=0x220 irq=5 dma=1 +.EE +.PP +With this, the following menu will be presented on boot: +.IP +.EX +Plan 9 Startup Menu: +==================== + 1. Plan 9 with VGA + 2. Plan 9 no automatic VGA +Selection[default==1]: +.EE +.PP +Selecting item 1 generates the following +.B plan9.ini +to be used by the remainder of the bootstrap process: +.IP +.EX +menuitem=vga +monitor=multisync135 +vgasize=1024x768x8 +ether0=type=i82557 +audio0=type=sb16 port=0x220 irq=5 dma=1 +.EE +.PP +and selecting item 2: +.IP +.EX +menuitem=novga +ether0=type=i82557 +audio0=type=sb16 port=0x220 irq=5 dma=1 +.EE +.SH "SEE ALSO" +.IR 9load (8), +.IR booting (8), +.IR boot (8) +.SH BUGS +Being able to set the console device to other than a +display is marginally useful on file servers; MS-DOS +and the programs which run under it are so tightly bound +to the display that it is necessary to have a display if any +setup or reconfiguration programs need to be run. +Also, the delay before any messages appear at boot time +is disconcerting, as any error messages from the BIOS +are lost. +.PP +This idea is at best an interesting experiment that needs another iteration. diff --git a/static/plan9-4e/man8/ppp.8 b/static/plan9-4e/man8/ppp.8 new file mode 100644 index 00000000..28e250bf --- /dev/null +++ b/static/plan9-4e/man8/ppp.8 @@ -0,0 +1,275 @@ +.TH PPP 8 +.SH NAME +ppp, pppoe, pptp, pptpd \- point to point protocol +.SH SYNOPSIS +.B ip/ppp +[ +.B -CPScdfu +][ +.B -b +.I baud +][ +.B -m +.I mtu +][ +.B -p +.I dev +][ +.B -s +.IR username : secret +][ +.B -x +.I netmntpt +][ +.B -t +.I modemcmd +] +[ +.I local +[ +.I remote +] ] +.PP +.B ip/pppoe +[ +.B -m +.I mtu +] +[ +.B -P +] +[ +.B -d +] +[ +.B -s +.IR username : secret +] +[ +.B -x +.I pppnetmntpt +] +.I etherdir +.PP +.B ip/pptp +[ +.B -P +] +[ +.B -d +] +[ +.B -s +.IR username : secret +] +[ +.B -w +.I window +] +[ +.B -x +.I pppnetmntpt +] +.I server +.PP +.B ip/pptpd +[ +.B -d +] [ +.B -p +.I pppnetmtpt +] [ +.B -w +.I window +] [ +.B -D +.I fraction +] +.I tcp-dir +.SH DESCRIPTION +The Point to Point Protocol is used to encapsulate Internet Protocol packets +for transfer over serial lines or other protocol connections. +.I Ppp +can run either as a client or, with the +.I \-S +option, as a server. The only differences between a client and a server is +that the server will not believe any local address the client tries to +supply it and that the server always initiates the authentication of the +client. +.PP +With no option, +.I ppp +communicates with the remote system via standard input and output. +This is useful if a program wants to use +.I ppp +in a communications stream. However, the normal mode is to +specify a communications device, usually a serial line with a modem. +.PP +PPP supports the following options: +.TP +.B p +communicate over +.I dev +instead of standard I/O +.TP +.B u +before starting the PPP porotcol with the remote end, shuttle +bytes between the device and standard I/O until an EOF on standard +input. This allows a user to start +.I ppp +and then type commands at a modem before +.I ppp +takes over +.TP +.B b +set the baud rate on the communications device +.TP +.B f +make PPP add HDLC framing. This is necessary when using +PPP over a serial line or a TCP connection +.TP +.B m +set the maximum transfer unit (default 1450) +.TP +.B P +use this as the primary IP interface; set the default +route through this interface and write it's configuration +to +.B /net/ndb +.TP +.B s +supplies the user name and secret +to be used in authenticating to the remote side. +The +.I username +is optional, the default being the local user id. +We support both PPP CHAP and MS CHAP +.TP +.B S +run as a server +.TP +.B x +use the IP stack mounted at +.I netmntpt +.TP +.B t +before starting the PPP protocol, write +.I modemcmd +to the device +.TP +.B c +disallow packet compression +.TP +.B C +disallow ip header compression +.PD +.PP +If both the +.I local +and +.I remote +addresses are specified, don't ask the other end for either +or believe it if it supplies one. If either is missing, get +it from the remote end. +.PP +.I Pppoe +is a PPP over ethernet (PPPoE) client. +It invokes +.I ppp +to start a PPP conversation which is +tunneled in PPPoE packets on +the ethernet device mounted at +.I etherdir +(default +.BR /net/ether0 ). +The options are: +.TP +.B A +insist on an access concentrator named +.I acname +during PPPoE discovery +.TP +.B S +insist on a service named +.I srvname +during PPPoE discovery +.TP +.B d +write debugging output to standard error, +and pass +.B -d +to +.I ppp +.TP +.B m +pass +.B -m +.I mtu +to +.IR ppp , +default 1492 +.TP +.B s +pass +.B -s +.IR username : secret +to +.I ppp +.TP +.B x +pass +.B -x +.I pppnetmntpt +to +.I ppp +.PD +.PP +.I Pptp +is a client for a PPTP encrypted tunnel. +.I Server +is the name of the server to dial. +.I Pptp +takes the same options as +.IR pppoe , +except for the lack of a +.B -m +option and the addition of a +.B -w +option. +The +.B -w +option specifies the local send window size +(default 16) in packets. +.PP +.I Pptpd +is the server side of a PPTP encrypted tunnel. +.I Tcpdir +is the directory of a TCP connection to the client. +The TCP connection is used to control the tunnel while +packets are sent back and forth using PPP inside of +GRE packets. +The options are: +.TP +.B d +write debugging output to standard error. +.TP +.B p +use the IP stack mounted at +.I pppnetmtpt +to terminate the PPP connection. +.TP +.B w +set the receive window to +.IR window . +.TP +.B D +drop +.I fraction +of the received packets. This is used for testing. +.PD +.SH SOURCE +.B /sys/src/cmd/ip/ppp +.br +.B /sys/src/cmd/ip/pptpd.c +.br +.B /sys/src/cmd/ip/pppoe.c diff --git a/static/plan9-4e/man8/prep.8 b/static/plan9-4e/man8/prep.8 new file mode 100644 index 00000000..e2b945bf --- /dev/null +++ b/static/plan9-4e/man8/prep.8 @@ -0,0 +1,657 @@ +.TH PREP 8 +.SH NAME +prep, fdisk, format, mbr \- prepare hard and floppy diskettes, flashes +.SH SYNOPSIS +.B disk/prep +[ +.B -abcfnprw +] +[ +.B -s +.I sectorsize +] +.I plan9partition +.PP +.B disk/fdisk +[ +.B -abfprw +] +[ +.B -s +.I sectorsize +] +.I disk +.PP +.B disk/format +[ +.B -dfvx +] +[ +.B -b +.I bootblock +] +[ +.B -c +.I csize +] +[ +.B -l +.I label +] +[ +.B -r +.I nresrv +] +[ +.B -t +.I type +] +.I disk +[ +.IR file ... +] +.PP +.B disk/mbr +[ +.B -m +.I mbrfile +] +.SH DESCRIPTION +A partition table is stored on a hard disk to specify the division of +the physical disk into a set of logical units. +On PCs, the partition table is stored at the end of the master boot record +of the disk. +Partitions of type +.B 0x39 +are Plan 9 partitions. +The names of PC partitions are chosen by convention from the type: +.BR dos , +.BR plan9 , +etc. +Second and subsequent partitions of the same type on a given disk are given +unique names by appending a number (or a period and a number if the name +already ends in a number). +.PP +Plan 9 partitions (and Plan 9 disks on non-PCs) are +themselves divided, using a textual partition table, called the Plan 9 partition table, in the second +sector of the partition (the first is left for architecture-specific boot data, such as PC boot blocks). +The table is a sequence of lines of the format +.BI part " name start end" \fR, +where +.I start +and +.I end +name the starting and ending sector. +Sector 0 is the first sector of the Plan 9 partition or disk, +regardless of its position in a larger disk. +Partition extents do not contain the ending sector, +so a partition from 0 to 5 and a partition from 5 to 10 +do not overlap. +.PP +The Plan 9 partition often contains a number of +conventionally named subpartitions. +They include: +.TF cache +.TP +.B 9fat +A small FAT file system used to hold +configuration information +(such as +.B plan9.ini +and +.BR plan9.nvr ) +and kernels. +This typically begins in the first sector +of the partition, and contains the partition +table as a ``reserved'' sector. +See the discussion of the +.B -r +option to +.IR format . +.TP +.B cache +A +.IR cfs (4) +file system cache. +.TP +.B fs +A +.IR kfs (4) +file system. +.TP +.B swap +A +.IR swap (8) +swap partition. +.PD +.PP +.I Fdisk +edits the PC partition table and is usually +invoked with a disk like +.B /dev/sdC0/data +as its argument, while +.I prep +edits the Plan 9 partition table +and is usually invoked with a disk partition +like +.B /dev/sdC0/plan9 +as its argument. +.I Fdisk +works in units of disk ``cylinders'': the cylinder +size in bytes is printed when +.I fdisk +starts. +.I Prep +works in units of disk sectors, which are almost always 512 bytes. +.I Fdisk +and +.I prep +share most of their options: +.TP +.B -a +Automatically partition the disk. +.I Fdisk +will create a Plan 9 +partition in the largest unused area on the disk, +doing nothing if a +Plan 9 partition already exists. +If no other partition on the disk is marked active (i.e. marked as the boot partition), +.I fdisk +will mark the new partition active. +.I Prep +will create +.BR 9fat , +.BR swap , +and +.B fs +partitions, doing +nothing if the disk +has already been partitioned. +If the +.B -c +option is present, +.I prep +will also create a +.B cache +partition. +If the +.B -n +option is present, +.I prep +will create a one-sector +.B nvram +partition. +.TP +.B -b +Start with a blank disk, ignoring any extant partition table. +.TP +.B -p +Print a sequence of commands that when sent to the disk device's +.B ctl +file +will bring the partition +table information kept by +the +.IR sd (3) +driver up to date. +Then exit. +.I Prep +will check to see if it is being called with a disk partition +(rather than an entire disk) as its argument; if so, it +will translate the printed sectors by the partition's offset +within the disk. +Since +.I fdisk +operates on a table of unnamed partitions, +it assigns names based on the partition type +(e.g., +.BR plan9 , +.BR dos , +.BR ntfs , +.BR linux , +.BR linuxswap ) +and resolves collisions by appending a numbered suffix. +(e.g., +.BR dos , +.BR dos.1 , +.BR dos.2 ). +.TP +.B -r +In the absence of the +.B -p +and +.B -w +flags, +.I prep +and +.I fdisk +enter an interactive partition editor; +the +.B -r +flag runs the editor in read-only mode. +.TP +.BI -s " sectorsize" +Specify the disk's sector size. +In the absence of this flag, +.I prep +and +.I fdisk +look for a disk +.B ctl +file and read it to find the disk's sector size. +If the +.B ctl +file cannot be found, a message is printed and +a sector size of 512 bytes is assumed. +.TP +.B -w +Write the partition table to the disk and exit. +This is useful when used in conjunction with +.B -a +or +.BR -b . +.PP +If neither the +.B -p +flag nor the +.B -w +flag is given, +.I prep +and +.I fdisk +enter an interactive partition editor that +operates on named partitions. +The PC partition table distinguishes between +primary partitions, which can be listed in the boot +sector at the beginning of the disk, +and secondary (or extended) partitions, arbitrarily +many of which may be chained together in place +of a primary partition. +Primary partitions are named +.BR p \fIn\fR, +secondary partitions +.BR s \fIn\fR. +The number of primary partitions plus number of contiguous chains of +secondary partitions cannot exceed four. +.PP +The commands are as follows. +In the descriptions, read ``sector'' as ``cylinder'' when using +.IR fdisk . +.TP +.B "a\fR \fIname\fR [ \fIstart\fR [ \fIend\fR ] ]" +Create a partition named +.I name +starting at sector offset +.I start +and ending at offset +.IR end . +The new partition will not be created if +it overlaps an extant partition. +If +.I start +or +.I end +are omitted, +.I prep +and +.I fdisk +will prompt for them. +.I Start +and +.I end +may be expressions using the operators +.BR + , +.BR - , +.BR * , +and +.BR / , +numeric constants, and the +pseudovariables +.B . +and +.BR $ . +At the start of the program, +.B . +is set to zero; each time a partition is +created, it is set to the end sector +of the new partition. +It can also be explicitly set using the +.B . +command. +When evaluating +.IR start , +.B $ +is set to one past the last disk sector. +When evaluating +.IR end , +.B $ +is set to the maximum value that +.I end +can take on without running off the disk +or into another partition. +Finally, the expression +.IB n % +evaluates to +.RI ( n × disksize )/100. +As an example, +.B a +.B . +.B .+20% +creates a new partition starting at +.B . +that takes up a fifth of the disk, +and +.B a +.B 1000 +.B $ +creates a new partition starting at +sector 1000 and +extending as far as possible. +.TP +.B ".\fR \fInewdot" +Set the value of the variable +.B . +to +.IR newdot , +which is an arithmetic expression as described +in the discussion of the +.B a +command. +.TP +.BI d " name" +Delete the named partition. +.TP +.B h +Print a help message listing command synopses. +.TP +.B p +Print the disk partition table. +Unpartitioned regions are also listed. +The table consists of a number of lines containing +partition name, beginning and ending sectors, +and total size. +A +.B ' +is prefixed to the names of partitions +whose entries have been modified but not written to disk. +.I Fdisk +adds to the end of each line a textual partition type, +and places a +.B * +next to the name of the active partition +(see the +.B A +command below). +.TP +.B P +Print the partition table in the format accepted by the disk's +.B ctl +file, which is also the format of the output of the +.B -p +option. +.TP +.B w +Write the partition table to disk. +.I Prep +will also inform the kernel of the changed +partition table. +The write will fail if any programs have any +of the disk's partitions open. +If the write fails (for this or any other reason), +.I prep +and +.I fdisk +will attempt to restore the partition table to +its former state. +.TP +.B q +Quit the program. +If the partition table has been modified but not written, +a warning is printed. +Typing +.B q +again will quit the program. +.PP +.I Fdisk +also has the following commands. +.TP +.BI A " name" +Set the named partition active. +The active partition is the one whose boot block is used +when booting a PC from disk. +.TP +.B e +Print the names of empty slots in the partition table, i.e., the +valid names to use when creating a new partition. +.PD +.PP +.I Format +prepares for use the floppy diskette or hard disk partition in the file named +.IR disk , +for example +.B /dev/fd0disk +or +.BR /dev/sdC0/9fat . +The options are: +.TP +.B -f +Do not physically format the disc. Used +to install a FAT file system on a +previously formatted disc. If +.I disk +is not a floppy device, this flag is a no-op. +.TP +.B -t +specify a density and type of disk to be prepared. +The possible +.I types +are: +.RS +.TP +.B 3½DD +3½" double density, 737280 bytes +.TP +.B 3½HD +3½" high density, 1474560 bytes +.TP +.B 5¼DD +5¼" double density, 368640 bytes +.TP +.B 5¼HD +5¼" high density, 1146880 bytes +.TP +.B hard +fixed disk +.PD +.PP +The default when +.I disk +is a floppy drive is the highest possible on the device. +When +.I disk +is a regular file, the default is +.BR 3½HD . +When +.I disk +is an +.IR sd (3) +device, the default is +.BR hard . +.RE +.TP +.B -d +initialize a FAT file system on the +.IR disk . +.TP +.B -b +use the contents of +.I bootblock +as a bootstrap block +to be installed in sector 0. +.PD +.PP +The remaining options have effect only when +.B -d +is specified: +.TP +.B -c +use a FAT cluster size of +.I csize +sectors when creating the FAT. +.TP +.B -l +add a +.I label +when creating the FAT file system. +.TP +.BI -r +mark the first +.I nresrv +sectors of the partition as ``reserved''. +Since the first sector always contains the +FAT parameter block, this really marks +the +.IR nresrv -1 +sectors starting at sector 1 as ``reserved''. +When formatting the +.B 9fat +partition, +.B -r +.B 2 +should be used to jump over the partition table sector. +.PD +.PP +Again under +.BR -d , +any +.I files +listed are added, in order, +to the root +directory of the FAT file system. The files are +contiguously allocated. +If a file is named +.BR 9load , +it will be created with the +.B SYSTEM +attribute set so that +.IR dossrv (4) +keeps it contiguous when modifying it. +.PP +.I Format +checks for a number of common mistakes; in particular, +it will refuse to format a +.B 9fat +partition unless +.B -r +is specified with +.I nresrv +larger than two. +It also refuses to format a raw +.IR sd (3) +partition that begins at offset zero in the disk. +(The beginning of the disk should contain an +.I fdisk +partition table with master boot record, +not a FAT file system or boot block.) +Both checks are disabled by the +.B -x +option. +The +.B -v +option prints debugging information. +.PP +The file +.B /386/pbs +is an example of a suitable +.I bfile +to make the disk a boot disk. +It gets loaded by the BIOS at 0x7C00, +reads the root directory into address 0x7E00, and looks at +the first root directory entry. +If that file is called +.BR 9LOAD , +it uses +single sector reads to load the file into address 0x10000 and then +jumps to the loaded file image. +The file +.B /386/pbslba +is similar, but because it uses LBA addressing (not supported +by all BIOSes), it can access more than the first 8.5GB of the disk. +.PP +.I Mbr +installs a new boot block in sector 0 (the master boot record) +of a disk such as +.BR /dev/sdC0/data . +This boot block should not be confused with the +boot block used by +.IR format , +which goes in sector 0 of a partition. +Typically, the boot block in the master boot record +scans the PC partition table to find an active +partition and then executes the boot block for +that partition. +The partition boot block then loads a bootstrap +program such as +.IR 9load (8), +which then loads the operating system. +If MS-DOS or Windows 9[58] is already installed +on your hard disk, the master boot record +already has a suitable boot block. +Otherwise, +.B /386/mbr +is an appropriate +.IR mbrfile . +It detects and uses LBA addressing when available +from the BIOS (the same could not +be done in the case of +.B pbs +due to space considerations). +If the +.I mbrfile +is not specified, a boot block is installed that +prints a message explaining that the disk is not bootable. +.SH EXAMPLES +Initialize the kernel disk driver with the partition information +from the FAT boot sectors. +If Plan 9 partitions exist, pass that partition information as well. +.IP +.EX +for(disk in /dev/sd??) { + if(test -f $disk/data && test -f $disk/ctl) + disk/fdisk -p $disk/data >$disk/ctl + for(part in $disk/plan9*) + if(test -f $part) + disk/prep -p $part >$disk/ctl +} +.EE +.PP +Create a Plan 9 boot floppy on a previously formatted diskette: +.IP +.EX +disk/format -b /386/pbs -df /dev/fd0disk /386/9load /tmp/plan9.ini +.EE +.PP +Initialize the blank hard disk +.BR /dev/sdC0/data . +.IP +.EX +disk/mbr -m /386/mbr /dev/sdC0/data +disk/fdisk -baw /dev/sdC0/data +disk/prep -baw /dev/sdC0/plan9 +disk/format -b /386/pbs -d -r 2 /dev/sdC0/9fat 9load 9pcdisk plan9.ini +.EE +.PP +.SH SOURCE +.B /sys/src/cmd/disk/prep +.br +.B /sys/src/boot/pc +.SH SEE ALSO +.IR floppy (3), +.IR sd (3), +.IR 9load (8) +.SH BUGS +.I Format +can create FAT12 and FAT16 +file systems, but not FAT32 file systems. +The boot block can only read from +FAT12 and FAT16 file systems. diff --git a/static/plan9-4e/man8/qer.8 b/static/plan9-4e/man8/qer.8 new file mode 100644 index 00000000..93d6ed6a --- /dev/null +++ b/static/plan9-4e/man8/qer.8 @@ -0,0 +1,226 @@ +.TH QER 8 +.SH NAME +qer, runq \- queue management for spooled files +.SH SYNOPSIS +.B qer +[ +.B -q +.I subdir +] +[ +.B -f +.I file +] +.I root tag reply args +.br +.B runq +[ +.B -adsE +] +[ +.B -f +.I file +] +[ +.B -q +.I subdir +] +[ +.B -l +.I load +] +[ +.B -t +.I time +] +[ +.B -r +.I nfiles +] +[ +.B -n +.I nprocs +] +.I root cmd +.SH DESCRIPTION +.I Qer +creates a control and a data file in a queue directory. +The control file contents consist of the +.IR tag , +.IR reply , +and +.I args +separated by spaces. +The data file contains the standard input to +.IR qer . +The files are created in the directory +.IR root / subdir , +where +.I subdir +is the argument to +.B -q +if present, else the contents of +.BR /dev/user . +The names of the control and data files differ only +in the first character which is `C' and `D' respectively. +.IR Mktemp (2) +is used to create the actual names of the control and +data file. +.P +Some commands, such as +.I fax +(see +.IR telco (4)), +must queue more files than just the data file. +Each +.I file +following a +.B \-f +flag is copied into the queue directory. The names +of the copies differ from the name of the data file +only in the first character. The first one is +starts with 'F', the second 'G', etc. +.P +.I Runq +processes the files queued by +.IR qer . +Without the +.B -a +option, +.I runq +processes all requests in the directory +.IR root / subdir , +where +.I subdir +is the argument to +.B -q +if present, else the contents of +.BR /dev/user . +With the +.B -a +it processes all requests. +Each request is processed by executing the command +.I cmd +with the contents of the control file as its arguments, +the contents of the data file as its standard input, and +standard error appended to the error file +.BR E.XXXXXX . +.P +The action taken by +.I runq +depends on the return status of +.IR cmd . +If +.I cmd +returns a null status, the processing is assumed successful and the +control, data, and error files are removed. +If +.I cmd +returns an error status containing the word +.LR Retry , +the files are left to be reprocessed at a later time. +For any other status, an error message is mailed +to the requester and the files are removed. +.I Runq +uses the +.I reply +field in the control file as +a mail address to which to send an error notification. +The notification contains the contents of the control +file to identify the failed request. +.P +To avoid reprocessing files too often, the following algorithm is used: +a data file younger than one hour will not be processed if its +error file exists and was last modified within the preceding 10 minutes. +A data file older than one hour will not be processed if its error +file exists and was last modified within the preceding hour. +The +.B -E +flag causes all files to be reprocessed regardless of +the file times. +.P +The +.B -d +option causes debugging output on standard error +describing the progress through the queues. +.P +The +.B -t +flags specifies the number of hours +that retries will continue after a send +failure. The default is 48 hours. +.P +The +.BR -r +flag limits the number of files that are processed in a single pass of a queue. +.I Runq +accumulates the entire directory containing a queue before processing any +files. When a queue contains many files and the system does not +have enough memory, +.I runq +exits without making progress. This flag forces +.I runq +to process the directory in chunks, allowing the queue to +be drained incrementally. It is most useful in combination with the +.I -q +flag. +.P +The +.BR -s , +.BR -n , +and +.B -l +flags are only meaningful with the +.B -a +flag. They control amount of parallelism that +is used when sweeping all of the queues. The argument following the +.B -n +flag specifies the number of queues that are swept +in parallel; the default is 50. The argument following the +.B -l +flag specifies the total number of queues that are being swept. +By default, there is no limit. The number of active sweeps +is cumulative over all active executions of +.IR runq . +The +.B -s +flag forces each queue directory to be processed by exactly +one instance of +.IR runq . +This is useful on systems that connect to slow +external systems and prevents all the queue sweeps from +piling up trying to process a few slow systems. +.PP +.I Runq +is often called from +.IR cron (8) +by an entry such as +.IP +.EX +0,10,20,30,40,50 * * * * kremvax + runq -a /mail/queue /mail/lib/remotemail +.EE +.LP +The entry must be a single line; it is folded here only so it fits on the page. +.SH FILES +.TF \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX +.TP +.B \fIroot\fP/\fIuser\fP +queue directory for +.I user +.TP +.B \fIroot\fP/\fIuser\fP/D.XXXXXX +data file +.TP +.B \fIroot\fP/\fIuser\fP/C.XXXXXX +control file +.TP +.B \fIroot\fP/\fIuser\fP/E.XXXXXX +error file +.TP +.B \fIroot\fP/\fIuser\fP/[F-Z].XXXXXX +secondary data files +.SH SOURCE +.B /sys/src/cmd/upas/q +.SH "SEE ALSO" +.IR mail (1) diff --git a/static/plan9-4e/man8/rdarena.8 b/static/plan9-4e/man8/rdarena.8 new file mode 100644 index 00000000..071011ab --- /dev/null +++ b/static/plan9-4e/man8/rdarena.8 @@ -0,0 +1,30 @@ +.TH RDARENA 8 +.SH NAME +rdarena \- extract a Venti arena +.SH SYNOPSIS +.B venti/rdarena +[ +.B -v +] +.I venti.config +.I arena +.SH DESCRIPTION +.I Rdarena +extracts the named +.I arena +from the Venti system described by the +.IR venti.conf (6) +file +.I venti.config +and writes this arena to standard output. +This command is typically used to back up an arena to external media. +The +.B -v +option generates more verbose output on standard error. +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti (8) +.SH BUGS +There is currently no way to restore a Venti system from a collection of extracted +arenas. diff --git a/static/plan9-4e/man8/reboot.8 b/static/plan9-4e/man8/reboot.8 new file mode 100644 index 00000000..0dd8f4d5 --- /dev/null +++ b/static/plan9-4e/man8/reboot.8 @@ -0,0 +1,20 @@ +.TH REBOOT 8 +.SH NAME +reboot \- reboot the system upon loss of remote file server connection +.SH SYNOPSIS +.B aux/reboot +[ +.I file +] +.SH DESCRIPTION +.I Reboot +stats +.IR file , +default +.BR /$\fIcputype\fP/init , +once a minute. If the stat times out, +.I reboot +reboots the system. This is used to restart diskless cpu +servers whenever their file server connection is broken. +.SH SOURCE +.B /sys/src/cmd/aux/reboot.c diff --git a/static/plan9-4e/man8/replica.8 b/static/plan9-4e/man8/replica.8 new file mode 100644 index 00000000..fa578c2a --- /dev/null +++ b/static/plan9-4e/man8/replica.8 @@ -0,0 +1,303 @@ +.TH REPLICA 8 +.SH NAME +applychanges, applylog, compactdb, updatedb \- simple client-server replica management +.SH SYNOPSIS +.B replica/compactdb +.I db +.br +.B replica/updatedb +[ +.B -cl +] +[ +.B -p +.I proto +] +[ +.B -r +.I root +] +[ +.B -t +.I now +.I n +] +[ +.B -u +.I uid +] +[ +.B -x +.I path +] ... +.I db +.br +.B replica/applylog +[ +.B -cnsuv +] +.I clientdb +.I clientroot +.I serverroot +[ +.I path ... +] +.br +.B replica/applychanges +[ +.B -nuv +] +[ +.B -p +.I proto +] +[ +.B -x +.I path +] ... +.I clientdb +.I clientroot +.I serverroot +[ +.I path ... +] +.SH DESCRIPTION +These four tools collectively provide simple log-based +client-server replica management. +The shell scripts described in +.IR replica (1) +provide a more polished interface. +.PP +Both client and server maintain textual databases of file system +metadata. Each line is of the form +.sp 0.5 +\h'0.25i' +.I path +.I mode +.I uid +.I gid +.I mtime +.I length +.sp 0.5 +Later entries for a +.I path +supersede previous ones. +A line with the string +.B REMOVED +in the +.I mode +field annuls all previous entries for that +.IR path . +The entries in a file are typically kept sorted by +.I path +but need not be. +These properties facilitate updating the database atomically +by appending to it. +.I Compactdb +reads in a database and writes out an equivalent one, +sorted by path and without outdated or annulled records. +.PP +A replica is further described on the server by a textual +log listing creation and deletion of files and changes +to file contents and metadata. +Each line is of the form: +.sp 0.5 +\h'0.25i' +.I time +.I gen +.I verb +.I path +.I serverpath +.I mode +.I uid +.I gid +.I mtime +.I length +.sp 0.5 +The +.I time +and +.I gen +fields are both decimal numbers, providing an ordering +for log entries so that incremental tools need not process +the whole log each time they are run. +The +.IR verb , +a single character, +describes the event: +addition of a file +.RB ( a ), +deletion of a file +.RB ( d ), +a change to a file's contents +.RB ( c ), +or a change to a file's metadata +.RB ( m ). +.I Path +is the file path on the client; +.I serverpath +the path on the server (these are different when the +optional fifth field in a proto file line is given; +see +.IR proto (2)). +.IR Mode , +.IR uid , +.IR gid , +and +.I mtime +are the files metadata as in the +.B Dir +structure (see +.IR stat (5)). +For deletion events, the metadata is that of the deleted file. +For other events, the metadata is that after the event. +.PP +.I Updatedb +scans the file system rooted at +.I root +for changes not present in +.IR db , +noting them by appending new entries to the database +and by writing log events to standard output. +The +.B -c +option causes +.I updatedb +to consider only file and metadata changes, ignoring file additions and deletions. +By default, the log events have +.I time +set to the current system time +and use incrementing +.I gen +numbers starting at 0. +The +.B -t +option can be used to specify a different time and starting number. +If the +.B -u +option is given, all database entries and log events will use +.I uid +rather than the actual uids. +The +.B -x +option (which may be specified multiple times) excludes the named path +and all its children from the scan. +If the +.B -l +option is given, the database is not changed and the +.I time +and +.I gen +fields are omitted from the log events; +the resulting output is intended to be a human-readable +summary of file system activity since the last scan. +.PP +.I Applylog +is used to propagate changes from server to client. +It applies the changes listed in a log +(read from standard input) +to the file system rooted at +.IR clientroot , +copying files when necessary from the file system rooted at +.IR serverroot . +By default, +.I replapplylog +does not attempt to set the uid on files; the +.B -u +flag enables this. +.I Applylog +will not overwrite local changes made to replicated files. +When it detects such conflicts, by default it prints an error describing +the conflict and takes no action. +If the +.B -c +flag is given, +.I replapplylog +still takes no action, but does so silently and will not +report the conflicts in the future. +(The conflict is resolved in favor of the client.) +If the +.B -s +flag is given, +.I replapplylog +overwrites the local changes. +(The conflict is resolved in favor of the server.) +.PP +.I Applychanges +is, in some sense, the opposite of +.IR applylog ; +it scans the client file system for changes, and applies +those changes to the server file system. +.I Applychanges +will not overwrite remote changes made to replicated files. +For example, if a file is copied from server to client and subsequently +changed on both server and client, +.I applychanges +will not copy the client's new version to the server, because +the server also has a new version. +.I Applychanges +and +.I applylog +detect the same conflicts; to resolve conflicts reported by +.IR applychanges , +invoke +.I applylog +with the +.B -c +or +.B -s +flags. +.SH EXAMPLE +One might +keep a client kfs file system up-to-date +against a server file system using these tools. +First, connect to a CPU server with a high-speed +network connection to the file server and scan +the server file system, updating the server database and log: +.EX + repl=$home/lib/replica + proto=/sys/lib/sysconfig/proto/portproto + db=$repl/srv.portproto.db + log=$repl/srv.portproto.log + + 9fs $fs + replica/updatedb -p $proto -r /n/$fs -x $repl $db >>$log + replica/compactdb $db >/tmp/a && mv /tmp/a $db +.EE +.PP +Then, update the client file system: +.EX + repl=$home/lib/replica + db=$repl/cli.portproto.db + log=$repl/srv.portproto.log + + 9fs $fs + 9fs kfs + replica/applylog $db /n/kfs /n/$fs <$log + replica/compactdb $db >/tmp/a && mv /tmp/a $db +.EE +.PP +The +.B $repl +directory is excluded from the sync so that multiple +clients can each have their own local database. +The shell scripts in +.B /rc/bin/replica +are essentially a further development of this example. +.PP +The Plan 9 distribution update program +operates similarly, but omits the first scan; +it is assumed that the Plan 9 developers run +scans manually when the distribution +file system changes. +The manual page +.IR replica (1) +describes this in full. +.SH SEE ALSO +.IR replica (1) +.SH BUGS +These tools assume that +.I mtime +combined with +.I length +is a good indicator of changes to a file's contents. diff --git a/static/plan9-4e/man8/scanmail.8 b/static/plan9-4e/man8/scanmail.8 new file mode 100644 index 00000000..ce639f72 --- /dev/null +++ b/static/plan9-4e/man8/scanmail.8 @@ -0,0 +1,447 @@ +.TH SCANMAIL 8 +.SH NAME +scanmail, testscan \- spam filters +.SH SYNOPSIS +.B upas/scanmail +[ +.I options +] +[ +.I qer-args +] +.I root +.B mail +.I sender system rcpt-list +.PP +.B upas/testscan +[ +.B -avd +] +[ +.B -p +.I patfile +] +[ +.I filename +] +.SH DESCRIPTION +.B Scanmail +accepts a mail message supplied on standard input, +applies a file of patterns to a portion of it, +and dispatches +the message based +on the results. +It exactly replaces the +generic queuing command +.IR qer (8) +that is executed from the +.IR rc (1) +script +.B /mail/lib/qmail +in the mail processing pipeline. +Associated with each pattern is an +.I action +in order of decreasing priority: +.in +5 +.TP 10 +.B dump +the message is deleted and a log entry is written to +.B /sys/log/smtpd +.TP 10 +.B hold +the message is placed in a queue for human inspection +.TP +.B log +a line containing the matching portion of the message is written to a log +.in -5 +.PP +If no pattern matches or only patterns with an action of +.B log +match, the message is accepted and +.I scanmail +queues the message for delivery. +.I Scanmail +meshes with the blocking facilities +of +.IR smtpd (6) +to provide several layers of +filtering on gateway systems. In all cases the sender +is notified that the message has been successfully +delivered, +leaving the sender unaware that the message has been potentially delayed or deleted. +.PP +.I Scanmail +accepts the arguments of +.IR qer (8) +as well as the following: +.TF filename +.TP +.B -c +Save a copy of each message in a +randomly-named file in +directory +.BR /mail/copy . +.TP +.B -d +Write debugging information to standard error. +.TP +.B -h +Queue +.I held +messages by sending domain name. +The +.B -q +option must specify a root directory; messages +are queued in subdirectories of this directory. +If the +.B -h +option is not specified, +messages are accumulated in a subdirectory of +.B /mail/queue.hold +named for the contents of +.BR /dev/user , +usually +.BR none . +.TF filename +.TP +.B -n +Messages are never held for inspection, but are delivered. Also known as +.IR "vacation mode" . +.TP +.BI -p " filename" +Read the patterns from +.I filename +rather than +.BR /mail/lib/patterns . +.TP +.BI -q " holdroot" +Queue deliverable messages in subdirectories of +.IR holdroot . +This option is the same as the +.B -q +option of +.IR qer (8) +and must be present if the +.B -h +option is given. +.TP +.B -s +Save deleted +messages. Messages are stored, one per randomly-named file, +in subdirectories of +.B /mail/queue.dump +named with the date. +.TP +.B -t +Test mode. The pattern matcher is applied but the message is +discarded and the result is not logged. +.TP +.B -v +Print the highest priority match. +This is useful +with the +.B -t +option for testing the pattern matcher without actually +sending a message. +.PD +.PP +.I Testscan +is the command line version of +.IR scanmail . +If +.I filename +is missing, it applies the pattern set to +the message on standard input. Unlike +.IR scanmail , +which finds the highest priority match, +.I testscan +prints all matches in the portion of the message under test. +It is useful for testing a pattern set or +implementing a personal filter +using the +.B pipeto +file in a user's mail directory. +.I Testscan +accepts the following options: +.TP +.B -a +Print matches in the complete input message +.TP +.B -d +Enable debug mode +.TP +.B -v +Print the message after conversion to canonical form +.RI ( q.v. ). +.TP +.BI -p " filename" +Read the patterns from +.I filename +rather than +.BR /mail/lib/patterns . +.SS Canonicalization +Before pattern matching, both programs convert a portion of +the message header and the beginning of the +message to a canonical form. The amount of the header +and message body processed are set by +compile-time parameters in the source files. +The canonicalization process converts letters to lower-case and +replaces consecutive spaces, tabs and newline characters +with a single space. HTML commands are +deleted except for the parameters following +.B A +.BR HREF , +.B IMG +.BR SRC , +and +.B IMG +.B BORDER +directives. Additionally, the following MIME escape sequences +are replaced by their ASCII +equivalents: +.PP +.EX + Escape Seq ASCII + ---------- ----- + =2e . + =2f / + =20 <space> + =3d = +.EE +and the sequence +.I =<newline> +is elided. +.I Scanmail +assembles the sender, destination domain and recipient fields of +the command line into a string that is +subjected to the same canonical processing. +Following canonicalization, the command line and +the two long strings containing +the header and the message body are passed to the +matching engine for analysis. +.SS Pattern Syntax +The matching engine compiles the pattern set +and matches it to each canonicalized input string. +Patterns are specified one per line +as follows: +.PP +.EX + {*}\fIaction\fP: \fIpattern-spec\fP {~~\fIoverride\fP...~~\fIoverride\fP} +.EE +.PP +On all lines, a +.B # +introduces a comment; there is no way to escape this character. +.PP +Lines beginning with +.B * +contain a +.I pattern-spec +that is a string; otherwise, the the +.I pattern-spec +is a regular expression in the style of +.IR regexp (6). +Regular expression matching is many +times less efficient than string matching, so it is +wiser to enumerate several similar strings +than to combine them into a regular expression. +The +.I action +is a keyword terminated by a +.B : +and separated from the pattern by optional white-space. +It must be one of the following: +.TP 10 +.B dump +if the pattern matches, the message is deleted. If the +.B -s +command line option is set, the message is saved. +.TP 10 +.B hold +if the pattern matches, the message is queued in a subdirectory +of +.B /mail/queue.hold +for manual inspection. After inspection, the queue can be swept +manually using +.B runq +(see +.IR qer (8)) +to deliver messages that were inadvertently matched. +.TP 10 +.B header +this is the same as the +.B hold +action, except the pattern is only applied to the message header. +This optimization is useful for patterns that match header fields +that are unlikely to be present in the body of the message. +.TP 10 +.B line +the sender and a section of the message around the match are written to +the file +.BR /sys/log/lines . +The message is always delivered. +.TP 10 +.B loff +patterns of this type are applied only to the canonicalized command line. +When a match occurs, all patterns with +.B line +actions are disabled. This is useful for limiting +the size of the log file by excluding repetitive messages, such +as those from mailing lists. +.PP +Patterns are accumulated into pattern sets sharing the same action. +The matching engine applies the +.B dump +pattern set first, then the +.B header +and +.B hold +pattern sets, and finally the +.B line +pattern set. Each pattern set is applied three times: +to the canonicalized command line, to the message header, and +finally to the message body. The ordering of patterns +in the pattern file is insignificant. +.PP +The +.I pattern-spec +is a string of characters terminated by a +.BR newline , +.B # +or override indicator, +.BR ~~ . +Trailing white-space is deleted but +patterns containing leading or trailing white-space can +be enclosed in double-quote +characters. A pattern containing a double-quote +must be enclosed in double-quote +characters and preceded by a backslash. +For example, the pattern +.PP +.EX + "this is not \\"spam\\"" +.EE +.PP +matches the string \fLthis is not "spam"\fP. +The +.I pattern-spec +is followed by zero or more +.I override +strings. When the specific pattern matches, +each override is applied and +if one matches, it cancels the effect of the pattern. +Overrides must be strings; regular expressions are not supported. +Each override is introduced by the string +.BR ~~ +and continues until a subsequent +.BR ~~ , +.B # +or +.BR newline , +white-space included. +A +.B ~~ +immediately followed by a +.B newline +indicates a line continuation and further overrides continue +on the following line. +Leading white-space +on the continuation line is ignored. For example, +.PP +.EX + *hold: sex.com~~essex.com~~sussex.com~~sysex.com~~ + lasex.com~~cse.psu.edu!owner-9fans +.EE +.PP +matches all input containing the string +.B sex.com +except for messages that also contain the +strings in the override list. Often it +is desirable to override a pattern based on +the name of the sender or +recipient. For this reason, each override +pattern is applied to the header and the command line as well +as the section of the +canonicalized input containing the matching data. +Thus a pattern matching the command line or the header +searches both the command line and the header +for overrides while a match in the body searches +the body, header and command line for overrides. +.PP +The structure of the pattern file and the matching +algorithm define the strategy for detecting +and filtering unwanted messages. Ideally, a +.B hold +pattern selects a message for inspection and if it +is determined to be undesirable, a specific +.B dump +pattern is added to delete further instances +of the message. Additionally, it is often +useful to block the sender by updating the +.B smtpd +control file. +.PP +In this regime, patterns with a +.I dump +action, generally match phrases +that are likely to be unique. Patterns that +hold a message for inspection +match phrases commonly found in undesirable material and +occasionally in legitimate messages. Patterns +that log matches are less specific yet. In all +cases the ability to override a pattern by +matching another string, allows repetitive messages +that trigger the pattern, such as mailing lists, +to pass the filter after the first one is processed +manually. The +.B -s +option allows deleted messages to be salvaged +by either manual or semi-automatic review, supporting +the specification of more aggressive patterns. +Finally, the utility of the pattern matcher is not +confined to filtering spam; it is a generally useful +administrative tool for deleting inadvertently harmful +messages, for example, mail loops, stuck senders or viruses. +It is also useful for collecting or counting messages +matching certain criteria. +.SH FILES +.TF /mail/queue.dump/* +.TP +.B /mail/lib/patterns +default pattern file +.TP +.B /sys/log/smtpd +log of deleted messages +.TP +.B /mail/log/lines +file where +.I log +matches are logged +.TP +.B /mail/queue/* +directories where legitimate messages are queued for delivery +.TP +.B /mail/queue.hold +directory where held messages are queued for inspection +.TP +.B /mail/queue.dump/* +directory where +.I dumped +messages are stored when the +.B -s +command line option is specified. +.TP +.B /mail/copy/* +directory where copies of all incoming messages +are stored. +.SH SOURCE +.TP +.B /sys/src/cmd/upas/scanmail +.SH "SEE ALSO" +.IR mail (1), +.IR qer (8), +.IR smtpd (6) +.SH BUGS +.I Testscan +does not report a match when the body of a message +contains exactly one line. diff --git a/static/plan9-4e/man8/scuzz.8 b/static/plan9-4e/man8/scuzz.8 new file mode 100644 index 00000000..2aed5c94 --- /dev/null +++ b/static/plan9-4e/man8/scuzz.8 @@ -0,0 +1,370 @@ +.TH SCUZZ 8 +.SH NAME +scuzz \- SCSI target control +.SH SYNOPSIS +.B scuzz +[ +.B -q +] +[ +[ +.B -r +] +.I sddev +] +.SH DESCRIPTION +.I Scuzz +is an interactive program for exercising +raw SCSI devices. +Its intended purpose is to investigate and manipulate +odd devices without the effort of writing a special driver, +such as shuffling the media around on an optical jukebox. +It reads commands from standard input and applies them to a SCSI target +(other devices accessed through the +.IR sd (3) +interface, +such as ATA(PI) devices, +may also work). +If +.I sddev +is given on the command line, an +.B open +(see below) +is immediately applied to the target. +On successful completion of a command, +.BI ok " n +is printed, where +.I n +is the number of bytes transferred to/from the target; +the +.B -q +command line option suppresses the +.B ok +message. +.SS Commands +.TP +.BI help " command +.B Help +is rudimentary and prints a one line synopsis for the named +.IR command , +or for all commands if no argument is given. +.TP +.B probe +.B Probe +attempts an +.B inquiry +command on all SCSI units, +and prints the result preceded by the name of those +targets which respond. +.LP +The +.B help +and +.B probe +commands may be given at any time. +.TP +.BI open\ [ -r ] sddev +.B Open +must be given before any of the remaining commands will be accepted. +Internally, +unless the +.B -r +option is given, +.B open +issues +.B ready +then +.BR inquiry , +followed by a device class-specific command to determine the +logical block size of the target. +.I Sddev +is an +.IR sd (3) +device directory like +.IR /dev/sdC0 . +.TP +.B close +.B Close +need only be given if another target is to be opened in the current +session. +.LP +The remaining commands are in rough groups, +intended for specific classes of device. +With the exception of the +.BR read , +.BR write , +and +.B space +commands, +all arguments are in the style of ANSI-C integer constants. +.TP +.B ready +Test Unit Ready +checks if the unit is powered up and ready to do +.B read +and +.B write +commands. +.TP +.B rezero +Rezero +Unit requests that a disk be brought to a known state, +usually by seeking to track zero. +.TP +.B rewind +.B Rewind +positions a tape at the beginning of current partition +(there is usually only one partition, the beginning of tape). +.TP +.B reqsense +Request Sense retrieves Sense Data concerning an error or +other condition and is usually issued following the completion of a command +that had check-condition status. +.I Scuzz +automatically issues a +.B reqsense +in response to a check-condition status and prints the result. +.TP +.B format +Format +Unit performs a ``low level'' format of a disk. +.TP +.B rblimits +Read Block Limits +reports the possible block lengths for the logical unit. Tapes only. +.TP +.BI read " file nbytes +.B Read +transfers data from the target to the host. +A missing +.I nbytes +causes the entire device to be read. +.TP +.BI write " file nbytes +.B Write +transfers data from the host to the target. +A missing +.I nbytes +causes the entire input file to be transferred. +.IP +The first argument to the +.BR read +and +.BR write +commands specifies a source +.RB ( write ) +or destination +.RB ( read ) +for the I/O. +The argument is either a plain file name or +.B | +followed by a command to be executed by +.IR rc (1). +The argument may be quoted in the style of +.IR rc (1). +.TP +.BI seek " offset whence +.B Seek +requests the target to seek to a position on a disk, +arguments being in the style of +.IR seek (2); +.I whence +is 0 by default. +.IP +.I Scuzz +maintains an internal notion of where the current target +is positioned. +The +.BR seek , +.BR read , +.BR write , +.BR rewind , +.BR rezero , +and +.B wtrack +commands all manipulate the internal offset. +.TP +.BI filemark " howmany +Write Filemarks +writes one (default) or more filemarks on a tape. +.TP +.BI space\ [ -b ]\ [ -f ]\ [[ "--\fP]\fIhowmany\fP]" +.B Space +positions a tape forwards or backwards. +The arguments +specify logical block +.RB ( -b ) +or +filemark +.RB ( -f ) +spacing; +default is +.BR -b . +If +.I howmany +is negative +it specifies spacing backwards, +and should be preceded by +.B -- +to turn off any further +option processing. +Default is 1. +.TP +.B inquiry +.B Inquiry +is issued to determine the device type of a particular target, +and to determine some basic information about the implemented options and +the product name. +.TP +.BI modeselect bytes... +.TP +.BI modeselect6 bytes... +Mode +Select +is issued to set variable parameters in the target. +.I Bytes +given as arguments comprise all the data for the target; +see an appropriate manual for the format. +The default is the 10-byte form of the command; +modeselect6 is the 6-byte version. +.TP +.BI modesense\ [ page [ nbytes ]] +.TP +.BI modesense6\ [ page [ nbytes ]] +Mode +Sense +reports variable and fixed parameters from the target. +If no +.I page +is given, +all pages are returned. +.I Nbytes +specifies how many bytes should be returned. +The default is the 10-byte form of the command; +modesense6 is the 6-byte version. +.TP +.BI start\ [ code ] +.TP +.BI stop\ [ code ] +.TP +.BI eject\ [ code ] +.TP +.BI ingest\ [ code ] +.BR Start , +.BR stop , +.BR eject , +and +.B ingest +are synonyms for Start/Stop Unit with different default values of +.IR code . +Start/Stop Unit is typically used to spin up and spin down a rotating +disk drive. +.I Code +is 0 to stop, +1 to start and +3 to eject (if the device supports ejection of the medium). +.TP +.B capacity +Read Capacity reports the number of blocks and the block +size of a disk. +.LP +The following commands are specific to CD and CD-R/RW devices. +A brief description of each is given; see the SCSI-3 +Multimedia Commands (MMC) Specification for details of arguments +and interpretation of the results. +.TP +.BI blank\ [ track/LBA [ type ]] +Erase a CD-RW disk. +Type identifies the method and coverage of the blanking. +.TP +.BI rtoc\ [ track/session-number [ ses ]] +The Read TOC/PMA command transfers data from one of the tables of contents +(TOC or PMA) on the CD medium. +.TP +.B rdiscinfo +(Note the spelling.) +Provides information about disks, including incomplete CD-R/RW. +.TP +.BI rtrackinfo\ [ track ] +Provides information about a track, regardless of its status. +.TP +.B cdpause +.TP +.B cdresume +Pause/resume playback. +.TP +.B cdstop +Stop playback. +.TP +.BI cdplay\ [ track-number ]\ or\ [ -r [ "LBA\fP[\fIlength\fP]]]" +Play audio. +With no arguments, starts at the beginning of the medium. +If a track number is given, the table of contents is read +to find the playback start point. +If the +.B -r +option is given, block addressing is used to find the +playback start point. +.TP +.BI cdload\ [ slot ] +.TP +.BI cdunload\ [ slot ] +Load/unload a disk from a changer. +.TP +.B cdstatus +Read the mechanism status. +.LP +The following commands are specific to Media Changer devices. +A brief description of each is given; see the SCSI-3 +Medium Changer Commands (SMC) Specification for details of arguments. +.TP +.B einit +Initialize element status. +.TP +.BI estatus type [ length ] +Report the status of the internal elements. +Type 0 reports all element types. +.TP +.BI mmove transport\ source\ destination [ invert ] +Move medium. +.SH FILES +.TF /dev/sdXX/raw +.TP +.B /dev/\fIsdXX\fP/raw +raw SCSI interface for command, I/O, and status. +.SH SOURCE +.B /sys/src/cmd/scuzz +.SH "SEE ALSO" +.IR sd (3) +.br +.IR "Small Computer System Interface - 2 (X3T9.2/86-109)" , +Global Engineering Documents +.br +.IR "SCSI Bench Reference" , +ENDL Publications +.br +.IR "SCSI-3 Multimedia Commands (MMC) Specification" , +www.t10.org +.br +.IR "SCSI-3 Medium Changer Commands (SMC) Specification" , +www.t10.org +.SH BUGS +Only a limited subset of SCSI commands has been implemented (as needed). +.LP +Only one target can be open at a time. +.LP +LUNs other than 0 are not supported. +.LP +No way to force 6- or 10- byte commands. +.LP +Should be recoded to use +.IR scsi (2) +in order to get more complete sense code descriptions. +.LP +.I Scuzz +betrays its origins by spelling +.B rdiscinfo +with a +.B c +even though the devices it manipulates are spelled with a +.BR k . diff --git a/static/plan9-4e/man8/secstore.8 b/static/plan9-4e/man8/secstore.8 new file mode 100644 index 00000000..33835184 --- /dev/null +++ b/static/plan9-4e/man8/secstore.8 @@ -0,0 +1,47 @@ +.TH SECSTORE 8 +.SH NAME +secstored, secuser \- secstore commands +.SH SYNOPSIS +.br +.B auth/secstored +[-S servername] +[-s tcp!*!5356] +[-x] +.br +.B auth/secuser +username +.br +.PP +.SH DESCRIPTION +.PP +.I Secstored +serves requests from +.IR secstore (1). +The +.B -x +option announces on +.B /net.alt/tcp!*!5356 +instead of the default +.BR /net . +.PP +.I Secuser +is an administrative command that runs on the +secstore machine, normally the authserver, +to create new accounts and +to change status on existing accounts. +It prompts for account information such as +password and expiration date, writing to +.BR /adm/secstore/who/$uid . +.SH FILES +.B /adm/secstore/who/$uid +secstore account name, expiration date, verifier +.br +.B /adm/secstore/store/$uid/ +users' files +.br +.B /lib/ndb/auth +for mapping local userid to RADIUS userid +.SH SOURCE +.B /sys/src/cmd/auth/secstore +.SH SEE ALSO +.IR secstore (1) diff --git a/static/plan9-4e/man8/securenet.8 b/static/plan9-4e/man8/securenet.8 new file mode 100644 index 00000000..cdd4f23d --- /dev/null +++ b/static/plan9-4e/man8/securenet.8 @@ -0,0 +1,128 @@ +.TH SECURENET 8 +.SH NAME +securenet \- Digital Pathways SecureNet Key remote authentication box +.SH DESCRIPTION +The +.I SecureNet +box is used to authenticate connections to Plan 9 from a foreign system +such as a +Unix +machine or plain terminal. +The box, which looks like a calculator, +performs DES encryption with a key held in its memory. +Another copy of the key is kept on the authentication server. +Each box is protected from unauthorized use by a four digit PIN. +.PP +When the system requires SecureNet authentication, +it prompts with a numerical challenge. +The response is compared to one +generated with the key stored on the authentication server. +Respond as follows: +.PP +Turn on the box and enter your PIN at the +.B EP +prompt, +followed by the +.B ENT +button. +Enter the challenge at +.B Ed +prompt, +again followed +.BR ENT . +Then type to Plan 9 the response generated by the box. +If you make a mistake at any time, reset the box +by pressing +.BR ON . +The authentication server compares the response generated by the box +to one computed internally. If they match, the user is accepted. +.PP +The box will lose its memory if given the wrong PIN +five times in succession or if its batteries are removed. +.PP +To reprogram it, type a +.B 4 +at the +.B E0 +prompt. +.PP +At the +.B E1 +prompt, enter your key, which consists of eight three-digit octal numbers. +While you are entering these digits, +the box displays a number ranging from 1 to 8 on the left side of the display. +This number corresponds to the octal number you are entering, +and changes when you enter the first digit of the next number. +.PP +When you are done entering your key, press +.B ENT +twice. +.PP +At the +.B E2 +prompt, enter a PIN for the box. +.PP +After you confirm by retyping the PIN at the +.B E3 +prompt, you can use the box as normal. +.PP +You can change the PIN using the following procedure. +First, turn on the box and enter your current PIN at the +.B EP +prompt. +Press +.B ENT +three times; +this will return you to the +.B EP +prompt. +Enter your PIN again, followed by +.BR ENT ; +you should see a +.B Ed +prompt with a +.B - +on the right side of the display. +Enter a +.B 0 +and press +.BR ENT . +You should see the +.B E2 +prompt; follow the instructions above for entering a PIN. +.PP +The +.I SecureNet +box +performs the same encryption as the +.B netcrypt +routine +(see +.IR encrypt (2)). +The entered challenge, a decimal number between 0 and 100000, +is treated as a text string with trailing binary zero fill to 8 bytes. +These 8 bytes are encrypted with the DES algorithm. +The first four bytes are printed on the display as hexadecimal numbers. +However, when set up as described, +the box does not print hexadecimal digits greater than 9. +Instead, it prints a 2 for an A, B, or C, and a 3 for a D, E, or F. +If a +.B 5 +rather than a +.B 4 +is entered at the +.B E0 +print, the hexadecimal digits are printed. +This is not recommended, as letters are +too easily confused with digits on the +.I SecureNet +display. +.SH "SEE ALSO" +.IR encrypt (2), +.IR auth (2) +.br +Digital Pathways, Mountain View, California +.SH BUGS +The box is clumsy to use and too delicate. +If carried in a pocket, +it can turn itself on and wear out the batteries. diff --git a/static/plan9-4e/man8/snoopy.8 b/static/plan9-4e/man8/snoopy.8 new file mode 100644 index 00000000..cc4e225a --- /dev/null +++ b/static/plan9-4e/man8/snoopy.8 @@ -0,0 +1,170 @@ +.TH SNOOPY 8 +.SH NAME +snoopy \- spy on network packets +.SH SYNOPSIS +.B snoopy +[ +.B -?stdC +] [ +.B -f +.I filter-expression +] [ +.B -N +.I n +] [ +.B -h first-header +] [ +packet-file +] +.SH DESCRIPTION +.PP +.I Snoopy +reads packets from a packet source (default +.BR /net/ether0 ), +matches them to a filter (by default anything matches), and writes +matching packets to standard output either in human readable form (default) +or in a binary trace format that can be reinput to +.IR snoopy . +.PP +The human readable format consists of multiple lines per packet. +The first line contains the milliseconds since the +trace was started. Subsequent ones are indented with a tab +and each contains the dump of a single protocol header. The last line +contains the dump of any contained data. For example, a +.SM BOOTP +packet would look like: +.sp +.EX +324389 ms + ether(s=0000929b1b54 d=ffffffffffff pr=0800 ln=342) + ip(s=135.104.9.62 d=255.255.255.255 id=5099 frag=0000... + udp(s=68 d=67 ck=d151 ln= 308) + bootp(t=Req ht=1 hl=16 hp=0 xid=217e5f27 sec=0 fl=800... + dhcp(t=Request clientid=0152415320704e7266238ebf01030... +.EE +.PP +The binary format consists of: +.IP +2 bytes of packet length, msb first +.IP +8 bytes of nanosecond time, msb first +.IP +the packet +.PP +Filters are expressions specifying protocols to be traced +and specific values for fields in the protocol headers. +The grammar is: +.sp +.EX +expr : protocol + | field '=' value + | protocol '(' expr ')' + | '(' expr ')' + | expr '||' expr + | expr '&&' expr +.EE +.PP +The values for <protocol> and <field> can +be obtained using the +.B -? +option. It will list each known protocol, +which subprotocols it can multiplex to, +and which fields can be used for filtering. +For example, the listing for ethernet is currently: +.sp +.EX +ether's filter attr: + s - source address + d - destination address + a - source|destination address + t - type +ether's subprotos: + ip + arp + rarp + ip6 +.EE +.PP +The format of <value> depends on context. In general, +ethernet addresses are entered as a string of hex +digits; IP numbers in the canonical `.' format for v4 and `:' format +for v6; and ports in decimal. +.PP +.IR Snoopy 's +options are: +.TP +.B -t +input is a binary trace file. The default assumes +a packet device, one packet per read. +.TP +.B -d +output will be a binary trace file. The default is +human readable. +.TP +.B -s +force one output line per packet. The +default is multiline. +.TP +.B -C +compute correct checksums and if doesn't match +the contained one, add a field +.B !ck=\fIxxxx\fP +where +.I xxxx +is the correct checksum. +.TP +.B -N +dump +.I n +data bytes per packet. The default is 32. +.TP +.B -f +use +.I filter-exression +to filter the packet stream. The default is +to match all packets. +.TP +.B -h +assume the first header per packet to be +.IR first-header . +The default is +.IR ether . +.SH EXAMPLES +the following would display only +.SM BOOTP +and +.SM ARP +packets: +.sp +.EX +% snoopy -f 'arp | bootp' +after optimize: ether( arp | ip( udp( bootp ) ) ) +.EE +.PP +The first line of output shows the completed filter +expression. +.I Snoopy +will fill in other protocols as necessary to complete +the filter and then optimize to remove redundant +comparisons. +.PP +To save all packets between 135.104.9.2 to 135.104.9.6 and +later display those to/from TCP port 80: +.sp +.EX +% ramfs +% snoopy -df 'ip(s=135.104.9.2&d=135.104.9.6)|\\ + ip(s=135.104.9.6&d=135.104.9.2)' > /tmp/quux +<interrupt from the keyboard> +% snoopy -tf 'tcp(sd=80)' /tmp/quux +.EE +.SH FILES +.TP +.B /net/ether +Ethernet device +.SH SOURCE +.B /sys/src/cmd/ip/snoopy +.SH BUGS +At the moment it only dumps ethernet packets because there's +no device to get IP packets without the media header. This will +be corrected soon. diff --git a/static/plan9-4e/man8/stats.8 b/static/plan9-4e/man8/stats.8 new file mode 100644 index 00000000..97716d6c --- /dev/null +++ b/static/plan9-4e/man8/stats.8 @@ -0,0 +1,145 @@ +.TH STATS 8 +.SH NAME +stats \- display graphs of system activity +.SH SYNOPSIS +.B stats +[ +.BI - option +] +[ +.I machine +\&... +] +.SH DESCRIPTION +.I Stats +displays a rolling graph of various statistics collected by the operating +system and updated once per second. +The statistics may be from a remote +.I machine +or multiple +.IR machines , +whose graphs will appear in adjacent columns. +The columns are labeled by the machine names and the number +of processors on the machine if it is a multiprocessor. +.PP +The right mouse button presents a menu to enable and disable the display +of various statistics; by default, +.I stats +begins by showing the load average on the executing machine. +.PP +The +lower-case +.I options +choose the initial set to display: +.TF [t]tlbpurge +.TP +.B "b battery +percentage battery life remaining. +.TP +.B "c context +number of process context switches per second. +.TP +.B +.B "e ether +total number of packets sent and received per second. +.TP +.B +.B "E etherin,out +number of packets sent and received per second, displayed as separate graphs. +.TP +.B "f fault +number of page faults per second. +.TP +.B "i intr +number of interrupts per second. +.TP +.B "l load +(default) system load average. +The load is computed as a running average of +the number of processes ready to run, multiplied by 1000. +.TP +.B "m mem +total pages of active memory. +The graph displays the fraction +of the machine's total memory in use. +.TP +.B +.B "n etherin,out,err +number of packets sent and received per second, and total number of errors, displayed as separate graphs. +.TP +.B "p tlbpurge +number of translation lookaside buffer flushes per second. +.TP +.B "s syscall +number of system calls per second. +.TP +.B "t tlbmiss +number of translation lookaside buffer misses per second. +.TP +.B "w swap +number of valid pages on the swap device. +The swap is displayed as a +fraction of the number of swap pages configured by the machine. +.TP +.B "8 802.11b +display the signal strength detected by the 802.11b wireless ether card; the value +is usually below 50% unless the receiver is in the same room as the transmitter, so +a midrange value represents a strong signal. +.PD +.PP +The graphs are plotted with time on the horizontal axis. +The vertical axes range from 0 to 1000, multiplied by the number of processors on the machine +when appropriate. +The only exceptions are +memory +and swap space, +which display fractions of the total available, and the Ethernet error count, +which goes from 0 to 10.. +If the value of the parameter is too large for the visible range, its value is shown +in decimal in the upper left corner of the graph. +.PP +Upper-case options control details of the display. +All graphs are affected; there is no mechanism to +affect only one graph. +.TP +.BI -S " scale +Sets a scale factor for the displays. A value of 2, for example, +means that the highest value plotted will be twice as large as the default. +.TP +.B -L +Plot all graphs with logarithmic +.I y +axes. +The graph is plotted so the maximum value that would be displayed on +a linear graph is 2/3 of the way up the +.I y +axis and the total range of the graph is a factor of 1000; thus the +.I y +origin is 1/100 of the default maximum value and the top of the graph is +10 times the default maximum. +.TP +.B -Y +If the display is large enough to show them, +place value markers along the +.I y +axes of the graphs. +Since one set of markers serves for all machines across the display, +the values in the markers disregard scaling factors due to multiple processors +on the machines. On a graph for a multiprocessor, +the displayed values will be larger +than the markers indicate. +The markers appear along the right, and the markers +show values appropriate to the rightmost machine; this only +matters for graphs such as memory that have machine-specific +maxima. +.PD +.SH FILES +.B /net/ether0/0/stats +.br +.B #c/swap +.br +.B #c/sysstat +.SH SOURCE +.B /sys/src/cmd/stats.c +.SH BUGS +Some machines do not have TLB hardware. diff --git a/static/plan9-4e/man8/swap.8 b/static/plan9-4e/man8/swap.8 new file mode 100644 index 00000000..09cea94a --- /dev/null +++ b/static/plan9-4e/man8/swap.8 @@ -0,0 +1,30 @@ +.TH SWAP 8 +.SH NAME +swap \- establish a swap file +.SH SYNOPSIS +.B swap +.I file +.SH DESCRIPTION +.I Swap +establishes a file or device for the system to swap on. +If +.I file +is a device, the device is used directly; if a directory, +a unique file is created in that directory on which to swap. +The environment variable +.B swap +is set to the full name of the resulting file. +The number of blocks available in the file or device +must be at least the number of swap blocks configured +at system boot time. +.PP +If a swap channel has already been set and no blocks +are currently valid in the file the old file will be +closed and then replaced. If any blocks are valid on +the device an error is returned instead. +.SH SOURCE +.B /sys/src/cmd/swap.c +.SH BUGS +Swapping to a file served by a user-level process, such as +.IR kfs (4), +can lead to deadlock; use raw devices or remote files instead. diff --git a/static/plan9-4e/man8/timesync.8 b/static/plan9-4e/man8/timesync.8 new file mode 100644 index 00000000..dcfd09a7 --- /dev/null +++ b/static/plan9-4e/man8/timesync.8 @@ -0,0 +1,95 @@ +.TH TIMESYNC 8 +.SH NAME +timesync \- synchronize the system clock to a time source +.SH SYNOPSIS +.B aux/timesync +[ +.B -a +.I accuracy +] +[ +.B -s +.I netroot +] +[ +.B -frnDdLil +] +[ +.I timeserver +] +.SH DESCRIPTION +.B Aux/timesync +synchronizes the system clock to a time source, by default a +file server. +The options are: +.TP +.B -f +synchronize to a file server. If +.I timeserver +is missing, use +.BR /srv/boot . +.TP +.B -r +synchronize to the local real time clock, +.BR #r/rtc . +.TP +.B -L +used with +.B -r +to indicate the real time clock is in +local time rather than GMT. This is +useful on PCs that also run the +Windows OS. +.TP +.B -n +synchronize to an NTP server. If +.I timeserver +is missing, dial the server +.BR udp!$ntp!ntp . +.TP +.B -D +print debugging to standard error +.TP +.B -d +put file containing last determined clock +frequency in directory +.IR dir , +default +.BR /tmp . +.TP +.B -i +stands for impotent. +.I Timesync +announces what it would do but doesn't do it. +This is useful for tracking alternate time sources. +.TP +.B -a +specifies the +.I accuracy +in nanoseconds to which the +clock should be synchronized. This determines +how often the reference clock is accessed. +.TP +.B -s +causes +.I timesync +to listen for UDP NTP requests on the +network rooted at +.IR netroot . +Up to 4 +.B -s +options are allowed. +.TP +.B -l +turns on logging to +.BR /sys/log/timesync . +.SH FILES +.TF /tmp/ts.<sysname>.<type>.timeserver +.TP +.B /tmp/ts.<sysname>.<type>.timeserver +where the last frequency guess is kept +.TP +.B /sys/log/timesync +log file +.SH SOURCE +.B /sys/src/cmd/aux/timesync.c diff --git a/static/plan9-4e/man8/tlssrv.8 b/static/plan9-4e/man8/tlssrv.8 new file mode 100644 index 00000000..fc23426b --- /dev/null +++ b/static/plan9-4e/man8/tlssrv.8 @@ -0,0 +1,38 @@ +.TH TLSSRV 8 +.SH NAME +tlssrv \- TLS server +.SH SYNOPSIS +.PP +.B tlssrv +.RB [ -k +.IR keydir ] +.RB [ -l +.IR logfile ] +.RB [ -r +.IR remotesys ] +target +.SH DESCRIPTION +.I Tlssrv +is a helper program, typically exec'd in a +.B /bin/service/ +file to establish an SSL or TLS connection before launching +the target server, for example IMAPS or HTTPS. +.PP +.I Keydir +holds the server certificate and private key. +.PP +The specified +.I logfile +is by convention the same as for the target server. +.I Remotesys +is mainly used for logging. When invoked from +.B /bin/service/ +it is written +.B -r'{cat +.BR $3/remote} . +.SH FILES +.TF /sys/lib/ssl +.SH SOURCE +.B /sys/src/cmd/tlssrv.c +.SH "SEE ALSO" +.IR listen (8) diff --git a/static/plan9-4e/man8/udpecho.8 b/static/plan9-4e/man8/udpecho.8 new file mode 100644 index 00000000..60117974 --- /dev/null +++ b/static/plan9-4e/man8/udpecho.8 @@ -0,0 +1,16 @@ +.TH UDPECHO 8 +.SH NAME +udpecho \- echo UDP packets +.SH SYNOPSIS +.PP +.B ip/udpecho +[ +.B -x +.I ext +] +.SH DESCRIPTION +.PP +Listen on UDP port 7 and echo back any packets +received. +This should only be run for testing since it can +be used to disguise the identity of someone doing a denial of service attack. diff --git a/static/plan9-4e/man8/update.8 b/static/plan9-4e/man8/update.8 new file mode 100644 index 00000000..2519f213 --- /dev/null +++ b/static/plan9-4e/man8/update.8 @@ -0,0 +1,127 @@ +.TH UPDATE 8 +.SH NAME +bootfloppy, bootplan9, bootwin9x, bootwinnt, personalize, setup.9fat, setup.disk, +setup.kfs, update \- administration for local file systems +.SH SYNOPSIS +.B pc/bootfloppy +.I floppydisk +.I plan9.ini +.br +.B pc/bootplan9 +.I /dev/sdXX +.br +.B pc/bootwin9x +.br +.B pc/bootwinnt +.br +.B pc/personalize +.br +.B pc/setup.9fat +.I /dev/sdXX/9fat +.I plan9.ini +.br +.B pc/setup.disk +.I /dev/sdXX +.I plan9.ini +.br +.B pc/update +.PD +.SH DESCRIPTION +These programs help maintain a file system on a local disk for a private machine. +.PP +.I Setup.disk +partitions a disk +and makes a new file system on the disk. +It then calls +.IR setup.9fat , +.IR update , +and +.I personalize +to initialize the file system. +.PP +.I Setup.9fat +formats the named +.I 9fat +partition, +installing +.BR /386/9load , +.BR /386/9pcdisk , +and the named +.I plan9.ini +file. +.PP +.I Update +copies the current kernel to the disk and updates +files on the local file system by copying them from the main file server +(named by the environment variable +.BR $fileserver ). +The files it updates are specified by the +.IR mkfs (8) +prototype file +.BR /sys/lib/sysconfig/proto/386proto . +.PP +.I Personalize +removes the contents of the +.B /usr +directory on the local disk and copies a minimal set of files for +the user who runs the command. +.PP +The boot scripts prepare various ways to bootstrap Plan 9. +.I Bootfloppy +creates a boot floppy containing +.BR 9load , +a zeroed 512-byte +.BR plan9.nvr , +and the named file as +.BR plan9.ini . +.I Bootplan9 +sets the +.B 9fat +partition to be the active partition, the one +used at boot time. +.I Bootwin9x +edits the files +.BR config.sys , +.BR msdos.sys , +and +.B autoexec.bat +on the drive mounted by +.B c: +to provide Plan 9 +as a boot menu option. +These system files are first backed up +as +.BR config.p9 , +.BR msdos.p9 , +and +.BR autoexec.p9 . +.I Bootwinnt +edits the Windows NT +boot loader menu contained in +the first FAT partition's +.I boot.ini +to provide Plan 9 +as an option. +It is first backed up as +.IR boot.p9 . +If backup files already exist, +.I bootwin9x +and +.I bootwinnt +do nothing. +.SH FILES +.TF /sys/lib/sysconfig/proto/ +.TP +.B /sys/lib/sysconfig/proto/ +.IR Mkfs (8) +prototype files. +.SH SOURCE +.B /rc/bin/pc/* +.SH "SEE ALSO" +.IR kfs (4), +.IR 9load (8), +.IR mkfs (8), +.IR prep (8), +.IR sd (3) +.br +``Installing the Plan 9 Distribution''. diff --git a/static/plan9-4e/man8/venti.8 b/static/plan9-4e/man8/venti.8 new file mode 100644 index 00000000..91bc9b99 --- /dev/null +++ b/static/plan9-4e/man8/venti.8 @@ -0,0 +1,196 @@ +.TH VENTI 8 +.SH NAME +venti \- an archival block storage server +.SH SYNOPSIS +.B venti/venti +[ +.B -dw +] +[ +.B -a +.I ventiaddress +] +[ +.B -B +.I blockcachesize +] +[ +.B -c +.I config +] +[ +.B -C +.I cachesize +] +[ +.B -h +.I httpaddress +] +[ +.B -I +.I icachesize +] +.SH DESCRIPTION +.I Venti +is a block storage server intended for archvial data. +In a Venti server, +the Sha1 hash of a block's contents acts as the block +identifier for read and write operations. +This approach enforces a write-once policy, preventing accidental or +malicious destruction of data. In addition, duplicate copies of a +block are coalesced, reducing the consumption of storage and +simplifying the implementation of clients. +.PP +Storage for +.I venti +consists of a data log and an index, both of which +can be spread across multiple files. +The files containing the data log are themselves divided into self-contained sections called arenas. +Each arena contains a large number of data blocks and is sized to +facilitate operations such as copying to removable media. +The index provides a mapping between the a Sha1 fingerprint and +the location of the corresponding block in the data log. +.PP +The index and data log are typically stored on raw disk partitions. +To improve the robustness, the data log should be stored on +a device that provides RAID functionality. The index does +not require such protection, since if necessary, it can +can be regenerated from the data log. +The performance of +.I venti +is typically limited to the random access performance +of the index. This performance can be improved by spreading the +index accross multiple disks. +.PP +The storage for +.I venti +is initialized using +.IR fmtarenas (8), +.IR fmtisect (8), +and +.IR fmtindex (8). +A configuration file, +.IR venti.conf (6), +ties the index sections and data arenas together. +.PP +A Venti +server is accessed via an undocumented network protocol. +Two client applications are included in this distribution: +.IR vac (1) +and +.IR vacfs (4). +.I Vac +copies files from a Plan 9 file system to Venti, creating an +archive and returning the fingerprint of the root. +This archive can be mounted in Plan 9 using +.IR vacfs . +These two commands enable a rudimentary backup system. +A future release will include a Plan 9 file system that uses +Venti as a replacement for the WORM device of +.IR fs (4). +.PP +The +.I venti +server provides rudimentary status information via +a built-in http server. The URL files it serves are: +.TP +.B stats +Various internal statistics. +.TP +.B index +An enumeration of the index sections and all non empty arenas, including various statistics. +.TP +.B storage +A summary of the state of the data log. +.TP +.B xindex +An enumeration of the index sections and all non empty arenas, in XML format. +.PP +Several auxiliary utilities aid in maintaining the storage for Venti. +With the exception of +.IR rdarena (8), +these utilities should generally be run after killing the +.I venti +server. +The utilities are: +.TP +.IR checkarenas (8) +Check the integrity, and optionally fix, Venti arenas. +.TP +.IR checkindex (8) +Check the integrity, and optionally fix, a Venti index +.TP +.IR buildindex (8) +Rebuild a Venti index. +.TP +.IR rdarena (8) +Extract a Venti arena and write to standard output. +.PP +Options to +.I venti +are: +.TP +.BI -a " ventiaddress +The network address on which the server listens for incoming connections. +The default is +.LR tcp!*!venti . +.TP +.BI -B " blockcachesize +The size, in bytes, of memory allocated to caching raw disk blocks. +.TP +.BI -c " config +Specifies the +Venti +configuration file. +Defaults to +.LR venti.conf . +.TP +.BI -C " cachesize +The size, in bytes, of memory allocated to caching +Venti +blocks. +.TP +.BI -d +Produce various debugging information on standard error. +.TP +.BI -h " httpaddress +The network address of Venti's built-in +http +server. +The default is +.LR tcp!*!http . +.TP +.BI -I " icachesize +The size, in bytes, of memory allocated to caching the index mapping fingerprints +to locations in +.IR venti 's +data log. +.TP +.B -w +Enable write buffering. This option increase the performance of writes to +.I venti +at the cost of returning success to the client application before the +data has been written to disk. Use of this option is recommended. +.PP +Note, the units for the various cache sizes above can be specified by appending a +.LR k , +.LR m , +or +.LR g +to indicate kilobytes, megabytes, or gigabytes respectively. +.SH SOURCE +.B /sys/src/cmd/venti +.SH "SEE ALSO" +.IR venti.conf (6), +.IR fmtarenas (8), +.IR fmtisect (8), +.IR fmtindex (8), +.IR vac (1), +.IR vacfs (4). +.IR checkarenas (8), +.IR checkindex (8), +.IR buildindex (8), +.IR rdarena (8) +.br +Sean Quinlan and Sean Dorward, +``Venti: a new approach to archival storage''. diff --git a/static/plan9-4e/man8/vga.8 b/static/plan9-4e/man8/vga.8 new file mode 100644 index 00000000..5344f328 --- /dev/null +++ b/static/plan9-4e/man8/vga.8 @@ -0,0 +1,189 @@ +.TH VGA 8 +.SH NAME +vga \- configure a VGA card +.SH SYNOPSIS +.B aux/vga +[ +.B -BcdilpvV +] +[ +.B -b +.I bios-string +] +[ +.B -m +.I monitor +] +[ +.B -x +.I file +] +[ +.I mode +[ +.I size +] +] +.SH DESCRIPTION +.B Aux/vga +configures a VGA controller for various display sizes and depths. +Using the monitor type specified in +.B /env/monitor +(default +.BR vga ) +and the +.I mode +given as argument +(default +.BR 640x480x1 ), +.B aux/vga +uses the database of known VGA controllers and monitors in +.B /lib/vgadb +(see +.IR vgadb (6)) +to configure +the display via the devices provided by +.IR vga (3). +The options are: +.TP +.BI -b " bios-string" +use the VGA database entry corresponding to +.I bios-string +(e.g. +\fL0xC0045="Stealth 64 DRAM Vers. 2.02"\fR) +rather than looking for identifying strings in the BIOS +memory. +.TP +.B -B +dump the BIOS memory (in hex) to standard output and exit. +.TP +.B -c +disable the use of the hardware graphics cursor. +(Since there is no software cursor, this disables the cursor entirely.) +.TP +.B -d +include the color palette in whatever actions are performed, +usually printing the contents. +.TP +.B -i +when used with +.B -p +display the register values that will be loaded. +.TP +.B -l +load the desired mode. +.TP +.BI -m " monitor" +override the +.B /env/monitor +value. +.B /env/monitor +is usually set by including it in the +.B plan9.ini +file read by the PC boot program +.IR 9load (8). +.TP +.B -p +print the current or expected register values at appropriate points depending on +other options. +.TP +.B -v +print a trace of the functions called. +.TP +.B -V +print a verbose trace of the functions called. +.TP +.B -x " file" +use +.I file +as the VGA database rather than +.BR /lib/vgadb . +.PP +.I Mode +is of the form +.IB X x Y x Z +, where +.IR X , +.IR Y , +and +.I Z +are numbers specifying the display height, width, and depth respectively. +The mode must appear in +.B /lib/vgadb +as a value for one of the monitor entries. +The usual modes are +.BR 640x480x[18] , +.BR 800x600x[18] , +.BR 1024x768x[18][i] , +.BR 1280x1024x[18][i] , +.BR 1376x1024x8 , +and +.BR 1600x1200x8 . +A trailing +.L i +indicates interlaced operation. +The default mode is +.BR 640x480x8 . +.I Size +is of the form +.I X x Y +and configures the display to have a virtual +screen of the given size. +The physical screen will pan to follow the mouse. +This is useful on displays with small screens, +such as laptops, but can be confusing. +.SH EXAMPLES +Change the display resolution: +.IP +.EX +aux/vga -l 1600x1200x8 +.EE +.PP +Print the current VGA controller registers. +It is usually best to redirect the output of a +.B -p +command to a file to prevent confusion caused by using the VGA +controller while trying to dump its state: +.IP +.EX +aux/vga -p >/tmp/x +.EE +.PP +Force the VGA controller to a known state: +.IP +.EX +aux/vga -m vga -l +.EE +.PP +Print the current VGA controller state and what would be loaded +into it for a new resolution, but don't do the load: +.IP +.EX +aux/vga -ip 1376x1024x8 >/tmp/x +.EE +.PP +.SH FILES +.TF /env/monitor +.TP +.B /env/monitor +display type (default +.IR vga ). +.TP +.B /lib/vgadb +VGA configuration file. +.SH SOURCE +.B /sys/src/cmd/aux/vga +.SH SEE ALSO +.IR vga (3), +.IR vgadb (6), +.IR 9load (8) +.SH BUGS +.B Aux/vga +makes every effort possible to verify that the mode it is about +to load is valid and will bail out with an error message +before setting any registers if it encounters a problem. +However, things can go wrong, especially when playing with a +new VGA controller or monitor setting. +It is useful in such cases to have +the above command for setting the controller to a known state +at your fingertips. |
