Setting Up Unix - Seventh Edition

Charles B. Haley
Dennis M. Ritchie


The distribution tape can be used only on a DEC PDP11/45 or PDP11/70 with RP03, RP04, RP05, RP06 disks and with a TU10, TU16, or TE16 tape drive. It consists of some preliminary bootstrapping programs followed by two file system images; if needed, after the initial construction of the file systems individual files can be extracted. (See restor(1))

If you are set up to do it, it might be a good idea immediately to make a copy of the tape to guard against disaster. The tape is 9-track 800 BPI and contains some 512-byte records followed by many 10240-byte records. There are interspersed tapemarks.

The system as distributed contains binary images of the system and all the user level programs, along with source and manual sections for them--about 2100 files altogether. The binary images, along with other things needed to flesh out the file system enough so UNIX will run, are to be put on one file system called the `root file system'. The file system size required is about 5000 blocks. The file second system has all of the source and documentation. Altogether it amounts to more than 18,000 512-byte blocks.

Making a Disk From Tape

Perform the following bootstrap procedure to obtain a disk with a root file system on it.

  1. Mount the magtape on drive 0 at load point.

  2. Mount a formatted disk pack on drive 0.

  3. Key in and execute at 100000

  4. TU10 TU16/TE16
    012700 Use the DEC ROM or other
    172526 means to load block 1
    010040 (i.e. second block) at 800 BPI
    012740 into location 0 and transfer
    060003 to 0.
    000777

    The tape should move and the CPU loop. (The TU10 code is not the DEC bulk ROM for tape; it reads block 0, not block 1.)

  5. If you used the above TU10 code, halt and restart the CPU at 0, otherwise continue to the next step.

  6. The console should type

  7. Boot
    :

    Copy the magtape to disk by the following procedure. The machine's printouts are shown in italic, explanatory comments are within ( ). Terminate each line you type by carriage return or line-feed. There are two classes of tape drives: the name `tm' is used for the TU10, and `ht' is used for the TU16 or TE16. There are also two classes of disks: `rp' is used for the RP03, and `hp' is used for the RP04/5/6.

    If you should make a mistake while typing, the character '#' erases the last character typed up to the beginning of the line, and the character '@' erases the entire line typed. Some consoles cannot print lower case letters, adjust the instructions accordingly.

    (bring in the program mkfs)
    :tm(0,3) (use `ht(0,3)' for the TU16/TE16)
    file system size: 5000
    file system: rp(0,0) (use `hp(0,0)' for RP04/5/6)

    isize = XX
    m/n = XX

    (after a while)

    exit called
    Boot
    :

    This step makes an empty file system.

  8. The next thing to do is to restore the data onto the new empty file system. To do this you respond to the `:' printed in the last step with

  9. (bring in the program restor)
    :tm(0,4) (`ht(0,4)' for TU16/TE16)
    tape? tm(0,5) (use `ht(0,5)' for TU16/TE16)
    disk? rp(0,0) (use `hp(0,0)' for RP04/5/6)
    Last chance before scribbling on disk. (you type return)
    (the tape moves, perhaps 5-10 minutes pass)
    end of tape

    Boot
    :

    You now have a UNIX root file system.

Booting UNIX

You probably have the bootstrap running, left over from the last step above; if not, repeat the boot process (step 3) again. Then use one of the following:

:rp(0,0)rptmunix (for RP03 and TU10)
:rp(0,0)rphtunix (for RP03 and TU16/TE16)
:hp(0,0)hptmunix (for RP04/5/6 and TU10)
:hp(0,0)hphtunix (for RP04/5/6 and TU16/TE16)

The machine should type the following:


mem = xxx
#

The mem message gives the memory available to user programs in bytes.

UNIX is now running, and the `UNIX Programmer's manual' applies; references below of the form X(Y) mean the subsection named X in section Y of the manual. The `#' is the prompt from the Shell, and indicates you are the super-user. The user name of the super-user is `root' if you should find yourself in multi-user mode and need to log in; the password is also `root'.

To simplify your life later, rename the appropriate version of the system as specified above plain `unix.' For example, use mv (1) as follows if you have an RP04/5/6 and a TU16 tape:

mv hphtunix unix

In the future, when you reboot, you can type just

hp(0,0)unix

to the `:' prompt. (Choose appropriately among `hp', `rp', `ht', `tm' according to your configuration).

You now need to make some special file entries in the dev directory. These specify what sort of disk you are running on, what sort of tape drive you have, and where the file systems are. For simplicity, this recipe creates fixed device names. These names will be used below, and some of them are built into various programs, so they are most convenient. However, the names do not always represent the actual major and minor device in the manner suggested in section 4 of the Programmer's Manual. For example, `rp3' will be used for the name of the file system on which the user file system is put, even though it might be on an RP06 and is not logical device 3. Also, this sequence will put the user file system on the same disk drive as the root, which is not the best place if you have more than one drive. Thus the prescription below should be taken only as one example of where to put things. See also the section on `Disk layout' below.

In any event, change to the dev directory (cd(1)) and, if you like, examine and perhaps change the makefile there (make (1)).

cd /dev
cat makefile

Then, use one of

make rp03
make rp04
make rp05
make rp06

depending on which disk you have. Then, use one of

make tm
make ht

depending on which tape you have. The file `rp0' refers to the root file system; `swap' to the swap-space file system; `rp3' to the user file system. The devices `rrp0' and `rrp3' are the `raw' versions of the disks. Also, `mt0' is tape drive 0, at 800 BPI; `rmt0' is the raw tape, on which large records can be read and written; `nrmt0' is raw tape with the quirk that it does not rewind on close, which is a subterfuge that permits multifile tapes to be handled.

The next thing to do is to extract the rest of the data from the tape. Comments are enclosed in ( ); don't type these. The number in the first command is the size of the file system; it differs between RP03, RP04/5, and RP06.

/etc/mkfs /dev/rp3 74000 (153406 if on RP04/5, 322278 on RP06)
(The above command takes about 2-3 minutes on an RP03)
dd if=/dev/nrmt0 of=/dev/null bs=20b files=6 (skip 6 files on the tape)
restor rf /dev/rmt0 /dev/rp3 (restore the file system)
(Reply with a `return' (CR) to the `Last chance' message)
(The restor takes about 20-30 minutes)

