line-01
line_glay
>
 welcome!   page:page//tips/server
  odic01    Tips
  odmichi04    
 home:top   server library:top
top
line_glay

Tips

\n"); } else { print ("はじめまして。よろしかったらご意見などお聞かせ下さい。
\n"); } ?>
台詞おぼえが大変よくなかったわたしがこういうのも何だが、五十を過ぎると記憶力が絶望的に悪くなる。五十を過ぎるとというのはものの喩えで、思い起こせば四十半ばから、腰袋にナグリを差し込んでいるのに、そのものを探し回るという呈が目立ち、その事態を認識するようになる。小耳に挟んだ鉛筆を無化して、いつの間にやらポケットに鉛筆数本というのは、ものの数ではない。
記憶というものは追憶の彼方に押しやるもので、自己史はこの残された記憶の抜けがらによって、アイデンティティに耐えうるように再構成される。この意味で歴史もまたねつ造なのだが……
ともあれ、プライドやアリバイ証明の減退は歓迎なのだが、丸暗記にはどうしようもない。そこでTipsというわけである。みなさんの投稿も歓迎します。
不明な点などは、mail等を頂ければ幸いです。それでは、このTipsの項目が増えないことを祈りつつ。(文責・闇 黒光)
"> mailto:webmasterへ

コマンド
fdformat mount/Windows tar.gz RPM turbopkg リダイレクション ntp dmesg  
メンテナンス
ブートローダー 容量(df.du) lsカラー表示 fsck/e2fsck nkf 日本語の記号入力 ssh    
印刷ジョブ削除 ssh接続先表記 再起動の無効 crontab          
アプリケーション
gFTP スクリーンショット              
アクセス制限
chown chmod .htaccess suの制限          
周辺機器
zipとscisカード MOとフォーマット HDDの増設 CD-R/RW メモリスティック        

【 コマンド 】

[ fdformat ]  ▲ top

# fdformat /dev/fd0H1440

1.44MB 2HDのフロッピーを物理フォーマットするコマンドである。ファイルシステムがわからない場合、まずはこのコマンドを使う。もちろんデータは完全に消去される。Macで使ってたフロッピーをLinuxで使う場合はまずこの作業である。
この後、目的のファイルシステムに合わせてフォーマットする。

# mkfs -t ext2 /dev/fd0


[ Windowsパテーションのマウント ]  ▲ top

# mount -t vfat  /dev/hda1 /winC を実現する例

# mkdir /winC                       (winCディレクトリの作成)
# fdisk -l                          (windowsパテーション位置を調べる)
# mount -t vfat /dev/hda1 /winC    (/dev/hda1を/winCに -t vfat(FAT32)でマウント)
# mount -t ntfs /dev/hda5 /winD    (/dev/hda5を/winDに -t ntfs(NTFS)でマウント)
# mount -t msdos /dev/hda6 /winF   (/dev/hda6を/winFに -t msdos(FAT)でマウント)

Linux起動時にWindowsパテーションを自動マウントするには、/etc/fstabに以下の行を追加する。

  /etc/fstab
/dev/hda1   /winC vfat   umask=022
/dev/hda5   /winD ntfs   umask=022
(02.12.01)

実は上記では、Windowsパテーション内のファイル名が日本語表記であると文字化けしていました。
これを以下のように書き換えることで文字化けはなくなりました。

  /etc/fstab
/dev/hda1   /winC vfat   rw,codepage=932,iocharset=euc-jp   0 0
/dev/hda5   /winD ntfs   rw,codepage=932,iocharset=euc-jp   0 0
(03.02.14)

さらに実は上記でも、Windowsのファイルシステムによりパーミッションがうまく行かない場合がありました。
『こんなにかんたん!Turbolinux7』(p340)に以下のような紹介がありました。

#mount -t vfat -o gid=tako,uid=tako /dev/hda1 /winC

これはグループとユーザを明示化してコマンドを打つということになります。(03.04.24)

うまく行かない部分をいろいろ試したのですが、WindowsのファイルシステムがFAT32であればパーミッション等も思惑どおりとなりました。(2003.05.01)


[ tar.gz での伸張(解凍)とバックアップ ]  ▲ top


tar(Tape ARchiverの略)

# tar zxvf fff-1.03.tar.gz   (fff-1.03.tar.gzの伸張(解凍))

/etcディレクトリーのアーカイブファイルの作成例

#cd /
#tar cvfz /tmp/etc.tar.gz etc --exclude ld.so.chche   (作成)

/etcがetc.tar.gzとして/tmp下に作成される。
[ --exclude ld.so.cache ]は特殊なキャッシュファイルを除外するオプション。
例えば

#cd /
#tar cvfz /home/akira/etc.tar.gz etc --exclude ld.so.chche   (作成)

/etcがetc.tar.gzという名前で/home/akira下に作成される。

#tar xvfz etc.tar.gz   (復元)

で/home/akira下にetcが復元作成される。

[ 注意 ]

#cd /
#tar cvfz /tmp/etc.tar.gz etc --exclude ld.so.chche   (作成)
#tar xvfpz /tmp/etc.tar.gz   (復元)

