- 私はRPMファイルからファイルを抽出できますが、どのようにして "再構築"するのですか?たとえばcpio2rpm?
- 次のコマンドを使用してRPMファイルを抽出しました。 rpm2cpio theFileName.rpm | cpio -idmv
- * .php、* .html、.jsなどのいくつかのWebアプリケーションファイルを変更する必要があります。これらのファイルには、ソースの再コンパイルは必要ありません。ですから、rpmを再構築することなく、これらのファイルを変更して置き換えたり、変更したりしたいと思います。以来、私はRedhat LinuxやSUSEなどの複数のプラットフォームや、32ビットや64ビットOSなどの複数のアーキテクチャでこれを行う必要があります。
- 私はこれらの変更をシステムでのみ行い、rpmを再構築することなく、(i386,64のような)ターゲットシステムアーキテクチャの依存関係はないと考えています。
- 私は、rpmbuild -rebuild the.src.rpmコマンドのように見えていません。私はソースを持っていません。
私はソースとプラットフォームやアーキテクチャに依存せず、できるだけスペックファイルを使用しないでこれをやりたいと思います。RPMファイルを "repackage"する方法(RPMをインストールせずにcpio2rpmなど)
どなたでも、任意の解決策や無料ツールをご提案ください。
私のスレッドを読んで返信する時間を費やしてくれた皆さん、ありがとうございます。
答えて
RPMファイルには、基本的にすべてをパックすることができます。あなたが持っているものを「ソース」として扱い、コンパイルされたバイナリが通常通りに行くデータを入れるSPECファイルを書きます。
RPMに関して、私は「ソース」「私の持っているもの」と「バイナリ」を「実行する必要がある」と考えます。あまり正確な用語ではありませんが、RPMの使用に役立ちます。
[...]
%prep
# Here you either have nothing to do or you already unpack the cpio and possibly modify it.
# %build can be omitted
%install
[ "${buildroot}" != "/" ] && [ -d ${buildroot} ] && rm -rf ${buildroot};
# Here you can either unpack the cpio or copy the data unpacked in %prep.
# Be careful to put it into %{buildroot} or $RPM_BUILD_ROOT.
あなたはrpmrebuildを使用して(変更されたファイルを含む)がインストールRPMを再パッケージ化することができます
あなたのspecファイルには、パラメータなどに関するしかし、コードの一部が異なっているものを、他のspecファイルのように見えます。 http://rpmrebuild.sourceforge.net/
明らかに、あなたのバイナリがあれば、プラットフォーム/アーキテクチャに依存せずに、あなたが望んでいるすべてのOSフレーバで動作する必要があります。問題。
rpmrebuildを使用すると、実際のrpmファイルを変更できます(インストールする必要はありません)。
ほとんどの例では、特定の方法で既知のファイルを変更するための複雑なインライン編集コマンドを使用していますが、通常のエディタを使用することができます。私はこれを使って、ソースを持っていないrpmスクリプトのシェルスクリプトを修正しました。
rpmrebuild -ep theFileName.rpm
このようにすると、RPMのスペックファイルを持つエディタが表示されます。ファイル名は~/.tmp/rpmrebuild.12839/work/spec.2
のようになります。この例では、~/.tmp/rpmrebuild.12839/work
を見ると、RPMの作成に使用されたすべてのファイルが見つかります(私の場合、ファイルはそのディレクトリ内のroot/usr/sbin
にあります)。したがって、別のウィンドウに移動し、そのディレクトリに移動して、変更が必要なファイルを編集します。
ファイルの編集が完了したら、スペックファイルを編集ウィンドウに戻し、そのファイルに必要な変更を加えます(ファイルを追加または削除していないため変更がありません)。ファイルを開き、「続行しますか?」という質問に「y」と答えます。次に、新しいRPMファイルを作成し、どこに置いたかを教えてくれます(私の場合、〜/ rpmbuild/RPMS/x86_64 /に)
- 1. RPM - インストール時間パラメータ
- 2. rpmデスクトップにアイコンをインストールする
- 3. 変更ファイルをrpmファイルに適用する方法
- 4. rpmパッケージの作成とインストール
- 5. RPM%ファイル、ファイルを別のビルドとインストールパスで指定する方法
- 6. 依存パッケージを再インストールするRPM仕様ファイル%preセクション?
- 7. pomファイルのrpmマッピングでディレクトリを除外する方法は?
- 8. Maven RPMプラグインがインテリジェントでrpmコマンドを見つけられない
- 9. Java - インストールされているRPMパッケージのリストを取得する方法
- 10. RPMインストールを並行して実行する方法はありますか?
- 11. RPMに強制的にファイルを1つのディレクトリにインストールする方法はありますか?
- 12. インサイダーのLinux rpmをインストールして実行するには?
- 13. C#ハードドライブRPM
- 14. RPM spec%files
- 15. rpmから現在のディレクトリにファイルを抽出する方法は?
- 16. wxPythonをインストールするrpmがありますか?
- 17. maven-rpm-pluginとrpm-maven-pluginの違いは何ですか
- 18. RPMのバージョンをアップデートするには?
- 19. RPMを使用してカーネルモジュールを配布する方法は?
- 20. ビルドしたPython RPM
- 21. MSIラッパーへのRPM?
- 22. RPMサイズ制限を回避する方法は?
- 23. rpmクエリで非標準タグを取得する方法
- 24. 設定ファイルのRpmアップグレード処理
- 25. python yum/rpm APIを使用してrpm依存性を見つけますか?
- 26. rpmからワニスをインストールするときにvmodsを使用するには?
- 27. setuptoolsを使ってRPMに非pythonファイルを含める
- 28. rpmからクラスファイルを実行する
- 29. python rpmのインストールパスを設定する
- 30. RPM依存関係を確認する
素晴らしい!いくつかのスクリプトでそれを自動化する方法はありますか? –