rpmなしでローカルyumリポジトリを作成する

rpmなしでローカルyumリポジトリを作成する

次のコマンドを使用して、インターネットからパッケージをインストールできます。

yum install packagex

これにより、すべての依存パッケージがダウンロードされ、順番にインストールされます。インターネットにアクセスできない一部のお客様は、これらのパッケージのみを生成するリポジトリtarballを提供してこれを達成できることを願っています。

次のことができますか?

yum install packagex  --createRepo /tmp/foo

/tmp/footarすべてのパッケージは、yumからオフラインでパッケージをインストールするために使用できるrepo形式で保存されます。

答え1

はい、downloadonly yumプラグインを使用してこれを行うことができます。 RedHatの記事では、これについて詳しく説明します。yumを使用してパッケージをインストールせずにダウンロードする方法

たとえば、
yum install packagex --downloadonly --downloaddir=/tmp/packagex_repo
これを実行してダウンロードできます。パッケージxそして現在のシステムに必要なすべての依存関係は/tmp/packagex_repo

yumdownloaderパッケージにはyum-utils同じ方法を提供するコンテンツも含まれています。エラーのため、i586 および x86_64 バージョンのパッケージがダウンロードされます。、このオプションが--archlist常に好きなように機能するわけではありません。

詳細については、次を参照してください。

createrepo結果が多いので、ここで検索できるリポジトリを作成してください。 tarballでパッケージングするには、いくつかのコマンドしか必要ありません。まず、パッケージをダウンロードしてからrepoディレクトリからcreaterepoを実行し、最後にそのフォルダとrepoのyum設定でtarballを作成します。ただし、すべてをタールボールに入れてから、人々にタールボールを抽出し、抽出したリポジトリyum install ./*rpmフォルダで実行するように指示することもできます。 repoメソッドを使用すると、yum履歴とyumパッケージのリストに、特定のパッケージが元々インストールされているリポジトリが表示されるという利点があります。

答え2

RPMはすでにこれを行うことができます。 yumを介して利用可能なすべてのソフトウェアパッケージはRPMを得ることができます。 RPMはyumが見つかるたびにインストールされます。したがって、RPMを集めてtarボールに入れ、それを抽出していくつかのRPMコマンドを実行して操作を完了できます。

もちろん、パッケージ管理の重要な問題は依存関係であるため、各依存関係のパッケージを含める必要があります。

関連情報