このオプション[xvfpz]で展開すると、上書きされ現在の設定は消える。

オプション各種
-------------------------------------------
c アーカイブを作成
x アーカイブを展開
t アーカイブを確認
v 処理したファイルを表示
f ファイルを指定する
z 圧縮を行う
-------------------------------------------
tar zxvf [圧縮ファイル名] [-c ディレクトリ] ------圧縮ファイルの展開

◎◎ コラム ◎◎
[ 追記 2005.09.18 ]
P_BLOGがバージョン1.0正式版(安定版1.0)P_BLOG_ver.1.0.tar.bz2となっていました。このバージョンをインストールする場合、展開がコマンド「tar」ではうまく行きませんでした。そこでインターネットで検索し、うまくいったのは「bzcat」コマンドを実行し、パイプで「tar」に渡すという手順でした。

$ cd /home/tako/public_html/blog
$ bzcat /usr/local/src/P_BLOG_ver.1.0.tar.bz2 | tar xf -



[ RPM(レッドハットパッケージマネージャー) ]  ▲ top


tako-3.0-2.i589.rpm

これはパッケージ名--tako、バージョン--3.0、リリース--1、対象となるプラットホーム--i589(intel互換)となります。

rpm -q [オプション] -------パッケージの確認
rpm -qa | grep postgresql ------すべてのパッケージからpostgresqlを検索
rpm -e [ --nodeps] パッケージ名 -------パッケージの削除
rpm -ivh ファイル名.rpm -------新規インストール
rpm -Uvh ファイル名.rpm -------アップデート

-a すべてのパッケージを対象
-l パッケージの内容
-i パッケージの情報
-f パス名

『webサーバでのデータベース活用術』(伊藤博康 エーアイ出版 p54)を元にソースをコンパイルしてrpmを作成してみます。
まず、samba-2.0.7-ja-1.3.tar.gzを任意のディレクトリにダウンロードします。ここでは/rootとします。

# cd
# tar xvzf samba-2.0.7-ja-1.3.tar.gz  ------展開
# cd samba*/packaging/RedHat   ---------カレントディレクトリを移す
# sh makerpms.sh        -------------コンパイルの開始

これで/usr/src/redhat/RPM/i386にsamba-2.0.7-ja-1.3.i386.rpmが作成される。

# cd /usr/src/redhat/RPM/i386
# rpm -i samba*.i386.rpm
touch /var/lock/samba/STAUS..LCK



[ turbopkg(TurboLInux tools) について ]  ▲ top


[F1] ヘルプ表示
[F2] パッケージのグループ化
[F3] パッケージの説明
[F4] 検索

[ ] 未インストール
[=] 同一パッケージのインストール済み
[+] インストールされたパッケージより新しいパッケージ
[-] 古いパッケージのインストール済み
[R] アンインストールの指定


[ ntpとハードウェアクロック ]  ▲ top

ntpサーバの話ではない。ただし前提はntpサーバが稼働しておりあなたのマシンの時刻がntpクライアントででもいいので正確であるとしよう。現在時刻に自信ががなくntpクライアントがインストールされているなら下記。

# ntpdate タイムサーバのURL
# hwclock --systohc

勝手ながら systohcは、systemclock to hardwareclock の略と解釈しました。逆のコマンドは以下です。

# hwclock --hctosys

これらのコマンドであなたのマシンの時刻とハードウェアクロックが同期しました。
日付と時刻を手動で合わせます。

# date MMDDhhmm

稼働状況は次のコマンドでわかる。

# ntptrace

あるいは、

# ntpq -p

root@ns root]# ntpq -p 
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+ns.hiroshima-u. 133.41.4.1       2 u   16  128  377   34.094   10.696   4.561
*eagle.center.os .GPS.            1 u    8  128  377   25.754   16.120   6.715
+clock.nc.fukuok .GPS.            1 u    5  128  377   13.443   16.583   7.056
上記 "*" は同期しているサーバです。

《 ■ 追記 (03.08.13) ■ 》

原因が判らないのですが、多分不注意な設定間違いなのでしょうが、過日から時刻がうまく合いません。サーバ起動時に次のようなlogがでます。

Tue aug 13 10:15:39 UTC 2003

この「UTC」を「JST」の表示になるようにいろいろ試みたのですが、うまく行きませんでした。
結果として「/etc/profile」に下記を追記し、切りぬけています。

  /etc/profile
TZ=JST
export TZ

このほか、いろいろ関係のサイトを調べてみたのですが、以下のような例もありました。

  /etc/profile
export TZ=Japan

あるいは、

  /etc/profile
export TZ=JST-9

という参考例もありました。さらにまた、/etc/rc.d/rc.sysinit ファイルに、

  /etc/rc.d/rc.sysinit
export TZ=JST-9      ← 追記部位
/sbin/hwclock $CLOCKFLAGS

と追記するという例もありました。
これらの作業で切り抜けたと思ったのですが、いろいろ進めるうちにダメになりました。
さらに試したのは、/etc/localtime ファイルの再リンクです。

