• 締切済み

shared libraries の復元方法

バックアップしてあった /usr 以下を新しい環境に上書きコピー したところ、基本的なコマンド(passwd,chfn)が動かなくなりました。 通常、単体で動くプログラムであれば本体だけコピーして実行権を付ければ動作 しますが、passwdコマンドはコピーしただけでは下記のエラーが出て動きません。 shared libraries まで復元したいのですが、何を共有しているのか分かりま せん。復元手段をご教授お願いできますでしょうか? 再インストールした環境  Slack Ware 8 Fullインストール  カーネル Linux 2.2.19 バックアップを取った環境  Plamo 2.1  カーネル Linux 2.2.18 # passwd passwd: error while loading shared libraries: cannot open shared object file: cannot load shared object file: No such fi le or directory # which passwd /usr/bin/passwd # file /usr/bin/passwd /usr/bin/passwd: setuid ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked, stripped 何度も何度も再インストールしてばかりで疲れました。ぜひ知恵を お貸し下さい。

みんなの回答

  • mph
  • ベストアンサー率54% (39/72)
回答No.5

基本的にはonosukeさんの方法でいけるはずですが、問題は古いpasswdファイルが残ってたりしないかどうかだけです。 一番簡単なのは最新のslackwareのshadowののパッケージを上書きインストールすることですが、いまのパスワードコマンドを生かす方向で対応するならば、plamoからlibshadow.{a,so.1,soなど}をコピーする方法もあります。 特殊なことをしていないのであればslackので十分な気がします。

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.4

Slackwareなんてなつかしいなぁ~ と思いを馳せつつ,ちょいと調べてみると。。 ftp.cdrom.comにSlackware見当たらず,ショッーーク!! 気を取り直し,別のところから shadow.tgz を入手。 中覗いてみると,いやぁPAMなんざ入ってないですね。 さすがというべきか,Slackware。 てなわけで(本題),passwd入れなおすなら,shadow.tgzです。 旦那。

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.3

横槍になっちゃいますが,日にちあいてるようなので… そのメッセージで見つからない(not found)と出ている, libshadow.so.0 という,共有ライブラリが必要です。 Slackwareのpasswd周りPackageを入れ直す,というのもひとつの手。 # 多分,Slackware8の方はPAM使ってるんだろうなぁ。

  • mph
  • ベストアンサー率54% (39/72)
回答No.2

私はslackもplamoも利用していないので詳細(shared libのバージョンの不一致等)は分かりませんが、 とりあえず、 ldd /usr/bin/passwd の結果がないと何ともいえません。 たぶん、slackとplamoで利用しているライブラリのバージョンが違う等の問題 だと思います。

hashio1
質問者

補足

# ldd /usr/bin/passwd libshadow.so.0 => not found libcrypt.so.1 => /lib/libcrypt.so.1 (0x40021000) libc.so.6 => /lib/libc.so.6 (0x4004f000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) こんなにでました。。。復旧手順はあるのでしょうか。

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

何を使ってどうバックアップした野でしょうか? 通常UNIXのバックアップといえばtarまたはddあたりを使うことが多いのですが、、、 まず、こういったバックアップの仕方は結構危険です。 LinuxでDistributionを変更するということは、Windowsのバージョンの変更に匹敵します。 多分、SetUIDを立ててあげれば復旧するでしょう。

hashio1
質問者

補足

すみません。説明が足りませんでした。 /usr 以下のバックアップには tar cvf コマンドを使いました。 それを新しい環境の / にコピーして tar xvf コマンドで展開しました。 # ls -al /usr/bin/passwd -r-s--x--x 1 root root 24252 Sep 17 2000 passwd これは正常な状態でしょうか?

