terakinizers トップ > /usr/space > CentOS 4 覚え書き

CentOS 4 覚え書き

以下の内容は、CentOS 4とほぼ同様の内容のRed Hat Enterprise Linux (RHEL) 4にも通用するはずである。

●インストールでCD-ROM/DVD-ROMから起動しない

 インストール用のCD-ROM/DVD-ROMから起動しようとして、
  loading /sbin/loader ...
という画面でインストーラがフリーズする現象が発生することがある。この場合、CD-ROM/DVD-ROMでの起動時に
  boot: linux ide=nodma
というオプションをつけると解決することがある。

●ext2←→ext3形式の変換

 変換の前に、ファイルパーティションがマウントされていないことを確かめる。できれば、シングルユーザモードで起動するか、Rescueモードを利用するか、1CD Linux(KNOPPIXなど)を使うとよい。
・ext2→ext3
  tune2fs -j /dev/hda1

・ext3→ext2
    tune2fs -O ^has_journal /dev/hda1

●PartitionMagic 7Jでのエラー対処

・Error 2005: One or more lost clusters are present.
chkdsk /fによってエラーがないことを確認する。できれば回復コンソールを使って試すのがよい。可能であれば、NTFSへの変換を行ってみる。
・Error 983: too many errors found. Process halted.
n

