Linux 伊藤敏 先月号でとにかくLinuxを導入しました.立ち上げをすると Welcome to Linux 1.1.59 Sato login: <- Configure Networkのところで入れた名前が表示されます. と,出迎えてくれることでしょう.このあとrootでloginをして,unixのコマンドをあれこれ試されましたか? はじめに,dfとコマンドを打ち込んで下さい. # df Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda4 191292 75920 105494 42% / /dev/sda3 100134 ** ** **% /home /dev/scd0 659246 659246 0 100% /cdrom 自分の思った通りのファイルシステムでインストールできてますでしょうか?また,MITSUMIやサウンドブラスト用のCR-ROMを使っている場合は,最後の行がないのではないでしょうか.その場合はCD-ROMがつながっておりません.つぎの操作をして下さい.DOS上でカーネルをコピーしたディスク4と,もう1枚フォーマット済みのディスクを用意して下さい.フォーマット済みのフロッピディスクがありませんか?わざわざ,DOSに戻る必要はありません.Linux上での初仕事としてディスクのフォーマットをしましょう.Aドライブにディスクを入れ # fdformat /dev/fd0H1440 さらに,終了したら # mformat a: これで,フォーマットが完了です. fdformatは覚えれますが,/dev/fd0H1440はとてもとても記憶できないという方,安心して下さい.unix(Linux)はオンラインのマニュアルが充実しています. # man fdformat として下さい. ------------------------------------------------------------------- FDFORMAT(8) Linux Programmer's Manual FDFORMAT(8) NAME fdformat - Low-level formats a floppy disk SYNOPSIS fdformat [ -n ] device DESCRIPTION fdformat does a low level format on a floppy disk. device is usually one of the following (for floppy devices, the major = 2, and the minor is shown for informational pur- poses only): /dev/fd0d360 (minor = 4) /dev/fd0h1200 (minor = 8) /dev/fd0D360 (minor = 12) /dev/fd0H360 (minor = 12) /dev/fd0D720 (minor = 16) /dev/fd0H720 (minor = 16) /dev/fd0h360 (minor = 20) /dev/fd0h720 (minor = 24) /dev/fd0H1440 (minor = 28) 以下略 --------------------------------------------------------------------- と表示されます.もっと先を見たければ,spaceキーを押して下さい.前に戻りたければ,b(back)を押します.ここまで見ると,2DDのディスクをフォーマットするには /dev/fd0D720とすればよいことが想像できますね.マニュアルを終了するにはq(quit)を押します. CD-ROMの設定をしましょう.ディスク4をAドライブに入れ, # cd / ルートディレクトリ(/)に移る. # mdir a: Aドライブの中身の確認 # mcopy a:ZIMAGE /. AドライブのzImageというファイルを/のしたにコピー # ls -l コピーの確認 drwxr-xr-x 2 root bin 2048 Feb 1 23:37 bin/ drwxr-xr-x 2 root root 1024 Feb 1 23:45 boot/ drwxr-xr-x 2 root root 1024 Feb 1 23:47 cdrom/ 中略 drwxr-xr-x 18 root root 1024 Feb 2 00:06 usr/ drwxr-xr-x 15 root root 1024 Feb 2 00:11 var/ -r-------- 1 root root 469988 Feb 1 17:28 vmlinuz -rw-r--r-- 1 root root 474084 Feb 9 15:38 zimage <- mitsumiの場合 # mv vmlinuz vmlinuz.old カーネルvmlinuzをvmlinuz.oldと名前変更 # mv zimage vmlinuz カーネルzimageをvmlinuzと名前変更 # rdev -v vmlinuz -1 VGAの設定 # rdev -R vmlinuz 1 リードオンリーの設定 # rdev vmlinuz /dev/hda4 <- カーネル(vmlinuz)のある場所 /dev/hda4は自分の環境に合わせる Aドライブのディスクをフォーマットしたディスクに入れ換える. # cat vmlinuz > /dev/fd0 カーネルをフロッピに書き込む これで再立ち上げをします.もう覚えましたね. # sync; sync # shutdown -r now さあ,無事にCD-ROMは認識されたでしょうか? **unixを使ってみる すこし,unixを使って見ましょう.基本的なコマンドのいくつかを使ってみます. ls DOSのDIRに対応 ls, ls -l, ls -la cp COPY cp file1 file2 mv ファイル名の変更その他 mv file1 flie2 rm ファイル・ディレクトリの削除 rm file1, rm -r direct1 less バック機能付のMORE less file1 zcat 圧縮ファイルをみる zcat file1.gz tar アーカイブの解凍・作成 tar tvf file1.tar, tar xvf file1.tar free メモリ使用状況表示 free df ディスク使用状況表示 df mkdir ディレクトリの作成 mkdir direct2 cd ディレクトリの変更 cd, cd /usr/local find ファイルやディレクトリの検索 find / -name file1 grep 文字検索 grep name file1 これからは,unix関係の本を買いこんできて,楽しみながら勉強してください. *********************** エディタの使い方 unixのエディタとしてはviとemacsが有名です.emacs(またはMule)はまだインストールしておりません.したがって,viの使い方は覚えておいた方が良いでしょう.表1に基本的使い方を示します. *********表1************ 表1 viの基本的使い方 起動方法 vi file (大文字小文字に注意して下さい) カーソル移動 上:k;下:j;左:h;右:l(矢印でも移動可能) 入力開始 esc+i 削除 esc+x ファイル保存 esc+:+wq 保存せずに終了 esc+:+q! ************************** しかし,筆者はviが使いづらくて仕方がありません.エディタは個人の好みですから,何ともいえませんが,DOSからLinuxの世界に入った方も同じ気持ちの人が多いのではないでしょうか.そこで,joeというエディタを紹介します.起動は joe file です.起動後は Ctrl+k h で表2のようなヘルプが表示されます. ****** 表2 ********* CURSOR GO TO BLOCK DELETE MISC EXIT ^B left ^F right ^U prev. screen ^KB begin ^D char. ^KJ reformat ^KX save ^P up ^N down ^V next screen ^KK end ^Y line ^T options ^C abort ^Z previous word ^A beg. of line ^KM move ^W >word ^R refresh ^KZ shell ^X next word ^E end of line ^KC copy ^O word< ^@ insert FILE SEARCH ^KU top of file ^KW file ^J >line SPELL ^KE edit ^KF find text ^KV end of file ^KY delete ^_ undo ^[N word ^KR insert ^L find next ^KL to line No. ^K/ filter ^^ redo ^[L file ^KD save ********************** カーソルの移動もDOSの場合と同じように使え,気持ちが楽です. さて,皆さんのキーボードは何を使われていますか.多くの方が106キーボードだと思います.viの終了の時に:(コロン)が見つからなくて困りませんでしたか.「:」はshiftキーを押して「;」です.現在は英語のキーボード配置になっており,キートップと実際のキー配置が異なります.キートップとキー配置を一致させましょう.エディタでリスト1を japan106.map というファイルに打ち込んで下さい. *********リスト1 ****** japan106.map 置き場所 /usr/lib/kbd/keytables の下 キーボードの設定 keycode 3 = two quotedbl keycode 7 = six ampersand keycode 8 = seven apostrophe keycode 9 = eight parenleft keycode 10 = nine parenright keycode 11 = zero asciitilde keycode 12 = minus equal keycode 13 = asciicircum asciitilde keycode 26 = at grave keycode 27 = bracketleft braceleft keycode 39 = semicolon plus keycode 40 = colon asterisk keycode 43 = bracketright braceright keycode 89 = backslash underscore keycode 124 = backslash bar keycode 92 = space <- 無変換キーをスペースキーに keycode 94 = space <- 前候補キーをスペースキーに *************** このファイルを作る時,「=」はShiftを押さないで「^」のキートップを押すと得られます.このファイル japan106.map をキーボード関係が置いてあるディレクトリに移します. # cp japan106.map /usr/lib/kbd/keytables/. ではキー配置を変更しましょう. # loadkeys /usr/lib/kbd/keytables/defkeym.map /usr/lib/kbd/keytables/japan106.map いかがですか.これで何のストレスもなくキートップどおりのタイピングが可能になったはずです.しかし,コンピュータが立ち上がった時からこのようになって欲しいですね.DOSでいうとAUTOEXEC.BATに相当する起動時に実行されるファイルの一つに /etc/rc.d/rc.local というファイルがあります.このファイルをリスト2のように書き換えましょう. *****リスト2******* /etc/rc.d/rc.localの書き換え #! /bin/sh # Put any local setup commands in here # Running selection echo "Running selection..." selection -t msc & /usr/bin/loadkeys /usr/lib/kbd/keytables/defkeym.map /usr/lib/kbd/keytables/japan106.map <- この行を加える ******************** 先月に,追加インストールの練習をすると言いました.Linuxの特徴の一つとしてドキュメントの多いことがあげられます.そのドキュメントを先月号ではインストールから外しました.ドキュメントの塊が distributions/slackware/f1/manyfaqs.tgz にあります.追加インストール用にpkgtoolというシェル(DOSでいうバッチファイルみたいなもの)を使います. ディレクトリを変更します. # cd /cdrom/distributions/slackware/f1/ pkgtoolを起動します. # pkgtool カレントディレクトリからのインストールを選択します.後は,setupで行なった方法と同じです.pkgtoolを使うことによりディレクトリ /var/adm/packagesにインストールしたことを示す文が入ります.pkgtoolを使ってインストールするとインストールしたソフトが不要になり削除したいときに便利です.この場合はpkgtoolの中から削除を選びます. さて,いよいよXの設定にはいりましょう. Xの設定 Xの設定は以前から難しいと言われていました.しかし,いろいろ質問に答えていくだけで,基本的なところは設定をしてくれるConfigXF86と言うソフトがつくようになりました.今回はそれを紹介しながらXの設定をしましょう.また,xf86config-XFree86-3.1というソフトもあります.いずれもXF86Configの設定がかなり自動化されています.しかし,自分のマシンのマウスとビデオカードが何を使っているか等の知識は必要とされます. ConfigXF86を起動するといくつかの質問に答える必要があります.質問は マウス関係が マウスの種類 シリアルポートにつなぐタイプではほとんどが 2ボタンがMicrosoft,3ボタンが Mousesystem です.PS2タイプでは,もちろんPS2を選びましょう. 3ボタンエミュレート 2ボタンの場合3ボタンエミュレートをするように選択しましょう. マウスのつながっている所 インストールの時に設定した/dev/mouseにします. ビデオボード名またはチップ名をきちんと調べておきます. リストが出ますから,番号で選択しましょう.筆者の場合はDellを使っています.幸いにもリストにありました.もし使っているビデオカードがリストに無い場合は同じチップを使っている他の製品を指定して,様子を見ます. 使用するモニタ名 これもリストで出ます.もしリストに無かったら,1番を選びます. ConfigXF86を起動する前に,調べておきましょう.では Configの置いてあるディレクトリに移り,ConfigXF86を立ち上げます. # cd /usr/X11R6/lib/ConfigXF86 # ConfigXF86 あらかじめ準備をしたマウス・ビデオカード・モニタの値を入れます. 後はいろいろ質問が出ますが,基本はそのままリタンキーを押します.終りの方で表示する解像度を選択する時に自分の使っているモニターとビデオカードの能力に合わせて選択します.その結果作られたXF86Configを/usr/X11R6/lib/X11にセーブしましょう. 以下に,シリアルタイプの3ボタンマウス,DellのS3ビデオカード(433L),モニタにMAG17Sを使っている筆者の場合の ConfigXF86を起動した時の入力例のみを示します. 7 n /dev/mouse 1200 y [return] videocard 26 [return] monitor 27 4回 [RETURN] 作られたXF86Configをすこし編集する必要があります. XF86Configをセーブしたディレクトリに移って # cd ../X11 # joe XF86Config joeとはエディタの名前,unixのはviもありますが                DOSからきたユーザにはjoeの方が使い安いと思いま                す.CTRL+K Hでヘルプがでます. BandWidth 100.0 # HorizSync 30.0 - 64.0 # VertRefresh 50 - 120 # 上に示した3行を自分の環境に合わせて書き換える必要があります. さあ,これでXF86Configの設定は一応終りました.いよいよXの起動です. Xをスタートさせる時,全く何も応答しなくなる時があります.いよいよ困ると「リセットキー」に手がいきます.しかし,それはまずいです.そこで安全のために,1分後にshutdownするようにしておきましょう. # cd <-- ホームディレクトリに戻る.今の場合は /root. # sync # shutdown -r +1 & <-- 1分後にshutdown. # startx <-- Xの起動 としてください.Xがたち上がれば成功です.もし立ち上がらない場合はコンソール画面に表示されるエラーメッセージを良く見て,そのシステムにあったXF86Configに書き換えて下さい.マウスの設定が使用している系に合っていない場合とビデオカードの設定がまずい点がほとんどです.Xらしい画面が見えるが流れてしまう場合はXF86Configのビデオ関係の調整によりXが立ち上がると思います.こんな場合はCtrl+Alt+BSキーを同時に押せば元のコンソール画面に戻ります.コンソール画面のエラーメッセージの最初の方が流れて見えない場合は # startx >& x-message としてエラーメッセージをx-messageに記録し,あとで,x-messageを less x-messge としてみれます. どうしても,Xがたち上がらない場合は,Xサーバを16色のサーバに切替えます.取り換えかたは,Xサーバがあるディレクトリで # cd /usr/X11R6/bin # rm X # ln -s XF86_VGA16 X ここで,XはXサーバですが,皆さんの使われているビデオカードに合わせてそれ用のサーバをコピーしたものです.Xサーバを16色のサーバに切替えます.ここで ln -s file1 file2 としているのは,file1(実態のあるファイル) を file2というファイル名で利用するために仮想的な結合を作る操作です.シンボリックリンクと呼ばれています. 今の場合はfile1がXF86_VGA16で実態でありfile2がXです.XサーバがXF86_VGA16ならば,ほとんどのビデオカードで少なくとも16色640x480のXは立ち上がるとおもいます. 図**に筆者の用いたXF86Configの例を示します.続いてXFREE86 3.1.1のサポートするビデオカードを表**に示します. 図** XF86Configの例 # Copyright (c) 1994 by The XFree86 Project, Inc. # 中略 # This file was generated by reconfig(1) # Refer to the XF86Config(4/5) man page for a description of the format Section "Files" FontPath "/usr/X11R6/lib/fonts/misc/" FontPath "/usr/X11R6/lib/fonts/75dpi/" RGBPath "/usr/X11R6/lib/X11/rgb" EndSection Section "ServerFlags" EndSection Section "Keyboard" Protocol "Standard" ServerNumLock EndSection Section "Pointer" Protocol "mousesystems" <-- マウスの種類により変える Device "/dev/mouse" BaudRate 1200 # Emulate3Buttons <-- 2ボタンマウスの場合コメントを外す EndSection Section "Monitor" Identifier "RandomMonitor-4" VendorName "Unknown" ModelName "Unknown" BandWidth 100 # EDIT THIS! <-- Monitorにより変更する HorizSync 30 - 64 # EDIT THIS! <-- 同上 VertRefresh 50 - 120 # EDIT THIS! <-- 同上 ModeLine "1024x768" 75 1024 1056 1336 1368 768 768 779 806 ModeLine "640x480" 25 640 664 760 800 480 491 493 525 ModeLine "800x600" 50 800 856 976 1040 600 637 643 666 EndSection Section "Device" Identifier "RandomDevice-4" VendorName "Unknown" BoardName "Unknown" Clocks 25.20 28.32 40.00 0.00 50.10 78.20 36.00 44.90 63.00 100.20 79.90 31.50 110.00 65.00 75.00 94.50 EndSection Section "Screen" Driver "accel" Device "RandomDevice-4" Monitor "RandomMonitor-4" Subsection "Display" Modes "1024x768" "800x600" "640x480" Virtual 1024 768 EndSubsection EndSection **************************************** 表** アクセレータ機能を持つもの(断り書きがない場合8bpp(256色)) * ATI Mach8 * ATI Mach32 (16 bpp - doesn't work with all Mach32 cards) * ATI Mach64 * Cirrus Logic 5420, 542x/5430 (16 bpp), 5434 (16/24 bpp), 62x5 * IBM 8514/A * IBM XGA, XGA-II * IIT AGX-010/014/015/016 * S3 911, 924, 801, 805/805i, 928/928-P, 864, 964, 732, 764 * Tseng ET4000/W32/W32i/W32p * Weitek P9000 (16/24 bpp) * Western Digital WD90C31/33 アクセレータ機能を利用しないもの * ATI VGA Wonder, 18800*, 28800*, 68800*, 88800 * Advance Logic ALG2101, ALG2301, ALG2308, ALG2401, ALG2301, ALG2228 * Cirrus Logic 6420 * Compaq AVGA * Genoa GVGA * MCGA (320x200) * MX MX68000/MX68010 * NCR 77C22, 77C22E, 77C22E+ * OAK OTI067, OTI077, OTI087 * Trident TVGA8800, TVGA8900, TVGA9xxx (not very fast) * Tseng ET3000, ET4000AX * VGA (standard VGA, 4 bit, slow) * Video 7/Headland Technologies HT216-32 * Western Digital/Paradise PVGA1, WD90C00/10/11/24/30/31/33 モノクロ * Hercules mono * Hyundai HGC-1280 * Sigma LaserView PLUS * VGA mono ****************************** コンパイルする前に設定して下さい. # mkdir /usr/src/gcc-2.5.8 # ln -s /usr/lib /usr/src/gcc-2.5.8/lib LILOの設定 ************************** LILO INSTALLATION Begin OPTIONAL append= LINE 必要なコマンドを入力 OK SELECT LILO TARGET LOCALTION MBR OK CHOOSE LILO DELAY Forever OK LILO INSTALLATION DOS SELECT DOS PARTITION /dev/hda1 と入力 OK SELECT PARTITION NAME dos と入力 OK Install ***************************** cut here*** Networkの設定 ************************* LOOPBACK ONLY No ENTER LOCAL IP ADDRESS 192.168.1.8 OK ENTER GATEWAY ADDRESS 192.168.1.8 OK 自分自身を指定しておきます. ENTER NETMASK 255.255.255.0 OK USE A NAMESERVER? No NETWORK SETUP COMPLETE OK ********************************* 4. X Windowの立ちあげ はじめに XF86Configを書きましょう. /usr/X11R6/lib/X11にXF86Config.sampleというファイルがあります.これを参考にしながらXF86Configを書きます.特にマウスやビデオモードの設定が環境により異なります.使用できるエディタは現時点ではviまたはjoeですから,最低限の使い方だけを表にしておきます.これからすべてにいえることですが,Linuxでは大文字と小文字を区別しております.Dosに慣れた方はくれぐれも注意して下さい. 表4 viの基本的使い方 起動方法 vi /usr/X386/lib/X11/Xconfig (大文字小文字に注意して下さい) カーソル移動 上:k;下:j;左:h;右:l(矢印でも移動可能) 入力開始 esc+i 削除 esc+x ファイル保存 esc+:+wq 保存せずに終了 esc+:+q! マウスとしてps2をビデオカードにs3を用いた私のシステムでのXconfigを図2に示します. 図2 XF86Configの例 # Copyright (c) 1994 by The XFree86 Project, Inc. # 中略 # This file was generated by reconfig(1) # Refer to the XF86Config(4/5) man page for a description of the format Section "Files" FontPath "/usr/X11R6/lib/fonts/misc/" FontPath "/usr/X11R6/lib/fonts/Type1/" FontPath "/usr/X11R6/lib/fonts/Speedo/" FontPath "/usr/X11R6/lib/fonts/75dpi/" RGBPath "/usr/X11R6/lib/X11/rgb" EndSection Section "ServerFlags" EndSection Section "Keyboard" Protocol "Standard" ServerNumLock EndSection Section "Pointer" Protocol "mousesystems" <-- マウスの種類により変える Device "/dev/ttyS0" BaudRate 1200 EndSection Section "Monitor" Identifier "RandomMonitor-4" VendorName "Unknown" ModelName "Unknown" BandWidth 100 #25.2 # EDIT THIS! <-- Monitorにより変更する HorizSync 31.25, 48.08,54.82 # EDIT THIS! <-- 同上 VertRefresh 59.52, 72.19,68.02 # EDIT THIS! <-- 同上 ModeLine "1024x768" 75 1024 1056 1336 1368 768 768 779 806 ModeLine "640x480" 25 640 664 760 800 480 491 493 525 ModeLine "800x600" 50 800 856 976 1040 600 637 643 666 EndSection Section "Device" Identifier "RandomDevice-4" VendorName "Unknown" BoardName "Unknown" Clocks 25.20 28.32 40.00 0.00 50.10 78.20 36.00 44.90 63.00 100.20 79.90 31.50 110.00 65.00 75.00 94.50 EndSection Section "Screen" Driver "accel" Device "RandomDevice-4" Monitor "RandomMonitor-4" Subsection "Display" Modes "1024x768" "800x600" "640x480" Virtual 1024 768 EndSubsection EndSection