web-dev-qa-db-ja.com

OpenIndiana(またはSolaris)のpkgリポジトリから個々のファイルを手動でダウンロードするにはどうすればよいですか?

オフライン環境のサーバーの場合、 http://pkg.openindiana.org/dev からパッケージをダウンロードするにはどうすればよいですか? (またはよりよく知られている http://pkg.Oracle.com

機械可読なダウンロード情報を含むp5iファイルをダウンロードするインストールリンクがありますが、ダウンロード可能なパッケージファイルまたはファイルのリストへのhttpURLはありません。

3
Bryan Field

マニフェストは直接入手できます http://pkg.openindiana.org/dev/manifest/0/developer%2Fbuild%2Fmake%400.5.11%2C5.11-0.151.1%3A20110912T022544Z

残っているのは、この方法でリストされた個々のファイルを取得する方法を理解することだけです。

file b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 chash=f3998eb4b0aa99b3c54682f1a765e19215e15622 group=bin mode=0755 owner=root path=usr/bin/sccsdiff pkg.csize=1620 pkg.size=3798
file 9b1eb9d425c9de60eba5759368160e709fb51143 chash=0de4a47b23c1ac5121c9216ec854b197c18bfe24 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/ad pkg.csize=2201 pkg.size=5762
file 0f594094532464eab978e00d4d3e18519538fe7b chash=e6685b5da6534ef06ad4aa51c4655fe72f98a2f1 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/bd pkg.csize=1082 pkg.size=2089
file a0d207452b8fa6dd62661cd8349fe92ae415de10 chash=67fd628d7578b7fd907eb75b973c91aeb7b06fee group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cb pkg.csize=805 pkg.size=1498
file 6267fe29483aaffdd5ca7dadab0866e3c23024f5 chash=d769eee8c86a2aefb0af1abb6d55dd559b26864e group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cm pkg.csize=1581 pkg.size=3341
file 18691bfa26474c1133b6ac55897f15bba8cf669a chash=55a97bca8ce191bae3621ace062f3192bf0def18 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/cmds pkg.csize=2279 pkg.size=6573
file 614eef6da7707fa4c77e5a0c958ec42eb1f7c68c chash=36df818d773e392d585fd58cf65d3dab93466528 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/co pkg.csize=2284 pkg.size=5010
file 50e3e4dd1731dd07e7633afab6da1825527a312d chash=8e98dd2c2a45cc35993e3c373ecace197b65e900 group=bin mode=0644 owner=root path=usr/lib/help/locale/C/de pkg.csize=2108 pkg.size=4651

編集:個々のファイルは次の例のようなURLでダウンロードできます: http://pkg.openindiana.org/dev/file/ 0/b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7

残っているのは1つだけです。 これらのファイルのインストール方法

2
Bryan Field

IPSクライアントは、IPSリポジトリからのみパッケージをインストールできます。したがって、リモートリポジトリを発行者として追加することに興味がない場合は、幸い、IPSアーカイブ(p5p)を作成するという別のオプションがあります。

IPSアーカイブはLinuxRPMのようなものではないことに注意してください。たとえば、IPSアーカイブから直接ソフトウェアをインストールすることはできません。ただし、ネットワーク化されていないシステムなど、他のシステムにファイルをコピーすることはできます。 IPSアーカイブは、それを使用する方法であるため、ポータブルリポジトリと考えてください。 IPSアーカイブファイルからローカルリポジトリを作成して初めて、そこからパッケージを利用できます。

IPSアーカイブでは、次のことができます。

  • 1つ以上のパッケージを(必要なすべての依存関係とともに)p5pアーカイブファイルにダウンロードします。
  • P5pアーカイブファイルの内容に基づいてローカルリポジトリを作成します。
  • ローカルに作成されたリポジトリからパッケージをインストールします。

たとえば、パッケージの最新バージョンをテストすることに関心があるとします。次に、次のようなことを行います。

pkgrecv -s http://example.com:10000 -d ~/firefox_test.p5p -a -r pkg://userland/web/browser/[email protected]:20160817T064143Z