# ln -s /usr/share/zoneinfo/Japan /etc/localtime

あるいは、

# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

結論からいうと、この作業でもダメでした。記憶では、デフォルトでこの /etc/localtime ファイルはリンクファイルではありませんでした。
最後の手段です。他のサーバ機の同じディストリビュージョンから /etc/localtime,/usr/share/zoneinfo/Asia/Tokyo,/usr/share/zoneinfo/Japanの3ファイルを持ってきてコピーしました。
現在、問題なく稼働しています。設定間違いで、どのファイルかが破損したのであろう、としか思われません。

[ リダイレクション ]   ▲ top


概念の話です。少なくともわたしはそう理解しました。
ターミナルでコマンドを打つとは、こちらの要請をshellを仲立ちにしてプログラム(OS)からアプリケーションに伝え、話をするということでしょう。Linuxの場合このshellなしには何もできないということになるでしょう。
さて、こちらの意志は標準入力、標準出力、標準エラー出力と姿を変えます。標準というからには他にもなにかあると思うのですが、詮索はさておきキーボードから入力されたコマンドは、仕事の結果をコンソール画面上に返します。これが標準入力と標準出力であると理解しています。だがたまにはわたしのせいで、入力間違いがおこり標準エラー出力があるというわけです。
ここでリダイレクションです。リダイレクションとは標準入力、標準出力、標準エラー出力先を切替える機能のことです。
たとえばktermなどのターミナルを使用してコマンド結果をファイルに残したいとき、以下のscriptコマンドを実行します。

$ script

これで「typescript」名でファイルが自動作成され、以降のコマンド結果の内容が記録されます。「exit」で終了。
再度のscriptコマンドで内容は上書きされます。
Windowsから「Tera Term Pro」を使ったリモート接続時、同様のことは「Tera Term Pro」の「Fileメニュー→Log」でできます。(2002.02.23)
あるいは、

$ ls > datafile

この結果は datafileというファイルが生成され、ls の結果が書き込まれます。再び、

$ ls -al > datafile

とすると、datafileファイルは上書きされ、ls -alの結果が保存されます。上書きを避けたいのであれば、

$ ls -al >> detafile

と<<の二重大なるカッコで、追記されます。ここでためしに、

$ cat < datafile

とすることで、datafileファイルの内容がターミナル上に出力されます。普段はこの v> を省略して cat コマンドを使用しているのでこの>を省略せずに使えば標準入力、標準出力の概念がおぼろげながらはっきりして来るのではないでしょうか?(2002.10.09)


[ dmesg ]  ▲ top


server起動時のズラズラと流れるメッセージを表示します。

# dmesg

これは多分ログファイルを標準出力しているのでしょうが、CUIで流れる文字列を止めて観たい場合があります。それは、

[Ctrl]+[S]キー

で止まります。再動は、

[Ctrl]+[Q]キー

でした。また、ログインプロンプトが表示された段階での、メッセージ再読は、

[Shift]+[PageUp]キー

逆スクロールは、

[Shift]+[PageDown]キー

です。[Enter]キーでもとにもどりますが、これらは経験値です。筆者のPCだけのこと、などということはないと思うのですが。

【 メンテナンス 】

[ ブートローダー ]  ▲ top


[ LiloとGRUB の変更 ]

ブートローダーをLILOへの変更、あるいは設定変更の場合のコマンド

# lilo

ブートローダーをGURUBへの変更、あるいは設定変更の場合のコマンド

# gilo

[ 起動時のLILO設定変更 ]

OSを一つのマシンでWindousとLinuxといった具合に二つ使っている場合、電源を投入後OS選択画面現れる。
ほっておくとLinuxが起動する。これはliloにLinuxが設定されているからだ。記述しているのが/etc/lilo.confだ。
このファイルをテキストエディタで書き換え、Windowsを起動させるには、以下のように書き換える。

  /etc/lilo.conf
   boot=/dev/hda
   map=/boot/map
   install=/boot/boot.b
   prompt
   lba32
   timeout=50
   default=dos

   image=/boot/vmlinuz
   label=linux
   root=/dev/hda8
   read-only

   image=/dev/hda1
       label=dos

変更したのはdefault=dosのdos部位だけである。初期値はdefault=linuxとなっていた。これでほっておけばWindowsが立ち上がる。
変更したら、次のコマンドでliloを実行しておく。

   # /sbin/lilo

ちなみに timeout=100とすると10秒後にWindowsが立ち上がるということになる。


[ 起動時のGRUB設定変更 ]

  /boot/grub/grub.conf
# This file was converted from /etc/lilo.conf by gilo-0.92-4.
timeout 15
password --md5 $1$7JqHfo58$t9lw8jIeQIsT9PqnRsKZi0
default 1
fallback 1
splashimage (hd0,5)/grub/splash.xpm.gz
# keymap for jp106
------  略  -----------

title linux
kernel (hd0,5)/vmlinuz root=0308
initrd (hd0,5)/initrd