All of the data on the tape has been extracted.

You may at this point mount the source file system (mount(1)). To do this type the following:

/etc/mount /dev/rp3 /usr

The source and manual pages are now available in subdirectories of /usr.

The above mount command is only needed if you intend to play around with source on a single user system, which you are going to do next. The file system is mounted automatically when multi-user mode is entered, by a command in the file /etc/rc. (See `Disk Layout' below).

Before anything further is done the bootstrap block on the disk (block 0) should be filled in. This is done using the command

dd if=/usr/mdec/rpuboot of=/dev/rp0 count=1

if you have the RP03, or

dd if=/usr/mdec/hpuboot of=/dev/rp0 count=1

if you have an RP04/5/6. Now the DEC disk bootstraps are usable. See Boot Procedures(8) for further information.

Before UNIX is turned up completely, a few configuration dependent exercises must be performed. At this point, it would be wise to read all of the manuals (especially `Regenerating System Software') and to augment this reading with hand to hand combat.

Reconfiguration
再構築

The UNIX system running is configured to run with the given disk and tape, a console, and no other device. This is certainly not the correct configuration. You will have to correct the configuration table to reflect the true state of your machine.
実行中の UNIX システムは予め決められたディスクやテープ、 コンソールだけを使って稼働できるように構成されています。 (他の装置は含まれません) これは明らかに正しいコンフィグレーションではありません。 マシンの実際の状況を反映するよう、 コンフィグレーションテーブルを 修正しなければならないでしょう。

It is wise at this point to know how to recompile the system. Print (cat(1)) the file /usr/sys/conf/makefile. This file is input to the program `make(1)' which if invoked with `make all' will recompile all of the system source and install it in the correct libraries.
現時点でシステムのリコンパイルの方法を知ることは賢明です。 /usr/sys/conf/makefile というファイルを表示してください。(cat(1)) このファイルは make(1) プログラムへの入力で、 `make all' を起動すれば システムの全てのソースがリコンパイルされ、 正しいライブラリにインストールされるでしょう。

The program mkconf(1) prepares files that describe a given configuration (See mkconf(1)). In the /usr/sys/conf directory, the four files xyconf were input to mkconf to produce the four versions of the system xyunix. Pick the appropriate one, and edit it to add lines describing your own configuration. (Remember the console typewriter is automatically included; don't count it in the kl specification.) Then run mkconf; it will generate the files l.s (trap vectors) c.c (configuration table), and mch0.s. Take a careful look at l.s to make sure that all the devices that you have are assembled in the correct interrupt vectors. If your configuration is non-standard, you will have to modify l.s to fit your configuration.
プログラム mkconf(1) は 与えられたコンフィグレーションを記述したファイルを準備します。 /usr/sys/conf ディレクトリーにある xyconf という4つのファイルは xyunix という4つのバージョンの システムを作成するための mkconf への入力です。 適切なものを選んで、 自分のコンフィグレーションを記述した行を追加するため 編集してください。 (コンソールタイプライターが自動的に含まれることを忘れないでください; kl のスペックの中ではそれを数えません) 次に mkconf を実行してください; l.s (trap vectors) c.c (configuration table) mch0.s などのファイルが生成されます。 l.s を注意深く見て、接続されている全てのデバイスが 割り込みベクターに正しく組み入れられているかを確認してください。

There are certain magic numbers and configuration parameters imbedded in various device drivers that you may want to change. The device addresses of each device are defined in each driver. In case you have any non-standard device addresses, just change the address and recompile. (The device drivers are in the directory /usr/sys/dev.)
多くのデバイスドライバに埋め込まれた 幾つかのマジックナンバーとコンフィグレーションパラメータがあり、 変更する必要があるかも知れません。 各デバイスのデバイスアドレスは各々のドライバの中で定義されています。 標準でないデバイスアドレスがある場合には、 アドレスを変更してリコンパイルしてください。 (デバイスドライバは /usr/sys/dev にあります)

The DC11 driver is set to run 4 lines. This can be changed in dc.c.
DC11ドライバーは、4行のラインを実行する準備ができています。これはdc.cの中で変更することができます。

The DH11 driver is set to handle 3 DH11's with a full complement of 48 lines. If you have less, or more, you may want to edit dh.c.
DH11 ドライバーは合計で48ラインを備える、 3つの DH11 を扱うことができますが、 それより少ない、あるいは多い時には dh.c を編集する必要があるかも知れません。

The DN11 driver will handle 4 DN's. Edit dn.c.
DN11 ドライバーは4つの DN を扱うことができます。 dn.cを編集してください。

The DU11 driver can only handle a single DU. This cannot be easily changed.
DU11 ドライバーは1つの DU だけを扱うことができますが、 これは容易に変更することができません。

The KL/DL driver is set up to run a single DL11-A, -B, or -C (the console) and no DL11-E's. To change this, edit kl.c to have NKL11 reflect the total number of DL11-ABC's and NDL11 to reflect the number of DL11-E's. So far as the driver is concerned, the difference between the devices is their address.
KL/DL ドライバーは1つの DL11-A、-B、-C (コンソール) を 実行するために設定されますが、DL11-E は動きません。 これを変更するためには、 DL11-ABC の総数を NKL11 に、 そして DL11-E の総数を NDL11 に反映するよう kl.c を編集してください。 ドライバが考慮する限り、 デバイスの間の違いはそのアドレスだけです。

All of the disk and tape drivers (rf.c, rk.c, rp.c, tm.c, tc.c, hp.c, ht.c) are set up to run 8 drives and should not need to be changed. The big disk drivers (rp.c and hp.c) have partition tables in them which you may want to experiment with.
ディスクとテープのドライバー (rf.c, rk.c, rp.c, tm.c, tc.c, hp.c, ht.c) は8つのドライブを実行するように設定され、 変更する必要はありません。 大きなディスクドライバー (rp.cとhp.c) はパーティションテーブルを内蔵していますので、 試してみてください。

After all the corrections have been made, use `make(1)' to recompile the system (or recompile individually if you wish: use the makefile as a guide). If you compiled individually, say `make unix' in the directory /usr/sys/conf. The final object file (unix) should be moved to the root, and then booted to try it out. It is best to name it /nunix so as not to destroy the working system until you're sure it does work. See Boot Procedures(8) for a discussion of booting. Note: before taking the system down, always (!!) perform a sync(1) to force delayed output to the disk.
全ての修正は加えられた後、 make(1) を使ってシステムをリコンパイルしてください。 (あるいは必要であれば個別にリコンパイルすることもできます: ガイドとして makefile を使ってください) 個別にコンパイルする場合には、 /usr/sys/conf ディレクトリで make unix を起動します。 最終的なオブジェクトファイル (unix) は root に移動し、 そして試験的に起動するべきです。 作動すると確信するまでは、 動作中のシステムを壊さないために /nunix と名付けるのがベストでしょう。 ブートに関する議論については Boot Procedures(8) を参照してください。 注: 遅れたディスクへの出力を強制的に反映するため、 システムを停止する前には常に (!!) sync(1) 実行してください。

Special Files
スペシャルファイル

Next you must put in special files for the new devices in the directory /dev using mknod(1). Print the configuration file c.c created above. This is the major device switch of each device class (block and character). There is one line for each device configured in your system and a null line for place holding for those devices not configured. The essential block special files were installed above; for any new devices, the major device number is selected by counting the line number (from zero) of the device's entry in the block configuration table. Thus the first entry in the table bdevsw would be major device zero. This number is also printed in the table along the right margin.
次に、mknod(1)を使用して、ディレクトリー/devの中で新しい装置用の特別のファイルを入れなければなりません。上に作成された配置ファイルc.cを印刷してください。これは少佐です。各装置クラス(ブロックと文字)の装置スイッチ。あなたのシステムで形成された各装置の1行のライン、および形成されない装置に適用できる場所のための無効のラインがあります。本質的なブロック・スペシャル・ファイルは上にインストールされました;任意の新しい装置については、主な装置番号が、装置のブロック配置テーブル中のエントリーのライン番号(0からの)を数えることにより選択されています。したがって、テーブルbdevswの中の第1のエントリーは主な装置0になるでしょう。この数も右のマージンに沿ったテーブルの中で印刷されます。

The minor device is the drive number, unit number or partition as described under each device in section 4 of the manual. For tapes where the unit is dial selectable, a special file may be made for each possible selection. You can also add entries for other disk drives.
小さな装置は駆動番号、ユニット番号あるいはマニュアルのセクション4に各装置の下で記述されるような分割です。ユニットが選択可能なダイヤルである場合、テープについては、特別のファイルが個々の可能?ネ選択のために作られるかもしれません。さらに、他のディスクドライブへのエントリーを加えることができます。

In reality, device names are arbitrary. It is usually convenient to have a system for deriving names, but it doesn't have to be the one presented above.
実際には、装置名は任意です。名前を引き出すためにシステムを持っていることは通常便利です。しかし、それは上に示されたitである必要がありません。

Some further notes on minor device numbers. The hp driver uses the 0100 bit of the minor device number to indicate whether or not to interleave a file system across more than one physical device. See hp(4) for more detail. The tm and ht drivers use the 0200 bit to indicate whether or not to rewind the tape when it is closed. The 0100 bit indicates the density of the tape on TU16 drives. By convention, tape special files with the 0200 bit on have an `n' prepended to their name, as in /dev/nmt0 or /dev/nrmt1. Again, see tm(4) or ht(4).
小さな装置番号に関するいくつかのさらなる注釈。hpドライバーは、1つを越える物理的な装置を横切ってファイル・システムにはさむべきかどうか示すために小さな装置番号の0100ビットを使用します。より詳細については、hp(4)を参照してください。tmとhtのドライバーは、それが閉まっている場合にテープを巻き戻すべきかどうか示すために0200ビットを使用します。0100ビットは、TU16駆動上のテープの密度を示します。協定によって、0200ビットを備えたテープ・スペシャル・ファイル、の上で、持っている、1つの「/dev/nmt0あるいは/dev/nrmt1でのように、それらの名前にprependedされたn'。再び、tm(4)あるいはht(4)を参照してください。

The naming of character devices is similar to block devices. Here the names are even more arbitrary except that devices meant to be used for teletype access should (to avoid confusion, no other reason) be named /dev/ttyX, where X is some string (as in `00' or `library'). The files console, mem, kmem, and null are already correctly configured.
文字装置を命名はブロックデバイスに似ています。ここで、名前は装置がテレタイプ・アクセスのために使用されることを意味した以外はさらに任意です(混乱(他の理由なし)の回避)Xがあるストリング(として、の中で「00'あるいは「図書館」)である場合、/dev/ttyXと命名されるべきです。ファイル・コンソール、mem、kmemおよび空は既に正確に形成されます。

The disk and magtape drivers provide a `raw' interface to the device which provides direct transmission between the user's core and the device and allows reading or writing large records. The raw device counts as a character device, and should have the name of the corresponding standard block special file with `r' prepended. (The `n' for no rewind tapes violates this rule.) Thus the raw magtape files would be called /dev/rmtX. These special files should be made.
ディスクとmagtapeのドライバーは、ユーザの芯と装置の間の直接の送信を提供し、大きなレコードを読むか書くことを可能にする装置に「純粋な」インターフェースを供給します。生の装置は文字装置と見なされ、「r」prependedを備えた対応する標準のブロック・スペシャル・ファイルの名前があるべきです。(巻き戻しテープがないことのための「n」はこの規則を破ります。)したがって、生のmagtapeファイルは/dev/rmtXと呼ばれるでしょう。これらの特別のファイルが作られるべきです。

