Annotation of 43BSD/ingres/doc/other/howto_setup.nr, revision 1.1

1.1     ! root        1: .ds HE 'HOW TO SET UP INGRES''PAGE %'
        !             2: .so nmacs
        !             3: .ce
        !             4: Instructions for setting up INGRES from tape.
        !             5: .ce
        !             6: (VAX UNIX*)
        !             7: 
        !             8: .ce
        !             9: (October 3, 1984)
        !            10: 
        !            11: This set of instructions will help you
        !            12: read INGRES version 7 in from tape and get it running on
        !            13: your system.
        !            14: If you are running any version of UNIX
        !            15: other than VM/UNIX release four,
        !            16: read this entire document
        !            17: before doing anything!,
        !            18: paying particular attention to section 5.3.
        !            19: 
        !            20: *UNIX is a trademark of Bell Laboratories.
        !            21: 
        !            22: .sh 1
        !            23: Installing INGRES for the first time.
        !            24: .PS
        !            25: If you already have an INGRES system,
        !            26: go directly to part 1.3.
        !            27: .dn
        !            28: Creating a UNIX user called "ingres".
        !            29: .PS
        !            30: The first thing you should do is to create a user named "ingres"
        !            31: on your system
        !            32: and log in as that user.
        !            33: The files you read in from 
        !            34: tape will be owned by "ingres",
        !            35: an actual user on your system.
        !            36: INGRES locates files in the system by
        !            37: looking in the /etc/passwd file for the
        !            38: user "ingres".
        !            39: INGRES will
        !            40: .ul
        !            41: not work
        !            42: unless you create this user.
        !            43: .sh
        !            44: Creating parent directory for the INGRES system.
        !            45: .PS
        !            46: The parent directory of the INGRES system at Berkeley is "/mnt/ingres".
        !            47: It is possible to run INGRES in a parent directory
        !            48: of your own choosing,
        !            49: which must be the parent directory of
        !            50: the user "ingres" as specified in /etc/passwd.
        !            51: For the purpose of this document the
        !            52: parent directory will be denoted by "...".
        !            53: .sh
        !            54: Extracting INGRES from the tape.
        !            55: .PS
        !            56: You are now ready to read the tape into your
        !            57: system using tar.
        !            58: You should be in the home directory for INGRES
        !            59: and logged in as INGRES.
        !            60: Type the command:
        !            61: 
        !            62:        tar xf /dev/rmt0
        !            63: 
        !            64: The system is now fully extracted from the tape
        !            65: and the tape can be unloaded if desired.
        !            66: .sh
        !            67: User oriented programs
        !            68: .PS
        !            69: In .../bin there is a collection of programs.
        !            70: Several programs
        !            71: are type-I commands associated with INGRES and which should be moved or
        !            72: linked into /usr/bin.
        !            73: The other programs are executed only by other
        !            74: INGRES programs and must be left in .../bin.
        !            75: After moving the files verify that they
        !            76: are still owned by "ingres",
        !            77: and are in the correct modes.
        !            78: Move only the files listed below.
        !            79: Leave the other files where they are!
        !            80: 
        !            81: .in 18
        !            82: .ti -10
        !            83: copydb, creatdb, destroydb, equel, helpr,
        !            84: .ti -10
        !            85: ingres, printr, purge, restore, sysmod
        !            86: .br
        !            87: (see INGRES reference manual for an
        !            88: explanation of these commands.
        !            89: 
        !            90: .ti -10
        !            91: demodb    creates a new database with a name given as an argument
        !            92: and loads it with sample data relations such as might be used by
        !            93: a department store for employee and sales records.
        !            94: The INGRES tutorial uses the relations
        !            95: in the demo database for its examples.
        !            96: 
        !            97: .in -10
        !            98: It is imperative that each of these programs be in
        !            99: the correct mode.
        !           100: A sample "ls -l" is given below.
        !           101: Verify that your file modes agree with the listing.
        !           102: 
        !           103: .in +10
        !           104: .nf
        !           105: -rwx--x--x 1 ingres    . . .   copydb
        !           106: -rws--x--x 1 ingres    . . .   creatdb
        !           107: -rwxr-xr-x 1 ingres    . . .   demodb
        !           108: -rws--x--x 1 ingres    . . .   destroydb
        !           109: -rwx--x--x 1 ingres    . . .   equel
        !           110: -rws--x--x 1 ingres    . . .   helpr
        !           111: -rws--x--x 1 ingres    . . .   ingres
        !           112: -rws--x--x 1 ingres    . . .   printr
        !           113: -rws--x--x 1 ingres    . . .   purge
        !           114: -rws--x--x 1 ingres    . . .   restore
        !           115: .fi
        !           116: 
        !           117: .sh
        !           118: EQUEL run time library.
        !           119: .PS
        !           120: The EQUEL run time library should be
        !           121: moved to "/lib/libq.a"
        !           122: or "/usr/lib/libq.a". The library
        !           123: is needed for compiling user EQUEL
        !           124: programs. It is not necessary for
        !           125: compiling INGRES itself.
        !           126: It is
        !           127: preferable although not essential
        !           128: that the owner of the library remain "ingres".
        !           129: To move the library:
        !           130: 
        !           131: .nf
        !           132:        cp .../bin/libq.a  /usr/lib/libq.a
        !           133: .fi
        !           134: 
        !           135: Refer to the INGRES Reference Manual for
        !           136: information about how to use EQUEL and
        !           137: the EQUEL library.
        !           138: There is a tutorial on using EQUEL in
        !           139: ".../doc/other/equeltut.q" and there is a
        !           140: small sample program in ".../doc/other/equeldemo.q".
        !           141: .sh
        !           142: Install concurrency device.
        !           143: .PS
        !           144: If you want to use concurrency control,
        !           145: you will have to install the INGRES concurrency program
        !           146: into /etc, add the command to /etc/rc, and add the
        !           147: definition to /etc/services.
        !           148: You should read the document
        !           149: "Instructions for Installing the INGRES
        !           150: Concurrency Device in UNIX"
        !           151: before proceeding.
        !           152: .sh 1
        !           153: General Information about INGRES.
        !           154: .dn
        !           155: Some comments on the INGRES directories
        !           156: .PS
        !           157: The directories (in ...) necessary
        !           158: for a minimal running system are:
        !           159: 
        !           160: .nf
        !           161: bin            the binary programs comprising INGRES
        !           162: files          files used by various parts of INGRES
        !           163: data/base/     user-created databases
        !           164: demo           used by the "demodb" command
        !           165: .fi
        !           166: 
        !           167: Several additional directories are also created. If space limitations
        !           168: are a problem on your system you may want to delete some or all
        !           169: of the material here.
        !           170: If you need to,
        !           171: delete the files but be sure to keep
        !           172: the directories.
        !           173: The additional directories are:
        !           174: 
        !           175: .nf
        !           176: doc            documentation
        !           177: lib            object file libraries
        !           178: source         system source code
        !           179: .fi
        !           180: .sh
        !           181: Support for separated I & D space.
        !           182: .PS
        !           183: On a PDP-11,
        !           184: you MUST have separated I & D space and floating point hardware
        !           185: for INGRES to run under version 7.
        !           186: INGRES will NOT run on an 11/40 or similar machine
        !           187: under version 7 of UNIX.
        !           188: .sh 1
        !           189: Getting started using INGRES.
        !           190: .dn
        !           191: The Users File.
        !           192: .PS
        !           193: In order to use INGRES a user must be entered into
        !           194: the "users" file.
        !           195: The users file contains information
        !           196: regarding the status and permissions of each
        !           197: user.
        !           198: This file resembles the /etc/passwd file,
        !           199: and includes the user's name, the user
        !           200: code (used inside INGRES to identify a user),
        !           201: the UNIX id of the user, some status bits,
        !           202: and some other fields.
        !           203: These are described in detail in the document
        !           204: users(files).
        !           205: 
        !           206: The users file can be initialized by running
        !           207: the "usersetup" program.
        !           208: This program installs all
        !           209: users in the /etc/passwd file as valid
        !           210: INGRES users.
        !           211: The user code is assigned sequentially
        !           212: from "aa".
        !           213: The status field is initialized to 000000
        !           214: for all normal users and
        !           215: 177777 for the user "ingres".
        !           216: 
        !           217: To setup the users file in /mnt/ingres execute:
        !           218: 
        !           219:        .../bin/usersetup
        !           220: 
        !           221: Once created the users file can be edited using "ed" to do
        !           222: the following things:
        !           223: 
        !           224: .in +8
        !           225: - completely remove all users not authorized to execute INGRES.
        !           226: 
        !           227: - restrict a user from using a particular database.
        !           228: 
        !           229: - set the other status bits for appropriate users.
        !           230: .in -8
        !           231: 
        !           232: As UNIX users are added or deleted, the users
        !           233: file must be updated appropriately.
        !           234: The usersetup program can be executed only once.
        !           235: A diagnostic is issued if it is executed a second time.
        !           236: .sh
        !           237: Creating a Sample Data Base
        !           238: .PS
        !           239: The "demodb" command provided can be used to construct the sample
        !           240: database on
        !           241: which the examples in the tutorial (located on-line in 
        !           242: ".../doc/other/tutorial") are based.
        !           243: In order to execute this command
        !           244: you must be entered into the users
        !           245: file and have permission to create a database.
        !           246: To create the sample
        !           247: database and assign it the name "demo"
        !           248: type the command:
        !           249: 
        !           250: .nf
        !           251:        demodb demo
        !           252: .fi
        !           253: 
        !           254: In order to use INGRES
        !           255: with this database you need 
        !           256: merely type
        !           257: 
        !           258: .nf
        !           259:        ingres demo
        !           260: .fi
        !           261: 
        !           262: and you will be ready to follow the terminal session described in 
        !           263: the tutorial or to formulate your own queries.
        !           264: 
        !           265: To create your own copy of the same sample database
        !           266: use some unique database name.
        !           267: 
        !           268: .nf
        !           269:        demodb mydemo
        !           270: .fi
        !           271: 
        !           272: .sh
        !           273: Creating Other Data Bases.
        !           274: .PS
        !           275: You will no doubt wish to create other databases of your own and
        !           276: for this you will need to use "creatdb".
        !           277: In order
        !           278: to use this command you must be authorized in the users file.
        !           279: .sh
        !           280: Concurrency Control.
        !           281: .PS
        !           282: INGRES is designed to run with either no
        !           283: concurrency control or with full
        !           284: concurrency control.
        !           285: INGRES locks portions of a database by using
        !           286: a user level process called /etc/ingreslock.
        !           287: Initially you can use INGRES without this
        !           288: special process.
        !           289: If you want concurrency control
        !           290: (if more than one person will be using
        !           291: INGRES on the same database at the
        !           292: same time, you MUST have it) then
        !           293: print a copy of the instructions on
        !           294: how to install the concurrency device:
        !           295: 
        !           296: .ti +8
        !           297: nroff .../doc/other/lockdev.nr
        !           298: 
        !           299: .sh 1
        !           300: Hints and suggestions.
        !           301: .PS
        !           302: .dn
        !           303: Unix Protection Problems.
        !           304: .PS
        !           305: If you encounter problems in creating directories or reading in files
        !           306: from the tape
        !           307: check the protection status of the parent directories involved to make sure
        !           308: that permission to write new files exists.
        !           309: 
        !           310: The following summarizes the proper modes for each directory.
        !           311: All directories are owned by INGRES except the
        !           312: individual databases.
        !           313: (The modes in parentheses represent the mode to be used
        !           314: if you wish to restrict access maximally.)
        !           315: .nf
        !           316: 
        !           317:        bin             755
        !           318:        data            700
        !           319:        data/base       777
        !           320:        demo            755
        !           321:        doc             755
        !           322:        files           755
        !           323:        lib             755
        !           324:        source and all its subdirectories       755 (700)
        !           325:        any database    777 (typically owned by the dba)
        !           326: .fi
        !           327: 
        !           328: The programs in .../bin should be in the following modes:
        !           329: 
        !           330: .nf
        !           331:        -rwxr-x--x 1 ingres     . . .   monitor
        !           332:        -rwsr----- 1 ingres     . . .   vaxingres
        !           333: .fi
        !           334: 
        !           335: You may need to
        !           336: become super-user to add files
        !           337: in "/usr/bin".
        !           338: .sh
        !           339: Upper Case Only Terminals
        !           340: .PS
        !           341: Remember if you are using an upper-case-only terminal you will have
        !           342: to use a double backslash "\\\\" with all terminal monitor commands in order to
        !           343: override the interpretation of "\\" as an escape character.
        !           344: For example on an upper and lower case terminal you would type:
        !           345: 
        !           346: .nf
        !           347:        help parts
        !           348:        \\g
        !           349: .fi
        !           350: 
        !           351: while on an upper case only terminal you would type:
        !           352: 
        !           353: .nf
        !           354:        HELP PARTS
        !           355:        \\\\G
        !           356: .fi
        !           357: 
        !           358: .sh 1
        !           359: Source code and system regeneration
        !           360: .dn
        !           361: Log on as user "ingres".
        !           362: .PS
        !           363: When doing any system work always log on as "ingres".
        !           364: .sh
        !           365: Recompilation.
        !           366: .PS
        !           367: All source code for the system is located in ".../source"
        !           368: and various sub-directories therein. Each subdirectory is
        !           369: named for a functional component or sub-component of the system.
        !           370: Makefiles for regenerating the various portions of the system
        !           371: from source are located in the associated directory.
        !           372: To regenerate a particular module (e.g. parser) say:
        !           373: 
        !           374: .nf
        !           375:        chdir .../source/parser
        !           376:        make
        !           377: .fi
        !           378: 
        !           379: The entire system can be recompiled and installed
        !           380: in /usr/bin
        !           381: using the command:
        !           382: 
        !           383: .nf
        !           384:        chdir .../source/conf
        !           385:        make allinstall sysinstall
        !           386: .fi
        !           387: 
        !           388: When recompiling for the first time it is strongly
        !           389: advised that you use a hard copy terminal or
        !           390: save the output in some other manner.
        !           391: 
        !           392: Libraries of object code are maintained
        !           393: in .../lib.
        !           394: 
        !           395: You may find that your C compiler cannot compile INGRES.
        !           396: If this is true, you will have to increase the size of
        !           397: the symbol table in cpp.
        !           398: 
        !           399: .sh
        !           400: Compilation Flags and Funny Flavored UNIXes.
        !           401: .PS
        !           402: If you are running any system
        !           403: other than VM/UNIX release 4.2 (4.2BSD),
        !           404: you may have to recompile the INGRES system
        !           405: before it is usable.
        !           406: Examine the file .../source/unix.h closely
        !           407: for correspondence with your version of reality.
        !           408: Major problems include representation of user and group id's
        !           409: and structures returned by various system calls.
        !           410: 
        !           411: Four compile flags in unix.h define the type of user id's
        !           412: used on your system.
        !           413: For a vanilla version six system
        !           414: with 8-bit user id's and 8-bit group id's,
        !           415: set the xV6_UNIX compilation flag.
        !           416: For a Berkeley version six system
        !           417: with a single 16-bit user id
        !           418: (and no group id),
        !           419: set the xB_UNIX flag.
        !           420: For a vanilla version seven system,
        !           421: chocolate version six system,
        !           422: or VM/UNIX system,
        !           423: with 16-bit user id's and 16-bit group id's
        !           424: set xV7_UNIX.
        !           425: Also, define either
        !           426: VAX
        !           427: or
        !           428: PDP11
        !           429: depending on whether you are on a PDP-11 or a VAX.
        !           430: 
        !           431: A large set of flags
        !           432: in ingres.h
        !           433: control compilation of trace information
        !           434: and timing estimates.
        !           435: Flags of the form "x?TM"
        !           436: (where "?" is a letter as described below)
        !           437: turn on timing information.
        !           438: THESE SHOULD ALWAYS BE LEFT OFF,
        !           439: since the system you receive on the distribution tape
        !           440: does not include everything necessary to
        !           441: successfully use these flags.
        !           442: Flags of the form "x?TR1", "x?TR2", and "x?TR3"
        !           443: are trace compilation flags.
        !           444: Compiling these in does not automatically
        !           445: make trace information print,
        !           446: but only makes it available.
        !           447: These flags must be properly nested;
        !           448: for example, if xMTR2 is set,
        !           449: xMTR1 must also be set
        !           450: (but xMTR3 is optional).
        !           451: The letter codes for these flags are as follows:
        !           452: 
        !           453: .nf
        !           454: .in +5
        !           455: A      Access Methods
        !           456: M      Terminal Monitor
        !           457: P      Parser
        !           458: Q      Qrymod
        !           459: D      Decomposition
        !           460: O      One Variable Query Processor
        !           461: Z      Data Base Utilities
        !           462: E      Equel
        !           463: S      Scanner
        !           464: T      Standalone Routines
        !           465: .fi
        !           466: .in -5
        !           467: 
        !           468: A flag named DISTRIB is used in some places
        !           469: in the code.
        !           470: This is used in the yet-to-be-born
        !           471: Distributed INGRES system,
        !           472: and should always be left off.
        !           473: 
        !           474: Touching any other defined constants
        !           475: should be considered extremely dangerous
        !           476: and is done strictly at your own risk.
        !           477: 
        !           478: .sh 1
        !           479: Documentation.
        !           480: .dn
        !           481: Tutorial on INGRES.
        !           482: .PS
        !           483: A tutorial on using INGRES can be found in
        !           484: ".../doc/other/tutorial.nr". A copy of the document
        !           485: can be produced by:
        !           486: 
        !           487: .nf
        !           488:        nroff .../doc/other/tutorial.nr
        !           489: .fi
        !           490: 
        !           491: The tutorial guides the reader through
        !           492: examples of using QUEL the INGRES database
        !           493: language. A basic familiarity with UNIX is
        !           494: assumed.
        !           495: .sh
        !           496: Reference Manual.
        !           497: .PS
        !           498: The reference manual consists of a number of files - 
        !           499: one for each command or feature in INGRES. The reference
        !           500: manual can be retrieved by using the
        !           501: help command
        !           502: (see help(quel)).
        !           503: A complete copy of the manual can be
        !           504: printed on the line printer by:
        !           505: 
        !           506:        chdir .../doc
        !           507:        make ref
        !           508: 
        !           509: The complete manual is about 80 pages.
        !           510: 
        !           511: .sh
        !           512: Maintenance Manual.
        !           513: .PS
        !           514: A guide to using INGRES has been written and is called
        !           515: "Creating and Maintaining
        !           516: a Database Using INGRES".
        !           517: It includes information about
        !           518: creating databases, storage structures,
        !           519: recovery, copy, indices and
        !           520: other useful information.
        !           521: A copy of the manual can be produced by:
        !           522: 
        !           523: .nf
        !           524:        nroff .../doc/other/maintain.nr
        !           525: .fi
        !           526: 
        !           527: .sh
        !           528: Design of INGRES
        !           529: .PS
        !           530: A draft of the report "The Design and Implementation
        !           531: of INGRES" by Stonebraker, Kreps and Held can be
        !           532: found in ".../doc/other/design.roff". It can be printed
        !           533: by:
        !           534: 
        !           535: .nf
        !           536:        roff .../doc/other/design.roff
        !           537: .fi
        !           538: 
        !           539: The report gives a
        !           540: fairly detailed description of the structure
        !           541: and capabilities of the entire system as
        !           542: it existed over eight years ago, in January 1976.
        !           543: .ul
        !           544: It is out of date in many areas.
        !           545: It gives implementation details and
        !           546: algorithms of important system modules.
        !           547: 
        !           548: .sh
        !           549: Internal Documentation.
        !           550: .PS
        !           551: We currently do not provide,
        !           552: nor have we written any
        !           553: internal documentation beyond what
        !           554: is mentioned in the "Design and Implementation"
        !           555: paper.
        !           556: 
        !           557: This document itself can be reproduced
        !           558: by doing:
        !           559: 
        !           560: .nf
        !           561:        nroff .../doc/other/howto_setup.nr
        !           562: .fi
        !           563: 
        !           564: .sh 1
        !           565: Consulting
        !           566: .PS
        !           567: The INGRES project is not set up to supply
        !           568: regular consulting.
        !           569: If you do have problems,
        !           570: please reread these instructions carefully;
        !           571: over two thirds of the "bug reports" we receive
        !           572: can be answered by re-reading the documentation.
        !           573: For non-technical questions
        !           574: (e.g., regarding availability of the system
        !           575: or documentation)
        !           576: please call the project secretary
        !           577: at (415) 642-2344.
        !           578: I can also be reached through this number.
        !           579: 
        !           580: 
        !           581: .in 10
        !           582: .nf
        !           583: Joe Kalash
        !           584: Electronics Research Laboratory
        !           585: University of California
        !           586: Berkeley, California  94720
        !           587: .fi
        !           588: .in 0

unix.superglobalmegacorp.com

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