7

RPMファイルに次のシンボリックリンクを作成する必要があります

/bin/ln -sf libcrypto.so.0.9.8e /lib/libcrypto.so.0.9.8
/bin/ln -sf libssl.so.0.9.8e /lib/libssl.so.0.9.8

私のRPMスペックファイル:

%files
%defattr(-,root,root)
/lib/libcrypto.so.0.9.8
/lib/libssl.so.0.9.8
<other files...>

%install
/bin/ln -sf libcrypto.so.0.9.8e /lib/libcrypto.so.0.9.8
/bin/ln -sf libssl.so.0.9.8e /lib/libssl.so.0.9.8

/lib/libcrypto.so.0.9.8eと/lib/libssl.so.0.9.8eはPCに存在しますが、RPMをインストールしようとすると、エラーが発生します。

libcrypto.so.0.9.8 is needed by my-test-rpm-1.el5.i686
libssl.so.0.9.8 is needed by my-test-rpm-1.el5.i686

どうしたの?RPMインストールの一部としてシンボリックリンクを作成するために何をする必要がありますか?

ありがとう

4

4 に答える 4

2

回避策として、次を追加して自動依存関係処理を無効にしました。

AutoReqProv: no

私のスペックファイルに。私はまだ本当の解決策を探しています。

于 2011-02-01T16:28:35.357 に答える
1

スペックファイルの%post部分でldconfigを実行する必要があります。

%post
umask 007
/sbin/ldconfig > /dev/null 2>&1


%postun
umask 007
/sbin/ldconfig > /dev/null 2>&1

それをする必要があります。

于 2011-01-28T02:15:17.857 に答える
1

1)シンボリックリンクの場合は、ポストステージでldconfigを呼び出す必要はありません。

2)ldav1sですでに述べたように、ファイルが%filesセクションにリストされていることを確認してください。

3)もう一度:ファイルがリストされていることを確認してください-特に次のようなものを使用する場合

%define _unpackaged_files_terminate_build 0

%filesセクションにリストされていないファイルがbuildrootで見つかった場合、RHELrpmbuildはエラーで終了します。この定義を使用すると、動作/エラーをオフに切り替えることができますが、実際に何をしているのかを正確に知る必要があります。この行を使用する場合は、スペックファイルから削除する必要があります。

4)ユーザーrootとしてrpmパッケージをビルドしないでください。rpm_build_rootの使用を忘れても、ライブシステムを破壊することはありません。あなたの例は、1997年のRedHat4.2のスペックファイルから取られたように見えます。1997年のRedHat5(RHEL 5ではありません!)以降、rpm/rpmbuildコマンドはRPM_BUILD_ROOT定義を認識しています。これがあなたの問題だと思います。buildrootを使用せずに、ルートFSに直接インストールし、ユーザーrootとしてrpmbuildを実行します。

あなたの例を考えると、それは次のように変更する必要があります:

%install
/bin/ln -sf libcrypto.so.0.9.8e $RPM_BUILD_ROOT/lib/libcrypto.so.0.9.8
/bin/ln -sf libssl.so.0.9.8e $RPM_BUILD_ROOT/lib/libssl.so.0.9.8

buildrootの使用については、RPMドキュメントで説明されています。

于 2013-01-05T10:47:32.893 に答える
0

これを行うための最良の方法は、作成したシンボリックリンクが自動依存およびジェネレーターを必要とすることによってスキャンされないようにすることです。

%filter_provides_in libcrypto.so.0.9.8e
%filter_provides_in libssl.so.0.9.8e
%filter_requires_in libcrypto.so.0.9.8e
%filter_requires_in libssl.so.0.9.8e
%filter_setup

依存/フィルタリングの詳細については、こちらをご覧ください。

于 2014-07-28T20:43:00.167 に答える