Mkfsエラー未定義シンボル:ext2fs_numeric_progress_ops

Mkfsエラー未定義シンボル:ext2fs_numeric_progress_ops

私はHyper-VでOracle Linux 6.4を実行しています。ディスクを追加する必要があります。だから私はHyper-Vに追加しましたが、fdisk -lLinuxが実行されているときに見ることができます。そのため、1つを実行してfdisk /dev/sdbから1から始め、他のパラメータはデフォルト値のままにする拡張パーティションを作成しました。

その後、aまたはext4を実行したいのですmkfs.ext3 /dev/sdb1(違いを覚えておらず、どちらかを選択するのに問題がないためです)。

ただし、mkfs.ext3またはmk2efsまたはmkfs -t ext3 /dev/sdb1次のエラーが出力されます。

 error symbol lookup : undefined symbol: ext2fs_numeric_progress_ops

Googleで試してみましたが、まったく答えがありませんでした。これは以前に私に起こったことはありません。

どんな助けでも大変感謝します。

アップデート1:これは出力ですldd /sbin/mkfs.ext3

linux-vdso.so.1 =>  (0x00007fff907fd000)
libext2fs.so.2 => /opt/appassure/lib64/libext2fs.so.2 (0x00007f7c126fc000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003290800000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x0000003290c00000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003291800000)
libe2p.so.2 => /lib64/libe2p.so.2 (0x0000003291000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003368e00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003369200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003368600000)`

これを実行すると、e2fsck /dev/sdb1次のような結果が得られます。

Error : ext2fs library is outdated !
        e2fsck 1.43-WIP (20-Jun-2013)
        Using library EXT2FS version 1.42.6, 21-Sept-2012

答え1

問題は次のとおりですe2fslibs(一部e2fsprogs )壊れて/sbin/mkfs.ext3のリンカ出力を見ると、次のようになります。

ldd /sbin/mkfs.ext3

linux-vdso.so.1 =>  (0x00007fff907fd000)
libext2fs.so.2 => /opt/appassure/lib64/libext2fs.so.2 (0x00007f7c126fc000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003290800000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x0000003290c00000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003291800000)
libe2p.so.2 => /lib64/libe2p.so.2 (0x0000003291000000)
libc.so.6 => /lib64/libc.so.6 (0x0000003368e00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003369200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003368600000)`

配線がlibext2fs.so.2 => /opt/appassure/lib64/libext2fs.so.2 (0x00007f7c126fc000)間違っています。これに比べて私のシステムが返す内容は次のとおりです。

    linux-vdso.so.1 =>  (0x00007ffff2a00000)
    libext2fs.so.2 => /lib/x86_64-linux-gnu/libext2fs.so.2 (0x00007f4060158000)
    libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f405ff50000)
    libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f405fd28000)
    libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f405fb20000)
    libe2p.so.2 => /lib/x86_64-linux-gnu/libe2p.so.2 (0x00007f405f918000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f405f588000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f405f368000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f40603d0000)

ポスターによると、

提供されたinstall.shを使用してDell AppAssure(バックアップソフトウェア)をインストールしました。

私のDebianシステムにe2fslibs提供されており、libext2fs.so.2優先順位:必須です。削除しようとすると、次のe2fslibsメッセージが表示されます。

警告:次の重要なパッケージが削除されます。あなたがしていることが何であるかを正確に知らない限り、これを行うべきではありません!

したがって、問題は、一部のバックアップソフトウェアがRHEL派生システムに重要なソフトウェアをインストールする理由です。とにかく問題は明らかです。

推奨事項:マニュアルを読むか、Dell AppAssureベンダーに何が起こっているのかを尋ねてください。バックアップソフトウェアとしてインストールされている場合、そのソフトウェアが破損する可能性があるため、それを削除したりシステムを(再)インストールしたりすることはおそらく良い考えではありませんe2fslibs

e2fslibsシステムがまだインストールされており、リンカーはそれを無視することもできます。たとえば、確認してください。

rpm -ql | grep e2fs

および/またはファイルの場所/lib64/libext2fs.so.2

これを行うより良い方法があるかもしれません。私はRH派生システムを使用しません。

関連情報