web-dev-qa-db-ja.com

rpmパッケージを手動でダウンロードする方法(yumなし)?

何らかの理由で.rpmパッケージをWindowsにダウンロードする必要があります。そのため、ダウンロードにyumを使用できません。仮想マシンオプションも使用できません。

.rpmパッケージを手動でダウンロードできますか?はいの場合、どうすればよいですか?依存関係の問題も解決する必要があります。

2
trxrg

依存関係の問題については、yum deplist [package]を使用する必要があります。コマンドラインでリストしたパッケージのリストが返されます。

最新であれば、入手したミラーを知っていれば、簡単にrpmをダウンロードできます。パッケージは定期的に新しいパッケージで上書きされるためです。

CentOSを使用している場合は、おそらくEPELリポジトリを使用します(yum repolistで確認してください)。その場合、以下を参照できます: https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/ または https://dl.fedoraproject.org/pub/epel/7Server/x86_64/Packages / バージョンによって異なります。

カスタムリポジトリからの場合は、/etc/yum.repos.d/your_repo.confをチェックインして、baseurlの行を探します。あなたは次のようなものを見つけるかもしれません:baseurl=http://custom.repo.example.com/pub/7/$basearchその場合、おそらく$ basearchをx86_64だけ変更する必要があります。 7を別のものに変更する必要がある場合もあります。また、どのブラウザーからでもアクセスできるようになります(一度パッケージディレクトリに移動する必要があります)。

Yumリポジトリは基本的にウェブサーバーによって提供されるだけなので、それらを簡単に参照して必要なパッケージを見つけることができます。


古くなっている場合は、yumキャッシュにインストールしたパッケージのローカルコピーがあるという変更がある可能性があります。 find /var/cache/yum/ -name "your_package_name*.rpm"を実行し、興味深いものを返すことを指で確認します。

そこからコピーして、お好きな方法でWindowsマシンに転送できます。

2

tl; dr:これは、依存関係管理ではなく、Windowsでのダウンロード/抽出のみに応答します。 repodata/repomd.xmlをリポジトリのベースURLに追加し、次にrepomd.xmlを調べて、目的のprimary.xmlファイルをダウンロードするためのURLをリストする.rpmファイルを見つけてダウンロードします。スクリプト rpm2cpio.sh は、(圧縮された)cpioアーカイブを抽出し、cpio -idはファイルシステムにコピーできます。

まず、リポジトリのベースURLを見つけます。例えば.
https://brave-browser-rpm-beta.s3.brave.com/x86_64/

repodata/repomd.xmlを追加して、リポジトリメタデータを検索します。例えば.
https://brave-browser-rpm-beta.s3.brave.com/x86_64/repodata/repomd.xml

repomd.xmlを調べて、リポジトリのprimary.xmlファイルを見つけます。例えばrepodata/2635976bb02dab08a696dbaad778feea3f3351a3238fb6f77af52c651dd931cd-primary.xml.gz

リポジトリ用にprimary.xmlをダウンロードします。例えば.

curl --output primary.xml.gz https://brave-browser-rpm-beta.s3.brave.com/x86_64/repodata/2635976bb02dab08a696dbaad778feea3f3351a3238fb6f77af52c651dd931cd-primary.xml.gz
gunzip primary.xml.gz

または別のダウンロードツールを使用します。圧縮されている場合は、ファイルを解凍します。

primary.xmlを調べて、目的の.rpmアーカイブを見つけます。

grep location primary.xml

多分

findstr "location" primary.xml

目的の.rpmファイルをダウンロードします。例えば.

curl -O https://brave-browser-rpm-beta.s3.brave.com/x86_64/brave-browser-beta-0.67.99-1.x86_64.rpm

.rpmファイルからコンテンツを解凍するための推奨ユーティリティをいくつか紹介します。インストール Cygwinrpm2cpio.sh スクリプトを実行して、.rpmファイルからcpioアーカイブ(おそらく圧縮されている)を抽出します。 (Cygwinのsetup-x86_64.exeを使用して、必要に応じてスクリプトの依存関係をインストールします)。例:

rpm2cpio.sh brave-browser-beta-0.67.99-1.x86_64.rpm > payload

cpioアーカイブのパック方法に応じて、Cygwinのsetup-x86_64.exeを使用して、gunzipおよびxzbunzip、またはcpioをインストールします。ペイロードの形式を理解します。

file payload

次に、cpioアーカイブ(この例ではXZ圧縮されたcpioアーカイブ)を解凍して展開します。

xz -d payload
cpio -id payload

編集: alien は、rpm2cpio.shよりもはるかに用途の広いパッケージフォーマットコンバーターです。 Perlで書かれています。また、これはWindowsでのRPMのダウンロードと抽出(Cygwinを使用)を処理しますが、依存関係の管理は処理しません。

0
M.W.