助け合いフォーラム

LPIC

LPIC Lv2-201(Ver4.5)

ファイルシステム作成時、内部で最終的に使用されるコマンドについて

公開日 2023/11/30

お世話になっております。コマ問で疑問に感じた箇所がありましたので、
お手すきの際にご確認をお願いいたします。

問題

1.ext3 ファイルシステムを /dev/sda3 上に作成する際に実行するコマンドは?
  なお、ファイルシステム作成コマンドは内部で最終的に使用されるコマンドを使う事
 (短い方から先に2つ)

2.ext2 ファイルシステムをブロックサイズ1024バイトで、 /dev/sda3 上に作成する際に実行するコマンドは?
  なお、ファイルシステム作成コマンドは内部で最終的に使用されるコマンドを使う事

模範解答

1.mke2fs -j /dev/sda3
  mke2fs -t ext3 /dev/sda3
2.mke2fs -b 1024 /dev/sda3

自分の答え

1.mkfs -t ext3 /dev/sda3
  mkfs.ext3 /dev/sda3

2.mkfs -b 1024 /dev/sda3

疑問点

  • なぜ「mkfs」でなく、「mke2fs」なのかが理解できていません。
     理由としては、mkfsコマンドはmke2fsコマンドなどのフロントエンドとして統一的に使えるらしいからです。
     もっと言うと、mke2fsコマンドによって、mkfsコマンドが呼び出され、実行されると思っています。
     ですので、設問の「内部で最終的に使用されるコマンドを使う事」を満たすのはmkfsコマンドだと思うのですが、
     いかがでしょうか?

よろしくお願いいたします。

2023/11/30 22:22

逆ですかね? man mke2fs してみたらこういう記述がありましたが。

DESCRIPTION
mke2fs is used to create an ext2, ext3, or ext4 filesystem, usually in a disk partition. device
is the special file corresponding to the device (e.g /dev/hdXX). blocks-count is the number of
blocks on the device. If omitted, mke2fs automagically figures the file system size. If called
as mkfs.ext3 a journal is created as if the -j option was specified.


-t fs-type
Specify the filesystem type (i.e., ext2, ext3, ext4, etc.) that is to be created. If this
option is not specified, mke2fs will pick a default either via how the command was run (for
example, using a name of the form mkfs.ext2, mkfs.ext3, etc.)
or via a default as defined
by the /etc/mke2fs.conf file. This option controls which filesystem options are used by
default, based on the fstypes configuration stanza in /etc/mke2fs.conf.

どちらも「 mke2fs を別名で実行した場合にはその呼び出し名によってファイルシステムタイプ指定を変える」という意味ですよね。実際私の手元のCentOS 7ではどちらも同じバイナリでした。

# ls -l `which mkfs.ext3`
-rwxr-xr-x. 4 root root 96336 10月  1  2020 /usr/sbin/mkfs.ext3

# ls -l `which mke2fs`
-rwxr-xr-x. 4 root root 96336 10月  1  2020 /usr/sbin/mke2fs

# md5sum `which mkfs.ext3`
420ae83149b9e7fc101bd9878b0613e3  /usr/sbin/mkfs.ext3

# md5sum `which mke2fs`
420ae83149b9e7fc101bd9878b0613e3  /usr/sbin/mke2fs

細かい挙動は mke2fs.c の中見るのが確実ですかね。
https://github.com/tytso/e2fsprogs/blob/master/misc/mke2fs.c


コメント

t toshi1041

2023/12/17 21:00

ご回答、ありがとうございました。 クローズとさせていただきます。

a arashi1977

2023/12/18 08:15

別にチケット対応してる訳ではなく個人で回答してるので、クローズ宣言しなくてもいいですよ。リスペクトと率直な感謝だけで十分です。

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?