[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:14198] Re: ext2 & ext3



山口@金沢市 です。

<20020613.091846.41625347.jg4nmj@mx5.tiki.ne.jp>の記事において
幡部 高雄さんは書きました。

> Plamo-3.0をインストールしてみました、ところがファイルシステム
> の違い(ext2 ext3)で面白い(変と言うべきか)現象に出会いました。
> インストールしたHDD環境は以下のようなインストールを行っている
> hdaにインストールしました。
> 
> hda--- hda1 ----- windows (FAT16)
> Plamo  hda2 ----- /
> 2.1    hda3 ----- /home
>        hda5 ----- swap
>        hda6 ----- /usr 
> 
> hdb--- hdb1 ----- /
> Plamo  hdb2 ----- swap
> 2.2.5  hdb3 ----- /usr
>        hdb4 ----- /home

ということは今回は hdb は除外してもいいわけですね。

> hda,hdbはext2でフォーマットしてあります。
> そこでインストールしたhdaは/ と /usr はフォーマットした
> のですが/home は、不精をしてフォーマットしないでインストール
> を行いました(今までもそうしていたので)

ということは、

  /dev/hda2
  (/dev/hda5?)
  /dev/hda6

はフォーマット(Plamo 3.0 を触っていないので ext2/ext3 の
どちらでフォーマットされるのか知らないのですが、後述記事を
見ると ext3 のようですね)したけど、

  /dev/hda3

はフォーマットせずに、ext2 のままということですね。

> ところが、いざインストールが完了して起動してユーザーで
> loginしようとしてもloginできない

これは、/ をフォーマットしてしまったので、

  /etc/passwd
  /etc/shadow

が消えてしまったからではないでしょうか?

> しかたなくrootでlogin
> してadduserすると何事もないように登録できる(以前は同じ
> ユーザーがあれば環境ファイルを書き換えるというような
> メッセージが出たはずなのに??)

ここで、メッセージが出ないということは、/home がマウント
されていない(/home が /dev/hda3 ではなく /dev/hda2 を使って
いる)可能性が高いですね。

ですので、

> 取り敢えず登録したユーザーでloginしてみるとやはり古い
> ファイルは全てない結局フォーマットしたのと同じ状況になっている

フォーマットした場所に新たに作っている状態なので
そういうことになります。

> しばらく使用していて何かの時にdfしてみると/homeがない
> $ df(一部抜粋)
> Filesystem           1k-blocks      Used Available Use% Mounted on
> /dev/hda2              4964188    291264   4416688   7% /
> /dev/hda6              7166180   1073464   5722824  16% /usr

/dev/hda に関してはこれで全部ですよね。
ということは、以前の /home として使っていた /dev/hda3 は
マウントされていないことになります。

> $ mount(一部抜粋)
> /dev/hda2 on / type ext3 (rw)
> /dev/hda6 on /usr type ext3 (rw)

これも、/dev/hda3 がマウントされていないので正しい結果です。

> /etc/fstab(一部抜粋) を見てみるとext3になっている
> /dev/hda5       swap        swap        defaults   0   0
> /dev/hda2       /        ext3        defaults   1   1
> /dev/hda3       /home        ext3        defaults   1   1
> /dev/hda6       /usr        ext3        defaults   1   1

これは Plamo 3.0 のインストーラが作ったファイルだと思い
ますが、Linux 用で使うパーティションは全て ext3 で決め打ち
するようになっているのかもしれません。
# 現在のインストーラでファイルシステムを選択できるの
# でしょうか?
## そして ext3 なのに fs_freq と fs_passno が 1 なのは
## 恥ずかしいかも

> まさかと思いext2でmountしてみると
> # mount -t ext2 /dev/hda3 /mnt
> $ mount
> /dev/hda2 on / type ext3 (rw)
> /dev/hda6 on /usr type ext3 (rw)
> /dev/hda3 on /mnt type ext2 (rw)
> 
> $ df
> Filesystem           1k-blocks      Used Available Use% Mounted on
> /dev/hda2              4964188    291272   4416680   7% /
> /dev/hda6              7166180   1073464   5722824  16% /usr
> /dev/hda3              4950080    874963   3818881  19% /mnt

ext2 ではマウントできますね。無事残っています。

> このように同じ/dev/hda3をext2,ext3(df,mountでは表示されない)
> で別々にmountすると両方のフォーマットのファイルが読めるようになるのですが

いえ、同じではないんです。今の状態だと、

  /home は /dev/hda2 上のディレクトリにある
  /mnt に昔の /home である /dev/hda3 をマウントした

という状態です。ですので、

> $ du /home
> 6396    /home
> $ du /mnt
> 874639  /mnt

と、容量が異なります。
# 同じデバイスを別のマウントポイントにマウントしようとすると
# エラーメッセージが出て失敗します

で、これを解消するには、

  * /etc/fstab を書き換えて /dev/hda3 を ext2 でマウントする
    ようにする
  * /dev/hda3 を ext2 から ext3 に変換する

のどちらかをすればよいでしょう。これをするときに、新しい /home
(/dev/hda3 をマウントして *いない* 状態の /home)は容量の無駄に
なりますので必要なデータ以外はきれいに消した方がいいです。
# /home のディレクトリは残して、その下にファイルやディレクトリが
# ない状態にします

で、/etc/fstab の書き換え方は大丈夫だろうということで、ext2 から
ext3 に変換する方法ですが、root で、

  # tune2fs -j -i0 -c0 [変換したいデバイス]

とします。
# もちろん変換する前にバックアップを取ってくださいね
-- 
山口 真悟 (YAMAGUCHI Shingo)
shingo-y@spacelan.ne.jp
shingo@kip.iis.toyama-u.ac.jp

Follow-Ups
[plamo:14201] Re: ext2 & ext3, T-Hatabe
[plamo:14223] Plamo3.0 アルファ(wasRe:Re: ext2 & ext3), MOUE Kiyoshi
[plamo:14286] Re: ext2 & ext3, T-Hatabe
References
[plamo:14194] ext2 & ext3, T-Hatabe

[検索ページ] [メール一覧]
Plamo ML 公開システム