zypper、ローカル〜/ binディレクトリにパッケージをインストールする方法

zypper、ローカル〜/ binディレクトリにパッケージをインストールする方法

~/bin私のディレクトリにインストールパッケージを使用する方法はzypper?まず、パッケージをrootとしてダウンロードしてから、root以外のユーザーとしてインストールしようとしましたが、依存関係の問題が発生しました。

# zypper in --download-only wireshark
...
$ zypper -R /home/ec2-user/bin in /var/cache/zypp/packages/SMT-http_smt-ec2_susecloud_net:SLE11-SDK-SP3-Updates/rpm/x86_64/wireshark-1.10.11-0.2.1.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides libadns.so.1()(64bit) needed by wireshark-1.10.11-0.2.1.x86_64
 Solution 1: do not install wireshark-1.10.11-0.2.1.x86_64
 Solution 2: break wireshark-1.10.11-0.2.1.x86_64 by ignoring some of its dependencies

--prefixに似たzypperオプションはありますか?ところで、私は分析機能だけが欲しいですtshark。ありがとうございます。

答え1

短い答えはあなたが知らないということです。マニュアルページ、ヘルプセクション、またはウェブサイトを読んだ後もまだ方法が見つかりませんでした。

あなたは何ですかできるあなたがしなければならないのは、rpmをダウンロードして別のディレクトリにインストールすることだけです。

次の方法でこれを行うことができます。

zypper in --download-only wireshark
rpm --prefix=/home/ec2-user/ -ivh /var/cache/zypp/packages/SMT-http_smt-ec2_susecloud_net:SLE11-SDK-SP3-Updates/rpm/x86_64/wireshark-1.10.11-0.2.1.x86_64.rpm

理由は聞かないでください。 zypper自身の内部データベースとディストリビューションのアップグレード処理に関連しているようです。

答え2

参考書、zypperオプションがあります--root

-R、--ルート
       別のルートディレクトリで実行してください。このオプションは影響を与えます。
       repos.dディレクトリとメタデータキャッシュの場所
       ディレクトリに追加し、--rootオプションを使用してrpmを実行させます。
       パッケージの実際のインストールまたはアンインストールを実行します。気づく
       ZYppロックは依然として元のシステムで生成されます。
       一時ファイルとして。ドキュメントセクションも参照してください。

--rootオプションを使用して実装されますrpm。 ~によるとそれマニュアルページ:

- ルートディレクトリ

    すべての作業にDIRECTORYに基づくシステムを使用してください。気づく
    これは、データベースが DIRECTORY の下で読み取られるか変更されることを意味します。
    %preまたは%postスクリプトレットはchroot(2)の後に実行されます。
    目次。

つまり、--rootRPMデータベースの場所を変更しても、パッケージがインストールされている場所には影響しません。

zypperパッケージの再配置に関する文書化されたサポートがないため、ダウンロードすることをお勧めします。マニュアルに戻る:

-d、--ダウンロードのみ
       後でインストールするためにのみパッケージをダウンロードしてください。

そして

/var/cache/zypp/パッケージ
       リポジトリに keeppackages 属性が設定されている場合(修正を参照)
       fyrepoコマンド)、インストール中にダウンロードされたすべてのRPMファイル
       ここに保存されます。また、これらの項目をクリーンアップするには、cleanコマンドを参照してください。
       キャッシュディレクトリ。

一部パッケージは--prefix再配置可能にするオプションをサポートします。これはルールよりも多くの例外です。ほとんどのバッグはいいえ再配置することができます。これがそれらの1つであれば、あなたは使用することができますrpm2cpio目的のディレクトリにファイルを抽出します。

追加資料:

答え3

zypperには、要求されたコンテンツに--root <dir>対応するオプションがあります。--prefixそれでも考慮してくださいSailorCireの答え

関連情報