Centosシステムでmockでrpmを構築する方法

1650 ワード

前言
centosでrpmbuild -ba package.specを実行する場合、通常はシステムにも対応する依存パッケージをインストールするように要求されます.これにより、システムに無駄なパッケージがたくさんインストールされ、スペースが消費されます.そこで検索してみると、mockコマンドでこの問題を解決できることがわかりました.
構築方法
まずmockを取り付け、mockepel倉庫にあるので、epel倉庫を先に詰める必要があります.

yum -y install epel-release
yum -y install mock

通常、rpmbuildを使用すると、builderのような新しいユーザーが開き、システム環境を汚染しません.builderユーザーをmockユーザーグループに追加する必要があります

usermod -a -G mock builder
mockrebuildを使用するにはsrcが必要である.rpmファイルなので、もし.specファイルは、まずsrcを生成する必要がある.rpmファイル

rpmbuild -bs package.spec

これによりSRPMディレクトリの下にsrcが生成する.rpmファイルです.mockコマンドでrebuild rpmファイルを作成できます.
まずmock環境を初期化する必要があります./etc/mockフォルダの下に各環境のプロファイルがあります.例えばcentos 6はepel-6-x 86_です.64初期化コマンドは次のとおりです.

mock -r epel-6-x86_64 --init

初期化が完了すると構築を開始できます

mock -r epel-6-x86_64 rebuild package-1.1-1.src.rpm

構築が完了すると、rpmファイルは/var/lib/mock/epel-6-x 86_に保存されます.64/resultディレクトリの下にあります.もちろん、�Cresultdirパラメータでrpmファイルの生成ディレクトリを指定できます.

mock -r epel-6-x86_64 rebuild package-1.1-1.src.rpm --resultdir=/home/builder/rpms

最終実行cleanコマンド環境のクリーンアップ

mock -r epel-6-x86_64 --clean

まとめ
以上はCentosの下でmockを使ってrpmを構築するすべての内容について、本文の内容はみんなの学習あるいは仕事に対して一定の助けをもたらすことができることを望んで、もし疑問があればみんなは伝言を残して交流することができます.