図1 ファイル関連の用語 初めてUNIX系OSを使う人にとっては馴染みのない用語だと思いますが,Linuxを活用するためにとても重要なものです。 [画像のクリックで拡大表示] |
図2 /etc/fstabファイルの内容例 [画像のクリックで拡大表示] |
「インストールしてみたけど,使い方が分からず途方に暮れた」「本を読んだけど,難しくて理解できなかった」「操作手順だけでなく,基本的な仕組みを知りたい」...。
こうした意見にこたえるため,“Linuxの基本”を説明するコラムが復活しました。
実際にLinuxを操作しながら,基本操作と仕組みに関する知識を身に付けましょう。
今回は,ファイルの扱い方を紹介します。Linuxのファイルの扱い方は,多くの読者が慣れ親しんでいるWindowsパソコンのそれとはかなり異なります。「ルート」「マウント」「デバイス・ファイル」「パーミッション」など,なじみのない用語が登場しますが(図1[表示]),Linuxを活用するために大事なものですので,意味や仕組み,使い方をしっかり学んでおきましょう。
ファイル・システムとは何か
そもそもファイルとは何でしょうか。ファイルとは「ひとまとまりのデータ」です。通常はコンピュータの2次記憶装置に格納されています。コンピュータはさまざまな処理を行うときに,ファイルを開いたり,閉じたり,作成したり,削除したりします。そのため,こうしたファイルの管理は,OSの重要な機能の一つになっています。
ファイル管理機能は一般に,「ファイル・システム」と呼ばれます。ファイル・システムの役割を簡単にまとめると「(膨大な数に及ぶ)ファイル群を一元的に管理する機能と,個々のファイルに対して一貫性を保って操作できる機能を提供する」となります。
OSの機能という観点から説明するとこうなるのですが,別の言葉でファイル・システムを表現することもあります。それは,「ファイルを格納するために,特定のファイル・システムの格納形式に従って整備されたストレージ・デバイス」というものです。これは,ファイル・システムの機能よりも,ファイルの物理的な在りかに着目した表現だと言えるでしょう。
また,皆さんがご存知の通り,「特定のファイル・システムの格納形式に従って2次記憶装置を整備してデータが書き込める状態にすること」が,フォーマット(初期化)です。ハード・ディスクの未使用領域をフォーマットすることで,データが書き込めるパーティションを作成できます。
Linuxで使えるファイル・システム
Linuxで使えるファイル・システム*1には,ext2fs,ext3fs,JFS,XFS,ReiserFSなどがあります。WindowsやMacintoshで使われるファイル・システムの多くにも対応しています。
Fedora Core 3やVine Linux 3.1では,ext3fsがデフォルト(初期設定)のファイル・システムとして採用されています。ext3fsはext2fsの機能拡張版で,データの整合性を保証して信頼性を向上させるジャーナリング機能を備えています。膨大な数のファイルを扱うことの多い大規模システムや,高い信頼性が求められるシステム*2の構築が可能になるよう,Linuxではジャーナリング機能を備えたファイル・システムの採用が定着しました。ハード・ディスクに確保したパーティションは,いずれかのファイル・システムの形式でフォーマットする必要があります。
さらに,フォーマットしたパーティションをLinuxで利用するためには,後述する「マウント」という操作が必要になります。ディストリビューションでは通常,ハード・ディスクのパーティションはLinuxのブート時に自動的にマウントされます。そのための設定が,/etc/fstabファイル(図2[表示])に記述されています。
図2のFedora Core 3の例では,出力の2行目,5行目および8行目の記述内容から,/(ルート),/home,/usrにそれぞれ割り当てられたパーティションが,ext3fsでマウントされる設定になっていることが分かります。