●ATOK for Linux / ATOK X3 for Linuxを使う

 CentOS 4.4でもATOK for Linuxは問題なく使用できる。ただ、普通にインストールしたのではだめで、ちょっとした手順が必要となる。基本的には、RHEL 4 (Red Hat Enterprise Linux 4)のインストール手順を参考にするとよい。
  1. このページから、「インストーラ」と「アンインストーラ」の2つをダウンロードする。この2つはシェルスクリプトである。
  2. インストール用のCD-ROMを挿入する。
  3. スーパーユーザになる。
  4. 上記の「インストーラ」「アンインストーラ」に実行権を付与する(上記FAQページ参照)。
  5. CD-ROMを挿入する。
  6. 上記「インストーラ」を実行する。
      # ./setup_for_rhel4.sh [CD のトップディレクトリ]
    
     この[CDのトップディレクトリ]は、CentOS 4.4の場合、/media/***になるはずである。
  7. インストールを実行する。
  8. 再起動すればATOKが使えるようになる。必要に応じ、アップデートモジュールを導入する。
なお、CentOS 5では、IIIMFではない別の日本語変換システムが導入されているので、そのままではATOK for Linuxは使用できない(はずである)。
【注意】yum などで提供されるiiimf関連のアップデートは絶対に適用しないこと。ATOKが起動しなくなる。誤ってiiimfのパッケージがアップデートされないようにするためには、/etc/yum.confに
  exclude = iiimf*
の行を記述する。

※追記
2007年11月に発売された、ATOK X3 for Linuxは、CentOS 4でも問題なく利用できる。ただし、CentOS 4.5までバージョンを上げておく必要がある。インストールの方法は製品パッケージの通り。

●Flashのインストール

Adobe Flash Playerは、linux用にはrpm形式でインストールが可能だ。http://www.adobe.com/jp/からインストールを選ぶと、tar.gz形式とrpm形式を選択する画面が出る。ここでrpmを選べば、プラグインをrpmとしてインストールできる。
また、このrpmは、たいていのブラウザセットアップ箇所を自動で認識し、そこのライブラリを置き換えてくれる。
念のため、インストールが終了したら、ブラウザを立ち上げ、バージョン情報を確認した方がいい。昔のままの場合、ホームディレクトリに以前のファイルが残っている可能性がある。その場合には、
/usr/lib/flash-plugin/homecleanup
を実行する。ここでいくつかのプラグインがホームディレクトリの、例えば.mozilla以下に残っていると表示されることがあるので、そうなったら、
/usr/lib/flash−plugin/homecleanup --delete
を実行して、これらを消去する。終了したら再度ブラウザを立ち上げ、Flashコンテンツ上で右クリックを実行して、バージョンを確認する。

●音声の取り扱い

CentOS上で走る音声関係の主なアプリケーション(Firefox、VMware、xmmsなど)は、大体がOSSドライバへの出力を想定している。このため、1つのアプリケーションがサウンド出力をしていると、他のアプリケーションがサウンド出力できないという事態に遭遇する。このため、サウンド出力をしそうなアプリケーションは事前にある程度の予測をしておく方がよいだろう。
また、プロセス内での使い分けができる場合がある。VMware 6の場合、仮想マシン上でサウンドをON/OFF(機器を"Connected"するか、切り離す)ことで、CentOS側のサウンドドライバに接続したり、それを解放したりできる。マルチメディアアプリケーションを多用する場合には、サウンドをONにした上でWindows側などで音声を出力させ、、それが終わったらサウンドを切り離すとよいだろう。
なお、esdはアプリケーションによっては音声の歪みがひどかったり、対応がなされていないものがあるなど、あまりおすすめできない。

●sambaクライアントのプリンタの反応が遅い

sambaで共有させているプリンタにWindowsマシンから出力させようとして、プリンタの反応が遅い(印刷ダイアログの表示が遅い、プリンタスプールに時間がかかる)ことがある。その場合には、smb.confに以下の記述を付け加える。
[globals]
disable spoolss = yes
※disable...の行だけを加える。

●USBメモリを挿すとファイル名が文字化けする

CentOS 4の場合、USBメモリをそのまま差し込むと、認識はしてくれるが、日本語のファイル名がうまく表示されない。そのために、ちょっと工夫をする必要がある。以下、http://d.hatena.ne.jp/kyhrhr/20041207参照。
/usr/share/hal/fdi/95userpolicy/storage-policy.fdiを作成、または修正する。

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<!-- /usr/share/hal/fdi/95userpolicy/storage-policy.fdi -->

<deviceinfo version="0.2">

<device>

<match key="block.is_volume" bool="true">
<match key="volume.fsusage" string="filesystem">
<match key="volume.fstype" string="vfat">
<match key="@block.storage_device:storage.bus" string="usb">
<merge key="volume.policy.mount_option.iocharset=utf8" type="bool">true</merge>
<merge key="volume.policy.mount_option.codepage=932" type="bool">true</merge>
</match>
</match>
</match>
</match>

</device>

</deviceinfo>
あとはhalを再起動するか、マシン自体を再起動する。
service haldaemon restart

●ディスクパーティション分けのポリシー

CentOS 4に限らず、最近のたいていのディストリビューションは、ディスクのパーティションについてはきわめて淡泊である。デフォルトでは/と/bootくらいしか分けることをしない。ただこの場合、不便なことが生じる。

いずれにしても、インストール時の手間と引き替えに、データを失う可能性は増えることになる。そのため、長く使っていくシステムにしたいのであれば、使う領域ごとにパーティションを設定した方がよい。
さて、IBM PC互換機系のパソコンの場合、パーティションは基本パーティション(プライマリパーティション)と拡張パーティションに分けられる。基本パーティションは1物理ディスクに対して4つまで。それ以上のパーティションを作る場合には、拡張パーティションを設定することになる。
拡張パーティションは1物理ディスクに対して1つしか設定できないが、この中に論理パーティションを作成することになる。論理パーティションの個数には制限は通常ないが、OSによって制限があるため、あまりたくさん作らない方がよい(せいぜい10個くらいにとどめておいた方が無難)。
従って、基本パーティションのうち1つを拡張パーティションに割り当てることで、基本パーティション3つ+論理パーティション(10個程度?)だけ、パーティションを作成できる。
さて、これをどう利用するかであるが、わかりやすい方針として、基本パーティションをディスク先頭から割り当て、そこに / と /boot、スワップ領域を設定するとよい。
そのあとの拡張パーティションの領域には、用途やディスクの容量などに応じていくつかの方針が考えられる。
ディスク容量が比較的少なく(100GB以下)、アプリケーションをそれほどインストールしない場合
この場合には、/usr, /homeを別パーティションとして分けておけばよいだろう。万が一の場合に備えて、/領域をやや多めに確保しておけば、例えば/varなどの領域でログが増えてディスクがいっぱいになるというトラブルを防ぐことができる。
    /      [/dev/hda1]   20GB
    /boot  [/dev/hda2]   2GB
    swap   [/dev/hda3]   メモリ容量分…数GB
    /usr   [/dev/hda5]   10GB
    /home  [/dev/hda6]   残り
ディスク容量に余裕があり(100GB以上)、アプリケーションの追加やソフト開発などを行う場合
自分でアプリケーションを開発したり、ソースからアプリケーションをコンパイルしてインストールするといった場合には、/usr/localを別パーティションにした方がよい。また、それに伴って扱うデータ量なども増えるので、/varも別にするとよい。さらに、最近のアプリケーション(OpenOffice.org2やATOKなど)は/opt領域にインストールされるため、この領域も別に確保しておくと、いざというときの安全性が高まる。
    /          [/dev/hda1]   10GB
    /boot      [/dev/hda2]   2GB
    swap       [/dev/hda3]   メモリ容量分…数GB
    /opt       [/dev/hda5]   10GB
    /usr       [/dev/hda6]   10GB
    /usr/local [/dev/hda7]   10GB
    /var       [/dev/hda8]   10GB
    /tmp       [/dev/hda9]   10GB
    /home      [/dev/hda10]  残り全部
あとは、用途により、 といった方針を考えればよい。

なお、ディスクパーティションを分ける方法としては、

の2つの方法がある。できれば最初から計画を立ててパーティションを分割することが望ましいが、あとから領域の変更をしたい場合には、partedや市販のディスクパーティション操作ツールを利用して変更するとよい。なお、あとから変更する場合、極力データのバックアップをとることが望ましい。

●Sylpheedのインストール

Sylpheedは、Outlook ExpressやThunderbirdなどをはじめとする最近のメールソフトに共通した3ペインの画面を持つ、軽快で非常に使いやすいオープンソースのメーラである。
CentOS 4とも非常に相性がよい。ただ、ソースファイルで配布されているので、せっかくCentOS (Red Hat系OS)にインストールするのであれば、RPMを利用してみるのがよいだろう。ここではソースファイルからRPMファイルを作ってインストールする例を紹介する。
まず、上記サイトからソースファイルをダウンロードし、管理者ユーザ(root)になった上で、
# rpmbuild -tb sylpheed-2.4.8.tar.gz
を実行する。
このコマンドの実行によりソースファイルの解凍、コンパイルが行われ、RPMファイルが作成される。
作成された.rpmファイルは、/usr/src/redhat/RPMS/i386以下に作成される(他のアプリケーションの場合には、このi386がi586やi686になる場合もある)。
このディレクトリをみると、上記のソースファイルの場合、
sylpheed-2.4.8-1.i386.rpm
sylpheed-debuginfo-2.4.8-1.i386.rpm
の2つのファイルが作成されるので、このうち前者(debuginfoではない方)をそのままインストールする。
rpm -ivh sylpheed-2.4.8-1.i386.rpm (新規インストールの場合)
  または
rpm -ivh sylpheed-2.4.8-1.i386.rpm (アップデートの場合)
以上で、rpmの仕組みを利用してパッケージとしてのインストールができるようになった。
なお、CentOS 4.5上でビルドしたSylpheedのバイナリrpmパッケージを別途用意した。こちらからダウンロードできる。

●2TB以上のパーティションの作成

CentOS 4上でも2TB以上のパーティションは作成し、マウントすることは可能である。ただし、パーティションを作る際にはfdiskではなく、partedを使う。fdiskでは2TB以上のディスクパーティションを作成することはできない。

●GNOME端末を使った小技

頻繁に他のサイトへssh経由でログインする人は、専用のGNOME端末が立ち上がって、ログアウトするとそのGNOME端末が終了するようにしておくと、作業効率が上がるのではないだろうか。
そのためのコマンドである。

gnome-terminal --command="command" --title="title"
--commandは、GNOME端末が立ち上がった際に実行するコマンド、--titleは、ウィンドウのタイトルである。
例えば、www.example.co.jpにログインするようにするためには、
gnome-terminal --command="ssh www.example.co.jp -X" --title="www.example.co.jp"
としておけば、"www.example.co.jp"というウィンドウが立ち上がり、GNOME端末がそのために1つ新たに開くことになる。
なお、sshの-Xオプションは、OpenSSH系においてX Windowsのウィンドウをリモートで表示させることができるようにするものである。相手側もOpenSSHでサーバを走らせており、かつ途中にファイアウォールなどがないことが条件になるが、最近はウィンドウベースでのアプリケーションも増えてきているので、使う機会もあるかも知れない。

●xineのインストール (RPMベース)

xineは、DVDをはじめとするマルチメディア系コンテンツを視聴するためのツールで、mplayerと並び、Linuxではよく使われるソフトウェアである。xineは、再生用ライブラリのxine-libと、本体のxine-uiからなる。本体はxine-uiに限らず、いろいろなソフトウェアが提供されている。中でも最近はtotemが人気らしく、CentOS 5からは標準でインストールされるようになった。
CentOS 4の場合、xineは手動で入れることになるが、それでもrpmを利用したインストールが可能である。
手順は以下の通り。以下、"NNNN"はソフトウェアのバージョン名である。

  1. まず、xineサイト(http://xinehq.de)から、ライブラリとアプリケーションをダウンロードする。ライブラリは、xine-lib-NNNN.tar.bz2、アプリケーションはxine-ui-NNNN.tar.bz2といったアーカイブになっている。
  2. ライブラリのインストールから行う。ダウンロードしてきたbzip2形式のアーカイブだけではrpmのビルドができないので、もう1つ、gzip形式のアーカイブも作成しておく。
    bunzip2 -c xine-lib-NNNN.tar.bz2 | gzip > xine-lib-NNNN.tar.gz
  3. 両方が揃ったところでライブラリのビルドを行う。なお、ビルドの際、libpngのバージョン1.2.8以上を要求されることがあり得る。その際には、libpng.orgからソースをダウンロードし、ひとまず/usr/local/lib以下へインストールする(普通に./configure→make→make installとすれば、/usr/local/lib以下へ入る)。このとき、間違ってもlibpngをビルドしてアップグレードしてはいけない。各種のアプリケーションが動作しなくなる。
    rpmbuild -ta xine-lib-NNNN.tar.gz
  4. RPMファイルのビルドが完了したら、インストールする。
    [root@linux terakin]# rpm -ivh /usr/src/redhat/RPMS/i386/libxine1-1.1.9.1-0.i386.rpm
    Preparing...                ########################################### [100%]
       1:libxine1               ########################################### [100%]
    [root@linux terakin]# rpm -ivh /usr/src/redhat/RPMS/i386/libxine1-devel-1.1.9.1-0.i386.rpm
    Preparing...                ########################################### [100%]
       1:libxine1-devel         ########################################### [100%]
    
  5. 続いてxine本体をインストールする。できれば、xine-ui-0.99.3あたりをおすすめする(これ以上になると、libpngのバージョンを上げる必要が出てくる)。まず、ビルドする。
    rpmbuild -ta xine-ui-NNNN.tar.gz
  6. 続いて完成したrpmファイルをインストールするのだが、この際、依存関係を無視して、強行インストールする必要がある。rpmの--nodepsオプションを用いる。
    [terakin@linux terakin]$ rpm -ivh --nodeps /usr/src/redhat/RPMS/i386/xine-ui-0.99.3-1.i386.rpm
以上でDVDをはじめとした各種アプリケーションを楽しめるようになる。ただし、ブラウザのプラグインは入っていないため、ウェブページの中に埋め込まれた形のマルチメディアコンテンツはみることができない。

●ディスク消去コマンド shred

使わなくなったディスクなどをフォーマットしても、あるいはファイルをゴミ箱に入れ、ゴミ箱を完全に削除しても、データそのものはまだディスクの中に残っている。そのため、特殊なツールなどを使えば、消したと思った情報を復活させることができてしまう。
使用済みのディスクなどを第三者に渡すときなどは、このように、残っている情報を完全に消去してしまうことが必要である。そのためには、ディスクに意味のないデータを上書きして、情報を読み取れなくしてしまうことが必要である。
ここで問題になるのは、単に1回上書きしたとしても、ディスクの情報がすべて書き換わったという保証がないということである。ディスクは磁力を利用しているが、ディスクに書き込まれた情報が上書きされたかどうかというのはわからない。従って、この過程は何回も繰り返す必要がある。
こうしたことを行うツールは、Windowsなどでは市販されている。Linuxの世界では、shredというコマンドでこれを実行できる。
使い方は大変に簡単である。目的とするデバイスを調べた上で、

shred [デバイス名]
とすればよい。
例えば、SCSIディスク(/dev/sda)を消去する場合には、
shred /dev/sda
とする。
shredはデフォルトでは、25回にわたってランダムな英数字列をディスク全体に書き込む。通常はこれで十分と思われるが、もっと回数を増やしたい場合には、
shred -n 100 /dev/sda
とする。上記の場合であれば100回にわたって書き込み動作を行う。
また、shredは動作中、何も表示しないので、動作が正常に行われているかどうかがわかりにくい。そういうときは-vオプションを利用する。

# shred -v /dev/sda
shred: /dev/sda: 経過 1/25 (random)...
shred: /dev/sda: 経過 2/25 (111111)...
shred: /dev/sda: 経過 3/25 (b6db6d)...
(中略)
shred: /dev/sda: 経過 24/25 (db6db6)...
shred: /dev/sda: 経過 25/25 (random)...
#
以下、実行の際の注意点である。
/usr/spaceトップへ
/usr/spaceトップへ