When all the special files have been created, care should be taken to change the access modes (chmod(1)) on these files to appropriate values (probably 600 or 644).
特別のファイルがすべて作成された場合、値(恐らく600あるいは644)を充当するこれらのファイル上で、アクセス・モード(chmod(1))を変更するために注意するべきです。

Floating Point
浮動小数点

UNIX only supports (and really expects to have) the FP11-B/C floating point unit. For machines without this hardware, there is a user subroutine available that will catch illegal instruction traps and interpret floating point operations. (See fptrap(3).) To install this subroutine in the library, change to /usr/src/libfpsim and execute the shell files
UNIXはFP11-B/C浮動小数点ユニットを単に支援します(持つことを実際に期待する)。このハードウェアのないマシンについては、不法な指示持ち物をつかみ、浮動小数点オペレーションを解釈する利用可能なユーザ・サブルーチンがあります。(fptrap(3)を参照。)図書館(/usr/src/libfpsimへの変更)にこのサブルーチンをインストールしシェル・ファイルを実行すること

compall
mklib

The system as delivered does not have this code included in any command, although the operating system adapts automatically to the presence or absence of the FP11.
伝えられたほどシステムは任意のコマンドにオペレーティング・システムは、FP11の存在か欠如に自動的に適合しますが、このコードを含みません。