title dos
chainloader (hd0,0)0+1
 
    	

ディユアルブートで、上記の場合、赤字部位を「0」にするとLinuxが起動する。変更後は「gilo」コマンドをお忘れなく。

[ sshでのファイル転送 ] (2002/02/18)  ▲ top


$ scp test01 tako@kitaxxxx.co.jp:/home/tako

ここから、test01というファイルをドメインkitaxxxx.co.jpにアカウントを持つtakoの/home/takoディレクトリに転送する。

$ scp tako@minamixxxx.co.jp:test01 /home/tako

ドメインminamixxxx.co.jpの/home/takoにあるtest01というファイルを、ここであるkitaxxxx.co.jpの/home/takoディレクトリに転送する。

  ( 追記 ) ディレクトリの転送には -r test02(=ディレクトリ) というふうに -r オプションを使用する。

[ lsコマンドのカラー表示 ] (2002/02/20)  ▲ top

各ユーザディレクトリに ~/.bashrc ファイルがある。その中以下の二行のコメントを外すことによってls 内容が色分けされる。

  ~/.bashrc
## if you use color ls, comment out above line and uncomment below 2 lines.
export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so<中略>01;35:'
alias ls='ls --color=auto -NF'

[ ファイルシステムの修復 ] (2002/02/23)  ▲ top

singleユーザモードで起動し、以下のコマンドを実行。hda2の2は任意の数字となる。「e2fsck」のコマンドもある。

# fsck /dev/hda2

また正常に立ち上がらず、

Give root password for maintenance

とプロンプトに表示される場合がある。パスワードを入力した後、

# df
# e2fsck /dev/hda3 //(ルートディバイス)

で "(y/n)? が要求されれば y とする。で、

# shutdown -r now //(reboot)

通常の root 権限でのメンテナンスは、

# telinit 1
# df
# e2fsck /dev/hda3 //(ルートディバイス)

で "(y/n)? が要求されれば y とする。で、

# exit [ 注 ]GUIでの作業の場合、Xは強制終了され、CUIでの作業となる事に注意。

fsckコマンドで作成されたパーティションがcleanであるかどうかを検証するためにfsckコマンドを実行する。

# fsck /dev/hda2
Parallelizing fsck version 1.20-WIP (16-Nov-2000)
e2fsck 1.20-WIP, 16-Nov-2000 for EXT2 FS 0.5b, 95/08/09
/dev/hda2: clean, 12/1876800 files, 59930/3751161 blocks

変換されたパーティションがExt3ファイルシステムで認識されるように、必要に応じて/etc/fstabの変更する。
作成されたパーティションをmountし、dfコマンドで作成されたパーティションがExt3ファイルシステムでmountされているかの確認はdf コマンドを実行する。

# df -T
ファイルシステム 形式 1k-ブロック 使用済 使用可 使用率% マウント場所
/dev/hda1 ext2 14761044 6263852 7747360 45% /
/dev/hda2 ext3 14769044 4120 14014692 1% /Ext3

[ nkf  文字コードと改行コード ] (2002/02/23)  ▲ top

Linuxで作成したテキストファイルをWindows用に。改行を「LF」から「CR+LF」に変換。EUCからシフトJISへ。

$ nkf -s -Lw 123.txt > 456.txt

シフトJISからEUC。「-Lu」は改行コードを「CR」へ

$ nkf -e -Lu 123.txt > 456.txt

UTR-8へ

$ nkf -w -Lu 123.txt > 456.txt

Mac用へ

$ nkf -s -Lm 123.txt > 456.txt

[ 日本語の記号入力 ] (2002/10/26)  ▲ top

cannaの場合である。まず「insert」を叩く。記号選択画面が現れる。カーソルを目的まで移動。「enter」で確定。再び「insert」 で入力できる。

[ 容量 ] (2003/01/04)  ▲ top

[ ディスク容量の確認 ]

#df
-a すべてのファイルシステムを表示
-k kバイト単位で表示
-m Mバイト単位で表示
-h 単位で表示
-H 1000バイト単位で表示
-i iノード単位で表示
-T ファイルシステムを表示

[ ファイル/ディレクトリ容量の確認 ]

# du
-a すべてを表示
-b バイト単位で表示
-c 合計を表示
-k kバイト単位で表示
-h 単位で表示
-H 1000バイト単位で表示
-s 引数で指定したディレクトリの合計を表示

# du -s /home/*/ | sort -nr
# du -m /home | sort -nr | less        ←/home以下を-mで大きい順に表示

[ 印刷ジョブの削除 ] (2003/01/04)  ▲ top


# lprm -
-T ファイルシステムを表示

[ ssh接続先表記 ]   ▲ top


/etc/motdファイルをvi等で開き、以下の赤字部分に任意の文字を追記

  /etc/motd
Welcome to Turbolinux. ns.odic.ne.jp

[ 再起動の無効 ]   ▲ top


/etc/inittabファイルをvi等で開き、以下の行をコメントにする。

  /etc/inittab
# Trap CTRL-ALT-DELETE
# ca::ctrlaltdel:/sbin/shutdown -t3 -r now

