43

rpmパッケージからスペックファイルを抽出する方法はありますか(RPMファイルしかありません)

によってではない

   rpm --scripts -qp my-great-app-1.1.2.rpm 

(この構文は、rpmからのスクリプトのみをスペックファイルに取得しません)

4

7 に答える 7

25

rpmrebuildをインストールし、rpmファイルまたはすでにインストールされているパッケージのスペックファイルを「抽出」(実際には再作成)します。

例:

rpmrebuild --package --notest-install -e oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm
rpmrebuild -s hercules.spec hercules
于 2013-01-05T04:06:26.963 に答える
16

スペックファイルは、パッケージャーが何らかの理由で具体的に含めない限り、バイナリrpmで保存されません(実際にそうする理由はありません)。バイナリrpmから取得できる唯一の情報は、返される情報とリストさrpm -qi <package>れるファイルです。rpm -ql <package>それ以上が必要な場合は、ソースパッケージを見つける必要があります。グーグル/ベンダーのウェブサイトがあなたにそれを提供しない場合、有能な人によってパッケージ化されたものについては、パッケージャーフィールドに連絡先情報が提供されているはずです。たとえば、RHELに同梱されているパッケージとサードパーティベンダーのパッケージを次に示します。

$ rpm --qf '%{Packager}\n' -q redhat-release
Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
$ rpm --qf '%{Packager}\n' -q cfengine-community
CFEngine AS (packager@cfengine.com)

そこには、それぞれ、スペックファイルまたはsrpmファイルについて質問できるWebサイトと電子メールアドレスがあります。

于 2011-09-28T18:54:18.923 に答える
12

通常、spec ファイルは rpm にはありません。それらはソースrpmにあります。

于 2011-04-10T19:35:31.720 に答える
10

あなたが使用できる

yumdownloader --source < something.rpm

それから:

rpm2cpio packagename | cpio -ivd
于 2012-05-04T02:14:54.813 に答える
-3

この単純なコマンドで、すべての .spec、ソース、パッチを取得できました

$ rpmbuild --recompile --noclean ./SRPMS/somerpm.src.rpm

これで、spec、src を変更し、RPM または SRPM を再構築できます。

于 2019-06-05T12:50:25.710 に答える