Next, a floating-point version of the C compiler in /usr/src/cmd/c should be compiled using the commands:
次に、/usr/src/cmd/cの中のCコンパイラーの浮動小数点式のバージョンはコマンドを使用してコンパイルされるべきです:

cd /usr/src/cmd/c
make fc1
mv fc1 /lib/fc1

This allows programs with floating point constants to be compiled. To compile floating point programs use the `-f' flag to cc(1). This flag ensures that the floating point interpreter is loaded with the program and that the floating point version of `cc' is used.
これは、浮動小数点定数を備えたプログラムがコンパイルされることを可能にします。コンパイルするために、浮動小数点プログラムは'f'を使用します、cc(1)へのフラグ。このフラグは、浮動小数点インタープリターにプログラムが載せられ、「cc」の浮動小数点バージョンが使用されることを保証します。

Time Conversion
時間帯の転換

If your machine is not in the Eastern time zone, you must edit (ed(1)) the file /usr/sys/h/param.h to reflect your local time. The manifest `TIMEZONE' should be changed to reflect the time difference between local time and GMT in minutes. For EST, this is 5*60; for PST it would be 8*60. Finally, there is a `DSTFLAG' manifest; when it is 1 it causes the time to shift to Daylight Savings automatically between the last Sundays in April and October (or other algorithms in 1974 and 1975). Normally this will not have to be reset. When the needed changes are done, recompile and load the system using make(1) and install it. (As a general rule, when a system header file is changed, the entire system should be recompiled. As it happens, the only uses of these flags are in /usr/sys/sys/sys4.c, so if this is all that was changed it alone needs to be recompiled.)
マシンがアメリカ東海岸のタイムゾーン (EST) でない場合、 /usr/sys/h/param.h というファイルを編集して (ed(1))、 ローカルタイムを反映しなければなりません。 'TIMEZONE' という宣言は分単位で表された ローカルタイムとGMTとの時間差に変更しなければなりません。 EST では、これは 5*60 です; PST の場合、8*60 になるでしょう。 最後に 'DSTFLAG' という宣言があり、 それが 1 である場合には 4月と10月の最終日曜日の間は自動的に夏時間に変わります。 (1974 年と 1975 年については他のアルゴリズムが使われます) 通常は、これをリセットする必要はないでしょう。 必要とされる変更が終われば make(1) を使用して、 システムを再コンパイルしてロードしてください。 そして、インストールしてください。 (一般的にシステム・ヘッダーファイルが変更された場合、 全システムを再コンパイルするべきですが、 たまたまこれらのフラグを使用する唯一の箇所は /usr/sys/sys/sys4.c にあります。 したがって、 これだけを変更した場合には、 それだけを再コンパイルすれば良いでしょう)

