助け合いフォーラム
お世話になっております。コマ問で疑問に感じた箇所がありましたので、
お手すきの際にご確認をお願いいたします。
問題
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コマンドだと思うのですが、
いかがでしょうか?
よろしくお願いいたします。
逆ですかね? 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
ご回答、ありがとうございました。 クローズとさせていただきます。