2010年6月13日日曜日

オフライン環境の Ubuntu にパッケージをインストール – Keryx, Synaptic, dpkg

1. Keryx によるパッケージのインストール

インターネットに接続できない PC に、Ubuntu をインストールした。この PC にパッケージを追加したい。

« Keryx ProjectUpdates for offline Linux users によると、

Keryx is a portable, cross-platform package manager for APT-based (Ubuntu, Debian) systems.

Synaptic と比べた場合の特徴は Ubuntu Japanese Wiki によると、

この方法 (Synaptic) では、パッケージに関する情報(/var/lib/apt/lists/配下)は最新化されません。よって、リポジトリ側で新たに追加・更新・削除されたパッケージについて、"オフラインなUbuntu"側で認識することができません。
パッケージに関する情報も最新化したい場合は、keryxなどのツールを考慮してください。

使い方の流れは、

  1. Keryx を USB メモリに入れる
  2. オフライン環境でプロジェクトを作成
  3. オンライン環境で上記プロジェクトを開き、インストールしたいパッケージをダウンロード
  4. オフライン環境で同プロジェクトを開いてパッケージをインストール

 

オンラインで Keryx を入手

« Download からダウンロードして展開したものを USB メモリに入れる。

使い方は « Tutorial を参照。

※ keryx\win32\keryx.exe をWindows 上で起動したら文字化けしたが、Ubuntu 上で keryx\linux\keryx を起動した場合、日本語がちゃんと表示された。

 

オフラインでプロジェクトを作成

オフライン環境の Ubuntu で Keryx を起動。

適当にプロジェクト名を入力して、New Project ボタンを押す。最新のパッケージリストをダウンロードするか尋ねられたら、No を選択。

 

オンラインでパッケージをダウンロード

オンライン環境で Keryx を起動。上記で作成したプロジェクトを選択して、Open Project ボタンを押す。最新のパッケージリストをダウンロードするか尋ねられたら、Yes を選択。

インストールしたいパッケージを選択してダウンロード。この際、依存関係にあるパッケージもダウンロードしてくれる。

※ USBメモリの容量がダウンロードするパッケージに対して少ない場合、エラーとなる。

 

オフラインでパッケージをインストール

オフライン環境で Keryx を起動。

メニューより 「プロジェクト > Install Packages…」 を選択して、上記でダウンロードしたパッケージをインストール。

インストールが完了したら、「プロジェクト > Update Status」 を選択。

 

2. Synaptic によるパッケージのインストール

img06-13-2010[1]システム > システム管理 > Synaptic パッケージマネージャ を起動。

パッケージで 右クリック > インストール指定 したら、メニュー 「ファイル > パッケージダウンロードスキンクリプトを生成」し、それを用いてダウンロードを行う。

詳しくは以下を参照。

 

3. dpkg によるパッケージのインストール

教えて!Ziddyちゃん - オフラインのUbuntuにパッケージをインストールする方法 によると、

ネットにつながったPCでapt-get installしたあと
/var/cache/apt/archiveの中のdebファイルをコピーして
あとはdebファイルを dpkg -iとかで入れていけばいいはずです。

オンライン環境において、既にパッケージをいくつかインストールしている場合、/var/cache/apt/archive に XXXXXX.deb が存在するので以下のコマンドで一度削除。

キャッシュされているデータ(/var/cache/apt/archives/以下のアーカイブ)を全て削除する

# apt-get clean

(StackAsterisk T技術情報:そのままつかえるシリーズ【そのまま使えるAPT for RPM:apt-get(パッケージのインストール、アンインストール)/apt-cache/apt-shell】 より)

これにより同ディレクトリに残ったのはファイル・フォルダは、

  • lock
  • partial

オンライン環境で必要なパッケージをインストール。

sudo apt-get install パッケージ名

/var/cache/apt/archives/ にキャッシュされたパッケージをコピーして、オフライン環境へ持っていく。

オフライン環境で上記パッケージのあるディレクトリにおいて dpkg によりインストール。

sudo dpkg –i *.deb