You may also want to look at timezone(3) (/usr/src/libc/gen/timezone.c) to see if the name of your timezone is in its internal table. If needed, edit the changes in. After timezone.c has been edited it should be compiled and installed in its library. (See /usr/src/libc/(mklib and compall)) Then you should (at your leisure) recompile and reinstall all programs that use it (such as date(1)).
さらに、timezone(3) (/usr/src/libc/gen/timezone.c) を見て あなたのタイムゾーンの名前がその内部テーブルにあるかどうか 確かめておいた方が良いでしょう。 必要であれば、修正してください。 timezone.cが編集された後、 それをコンパイルしライブラリにインストールしなければなりません。 それはコンパイルされ、その図書館にインストールされるべきです。 (/usr/src/libc/(mklibとcompall)を参照) その後は暇を見て、 (date(1) のような)それを使用するプログラムも すべて再コンパイルし再インストールしておきましょう。

Disk Layout
ディスクのレイアウト

If there are to be more file systems mounted than just the root and /usr, use mkfs(1) to create any new file system and put its mounting in the file /etc/rc (see init(8) and mount(1)). (You might look at /etc/rc anyway to see what has been provided for you.)
場合単なる根、および/usr(どんな新しいファイル・システムも作成し、かつファイル/etc/rc(init(8)を参照、増大する(1))の中のその装備を置く使用mkfs(1))よりマウントされた、より多くのファイル・システムはあるべきです。(何があなたに供給されたか確かめるために/etc/rcをとにかく見るかもしれません。)

There are two considerations in deciding how to adjust the arrangement of things on your disks: the most important is making sure there is adequate space for what is required; secondarily, throughput should be maximized. Swap space is a critical parameter. The system as distributed has 8778 (hpunix) or 2000 (rpunix) blocks for swap space. This should be large enough so running out of swap space never occurs. You may want to change these if local wisdom indicates otherwise.
あなたのディスク上のものの配置を調節する方法を決定する際に、2つの考察があります:最も重要なものは、要求されるもののための適切なスペースがあることを確かめています;二番目に、処理能力は最大限にされるべきです。交換スペースは重大なパラメーターです。システム分配されたとともに、交換スペースのための8778(hpunix)あるいは2000の(rpunix)ブロックを持っています。交換スペースを使い果たすことが生じないように、これは十分に大きいに違いありません。ローカルの知恵が示す場合、これらを変更したいと思うかもしれません、そうでなければ。