これで[Ctrl]+[Alt]+[Delete]キーは使えなくなった。



【 アプリケーション 】

[ gFTP ]  ▲ top

 コマンドラインにはいまだ馴染めないものだから、GUI(グラフィックユーザインターフェイス)で使える、 ftpクライアントアプリケーションを探して来ることになる。 そもそもは、試しにインストールしたRed Hat 7.1にバンドルされていたので知った。MacでいえばFecheだ。TurboLinux 6.5に、RPMパッケージを見つけてきてインストールしてみた。快適である。MiracleLinuxにもと思いRPMパッケージを試したがうまくいかない。tar. gzを頂いてきた。
  RPMパッケージのインストールの場合、GUI画面のプルダウンメニューにアイコンとして現れるが、tar.gz展開の場合はそうはいかなかった。

# tar xvfz gftp-xxxx.xx.tar.gz
# cd gftp-xxx.xx
# ./configure
# make
# maike install

 このインストール作業の後 /usr/local/bin/gftp と打ち込めばgFTPが立ち上がる。毎度毎度のコマンドも億劫なので gftp のシンボリックリンクをつくり、画面上においてしまうことになる。
 gFTPは http://www.gftp.seul.org/ で入手できる。

(文責・K)

[ スクリーンショット ] (2003/05/23)  ▲ top

X Window でスクリーン・ショットを撮るソフトとして、xwdがあります。

$ xwd -out window.xwd

このコマンドの後、スクリーンショットしたい部位にカーソルを移しクリックします。
この作業をユーザtakoで行っているなら/home/takoにwindow.xwdファイルができます。

$ xwud -in window.xwd

このコマンドでwindow.xwdファイルがX Windowに表示されます。

importはターミナルからするスクリーンショットコマンドです。

$ import -window root sample.eps
$ sleep 10;import -window root sample.eps




【 アクセス制限 】

[ chown ]  ▲ top

# chown -R tako.tako /home/tako/public_html

この場合、/home/tako下のpublic_htmlというディレクトリと、その中にあるファイルの所有者とグループが、同時にtakoになる。

[ chmod ]  ▲ top

chmod -R ・・・・・・・指定ディレクトリ以下の全てを変更
chmod u+w ・・・・・・・オーナーに書き込み権を与える
chmod g-x ・・・・・・・グループに実行権を与えない
chmod o+x ・・・・・・・他人に実行権を与える
chmod a+x ・・・・・・・全てに実行権を与える


[ .htaccess ]  ▲ top

WebサーバであるApacheに関わることがらである。ここではユーザが.htaccessファイルの管理ができるようになっていなければならない。
まずは制限をかけたいディレクトリに.htaccessファイルをおく。以下がファイルの内容である。

  .htaccess
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.php index.shtml index.php3 index.cgi
</IfModule>

AddType apprication/x-httpd-php .php
AddHandler cgi-script .cgi

DirectoryIndex base.php
<Files "*.inc">
order allow,deny
deny from all
</Files>

.htaccess(属性644)ファイルの内容が上記である場合、index.html以下の拡張子が.htmlと同等に使用出来る。ただし左から優先。
phpや.cgiの行は、これらの拡張子ファイルはphp、cgiのファイルであると宣言している。
<Files "*.inc">-- </Files>であるが、拡張子 .inc のファイルを Web からアクセスできないようにしている。

[ サイト内関連ページ ] Apacheによるアクセス制限
(2002.09.24)
(2002.10.10 追記)


[ suの制限 ]  ▲ top


rootになることのできるユーザを規定します。
/etc/login.defsファイルに以下の一行を追記します。

  /etc/login.defs
SU_WHEEL_ONLY    yes

/etc/pam.d/suファイルに以下の一行を追記します。

  /etc/pam.d/su
auth     required    /lib/security/pam_wheel.so group=wheel

/etc/groupファイルを編集します。

  /etc/group
wheel:x:10:root,tako

これで再起動すればsuコマンドはrootとtakoしか使えなくなります。


【 周辺機器 】

[ zipとscisカード]  ▲ top

scisカードを増設して、zipを接続することにした、の例である。OSはTurboLinux s7としよう。 全てが接続でき再起動してscisカードとzipが認識できているか確認しよう。

$dmesg

とコマンドを打って見る。

・・・・・・・・・・・・・略・・・・・?ΑΑΑΑΑΑΑΑΑΑΑΑ?
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.5
<Adaptec 2940 Ultra SCSI adapter>
aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs

Vendor: IOMEGA Model: ZIP 100 Rev: D.09
Type: Direct-Access ANSI SCSI revision: 02
・・・・・・・・・・・・・略・・・・・・・・・・・・・・・・・・・

認識されているので、このような文字列を見ることができた。
ここで /etc/modules.conf を覗いてみよう。

  /etc/modules.conf
# cat /etc/modules.conf
....................................
alias scsi_hostadapter aic7xxx
.....................................

上記の文字列がなければ追加しよう。
確認のため次のコマンドを打ってみよう。