関連するQ&A

  • Fedora Core1でJAVA開発環境が作成できない

    先日、PCにlinux(Fedora Core1)をインストールし、J2SDK(V 1.3.1_09)をダウンロードし、インストールしたのですが、開発環境が作成できません。 java や javac コマンドを打つと以下のようなエラーメッセージが表示されます。 /usr/local/prgm/jdk1.3.1_09/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory PATHは一応通してあって /usr/local/prgm/J2SDK1.3.1/bin (*/usr/local/prgmがインストールを行った場所です) に設定しています。恐らくほかの環境変数が足りないんだと思うのですが何が足りなんでしょうか? それとも別の理由があるのでしょうか?

  • Linuxで、Pearコマンドが使えない。

    こんばんは。 Linuxにて、Pearを使いたいのですが、 #/usr/local/bin/php にて、pear upgrade PEAR と打つと、 error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory となってしまいます。 色々調べたところ、libmysqlclient.so.14 がないことが原因のようなのですが、libmysqlclient.so.14 をどこからどうやってインストールし、使えるようにすればよいか分かりません。 ただ、 libmysqlclient.so.15 は、 /usr/lib/mysql 内にありました。 よろしくお願いします!

    • ベストアンサー
    • PHP
  • linuxへfujitsuコンパイラのインストール方法

     linux(redhat7.3)のPCに対して、fujitsuの『Fortran & C Package Family Version 5』というコンパイラをインストールしたのですが、いざfrtでコンパイルしても、a.outを使うことができません。  ./a.out: error while loading shared libraries: libfj9i6.so.1:cannot open shared object file:Nosuch file or directory と出てしまいます。  インストールは説明書通りに行い、デフォルトの/usr以下に保存しました。また、/FFC/binの中のfrtはリンクを作って/usr/binの中に入れてあります。  上記の方法では何か足りないのでしょうか。初心者ですので簡単な質問をしてしまっているのかもしれませんが、どうかよろしくお願いいたします。

  • Java 2 SDK, Standard Edition のインストール

    こんばんは。 Java 2 SDK, Standard Edition のインストールで困っています。 OSはredhat7jです。 Xwindowは入っていません。 sunのところから、「j2sdk-1_3_0_02-linux.bin」をダウンロードしてきて、 redhatにrootで入り、/usr/localに「j2sdk-1_3_0_02-linux.bin」をコピーしました。 そして、「./j2sdk-1_3_0_02-linux.bin」と入力して実行しました。 メッセージが表示されて、最後に「yes」と入力して、インストールは 成功したのですが、インストールが成功したか確認のために、 「/usr/local/jdk1.3.0_02/bin/java -version」と入力し実行したらエラーが表示されてしまいます。 インストール先は「/usr/local/jdk1.3.0_02/」です。 パスも「PATH=$PATH:/usr/local/jdk1.3.0_02/bin」と通してあります。 エラーの内容は、 /usr/local/jdk1.3.0_02/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory と表示されています。 どうかよろしくお願いします。

  • PEARをfedoraで使いたい。

    こんばんは。 PHPのPEARを、fedoraサーバーで使いたいと思っているのですが、 うまくいかないので質問させてください。 まず、コマンドプロンプトで、pear と打つと、どこで打っても、 /usr/local/bin/php: error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory というエラーが出ます。 これが主な原因かと思うのですが、対処法を調べましたがよくわかりません。。 このエラーが出ないようにするにはどうすればよいでしょうか? phpinfo.php  での情報は、 include_path  が、.:/usr/share/pear which pear コマンドでは、 /user/local/bin/pear でした。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • error while loading shared libraries

    皆さんこんにちは。 「 error while loading shared libraries」エラーからの 回復の仕方が分からないでいます。 経緯は以下のとおりです。 memcashedの動きを確かめるためのサンプルソースを見つけてきて、 問題なくインストールが無事に完了した後に、 ソース(memtest)を実行しようとしたら、 「libmemcached.so.2がないよ!」ということで、 怒られてしまい実行できませんでした。 ============= ./memtest: error while loading shared libraries: libmemcached.so.2: cannot open shared object file: No such file or directory ============= パスが通っていないという事かな?と思い、 「libmemcached.so.2」の場所を探した後に、 pathに追記してみたのですが、 やはり、同じエラーが出てソースを実行できませんでした。 pathの指定の仕方が適切ではないのでしょうか? どうやって、問題を解決すれば言いか分からないでいます。 OSはFedora9を使用しています。 どなたか、アドバイスいただけますとありがたいです。 宜しくお願い致します。 # find / -name "libmemcached.so.2" -print /lib/libmemcached-0.29/libmemcached/.libs/libmemcached.so.2 /usr/local/lib/libmemcached.so.2 # PATH=$PATH:/usr/local/lib/libmemcached.so.2:/lib/libmemcached-0.29/libmemcached/.libs/libmemcached.so.2 # export PATH # ./memtest ./memtest: error while loading shared libraries: libmemcached.so.2: cannot open shared object file: No such file or directory

  • thunderbirdが起動できない・・・

    linuxの雑誌にFedora4というのが収録されていたので、インストールしてみました。設定などは特に変更しておらず、インストールしたままの状態です。 普段使っているthunderbirdをインストールしてみようと、linux版をダウンロードして、/user/bin/thunderbird というディレクトリを作成して展開してみました。 さて、コマンドでthunderbirdを実行してみると以下のエラーメッセージが出ました。 [username@localhost thunderbird]$ ./thunderbird ./thunderbird-bin: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory このエラーに対してどう対処するべきなのか、よく解からないのです。どなたか御存じ無いでしょうか。

  • J2SDK1.3 + Tomcat + Turbo Linux 6.0での設定

    タイトルの環境で、Tomcatをstartすると以下のエラーになってしまします。/usr/local/jdk/bin/i386/native_threads/java: error in loading s hared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory JDKのライブラリが足りないようなのですが、どうすればよいのでしょうか?

  • LinuxへのMySQLのインストール

    RedHat Linux 5.2です。 MySQL5.1.31をインストールしたいのですが上手くいきません。 1.rpmでインストール 2.non rpmでインストール いずれもためしてみたのですがどちらも以下のエラーが出ます。アドバイスよろしくお願いします。 ---------------------------------------------------------------- 1.rpmでインストール 警告:Expecetd Size: 7600697 警告: Actual Size: 7600729 エラー:依存性の欠如     ・・・としてlibc.so.6(GLIBC_2.3、GLIBC_2.3.4、GLIBC_2.4) libpthread.so.0(GLIBC_2.3.2) rtld(GNU_HASH)           coreutils が必要とされています、と出ます。 2.non rpmでインストール # ./scripts/mysql_install_db --user=mysqlとすると →”Please configure the 'hostname' command to return a correct hostname.”と出ます。 そのエラーの最後に--force optionでrestartしたら解決できるという風に書いてあったので # ./scripts/mysql_install_db --user=mysql --force optionとしました。すると ./bin/mysqld:error while loading shared libraries: libstdc++.so.6: cannot open shared object file:No such file or directoryと出て、 shell> ./bin/mysqld --skip-grant & を試してくださいと出ます。 そこでそれを試すと ./bin/mysqld:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directoryと出ます。 ---------------------------------------------------------------- LinuxへのMySQLのインストールってこんなに大変なものなのでしょうか?アドバイスよろしくお願いします。

  • エラーで起動できません

    バトルフィールド2というPCオンラインゲームのリナックスサーバーをインストールまではできたのですが、いざサーバー起動!!というときに $ cd /bf2server/bf2 $ ./start.sh コマンドと打ち込むと f: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory とエラーが出て起動できません。 libstdc++.so.5が入ってないのかな? この場合どうすればいいでしょうか? OSはFedora Core3をインストールしたてです。