The system as distributed has all of the binaries in /bin. Most of them should be moved to /usr/bin, leaving only the ones required for system maintenance (such as icheck, dcheck, cc, ed, restor, etc.) and the most heavily used in /bin. This will speed things up a bit if you have only one disk, and also free up space on the root file system for temporary files. (See below).
分配されるようなシステムは/binにbinariesをすべて持っています。それらのうちのほとんどはシステム・メンテナンス(icheck、dcheck、cc、ed、restorなどのような)のためにいくつかのものだけを要求しておいて、/usr/ビンに移動されるべきです、そしてその、最も極度に/binの中で使用されました。あなたが単に1枚のディスクを持っていれば、これはビットを上へ事態を促進し、テンポラリファイル用の根ファイル・システム上のスペースをさらに解放します。(以下を参照)。

Many common system programs (C, the editor, the assembler etc.) create intermediate files in the /tmp directory, so the file system where this is stored also should be made large enough to accommodate most high-water marks. If you leave the root file system as distributed (except as discussed above) there should be no problem. All the programs that create files in /tmp take care to delete them, but most are not immune to events like being hung up upon, and can leave dregs. The directory should be examined every so often and the old files deleted.
多くの共通のシステム・プログラム(C、エディター、アセンブラーなど)が、/tmpディレクトリーの中で中間のファイルを作成します、したがって、これが格納される場合、ファイル・システムはさらにほとんどの高潮標を提供するように十分に大きくなるべきです。あなたが分配される(上に議論されるように異議を唱える)ような根ファイル・システムを残せば、問題はあってはなりません。/tmpの中でファイルを作成するプログラムはすべて、それらを削除するように注意するが、掛けられることのように出来事に対して最も免疫になっていません、で、またかすを残すことができます。ディレクトリーは時々検査されるべきです。また、古いファイルは削除しました。

Exhaustion of user-file space is certain to occur now and then; the only mechanisms for controlling this phenomenon are occasional use of du(1), df(1), quot(1), threatening messages of the day, and personal letters.
ユーザファイルスペースの消耗は必ず時々生じます;この現象をコントロールするためのただ一つのメカニズムはdu(1)、df(1)、quot(1)、その日の恐ろしいメッセージおよび私信の時々の使用です。

The efficiency with which UNIX is able to use the CPU is largely dictated by the configuration of disk controllers. For general time-sharing applications, the best strategy is to try to split user files, the root directory (including the /tmp directory) and the swap area among three controllers.
UNIXがCPUを使用することができる効率は、ディスク・コントローラーの構成によって大部分は書き取らせられます。一般的なタイムシェアするアプリケーションについては、最良の戦略がユーザ・ファイル、ルート・ディレクトリー(/tmpディレクトリーを含んで)および3つのコントローラーの間の交換エリアを分割しようとすることです。

