OPAM 2 local mirrorの作り方

インターネットに接続できないクラスター用リポジトリミラー作成シリーズのOPAM版です。

opam1の頃はopam-mirrorを使って、しこしこ作ってましたが、opam2から楽になりました (https://discuss.ocaml.org/t/how-to-setup-local-opam-mirror/4423)

作業環境にはopamインストールして、リポジトリのファイルを全てダウンロードします。

$ git clone https://github.com/ocaml/opam-repository.git
$ cd opam-repository
# パッケージをダウンロードする
$ opam admin cache
# indexファイルをつくる
$ opam admin idnex

次はミラーサーバーにcacheとopam-repositoryをコピーして、httpdから見られるようにします。 ここの設定は省略します。 内部ノードから、http://mirror-server/opam-repository, http://mirror-server/opam/cacheでアクセスできるものとします。

内部ノードにopamの実行ファイルをコピーします。パスも通して使えるようにしておきます。

# base-compilerのビルドでエラー出るが無視
$ opam init http://mirror-server/opam-repository
$ vi ~/.opam/config
# archive-mirrors: [ "http://mirror-server/opam/cache" ]を追加l(pathはコピーしたところ)
# コンパイラを入れる
$ opam switch create 4.09

これで完了です。あとはopamから好きなパッケージをインストール出来ます。

インストールしたパッケージのドキュメントがみたい場合は opam odigodigをインストール後、odig odocでドキュメントを作成。 ブラウザが使用できれば、そのままodigで見ることができます。

ブラウザが使用できない環境では$(odig cache path)/html/$1/index.htmlにhtmlファイルができるので、 次のようなスクリプトを作って見ることができます。とりあえずwodigとして保存します。

#!/bin/sh
w3m -s -o confirm_qq=false "$(odig cache path)/html/$1/index.html"

wodig odigと実行します。


Last posts

  1. torquestat
  2. rub2を公開しました

    tags: ruby

  3. pypiのミラーを作る

    tags: serverpython

  4. torque 6.1でarray jobが300しか実行されない
  5. maui alert