
Linuxtopiaのカーネル構成書以下の提案:
システムのe2fsprogsバージョンを確認するには、次のコマンドを実行します。
$ tune2fs
ところがこれがちょっと流行だと思います。
e2fsprogsのバージョンをチェックする標準的な方法はありますか、それともこれはすでに最適ですか?
答え1
tune2fs
バージョンを印刷して何もしないときに終了する数少ないe2fsprogsプログラムの1つであり(他のプログラムはdumpe2fs
andですresize2fs
)、長い間(おそらく最初から)e2fsprogsの一部でした。したがって、インストールされているe2fsprogsのバージョンを確認する信頼できる方法です。
私が知っている限り、その文書にはインストールされているe2fsprogsのバージョンを確認する方法についての「公式」の説明はありません。
答え2
これは一般的なアプローチです。 1つの潜在的な問題は、バイナリがすでに存在しているが、/sbin
すべてのユーザーがバイナリを実行できるわけではないということです。
私は(一部)を使用できるいくつかのプロジェクトを確認しました。e2fsprogs
たとえば、gparted
せいぜい彼らは実際にautoconfの存在にのみ興味があり、autoconfまたはそのバージョンをlibuuid
検出しません。e2fsprogs
ライブラリlibext2fs
は関数をエクスポートするext2fs_get_library_version()
ので、これを強く実行します。
/* gcc -lext2fs -o gete2ver gete2ver.c */
#include <stdio.h>
#include <ext2fs/ext2fs.h>
int main(int argc, char *argv[])
{
const char *e2ver, *e2date;
int ver;
ver=ext2fs_get_library_version(&e2ver,&e2date);
printf("version=%04i %s %s\n",ver,e2ver,e2date);
return 0;
}
その他のオプション:
e2fsprogs
利用可能なライブラリセットが付属していますpkg-config
。pkg-config --modversion ext2fs
pkg-config --modversion e2p
(ただし、一部のディストリビューションでは、デフォルトでインストールされている「開発者」資料が不足している場合があります。)
翻訳されたメッセージカタログメタデータが含まれています。空の "" msgidから:
LANG=fr_FR gettext e2fsprogs ""
(ただし、特定の言語がインストールされるという保証はありません。)
答え3
これはちょっとファンキーに見えますね。を使用することを覚えたくない場合は、インストールしたパッケージをtune2fs
確認できます。e2fsprogs
ソースからインストールした場合は、おそらくソースコードを簡単に調べることができます。 (ニュース/変更ログファイルのzip名またはバージョン番号)
ディストリビューションからインストールする場合は、これを行うのに役立ついくつかのコマンドがあります。これはすべて展開設定方法によって異なります。
# Debian / Ubuntu
dpkg -l e2fsprogs
# alternatively
sudo which mkfs.ext4
dpkg -S /sbin/mkfs.ext4
# Fedora
rpm -q e2fsprogs
# alternatively
which mkfs.ext4
rpm -q --whatprovides /usr/sbin/mkfs.ext4
# ...