Once you have decided how to make best use of your hardware, the question is how to initialize it. If you have the equipment, the best way to move a file system is to dump it (dump(1)) to magtape, use mkfs(1) to create the new file system, and restore (restor(1)) the tape. If for some reason you don't want to use magtape, dump accepts an argument telling where to put the dump; you might use another disk. Sometimes a file system has to be increased in logical size without copying. The super-block of the device has a word giving the highest address which can be allocated. For relatively small increases, this word can be patched using the debugger (adb(1)) and the free list reconstructed using icheck(1). The size should not be increased very greatly by this technique, however, since although the allocatable space will increase the maximum number of files will not (that is, the i-list size can't be changed). Read and understand the description given in file system(5) before playing around in this way. You may want to see section rp(4) for some suggestions on how to lay out the information on RP disks.
一旦あなたがあなたのハードウェアを最良に利用する方法を決定したならば、問題はそれを初期化する方法です。あなたが設備を持っていれば、ファイル・システムを移動させる最良の方法はmagtapeにそれ(ダンプ(1))をダンプし、新しいファイル・システムを作成するためにmkfs(1)を使用し、テープを回復する(restor(1))ことです。ある理由のために、あなたがmagtapeを使用したくなければ、ダンプはどこにダンプを置くべきであるか伝える議論を受理します;別のディスクを使用するかもしれません。時々、ファイル・システムを複写のない論理的なサイズの中で増加させなければなりません。装置のスーパーブロックは、割り付けることができる最も高い演説を行う言葉を持っています。比較的小さな増加については、icheck(1)を使用して改造されたデバッガ(adb(1))、および免税品目表を使用して、この単語に継ぎを当てることができます。しかしながら、サイズは、この技術によってあまり大幅に増加させられてはなりません、以来、割付け可能なスペースはが、ファイルの最大の数はしないでしょう。(すなわち、i-リストサイズは変更すること

If you have to merge a file system into another, existing one, the best bet is to use tar(1). If you must shrink a file system, the best bet is to dump the original and restor it onto the new filesystem. However, this might not work if the i-list on the smaller filesystem is smaller than the maximum allocated inode on the larger. If this is the case, reconstruct the filesystem from scratch on another filesystem (perhaps using tar(1)) and then dump it. If you are playing with the root file system and only have one drive the procedure is more complicated. What you do is the following:
別のものへファイル・システムを合併しなければならない場合、既存のもの、最良の賭けはタール(1)を使用することです。あなたがファイル・システムを縮ませなければならなければ、最良の賭けはオリジナルをダンプし、新しいファイルシステム上にそれをrestorすることです。しかしながら、より小さなファイルシステム上のi-リストが最大がより大きなものの上の内叙情詩を割り付けたより小さい場合、これは働かないかもしれません。その場合、別のファイルシステム(恐らくタール(1)を使用して)の掻き傷からのファイルシステムを改造して、次に、それをダンプしてください。あなたが根ファイル・システムで遊んでおり、1つの駆動だけを持っていれば、手続きはより複雑です。あなたが行うのは下記です:

  1. GET A SECOND PACK!!!!
    別のパックを得る!!!!
  2. Dump the current root filesystem (or the reconstructed one) using dump(1).
    現在のルートファイルシステム(あるいは改造されたもの)を使用するダンプ(1)をダンプしてください。
  3. Bring the system down and mount the new pack.
    システムを下げて、新しいパックをマウントしてください。
  4. Retrieve the WECo distribution tape and perform steps 1 through 5 at the beginning of this document, substituting the desired file system size instead of 5000 when asked for `file system size'.
    WECo分配テープを検索して、「ファイル・システム・サイズ」を求められた時5000の代わりに希望のファイル・システム・サイズを代用して、このドキュメントの初めにステップ1〜5を実行してください。
  5. Perform step 6 above up to the point where the `tape' question is asked. At this point mount the tape you made just a few minutes ago. Continue with step 6 above substituting a 0 (zero) for the 5.
    「テープ」質問が出されるポイントまでステップ6を上に実行してください。このポイントで、たった数分前に作ったテープをマウントします。5つに0(0)を代用することの上のステップ6を継続してください。

New Users
新しいユーザー

Install new users by editing the password file /etc/passwd (passwd(5)). This procedure should be done once multi-user mode is entered (see init(8)). You'll have to make a current directory for each new user and change its owner to the newly installed name. Login as each user to make sure the password file is correctly edited. For example:
passwdファイル/etc/passwd(passwd(5))の編集により、新規のユーザを任じてください。一旦マルチユーザーモードが入力される(init(8)を参照)ば、この手続きが行われる?ラきです。個々の新規のユーザのためにカレント・ディレクトリを作り、新しくインストールされた名前にその所有者を変更しなければならないでしょう。passwdファイルが正確に編集されることを確かめるために各ユーザとしてログインしてください。例えば:

ed /etc/passwd
$a
joe::10:1::/usr/joe:
w
q
mkdir /usr/joe
chown joe /usr/joe
login joe
ls -la
login root

This will make a new login entry for joe, who should be encouraged to use passwd(1) to give himself a password. His default current directory is /usr/joe which has been created. The delivered password file has the user bin in it to be used as a prototype.
これは、joe(この人は彼自身にパスワードを与えるためにpasswd(1)を使用するように激励されるべきである)への新しいログイン・エントリーを行なうでしょう。彼のデフォルト・カレント・ディレクトリはそうです。/usr/joeどれが作成されたか。伝えられたpasswdファイルはユーザを持っています。ビンそれでは、あることがプロトタイプとして使用しました。

Multiple Users
多数ユーザ

If UNIX is to support simultaneous access from more than just the console terminal, the file /etc/ttys (ttys(5)) has to be edited. To add a new terminal be sure the device is configured and the special file exists, then set the first character of the appropriate line of /etc/ttys to 1 (or add a new line). Note that init.c will have to be recompiled if there are to be more than 100 terminals. Also note that if the special file is inaccessible when init tries to create a process for it, the system will thrash trying and retrying to open it.
UNIXが単なるコンソール・ターミナルを越えるものからの同時のアクセスを支援する予定である場合、ファイル/etc/ttys(ttys(5))を編集しなければなりません。新しいターミナルを加えるために、装置は必ず形成されて、次に、1(あるいは新しいラインを加える)に/etc/ttysの適切なラインの第1の特徴をセットしてください。 そうすれば、特別のファイルは存在します。100を越えるターミナルがあるべき場合、頭文字cが再コンパイルされなければならないだろうということに注意してください。initがプロセスを作成しようとする場合、特別のファイルが得難い場合は、さらにそれに注意してください。それについては、システムがそれを開くのを再び試みようを努めて揺れるでしょう。

File System Health
ファイルシステムの健康

Periodically (say every day or so) and always after a crash, you should check all the file systems for consistency (icheck, dcheck(1)). It is quite important to execute sync (8) before rebooting or taking the machine down. This is done automatically every 30 seconds by the update program (8) when a multiple-user system is running, but you should do it anyway to make sure.
周期的に常に、衝突の後に、一貫性(icheck、dcheck(1))があるかファイル・システムをすべてチェックするべきです(毎日くらいは言う)。リブートするかマシンを降ろすこと前に同時録音(8)を実行することは全く重要です。複合のユーザのシステムが走っている場合、これは30秒ごとに最新版プログラム(8)によって自動的に行われます。しかし、確かめるためにそれをとにかく行うべきです。

Dumping of the file system should be done regularly, since once the system is going it is very easy to become complacent. Complete and incremental dumps are easily done with dump(1). Dumping of files by name is best done by tar(1) but the number of files is somewhat limited. Finally if there are enough drives entire disks can be copied using cp(1), or preferably with dd(1) using the raw special files and an appropriate block size.
一度、システムが行くので、ファイル・システムのダンピングは規則的に行われるべきです、自己満足になることは非常に容易です。完成してください。そうすれば、インクリメントの憂鬱は、容易にダンプ(1)をやめます。名前によってファイルをダンプすることは、タール(1)によって最も行われます。しかし、ファイルの数は多少制限されています。最後に、十分なドライブがある場合、全ディスクはcp(1)を使用して、コピーすることができます、あるいは生の特別のファイルおよび適切なブロック・サイズを使用して、dd(1)でむしろ。

Converting Sixth Edition Filesystems
第6の版ファイルシステムの変換

The best way to convert file systems from 6th edition (V6) to 7th edition (V7) format is to use tar(1). However, a special version of tar must be prepared to run on V6. The following steps will do this:
ファイル・システムを第6の版(V6)から第7の版(V7)フォーマットに変換する最良の方法は、タール(1)を使用することです。しかしながら、タールの特別版は、V6の上で走る準備ができているに違いありません。次のステップがこれをするでしょう:

  1. change directories to /usr/src/cmd/tar
    /usr/src/cmd/タールへの変更ディレクトリー

  2. At the shell prompt respond
    シェル・プロンプトで、答える。

  3. make v6tar

    This will leave an executable binary named `v6tar'.
    これは実行可能な2進法の指定された「v6tar」を残すでしょう。

  4. Mount a scratch tape.
    雑記用のテープをマウントしてください。

  5. Use tp(1) to put `v6tar' on the scratch tape.
    雑記用のテープに「v6tar」を置くためにtp(1)を使用してください。

  6. Bring down V7 and bring up V6.
    V7を下げて、V6を表に出してください。

  7. Use tp (on V6) to read in `v6tar'. Put it in /bin or /usr/bin (or perhaps some other preferred location).
    「v6tar」の中で読むためにtp(V6の上の)を使用してください。/binあるいは/usr/ビン(あるいは恐らく他のある好ましい位置)にそれを入れてください。

  8. Use v6tar to make tapes of all that you wish to convert. You may want to read the manual section on tar(1) to see whether you want to use blocking or not. Try to avoid using full pathnames when making the tapes. This will simplify moving the hierarchy to some other place on V7 if desired. For example
    あなたが変換したいものすべてのテープを作るためにv6tarを使用してください。あなたが閉鎖して使用したいかどうか確かめるようにタール(1)についての手動のセクションを読みたいと思うかもしれません。テープを作る場合に十分なパスネームを使用することを回避しようとしてください。これは単純化するでしょう、もし望まれればV7の上の他のある場所に階層を移動させること例えば

  9. chdir /usr/ken
    v6tar c .

    is preferable to
    望ましい、に

    v6tar c /usr/ken

  10. After all of the desired tapes are made, bring down V6 and reboot V7. Use tar(1) to read in the tapes just made.
    希望のテープがすべて作られた後、V6を下げて、V7をリブートしてください。テープの中で読む使用タール(1)はちょうど作りました。

Odds and Ends
残り物

The programs dump, icheck, quot, dcheck, ncheck, and df (source in /usr/source/cmd) should be changed to reflect your default mounted file system devices. Print the first few lines of these programs and the changes will be obvious. Tar should be changed to reflect your desired default tape drive.
icheck、quot、dcheck、ncheckおよびdf(/usr/出所/cmdの中の出所)あなたのデフォルトがファイル・システム装置をマウントしたと考えるために変更されるべきです。これらのプログラムの最初の少数のラインを印刷してください。そうすれば、変更は明白になります。タールはあなたの希望のデフォルト・テープ駆動を反映するために変更されるべきです。



Good Luck

Charles B. Haley
Dennis M. Ritchie