# -*- Text -*- ---- ・Linux の install について Linux は、80386以上の CPU を積んだ PC/AT互換機で動作する Free の UNIX ク ローンである。Linux にはたくさんのフリー ウェアが移植されているため、自分でコン パイルしなくてもインストールすればすぐ に便利なツールが利用できるようになって いる。今回の付録についている Linux の Slackware 2.0 のインストールについて説 明する。 ・Linux が動くハードウェア構成 Linux は 80386以上の CPU ののっている ISA, EISA, VL bus を持った PC/AT 互換 機で動作する。数値演算コプロセッサーは なくても kernel で浮動小数点演算をエミュ レートするので問題はないが、コプロセッ サーと比べると遅いので浮動小数点演算を たくさん使うユーザはコプロセッサーを付 けておくべきだろう。IBM 独自のアーキテ クチャである Micro Channel Architecture のマシンでは今のところ;動 作しない。ThinkPad などでは、ディスク コントローラの仕様が若干違うが、ブート 時に適切なパラメータを与えることでちゃ んと動作するようになる。富士通の FM Towns は PC/AT 互換機ではないが、Nifty Serveの有志を中心に移植が行なわれてい るので、ほぼ最新の version を動作させ ることができる。 メモリは最低 4Mbytes はないと駄目だろ う。2Mbytes でも動くことは動くが、実用 的であるとはとても言えない。できれば 8Mbytes、X-windows を動かすのなら 16Mbytes 以上あったほうがよい。 ビデオカードとしては Hercules, CGA, EGA, VGA, Super VGA が利用できる。X window は VGA, Super VGA, 8541/A, Hercules で動くが、SuperVGA の方が広い 画面が使えるので、できれば Super VGA にしたほうがよい。アクセラレータは S3(911/911A/924/801/805/928), IBM 8514/A, ATI(Mach8/Mach32), Cirrus(5428/5426/5424/5422/5420), WD(90C31)が利用できる。ただし、Diamond 製品は、情報提供されていないので、正式 にサポートされていない。動かないことは ないが、できるだけ避けたほうがいいだろ う。 ハードディスクは MFM,RLL から IDE のド ライブが利用できる。SCSI ハードディス クも当然利用できる。Linux ではかなりの SCSI Interface が利用可能だが、あまり 新しすぎるのはまだデバイスドライバが作 られていなかったりするので注意が必要で ある。ちなみに Linux でサポートされて いる SCSI Interface が表のとおりである。 ハードディスクの容量は何をインストール するかによるが、40〜80Mbytes あればそ れなりの環境を構築することができる。た だ、X window system などいろいろインス トールしていくなら、数百Mbytes 以上あっ たほうがいいだろう。 ---------------------------------------------------------------- Linux がサポートしている SCSI Interface ---------------------------------------------------------------- Adaptec AHA152x, Adaptec AHA154x やその互換品 (Bustek や DTC の 329x) Adaptec AHA174x Future Domain 850, 885, 950 などのシリーズ TMC-1800 か TMC-18c50 を使った Future Domain の 16x0 PAS16 SCSI ボード Seagate ST-0x Trantor T128/T128F/T228 UltraStor 14F, 24F, 34F Western Digital 7000 NCR5380 ---------------------------------------------------------------- なお、これらに継いだ、テープや CD-ROM も Linux で利用することができる。 CD-ROM は SCSI の他に、mitsumi, Sony CDU31A, SoundBlaster, Philips/LMS, Panasonic のものが動作する。 ネットワークカードは表のものが標準 kernel でサポートされている。 ---------------------------------------------------------------- Linux がサポートしている ネットワークカード ---------------------------------------------------------------- Western Digital 80x3 SMC Elite 16, SMC Elite ULTRA NE1000, NE2000 NE2100(Lance, PCnet-ISA) HP 27247A HP Ethertwist 16 TL Adaptor HP 27250A J2405A HP PC LAN Adapter NC/16 TP 3com 501,503,509,579 Allied Telesis AT1500(HE4000) AT1700 D-link DE600 AT-LAN-TEC/RealTek ---------------------------------------------------------------- また、シリアルラインを使った SLIP,CSLIP やパラレルライン(プリンタ) を使った PLIP を使うこともできる。 シリアルボードとしては AST Fourport cards(w/ 4 serial ports), Boca, Usenet Serial Card III などが利用できる。もち ろん普通のシリアルインターフェースも利 用することができる。 マウスは大抵のシリアルマウスが使える。 また Microsoft や Lotitec, PS/2, ATI のバスマウスや TI Travelmate[C & T32C710] Quickport マウスも利用できる。 サウンドボードは Adlib, SoundBlaster1.0/2.0/Pro/Pro2, ProAudio Spectrum 16, Gravis Ultra Sound, MPU-401 などを使うことができる。 なお、Linux がサポートしているデバイス についてさらに詳しく知りたい場合は、JF などのドキュメントを参照するとよい。 Linux をインストールする前にまず自分の マシンが Linux でサポートされているハー ドウェアかどうかを確認しておく。また、 それぞれの I/Oポート、IRQ(割り込み番号) もちゃんと確認しておく。I/OポートやIRQ が複数のデバイスで同じものを使っていた りするとおそらく動かないので、ちゃんと 重ならないように割りあてておく必要があ る。デバイスドライバによってはブート時 に自動的にそのデバイスの I/Oポートと IRQ を調べてくれるものがあるが、ものに よってはちゃんと認識されないかもしれな いのでその場合は I/Oポートや IRQ を適 当に変更する必要があるかもしれない。 なお、今回インストールしてみたハードウェ アの構成は表のとおりである。 ---------------------------------------------------------------- ハードウェア構成 ---------------------------------------------------------------- HP Vectra 486/66XM CPU 486DX2 メモリ 24Mバイト インターフェース IDE, フロッピー、シリアル、パラレル PS/2マウス SCSI I/F Adaptec AHA-1542CF フロッピーディスク 3.5inch x 1 ハードディスク IDE???M, SCSI 1G CD-ROM SCSI (Toshiba CD-ROM XM-3301TA) テープ VIPER 150 ビデオカード S3 805 ディスプレイ HP D1193A ネットワーク HP built-in interface ---------------------------------------------------------------- ・インストールの流れ Linux Slackware パッケージのインストー ルは次のような手順で行なう。 0) ハードウェアの設定が正しいかどうか 確認する。 1) インストールに使うフロッピーディス クを準備する。 2) Linux をインストールする分のディス クの領域をあける。 3) インストール用ディスクでブートする。 4) fdisk を使って Linux のパーティショ ンを切る。 5) setup を使ってシステムの設定、イン ストールを行なう。 これらのインストール手順は slackwar/install.txt などにも書いてあ る。また、TOWNS版については towns/install.doc に詳しく書いてあるの でよく読んでおいたほうがよい。 以下ではインストールの仕方をl順に説明し ていく。 ・ハードウェアの設定の確認 まず、ボード類がちゃんとささっているか を確認する。ボードがしっかりとささって いないために動かない場合がよくある。ま た、I/Oポートや IRQ が衝突していないど うかちゃんと確認する。 ・インストールに使うフロッピーディスクを 準備する まず当然のことだが、MS-DOS をブートし て CD-ROM ドライブがアクセスできるよう にする。CD-ROM の SLACKWAR ディレクト リが Slackware パッケージである。この 中には以下のようなファイル、ディレクト リがある。 ---------------------------------------------------------------- ドキュメント 00index.txt, COPYING, ChangeLog, Copyright, JUNKWARN, MIRRORS.TXT INSTALL.TXT, INS_1_2.MEG, README.INS, README.v2, SLAKWARE.FAQ UPGRADE.TXT ブート、ルートフロッピーを作るためのDOSプログラム GZIP.EXE, RAWRITE.EXE 5inch floppy(1.2M)用のブート/ルートイメージ bootdsks.12 rootdsks.12 3.5inch floppy(1.44M)用のブート/ルートイメージ bootdsks.144 rootdsks.144 Slackware パッケージ slakware コンパイル済みのカーネル kernels その他 contrib non-commercial-use ---------------------------------------------------------------- 大抵の PC/AT互換機には 1.44M の 3.5inch FD がついているだろうから、 bootdsks.144, rootdsds.144 のブートイ メージ、ルートイメージを使えばよい。 5inch FD しかついていないなら、 bootdsks.12, rootdsks.12 の方を使う。 以下、3.5inch FD の場合について説明す る。5inch の場合もほぼ同じようにできる はずである。 Slackware 2.0 に用意されているブートイ メージは以下のものがある ---------------------------------------------------------------- SLACKWAR\BOOTDSKS.144: BARE.GZ IDE CDU31A.GZ IDE, SCSI, Sony CDU31/33a CD drivers MITSUMI.GZ IDE, SCSI, Mitusmi CD drivers NET.GZ IDE, ethernet SBPCD.GZ IDE, SCSI, SB Pro/Panasonic CD drivers SCSI.GZ IDE, SCSI, SCSI CD-ROM drivers SCSINET.GZ IDE, SCSI, SCSI CD-ROM drivers, ethernet SONY535.GZ IDE, SCSI, Sony 535/531 CD drivers XT.GZ IDE, XT MODERN.GZ kernel ver 1.1.18 (network, Sony 535 CD-ROM以外) NCR.GZ kernel ver 1.1.19 (Trantor T128, NCR53c810 PCI SCSI) ---------------------------------------------------------------- これらの中からインストールする時に必要 なデバイスのデバイスドライバを含んだも のを選ぶ。今回使ったマシンでは SCSI CD-ROM (XM-3301TA) からインストールす るので、ブートイメージとしては SCSI.GZ を使った。 これらのブートイメージはGNU gzip で圧 縮されている。したがってブートフロッピー を作るためにはまず GZIP.EXE で解凍する。 GZIP.EXE は CD-ROM の中の SLACKWAR\GZIP.EXE にあるのでそれを利 用すればよい。 ブートイメージを適当なディレクトリにコ ピーして GZIP.EXE を使って圧縮を解く。 C:> GZIP -D SCSI.GZ すると、.GZ のとれたファイルが作られる。 これをあらかじめフォーマットしたフロッ ピーに書き込む。書き込むのは CD-ROM の 中の SLACKWAR\RAWRITE.EXE を使う。 Enter source file name: で書き込むブー トイメージのファイル名 (今の場合は SCSI)、Enter destination drive:で書き 込まれるフロッピーを入れたドライブ名 (普通 A: drive だから A)を入力する。フォー マット済みのフロッピーをそのドライブに いれて ENTER キーをたたくと書きこんで くれる。 ---------------------------------------------------------------- C:> RAWRITE RaWrite 1.2 - Write disk file to raw floppy diskette Enter source file name: SCSI Enter destination drive: A Please insert a formatted diskette into drive A: and press -ENTER-: : : Done. C:> ---------------------------------------------------------------- 次にルートディスクを用意する。これも何 種類かあるが普通l COLOR144.GZ を使う。 ---------------------------------------------------------------- SLACKWAR\ROOTDSKS.144: COLOR144.GZ full-screen, color のインストールプログラム付き UMSDS144.GZ UMSDOS を使ってインストールする場合 TTY144.GZ tty-base のインストールスクリプト付き TAPE144.GZ tape からインストールためのディスク ---------------------------------------------------------------- これもブートイメージと同じように GZIP で解凍、RAWRITE でフロッピーに書き込む。 なお、近くに CD-ROM が読めてフロッピー 1.44M フォーマットが書きこめる UNIX マ シンがあれば、CD-ROM をマウントして、 次のようにして書きこむことができる。 % dd if=ファイル名 of=フロッピーのデバイスファイル 当然書きこむ前にフォーマットはしておく 必要がある。 また、Slackware をインストールするとブー トフロッピーを作成することになる。LILO というプログラムを使えばハードディスク からブートするように設定することもでき るが非常用のためにブートフロッピーを作っ ておいた方がいい。そのためのディスクも DOS であらかじめフォーマットしておく。 ここまでで、 ・インストール用ブートディスク 各自のマシンで利用するブート イメージ(SCSI など)を書きこん だもの ・インストール用ルートディスク COLOR144 を書きこんだもの ・インストール後に作成するブートディス クのためのフロッピー フォーマットしておく 以上の 3枚のフロッピーができているはず である。 ・Linux をインストールする分のディスクの 領域をあける。 次に Linux をインストールする分のディ スクの領域をあけておく必要がある。 (UMSDOS を使えば DOS のパーティション にインストールできるらしいが DOS とは 別のパーティションを使うようにした方が 安全だろう)さて、Linux にどれくらいの 容量をさけばいいかであるが、これは何を インストールするかに大きく依存する。ま た、swap もある程度確保しておいたほう がよい。Linux では実メモリ + swap が仮 想メモリ空間となるので、16Mbytes もメ モリを積んでいたら普通に使っている分に は swap がなくても大丈夫な場合がある (これも使い方による)が一応、swap をあ る程度とっておいたほうがいいと思われる。 なお、メモリ 4Mbytes ではインストール 時にメモリが足りなくなるらしいので swap は絶対確保しないといけない。なお、 Linux では 1 swap partition あたり最大 16M bytes となっている。もし 16M bytes 以上 swap をとりたいのなら複数の swap partition を設定すればよい。 X window systemや日本語環境などをイン ストールするのなら swap なども含めて最 低100Mbytes強は必要になるだろう。 Slackware のパッケージにはいろんなフリー ウェアが含まれているので、使わないもの をインストールしないのならもっと少ない 容量でも大丈夫だろうし、あれもこれもイ ンストールしようとするならもっとたくさ んの容量が必要だろう。ちなみに Slackware を全部展開すると 200Mbytes 程度になるので、これに swap や自分で使 う分の容量を加えた分が必要となる。さら に JE も展開すると150Mbytes強あるが、 日本語入力を Wnn/Canna/SJ3/SKK などを 選ぶので実際は全部いるものをいれたとし てもこれより少なくて済むはずである。だ から何も考えずに全部インストールすると しても 400Mbytes もあれば十分だろう。 このあたりは各自の持っているハードディ スクの容量や、DOS/Windows, OS/2 などの 別の OS に使う容量との兼ねあいで決めれ ばよい。ただ、容量が少ないと後で足りな くなったりした時困るので最初何を入れれ ばいいかわからないうちはできるだけ広く Linux 用に確保しておいたほうがいいと思 う。 もし現在 DOSや Windows なんかでディス ク全部を使っているのならパーティション の切り直しが必要になる。バックアップを とって Linux で使うぶんだけをあけてパー ティションを切り直す。 Linux をインストールする分のディスクの 領域をあけたなら次はいよいよインストー ル用Linux でブートである。 ・インストール用ディスクでブートする あらかじめ作っておいたブートディスクで 起動すると、次のようなメッセージを出し て止まる。 ---------------------------------------------------------------- LILO Welcome to the Slackware Linux 2.0.0 Bootkernel disk! If you have any extra parameters to pass to the kernel, enter them at the prompt below. For instance, you might need something like this to detect the hard drives on PS/1 and ValuePoint models from IBM: ramdisk hd=cyl,hds,sec (Where "cyl", "hds", and "secs" are the number of cylinders, sectors, and heads on the drives.) Also, in a pinch, you can boot your system with a command like: mount root=/dev/hda1 If you would rather load the root/install disk from your second floppy drive: drive2 DON'T SWITCH ANY DISKS YET! This prompt is just for entering extra parameters. If you don't need to enter any parameters, hit ENTER to continue. boot: ---------------------------------------------------------------- ここで自動的に認識できないようなデバイ スなどのパラメータを与えたりすることが できる。特に IBM の PS/V などではその ままでは IDE のドライブのパラメータを BIOS から正しい値を得ることできない。 そのためメッセージにも書かれている通り boot: ramdisk hd=シリンダ数,ヘッド数,セクタ数 と入力する。すると Linux はちゃんとハー ドディスクを認識するようになる。 普通は特に指定しなくても大丈夫なので、 そのままリターンキーをたたけばよい。 リターンキーをたたくと Linux の kernel がブートしてデバイスの認識を行なう。こ こでデバイスを認識するといろんなメッセー ジを表示する。SCSI に関しては、例えば 次のように表示される ---------------------------------------------------------------- Configuring Adaptec at IO:330, IRQ 11, DMA priority 5 scsi0 : Adaptec 1542 scsi : 1 hosts. Vendor: MICROP Model: 4110-09NB_Nov18b Rev: TN0F Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, id 0, lun 0 Vendor: TOSHIBA Model: CD-ROM XM-3301TA Rev: 0272 Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi0, id 1, lun 0 Vendor: ARCHIVE Model: VIPER 150 21247 Rev: -005 Type: Sequential-Access ANSI SCSI revision: 01 Detected scsi tape st0 at scsi0, id 5, lun 0 scsi : detected 1 SCSI disk 1 tape 1 CD-ROM drive total. Scd sectorsize = 2048 bytes ---------------------------------------------------------------- ここで、IO や IRQ, DMA が設定した値と あっているか確認する。また SCSI に接続 したデバイスもちゃんと認識されているか 確認しておこう。 デバイスの認識がおわった後、パーティショ ンのチェックがおこなわれて次のメッセー ジを表示して止まる。 ---------------------------------------------------------------- Partition check: sda: sda1 hda: hda1 Please remove the boot kernel disk from your floppy drive, insert a root/install disk (such as one of the Slackware color144, colrlite, tty144, or tty12 disks) or some other disk you wish to load into a ramdisk and boot, and then press ENTER to continue. ---------------------------------------------------------------- ここで、あらかじめ作っておいた ルート ディスク(COLOR144)をブートディスクと入 れかえて リターンキーを叩く。するとルー トディスクが RAMDISK にロードされて login のプロンプトがでるので、root で loginする。Linux では仮想コンソールの 機能があるので、別の仮想コンソールから login することもできる。仮想コンソール を切り換えるためには ALT + ファンクショ ンキーを使う。例えば ALT + F2 とすれば 2番目の仮想コンソールに切り替わる。最 初のコンソールは 1番目の仮想コンソール になっているので ALT + F1 とすれば戻る ことができる。インストール途中にドキュ メントを見たりディレクトリやファイルを 調べたくなったら、別の仮想コンソールに 移って調べれば途中で一旦とめなくてもい いので便利である。 ---------------------------------------------------------------- RMADISK: 147560 bytes, starting at 0x200000 RAMDISK: Loading 1440 blocks into RAM disk................... done : Welcome to the Slackware Linux installation disk, (v. 2.0.0) ###### IMPORTANT! READ THE INFORMATION BELOW CAREFULLY. ##### - You will need one or more partitions of type "Linux native" prepared. It is also recommended that you create a swap partition (type "Linux swap") prior to installation. Most users can use the Linux "fdisk" utility to create and tag the types of all these partitions. OS/2 Boot Manager users, however, should create their root Linux partition with OS/2 "fdisk", add it to the Boot Manager menu, and then use the Linux "fdisk" to tag it as type "Linux native". OS/2 users may make their non-root Linux partitions with Linux "fdisk". - If you have 4 megabyes or less of RAM, you MUST activate a swap partition befor running setup. After making the partition with fdisk, use: mkswap /dev/ ; swapon /dev/ - Once you have prepared the disk partitions for Linux, and activated a swap partition if you need one, type "setup" to begin the installation process. - If you want the install program to use monochrome displays, type: TERM=vt100 before you start "setup". You may now login as "root". slackware login: root Linux 1.0.9. (Posix). If you're upgrading an existing Slackware system, you might want to remove old packages before you run 'setup' to isntall the new ones. If you don't, your system will still work but there might be some old files left laying around on your drive. Just mount your Linux partitions under /mnt and type 'pkgtool'. If you don't know how to mount your partitions, type 'pkgtool' and it will tell you how it's done. To start the main installation, type 'setup'. # ---------------------------------------------------------------- ・fdisk を使って Linux のパーティションを切る。 root で login したら、まず Linux のパー ティションを切らないといけない。パーティ ションを設定するために fdisk というプ ログラムを使う。どのドライブのパーティ ションを設定するかはデバイスファイルを 指定することで行なう。Linux ではドライ ブとデバイスファイルの対応は以下のよう になっている。 ---------------------------------------------------------------- IDE 1 台目 /dev/hda IDE 2 台目 /dev/hdb SCSI-HD 1 台目 /dev/sda SCSI-HD 2 台目 /dev/sdb ---------------------------------------------------------------- SCSI-HD は ID の小さい順に /dev/sda, /dev/sdb とわりあてられる。 例えば SCSI-HD 1台目のパーティションを 設定するなら # fdisk /dev/sda として起動する。 ---------------------------------------------------------------- # fdisk /dev/sda Command (m for help): m Command action a toggle a bootable flag c toggle the dos compatiblity flag d delete a partition l list known partition types m print this menu n add a new partition p print the partition table q quit without saving changes t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): ---------------------------------------------------------------- n で新しいパーティションの設定が、t で パーティションIDの設定ができる。もしパー ティションを消すのなら d コマンドを使 う。 さて、どのようにパーティションを切れば いいかであるが、普通はルートパーティショ ン(/), ユーザパーティション(/usr), swap パーティションの3つにはわける。さ らに /var や /home などをわける場合も ある。ただし、あまりパーティションを分 けすぎると無駄な領域ができる場合もある。 かといってあまり大きいパーティションに するとファイルシステムが壊れた時の被害 が大きい。 とりあえず今回は ディスク容量もけっこ うあったので ルートファイルシステム 余裕をもって 36M スワップパーティション 多めに 17M /usr 200M /home 残り にすることにした。 まずルートファイルシステムの 36M を設 定するには fdisk の nコマンドを使って 次のようにする。 ---------------------------------------------------------------- Command (m for help): n Command action e extended p primary partition (1-4) p partition number (1-4): 2 First cylinder (21-1002): 21 Last cylinder or +sizeM or +sizeK (21-1002): +36M ---------------------------------------------------------------- これで /dev/sda の 2 つめの primary partition として 36M 確保できる。 スワップパーティションも同じように n コマンドで確保し、さらに t コマンドを 使ってID を Linux swap (82)に変更する。 ---------------------------------------------------------------- Command (m for help): n Command action e extended p primary partition (1-4) p partition number (1-4): 3 First cylinder (57-1002): 57 Last cylinder or +sizeM or +sizeK (57-1002): +17M Command (m for help): t Partition number (1-3): 3 Hex code (type L to list codes): 82 Changed system type of partition 3 to 82 (Linux swap) ---------------------------------------------------------------- さて残りを 2つのパーティションにわける のであるが、PC/AT ではprimary partition として 4 つまでしか使えない ので後は extended partition として残り を全部確保してそれを 2つのパーティショ ンにわけて使うようにする。 パーティションを確保しおわったら p コ マンドで確認し、w コマンドでディスクに 書き込み、fdisk を終了する。これでパー ティションの設定がおわりである。今設定 したパーティションを kernel に認識させ るために一度 reboot する。reboot する には shutdown コマンドを使うか CTRL-ALT-DEL キーを同時に叩けばよい。 そしてもう一度ブートディスクでブートし、 途中でルートディスクにいれかえて root で login する。Partition check: のとこ ろで今設定したパーティションがちゃんと 認識されているか確認しておこう。 ・setup を使ってシステムの設定、インストー ルを行なう。 リブートして root で login したら setup コマンドを使い Slackware のイン ストールを行なう。 ---------------- Slackware Linux Setup (version FD-1.2.0) ------------------ Welcome to Slackware Linux Setup. Select an option below using the UP/DOWN keys and SPACE or ENTER. Alternate keys may also be used: '+', '-', and TAB. -------------------------------------------------------------------- HELP Read the Slackware Setup HELP file KEYMAP Remap your keyboard if you're not using a US one QUICK Choose quick or verbose install mode [now: VERBOSE] MAKE TAGS Experts may customize tagfiles to preselect packages ADDSWAP Set up your swap partition(s) TARGET Set up your target partitions SOURCE Select source media DISK SETS Decide which disk sets ou wish to install INSTALL Install selected disk sets CONFIGURE Reconfigure your Linux system PKGTOOL Install or remove packages with Pkgtool EXIT Exit Slackware Linux Setup -------------------------------------------------------------------- --------------------------------------------------------------------------- < OK > --------------------------------------------------------------------------- [ADDSWAP] まずは ADDSWAP から順に行なっていく。 カーソルキーで ADDSWAP を選択して SPACE または リターンキーを叩く。 ADDSWAP では Linux swap として確保して おいたパーティションをみつけだしてそこ を swap パーティションとして設定してく れる。表示される情報を確認して < OK > または < Yes > でリターンを叩いていけ ば自動的に swap パーティションが設定さ れる。 ADDSWAP がおわると、次の TARGET に進む かどうかを聞いてくるので< Yes > でリター ンを叩く。 [TARGET] TARGET ではインストール先のパーティショ ンの指定、ファイルシステムの作成を行な う。これも fdisk で Linux native とし て確保したパーティションを表示してくれ るので、その中でまずルートファイルシス テムとして使うパーティションを選びその Device 名を入力する。ファイルシステム としては ext2 を使えばよい。次にフォー マットするかどうか訪ねてくるが始めてイ ンストールするのなら当然フォーマットし なければならない。不良ブロックなどのチェッ クもしたいのなら Check を選ぶ。単にフォー マットするだけなら Format を選べばよい。 フォーマットがおわると別のパーティショ ンを Linux で使うかどうか訪ねてくるの でそれぞれ、Device 名、ファイルシステ ム(ext2)、フォーマットするかどうか (Format)、どのディレクトリにマウントす るか(/usr など)を聞いてくるので入力し ていけばよい。 Linux native についての設定がおわると 次に DOS、OS/2 のパーティションを Linux から見ることができるようにするか の設定を行なう。もし DOS や OS/2 のパー ティションを Linux から見えるようにす るなら Device名 とマウントポイントを指 定する。 以上で TARGET の設定は終りである。次の SOURCE に進むか聞いてくるので < Yes > で次に進む。 [SOURCE] SOURCE ではどこに Slackware のパッケー ジがあるかを指定する。今回は CD-ROM か らインストールするので、4 Install from CD-ROM を選ぶ。INSTALLING FROM CD-ROM で どのタイプの CD-ROM drive なのかを 選ぶ。SCSI CD-ROM なら 1 SCSI である。 SCSI の場合どの SCSI CD-ROM drive から かを聞いてくるが 1台の drive しか継い でいないのなら 1 /dev/sr0を選べばよい。 次に SELECT SOURCE DIRECTORY であるが、 今回は CD-ROMの slackwar/slakware に Slackware のパッケージが入っているので、 Custom で slackwar/slakware と入力す る。 以上で SOURCE は終るので次の DISK SETS に進む。 [DISK SETS] DISK SETS では Slackware のどのディス クセットをインストールするかを選ぶ。 Slackware 2.0 では以下のパッケージがあ る。 ---------------------------------------------------------------- A 基本パッケージ、必ず選ぶ base devs etc idekern lilo scsikern sysvinit hdsetup bin bootutls getty gzip ps shlibs util ldso comms cpio e2fsbn find grep keytbls lpr select shellutl shlbsvga syslogd tar tcsh textutl zoneinfo bash AP X を使わないアプリケーション english ispell jove man termbin termsrc termnet ghostscr gsfonts1 joe sudo diff jed gsfonts2 zsh bc gonzo gp9600 groff quota sc workbone ftape mt_st vim texinfo ash manpgs D 開発環境 (C, C++, Lisp, Perl, etc.) gcc gxx tools include man2 objc p2c pmake flex byacc extralib gdb bison kernel clisp f2c libc ncurses svgalib perl rcs binutils m4 man3 libgxx E GNU Emacs emacsbin emacmisc elispc elisp1 elisp2 emac_nox F FAQ や HOWTO などのドキュメント manyfaqs I Emacs の Info files info1 info2 IV InterViews とそのアプリケーション libiv_so iv_bin iv_docs libiv_sa N Networking (TCP/IP, UUCP, Mail, News) deliver mailx tcpip uucp netcfg elm pine smail lynx nn tin trn ppp inn_pkg cnews OOP Object Oriented Programming (GNU Smalltalk 1.1.1) smaltalk Q Extra Linux kernels with special drivers ifs v1_1_18 i1_1_18 idekern scsikern ftape18 mitsumi cdu31a sbpcd sony535 T TeX texbin gentle dvi2xx texlibmc texcmpk texdoc texnfss2 texcm texlibib texlibms texams texfont TCL Tcl/Tk/TclX, Tcl language, and Tk toolkit for X tcl tk blt itcl tclx X XFree86 2.1 x_8514 x_mach32 x_mach8 xf_doc x_mono x_s3 x_svga xpm xf_cfg x_vga16 xf_lib xman1 config86 xf_bin xfnt xfnt75 fnt100_1 xlock fvwmicns xconfig fntbig1 fnt100_2 speedo fntbig2 xinclude XAP X のアプリケーション gs_x11 libgr seyon vgaset workman xfileman xv gnuplot gchess xfm12 ghstview x3270 xgames xspread xxgdb xgrabsc xpaint xfig xfract XD XFree86 2.1 X11 Server Development System xf_kit xman3 pex5inc xf_pex xstatic xf_kit2 XV XView 3.2 release 5. (OpenLook Window Manager, apps) xvol32 xv32_sa xv32_so xv32_a xv32exmp xvinc32 xvmenus Y Games (X を使わない) bsdgames tetris sastroid ---------------------------------------------------------------- この中でカーソルで移動しスペースを叩い て必要そうなものを選ぶ。全部インストー ルするとかなりディスク容量が必要となる ので、とりあえず絶対使うというものだけ をインストールして後でディスクに余裕が あれば追加インストールするというのでも いいだろう。選びおわったらリターンキー を叩く。これで SOURCE は終りで次の INSTALL に進む。 [INSTALL] まず SELECT PROMPTING MODE であるが、 これはインストールしている時に個々のパッ ケージをインストールするかどうか聞いて くるのをどうするかを選ぶことができる。 とりあえず Normal にしておけばよい。す ると、SOURCE で選んだディスクセットの 中からパッケージが半自動でインストール されていく。最低限必要なものは勝手にイ ンストールされるがそうでないものはイン ストールするかどうか聞いてくる。英文の 説明を読んで必要そうでなかったらインス トールしなければよい。 結構たくさんのパッケージがあるので英文 を読んで気長にインストールしよう。 INSTALL が終れば、次は CONFIGURE である。 [CONFIGURE] まず BOOT DISK CREATION でブートフロッ ピーの作成にはいる。LILO などを設定す ればハードディスクから Linux をブート させることができるが、万が一のためブー トフロッピーを作っておいたほうがよい。 始めに用意したフォーマット済みのフロッ ピーをドライブに入れて を選ぶ。 CONFIGURE が終った後は Linux をブート させる時はこのブートフロッピーをいれて マシンを起動すればよい。 後は MODEM の設定、MOUSE の設定、 CD-ROM の設定、FONT の設定、FTAPE の設 定、LILO の設定、NETWORK の設定、 SELECTION の設定、TIMEZONE の設定など を行なっていく。これらの設定は後で setup を使って変更することができるので あまり悩む必要はない。とりあえず、 NETWORK CONFIGURATION で HOSTNAME, DOMAINNAME を設定する。ネットワークに つながずにスタンドアローンで使う場合に は適当に決めればよい。そして LOOPBACK Only にしておけば NETWORK の設定は終り である。ネットワークに接続して使う場合 には、ネットワークの管理人の指示に従っ て設定しよう。後は TIMEZONE の設定では Japan があるのでそれを選べばよい。 これで CONFIGURE は終了なので setup を 抜ける。 これで、BOOT DISK CREATION で作成した ディスクをフロッピードライブに入れてお いて CTRL-ALT-DEL もしくは shutdown コ マンドを使ってリブートする。これであな たのマシンはもう Linux マシンである。 もしハードディスクからブートさせたいの であれば、setup コマンドの CONFIGURE, LILO INSTALLATION を使って設定すればよ い。 ・JE のインストール まず JE1 と呼ばれるパッケージをインス トールする。まず最初に JE1 のディレク トリに移動する。CD-ROM が /var/adm/mount にマウントされていたら # cd /var/adm/mount/je/je1 でよい。マウントされているかどうかはdf コマンドもしくは mount コマンドでわか る。もしマウントされていなかったら自分 でマウントする。CONFIGURE で CD-ROM の 設定をしていれば # mount -t iso9660 /dev/cdrom /mnt でよいが、していない場合どの CD-ROM drive を使うかによってデバイスファイル を指定すればよい。 # mount -t iso9660 デバイスファイル /mnt # cd /mnt/je/je1 ---------------------------------------------------------------- CD-ROM drive のデバイスファイル /dev/sr0 SCSI CD-ROM /dev/mcd Mitsumi CD-ROM /dev/sbpcd SB CD-ROM /dev/sonycd Sony CD-ROM ---------------------------------------------------------------- JE1 のディレクトリに移動したら pkgtool を起動し、Current (Install packages from the current directory) を選べばよ い。これで KON(konbin,konfnt) や ezinst がインストールされる。libc, libx はインストールしなくてもいいはず である。後は ezinst を使ってインストー ルしていく。まず JE1 のディレクトリか ら一つ上の親ディレクトリに移動しておく。 # cd .. そして日本語を表示できるようにするため に今インストールした KON を起動する。 # kon もし J3100SX なら # kon j3100sx とする。そして ezinst -j で日本語のメッ セージで ezinst が起動する。日本語でな くていいなら KON は使わずに ezinst -e でインストールしていけばよい。後は ezinst のメニューにしたがってインストー ルしていくことができる。なお、デフォル トのインストール元ディレクトリが違うの で「インストール元を指定」で「マウント されているディレクトリ」を選んで、カレ ントディレクトリを指定する必要がある。 詳しくは JE-HOWTO を読むといいだろう。 ・Linux を使ってみる。 さて、Linux がブートすると、次のように login プロンプトがでる。 login: 最初は root くらいしかアカウントがない ので root で login する。パスワードは 設定されていないのでアカウント名をいれ るだけで login でき、シェル(default で は bash)のプロンプトがでてくる。ネット ワークにつながないで、スタンドアローン で使っているのならここままでも特に問題 とはならないが、一応パスワードの設定を しよう。パスワードの設定には passwd コ マンドを使う。 linux:~# passwd Enter new password: Re-type new password: パスワード設定中は入力した文字列を覗き 見されないように画面では見えないので同 じ文字列を2回入力することで間違えずに 入力したかどうかを確認している。アルファ ベットの大文字だけとか小文字だけとかだ とばれやすいので、数字や記号なども含め るとよいといわれている。 さて、root というのは特権をもったユー ザであり、普通のユーザでは書いたり消し たりできないファイルなども扱うことがで きる。マシンの管理を行なうためにはそう いう特権が必要になるのだが、普段文書を 書いたりプログラムを作ったり動かしたり するためにはそのような特権は必要ない。 むしろうっかり重要なファイルを消したり 変更してしまったりして Linux が動かな くなったりする可能性があるので、普段は root 以外の一般ユーザで扱うようにした ほうがよい。というわけで、そのための一 般ユーザのためのアカウントを作成しよう。 Slackware ではアカウント作成のためのコ マンドとして useradd と adduser がある が useradd はコマンドライン上でいろん な情報をあたえるのに対し、adduser では インタラクティブに情報をあたえるという 違いがある。普通は adduser のほうがわ かりやすいと思うのでそちらを使う。 linux~# adduser Adding a new user. The username should be not exceed 8 characters in length, or you may run into problems later. Enter login name for new account (^C to quit): のように login名を聞いてくるので適当な login名を入力する。後はフルネームを入 れ、GID、UIDはdefault でよいのでリター ンキーをたたくだけ。ホームディレクトリ も default で構わないだろう。シェルも default は bash だがこれも default で もいいし、/bin/tcsh や /bin/zsh にして もいいだろう。後はパスワードだがこれも 適当に設定すればよい。間違いなく入力で きたら、自動的にホームディレクトリまで 作ってくれる。これで今後は今作ったアカ ウントで login できるようになる。では、 別の仮想コンソールに移って(ALT+ファン クションキー)今作ったアカウントで login してみよう。 login すると、ホームディレクトリに移動 し、adduser で指定したシェルが動きはじ める。それでは DOS しか知らない人のた めに UNIX のコマンドについて DOS と比 較しながら簡単に説明しよう。ただしあく までも簡単な説明だけなので詳しくは UNIX 関係の本を見るか on-line manual を見て欲しい。on-line manual は 正しく インストールされていれば % man コマンド名 で見ることができる。(JE 0.9.5 の jman だと /usr/lib/manpath.config を設定し ないといけないようだ。slackware 2.0.0 の man は /usr/lib/manpath.config がな くてもちゃんと動作する) また、 % man -k キーワード とすればキーワードを含むものは何がある かを探してくれる。 まず、カレントディレクトリにどんなファ イルがあるかを見るためには DOS では DIR だが unix では ls コマンド(LiSt) を使う。ls だけだと DIR/W のようにファ イル名だけしか表示しないが、ls -l など とするとファイルについてのいろんな情報 も表示してくれる。最初ホームディレクト リで ls -l としても何もファイルがない ように見える。しかし UNIX では . で始 まるファイル名はさまざまなコマンドの設 定を行なうために利用しており、単に ls とするだけでは見えないようにしている。 こういったファイルを見るためには -a オ プションをつければよい。ls -la とすれ ばカレントディレクトリ内にあるすべての ファイルの情報が表示される。後ファイル 名に関する違いでいうと、DOS では 8文字 + '.' + 3文字だが、UNIX では普通もっと 長いファイル名が使える。Linux の ext2fs だと、255文字まで使うことができ る。また大文字、小文字は区別されるので DOS に慣れている人は注意しないといけな い。ファイル名を指定する時につかうワイ ルドカードについては DOS では、コマン ドが対応していないと使えないが、UNIX ではシェルが展開してしまうので、コマン ド側でわざわざ対応する必要がないように なっている。さらに DOS とは違い、* や ? は'.' にもマッチするし、どこに使って も何回使ってもよい。 ディレクトリを変更するには DOS では CD であるが、UNIX では cd (chdir) コマン ドを使う。DOS と違うのは、単に cd とだ けした時 DOS ではカレントディレクトリ を表示するのに対して UNIX ではホームディ レクトリに移動するという点である。では UNIX でカレントディレクトリを調べるに はどうすればいいかというと、pwd (print working directory) コマンドを使えばよ い。シェルによっては プロンプトにカレ ントディレクトリを表示するようにできる。 ディレクトリを新たに作るのは DOS では MD だが、UNIX では mkdir コマンドを使 う。 % mkdir bin lib tmp などと一度に複数のディレクトリも作るこ とができる。 逆にディレクトリを削除するには DOS で は RD だが、UNIX では rmdir コマンドで ある。ただし、rmdir コマンドでは空になっ たディレクトリしか削除できない。もしディ レクトリ以下すべてを削除しようとするな ら、 % rm -r directory とすればよい。directory 以下のファイル /ディレクトリを全て消してくれる。ただ し、消したものは戻ってこないので気を付 けないといけない。rm (ReMove) コマンド をもともとファイル消去のためのコマンド で、DOS での DEL に相当する。-r オプショ ンは recursive (再帰的)にファイルを削 除するということなので、ディレクトリ以 下が全部削除される。 ファイルの中身を見るには DOS では TYPE, MORE だが、UNIX では cat, more, less などを使うが普通ファイルを見る時 には less を使うのがいいだろう。 UNIX にはファイルがいったいどういう種 類のものかを調べる file というコマンド がある。必ず正しい答をかえしてくれるわ けではないが、だいたいにおいて正しいの でそういうコマンドがあるということを覚 えておくといいだろう。 ファイル名の変更は DOS では REN だが UNIX では mv (MoVe)を使う。注意しない といけないのは REN ではワイルドカード を使うとそれらのファイル名を変更してく れるがUNIX ではワイルドカードはシェル が展開してしまうので mv で同じようにす ると失敗する。なお UNIX ではファイルの 移動も mv を使うことでできる。 エディタは Slackware では、jove, jed, joe, vim, emacs 19.25, JE では jelvis, ng, jvim(Wnn, Canna), nemacs 3.3.2 (Wnn, Canna, sj3, SKK), mule 1.1 PL04(Wnn, Canna, sj3, SKK) がある。 好きなものを使うとよい。 さて、とりあえず C のプログラムの基本 "hello world" を表示するプログラムを作っ てみよう。まず適当なエディタを使って hello world のプログラムを入力する。ソー スファイル名はなんでもいいがここでは hello.c にしておこう。 % cat > hello.c #include main() { printf("hello, world\n"); } ^D % ls hello.c % このように cat を使う場合は Ctrl-D で 入力の終りとなる。ではこのプログラムを コンパイルしてみよう。Slackware の disk sets D をインストールしていれば gcc version 2.5.8 が入っている。 % gcc hello.c % ls a.out* hello.c % コンパイルすると a.out という実行ファ イルができる。(ファイル名の最後の * は 実行可能であることを示している) これを実行してみると、 % ./a.out hello, world % ちゃんと"hello, world" と表示される。 紙面の都合上説明はこれくらいで終ること にするが、後は UNIX の本や、マニュアル などを見て各自いろいろと遊んで欲しい。