パッケージの内容を次のように確認してください:pkgrepo -s ~/firefox_test.p5p listまたは次を使用できます:pkg list -f -g ~/firefox_test.p5p

IPSアーカイブを次のローカルリポジトリとして追加します:pkg set-publisher -p ~/firefox_test.p5p

そして最後に、Firefoxの特定のバージョンをインストールするには、次を使用してください:pkg install [email protected]:20160817T064143

2
Michael Kruger

最も簡単な方法は、pkgrecvを使用してパッケージをソースリポジトリからローカルリポジトリにプルすることです。 IPSはネットワークパッケージシステムであるため、現在、SVr4データストリームのように単一のファイルからパッケージをインストールすることはできません。最後に聞いたのは(Oracleの買収前に)pkg5の人たちが働いていたということでした。オンディスクフォーマットですが、完成したとは思いません。よろしければ、開発者の1人に確認することもできます。とにかく、それはbybyによるものです。

するべきこと

  1. ローカルパッケージリポジトリを作成します。

    pkgrepo create /path/to/localrepo
    
  2. リモートリポジトリからパッケージを取得します。

    pkgrecv -s http://pkg.openindiana.org/dev -d /path/to/localrepo <FMRI_or_glob_of_packages>
    

私がこれを行ってからしばらく経ちましたが(前回はOpenSolarisがシャットダウンの危機に瀕しており、[OpenIndianaチーム]がOpenSolaris/devからパッケージを取得していました)、ローカルリポジトリの発行元をopenindianaに設定する必要がある場合があります.orgパブリッシャー:

pkgrepo set -s publisher/prefix=openindiana.org /path/to/localrepo

pkg.depotdインスタンスを開始して、pkgが使用できるようにします。

pkg.depotd -d /path/to/localrepo -p 10000

(おそらくこれをSMFで設定することをお勧めします。OpenIndianawikiで ハウツー に従ってください。)

次に、ローカルリポジトリをopenindiana.orgのオリジンとして追加します。

pkg set-publisher -g http://localhost:10000 openindiana.org

そして最後に...

いいえ、これを行う簡単な方法は本当にありません。これが、IPSへの移行が気に入らない理由の1つです。

1
James O'Gorman

私はそのようなことをするためのポータブルユーティリティを作成しました:

http://www.bolthole.com/solaris/ipsutil/README

1
Philip Brown

IPSの個々のファイルはgzipを使用して圧縮されるため、手動でcurlおよびgzip -dcを使用して、ファイルをプルダウンおよび解凍できます。

例:GeorgeBaileyが述べたようにsccsdiff(ファイルsha1 hash b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7)をフェッチしています。

curl http://pkg.openindiana.org/dev/file/0/b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7 | gzip -dc > sccsdiff

非圧縮ファイルのsha1ハッシュを確認することもできます...

$ sha1sum sccsdiff
b8dac4eaeabc7d41b4bff842a2f6b54cb36449d7  sccsdiff

OmniOS wikiで利用可能な詳細情報: フェッチIPS pkg(1)なしのパッケージファイル

1
potatosalad

IPSリポジトリ内のパッケージは、ネットワーク経由でpkg(1)コマンドを介して実際にパッケージをインストールする場合にのみ意味があります。パッケージは、IPSリポジトリ内の単一ファイルとして表されません。代わりに、パッケージのマニフェストファイルがさまざまなビットを追跡します。私の理解では、変更されたファイルのみを転送する必要があるため、これにより効率的なアップグレードが可能になります。

1つのオプションは、IPSリポジトリをローカルシステムまたはアクセス可能な別のシステムにミラーリングすることです。古い OpenSolarisサイト および OpenIndianaのwiki に説明があります。ただし、IPSリポジトリをミラーリングしてからしばらく経ちましたが、これらのリンクの指示の正確性についてコメントすることはできません。

他の選択肢もあると思いますが、頭のてっぺんからはわかりません。

1
timclassic