# lsmod
Module Size Used by
..........................
aic7xxx 11211XXX 0
..........................

であればOKである。
さらにZipのSCSI番号を次のコマンドで見てみよう。

# cdrecord -scanbus

................................................
scsibus0:

0,0,0 0) *
0,1,0 1) *
.........
0,5,0 5) 'IOMEGA ' 'ZIP 250 ' 'D.09' Removable Disk*

このようになったが、これはあくまでも筆者の環境での話である。
SCSIカードの商品も違うと思われるので、環境にあわせて読み変えていただきたい。
つづいて /mnt/zip ディレクトリを作成した。

$su -
#cd /mnt
#mkdir zip

まずzipドライブのメディアをフォーマットしよう。Linux用だ。

# mkfs -t ext2 /dev/sda
mke2fs 1.25 (20-Sep-2001)
/dev/sda is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
24576 inodes, 98304 blocks
4915 blocks (5.00%) reserved for the super user
First data block=1
12 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

つづいて、zipドライブのメディアをマウントしてみる。

#mount -t ext2 /dev/sda /mnt/zip

うまく行けば、クライアントでもこのzipメディアが使えるように、/etc/fstab ファイルの編集を行う。

  /etc/fstab
................... 略 .......................................
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
................... 略 .......................................
/dev/sda /mnt/zip auto noauto,user,rw 0 0

上記は /etc/fstab ファイルの /dev/fd0 の行を真似て追記した。
なお、noauto,user,rw などはマウントオプションである。詳しくは man fstab や man mount で。

  • rw..........読み書き可能
  • noauto.........boot時にmountしない
  • user..........クライアントでもmountできる

これでクライアントでも /mnt/zip を下記のコマンドでマウントできるようになる。
ただし、/mnt/zip のパーミッションは、利用に合わせて設定しておかなくてはならない。

#mount /mnt/zip



[ MOとフォーマット]  ▲ top

Zipが使えるようになったので、Mac用に使っていたSCSIタイプのMOを引っ張り出して、使えるようにしてみた。大枠Zipと同じである。

$dmesg
・・・・・・・・・・・・・略・・・・・・・・・・・・・・・・・・
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.5
<Adaptec 2940 Ultra SCSI adapter>
aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs
Vendor: IOMEGA Model: ZIP 100 Rev: D.09
Type: Direct-Access ANSI SCSI revision: 02
Vendor: FUJITSU Model: M2512E Rev: 0060
Type: Optical Device ANSI SCSI revision: 02
・・・・・・・・・・・・・略・・・・・・・・・・・・・・・・・・・

クライアントでもこのMOメディアが使えるように、/etc/fstab ファイルの編集を行う。

  /etc/fstab
................... 略 .......................................
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
................... 略 .......................................
/dev/sda /mnt/zip auto noauto,user,rw 0 0
/dev/sdb /mnt/mo auto noauto,user,rw 0 0

マウントディレクトリ /mnt/mo を作成した。

$su -
#cd /mnt
#mkdir mo

ドライブのメディアをマウントしてみる。

#mount /mnt/mo

マウントできれば、既にメディアがフォーマットされているということになる。
が、Windowsで使っていたらまだしも、Macなので何も起こらない。ためしに、

#mount -t ext2 /dev/sdb /mnt/mo //Linuxフォーマットタイプをマウントする場合

あるいは、

## mount -t vfat /dev/sdb /mnt/mo //Windowsフォーマットタイプをマウントする場合

どうにもならないのでメディアをフォーマットしよう。Windowsでも使えるように。

# fdisk /dev/sda //MO メディアが /dev/sda の場合


[root@ns /root]# fdisk /dev/sda
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
-----  略  ------

コマンド (m でヘルプ): m
コマンドの動作
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ):

[root@ns /root]# mkfs -t ext2 /dev/sda
mke2fs 1.25 (20-Sep-2001)
/dev/sda is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
56000 inodes, 223162 blocks
11158 blocks (5.00%) reserved for the super user
First data block=1
28 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@ns /root]#


マウント・ポイントがない場合は作成する。

# mkfs -t msdos /dev/sdb
# mount -t vfat /dev/sdb /mnt/mo

マウントできただろうか。
では、MOディスクをLinuxだけで利用する場合の ext2ファイル・システムでフォーマットしてみよう。

# fdisk /dev/sdb
# mkfs -t ext2 /dev/sdb
# mount -t ext2 /dev/sdb /mnt/mo //マウント・ポイントがないばあいは作成しておく

以上である。
追記となるが、/etc/fstab の記述とは別に autofs を利用することもできる。このサービスは turboservice ででも設定できる。



[ 補足 ]

フロッピーの場合です。ですが、Windowsでフォーマットしたものは難なく使えました。
後は差し込んで使うだけです。クライアントでも同じです。

# mkfs -t ext2 /dev/fd0
mke2fs 1.25 (20-Sep-2001)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
200 inodes, 1600 blocks
80 blocks (5.00%) reserved for the super user
First data block=1
1 block group
8192 blocks per group, 8192 fragments per group
200 inodes per group

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.


