openSUSEの別のコンピューターにまったく同じパッケージをインストールする方法は?


8

別のコンピューターも仮想マシンにすることができます。ハードウェアの違いや設定が原因でディスクのクローンを作成できません。

私はコンピューターAをインストールして実行しています。コンピューターBも持っています。同じOSをBにインストールするので、同じ基本システムを取得します。

次に、Aと同じリポジトリを手動で追加します。

しかし、最後の段階は私を超えています-Aと同じパッケージをインストールする方法?パッケージ名だけでなく、バ​​ージョンも一致する必要があることに注意してください。

もちろん、手動で1つずつインストールするのではなく、自動化された方法を探しています。

実際には、完全に異なるハードウェア構成、クリーンな設定(古いパスワードなどなし)を取得する必要がありますが、同じソフトウェアを選択します。

質問

どうやってするの?

バックグラウンド

パッケージ(バージョンごと)は入手可能ですが、最新のものではありません。これのポイントは、実行中のシステムの「コピー」を作成し、コンピューターBでパッケージをアップグレードし(コピー)、動作するかどうかをテストし、動作する場合はアップグレードします。Aをアップグレードします。すべての新しいOSバージョンで、多くの回帰バグに見舞われ、 test-live&panicよりも系統的にテストする必要があります。

openSUSE 11.4


コンピュータAのパッケージはリポジトリから最新に更新されていますか?(私はそれが答えを短くしてあなたの人生をより簡単にすることができるのでそれを求めています)
Hanan N.

@Hanan N.、いや、それは私が知っている方が簡単でしょう、それが私が正確なバージョンについて主張した理由です。
greenoldman 2011

回答:


3

独自のリポジトリを構築する必要があるようです。

RPMを目的のバージョンでそのリポジトリに配置します。次に、これらのリポジトリを両方のマシンで(インストールソースとして)アクティブにし、パッケージをインストールします。


ありがとう、私はこれを解決策として(まだ)マークしていません。おそらく誰かが別のアプローチを考え出すでしょう-たとえば、リストを作成し(rpm -qa)、それらのパッケージを特定のバージョンで別のマシンにインストールします。ただし、アプローチはより適切に拡張されます(パッケージごとに1回のダウンロード)。
greenoldman 2011

2

OpenSuseはRPMを使用しているため、rpmユーティリティを使用できます。

rpm -qaシステムに現在インストールされているすべてのパッケージがリストされます(非常に長いリスト)。リストには、パッケージ名、バージョン番号、アーキテクチャが含まれています。リストをファイルに書き込み、新しいシステムでzypperにファイルを与えることができます。

デフォルトですでにインストールされているパッケージがいくつかある可能性がありますが、zypperはそれらをスキップして必要なパッケージをインストールします。


さて、あなたは私のコメントをコピーしたので、全体像で同意しますが、悪魔は詳細にあります-どのようにしてzypperにパッケージPではなくP-1.23、つまりバージョンを指定してインストールさせるのですか?これはここで重要です(デフォルトでは、rpmの出力はzypperの入力形式と互換性がありません)。
greenoldman 2011

参考までに、あなたがコメントを投稿する前、または私が回答を書いている最中にあなたが投稿した前にこれを投稿しました。zypperについては、はいの出力をrpm -qaの入力として使用できますzypper。パッケージのフォーマットを完全に理解しています。バージョン番号に従うかどうかはテストしていませんが、リポジトリが以前のバージョンを保持しているかどうかに大きく依存します。リポジトリがサポートしていない場合、それについてできることは多くありません。
n0pe 2011

「バージョン番号に準拠しているかどうかを確認するためのテストを行っていません」とは反対ですが、「パッケージの形式は完全に理解されています」。だから私は明確にします-それはrpm出力をサポートしていません。バージョンを指定するには、数量詞を追加する必要があります。これはトリッキーな部分です。パッケージの命名は単なる慣例であるため、バリデーターによって強制されることはありません。参照:en.opensuse.org/SDB
greenoldman

1

最初に、「クローン」を作成しようとしているマシンにインストールされているすべてのパッケージとそのバージョンを一覧表示しますrpm -qa > /tmp/rpm.list.txt

次に/tmp/rpm.list.txt、別のシステムの「クローン」に変えようとしているシステムにをコピーし、zypperを実行して、作成したパッケージリストzypper install $(cat /tmp/rpm.list.txt)(またはソースシステムのパッケージのリストを含むファイルを配置した場所)にフィードします。 )。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.