[ HDDの増設 ]  ▲ top

ここでいうHDD(ハードディスクドライブ)の増設とは、サーバが稼働している途中で、ある/dve/hdxが容量不足になったため、 物理的にHDDを追加するというものである。
言葉を変えれば、計画性が無かったということになる。で、この容量不足に懲りて緻密に作業を進めることで、 今後は困窮の事態を避けることができよう、となればこのTipsはない。やはり容量不足は不可避的に訪れる。
作業要件は以下である。

  • PCの電源を切る
  • IDE用のHDDをセカンダリのマスターに接続(スレーブでもいいかも知れない)
  • 電源を投入して、起動させる

  • まず増設のHDDが認識されているかどうかを確認しよう。ここでは/dev/hdbで認識されていることにする。

    # fdisk -l
    # dmesg

    この二つのコマンドで調べてみる。ここでそれらしき文字列があればいいのだが、ないならBIOSや一番ピン、 ジャンパーピンの位置などをチェックすることになる。
    認識されているなら、シングルユーザモードになる。

    # telinit 1
    sh -2.0X#

    fdiskを起動しパテーションを切ることになるのだが、fdiskの使用法は割愛させて頂く。

    sh -2.0X# fdisk /dev/hdb

    fdiskによって/dev/hdb1が作成されたことにする。もちろん/dev/hdb2や/dev/hdb3を作成しても構わない。
    つづいて/dev/hdb1のフォーマットである。

    sh -2.0X# mke2fs -c /dev/hdb1

    オプション「-c」で不良ブロックのチェックを行う。
    HDDの容量でフォーマットの時間が少々かかるだろうが、シングルユーザモードでの作業は終りとなる。

    sh -2.0X# exit

    ログインプロンプトに帰るので、rootでログインしてマウントポイントを作成する。

    # cd /
    # mkdir home02

    ここでは / 直下にhome02というディレクトリを作成した。マウントポイントの作成場所と名称は任意である。
    このマウントポイントをPCの起動で認識させるには/etc/fstabに次の文字列を追加する。

    # cd /etc
    # vi fstab

    追記する一行

      /etc/fstab
    /dev/hdb1  /home02  ext2  defaults  1 1

    以上である。PCを再起動することで/home02は他のディレクトリと同じように使用できることになる。
    これらの作業はPCIスロットにIDEカードを追加してHDDの増設を行う場合も同等である。筆者は「UITra66」というIDEカードを使用し、 増設したHDDも利用しています。

    [ 注 ]
    なお、上記文中のプライマリ、セカンダリ、マスタ、スレーブの語彙は 「プライマリIDEケーブルのマスタにHDDを接続」という用語として使用しています(03.01.16)

    [ 追記 ]
    ここで行った作業は、新たに用意したHDDを初期化して用いた手順でした。
    この手順を利用して、バックアップとして保存していたHDDを接続し、初期化やフォーマットの手順を省略してマウントできれば、 つまりHDDを接続し、マウントさえすればデータを現状のHDDにコピーすることができます(03.05.04)


    [ CD-R/RW ]  ▲ top

    TurboLinux8 WorkstaitionのKDEに「KOnCD」という焼き付けソフトがある。このソフトでCD-R/RWを使えるようにしてみたい。
    実は、対象として想定するPC機に一年ほど前、バルク品のCD-R/RWを増設したのであった。増設当時はTurboLinux Server7であり、 残念ながらわたしの力量では使いこなせなかった。以来このPC機にはCD-Rが二台あるという始末であった。
    したがって作業の前提はCD-ROMドライブが/dev/hdc、CD-R/RWが/dev/hddとして認識されているということになる。
    さらに、この『TurboLinux8 Workstation オフィシャルマニュアル』(刊・インプレス)のp395を実施した報告であることもお断りしておきたい。
    さて、以下の作業を行う。

    LinuxではIDE接続のCD-R/RWドライを仮想的にSCSI機器として認識させるSCSIエミュレーションを行う。

    いってしまえばこの、IDE機器をSCISI機器に見せかけるという作業と設定がすべてであって、あとは「KOnCD」 をGUI上で操作をすることになる。

    カーネルに渡すオプションを/boot/grub/grub.confで指定する。SCSIエミュレーションをするためIDEドライブをIDEドライバに認識させないようにする、 ということだろう。
    『TurboLinux8 Workstation オフィシャルマニュアル』にはgrub.confは/etc/grub/grub.confとなっているのだが、 アップグレードによるのか筆者の環境では/boot/grub/grub.confdである。
    追記は以下の行だが、記述する位置をいろいろ試したが、最初の行とした。そうしないとカーネルパニックが起きてしまった。

      /boot/grub/grub.confd
    kernel  (hd0,1)/boot/vmlinuz  root/dev/hda2  hdd=ide-scsi

    筆者の場合、カーネルパニックが起きたあとブートFDで起動し、シングルユーザモードでバックアップしていたgrub.conf.backをgrub.conf として元に戻した。viで対象行をコメントにしようと思ったのだが、viが使用できなかった。なぜそうなのか今もわかっていません。 ということで、ファイルのバックアップと、起動ディスクの用意はお勧めしておきます。
    再起動の後、以下のコマンドでモジュールがロードされているか確認する。

    # modprobe ide-scsi
    # modprobe sr_mod
    # lsmod

    lsmodコマンドでモジュールがロードできているかどうか確認できる。
    ide-scsiやsr_modの文字列があればOKである。
    ここまでで、SCSIエミュレーションができ、モジュールがロードされていれば、次のコマンドでSCSIディバイスの確認ができる。

    # cat /proc/scsi/scsi

    いかがだろうか。リスト表示できただろうか。最初に表示されるドライブが/dev/scd0となる。
    このままPC機を再起動すると、このモジュールはロー?匹気譴覆ぁ??哀蹇璽匹垢襪砲?/etc/modules.confに次を追記する。

    # cd /etc
    # vi modules.conf

    追記する二行

    alias scsi_hostadapter ide-scsi
    alias scd0 sr_mod

    再起動してlsmodやcat /proc/scsi/scsiコマンドで確認して頂きたい。
    筆者の場合、/etc/modules.confの追記で再起動したが自動ロードされず、SCSIディバイスもなかった。一計を案じ/etc/rc.d/rc.local に以下を追記した。

    # cd /etc/rc.d
    # vi rc.local

    追記する二行

    modprobe ide-scsi
    modprobe sr_mod

    こうしてマニアル本とおりの結果になったのだが、少々不安を残している。CD-R/RWは使えているのだが、 なぜそうなるのかという思いは打ち消せていない。トラブルが起きたとき考えようとたかを括っているのであるが……
    ここまでくれば次のコマンドで、SCSIエミュレーションしたCD-R/RWドライブが確認できる。

    # cdrecord --scanbus
    .........略...............
    0,0,0 0) 'MITSUBISHI ' 'CD-RW .........略...............
    .........略...............

    以上で接続機器に絡んだ設定は終った。
    「KOnCD」の設定を少々。
    KOnCDはcdrecordプログラムのフロントエンドとして稼働する。この「cdrecordはコマンドを実行する際、CD-R/RWドライブのSCSIデバイス番号を-dev オプションでしていする必要がある」ということだ。
    このため「cdrecordはコマンドを実行にオプションが指定されなかったときのために、/etc/cdrecord.confに」次の行を追記する。

    # cd /etc
    # vi cdrecord.conf

    追記する行

    MITSUBISHI= 0,0,0 4 4m

    補記である。
    SCSIエミュレーションするまでの/etc/fstabのcdromのマウントポイ?鵐隼慊蠅麓,卜爐垢襪發里世隼廚錣譴襦?

      /etc/fstab
    /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0

    これを

      /etc/fstab
    /dev/scd0 /mnt/cdrom iso9660 noauto,owner,ro 0 0

    としておこう。
    残るは「KOnCD」を立ち上げ焼き付け作業を行うだけである。この操作はWindowsなりMacなりの焼き付けのアプリケーション操作と同じである。 試して頂くしかないので割愛します。

    最後にお断りしておきたい。これらの上記の設定で筆者の環境では書き込みができるようになった。しかし理解のおよばないとところもあり、 少々不安を残している。というのが現状である。
    検証を重ね、他の環境でも試してみたいと思っています。とりあえずは結果報告というレベルでお読み頂ければ幸いです。同時に参考にされる場合は、 自己責任でお願いします。(03.01.17)


    [ メモリスティック ]  ▲ top

    FLASHDIOというUSBメモリスティックの話です。
    USBポートに刺すとリムーバブルディスク同様の使用感で使えるもので100円ライターサイズ。使用したのは容量32M。 フロッピーでは少なすぎ、MOでは大層という場合に重宝しています。購入したのは1年前で、もっぱら、 持ち歩きながらMac←→Windowsのデータ交換に使用しているのですが、Linuxでも利用したいと、何とか認識させたいと、折りに触れ試してきました。
    どこかのサイトで使用可能な報告は見かけていました。また過日、TurboLinux 10Dをインストールすると、マウントポイントが自動生成され、 すんなりメモリスティックが使えてしまったものですから、TurboLinux W8でもなんとかならないものかと。
    まずマウントポイントを作成します。

    # mkdir /mnt/usb
    # mount -t vfat /dev/sda1 /mnt/usb/

    クライアントレベルで使えるようにするには、/etc/fstabに次のように追記します。

      /etc/fstab
    /dev/sda1 /mnt/usb auto noauto,user,iocharset=euc-jp 0 0   

    なお、PCがフリーズする他製品もありました。よろしく自己責任で。
    さらに、TurboLinux D10以外は、サービスデーモン「murasaki」が、立ち上がっていなければマウントできませんでした。(04.02.22)


    《 ■ 参考サイト ■ 》

    Linux Tips公開順インデックス
    GDNetLinux Tips



    top     home:top     server library:top     PHP PostgreSQL MySQL サンプルスクリプト     SiteMap     Open SiteMap