「オフラインインストール」の版間の差分
(同期) |
(参照を追加) |
||
136行目: | 136行目: | ||
これで、このオフラインのシステムのアップデートは、ローカルリポジトリの最新のコピーを持ってきて、それを {{ic|/repo}} にマウントし、通常通り pacman のコマンドを実行することで行えます。 |
これで、このオフラインのシステムのアップデートは、ローカルリポジトリの最新のコピーを持ってきて、それを {{ic|/repo}} にマウントし、通常通り pacman のコマンドを実行することで行えます。 |
||
+ | == 参照 == |
||
− | {{TranslationStatus|Offline installation|2023-05-17|769633}} |
||
+ | |||
+ | * [[ヘルプ:閲覧#オフラインでの閲覧|オフラインでの閲覧]]: ArchWiki をオフラインで見るための様々な手段。 |
||
+ | |||
+ | {{TranslationStatus|Offline installation|2024-02-29|769633}} |
2024年2月29日 (木) 06:10時点における最新版
この記事では、インターネット接続の無いシステムで Arch Linux をインストールする方法を説明します。これを行うには、インターネット接続のある別のシステムが必要です。
まず、インストールガイドを インストールガイド#必須パッケージのインストール の前まで行ってください (ただし、インストールガイド#インターネットへの接続 はスキップする)。
目次
ローカルリポジトリを準備する
Pacman ヒント#パッケージを CD/DVD や USB スティックからインストールする の指示に従って、必要なファイルを含むローカルリポジトリを別のホスト環境上に準備してください。
最低限、システムを機能させるには以下のパッケージをインストールすることが推奨されます:
# pacman -Syw --cachedir . --dbpath /tmp/blankdb base base-devel linux linux-firmware mkinitcpio vim
カスタムのオフラインリポジトリを作成してください:
# repo-add ./custom.db.tar.gz ./*[^sig]
マウントと設定
リポジトリの準備が済んだら、外部メディアを新しい環境に接続し、新しく作成したルートファイルシステムにメディアをマウントしてください:
# mount --mkdir /dev/sdxy /mnt/repo
archiso /etc/pacman.conf
を編集し、新しいセクションを追加してください:
/etc/pacman.conf
[custom] SigLevel = Optional Server = file:///mnt/repo/
pacman がデフォルトのリポジトリでエラーを吐かないようにするために、[core]
、[extra]
、[community]
のセクションをコメントアウトしてください。
Pacstrap
これで、ローカルで利用可能なパッケージを新しい環境に pacstrap することができます:
# pacstrap -K /mnt base base-devel linux linux-firmware mkinitcpio vim
パッケージのオフラインインストール
ファイルからインストールする
ネットワークにアクセスする前にいくつかのパッケージを手動でインストールする必要があり、一時的にオフラインインストールをする場合、ローカルのパッケージをインストールする方法について pacman#追加コマンド を参照してください。
シェルのグロブを使うことで、多くのパッケージを一度にインストールすることができます:
# pacman -U /package/folder/*.tar.zst
オフラインキャッシュ
必要なファイルを /var/lib/pacman/sync
と /var/cache/pacman/pkg
に入れることで、検索、更新、そしてインストールすべきものがすべて揃っていると pacman
に認識させることができます。以下の方法は2つのフォーラムスレッドが元になっています: [1][2]。
手順:
- インターネットアクセスのあるコンピュータ上で最新のパッケージデータベースをダウンロードする。
- それらをオフラインのコンピュータへ転送する。
- オフラインコンピュータからアップデートする必要のあるパッケージのリストを生成する。
- インターネットアクセスのあるコンピュータ上でそれらのパッケージを署名と共にダウンロードする。
- それらをオフラインのコンピュータの pacman キャッシュへ転送する。
- 更新をインストールする。
以下のスクリプトは最新のパッケージデータベースをダウンロードします。必要であれば、MIRROR
を ミラーステータスリストの別のミラーに変更してください。
download_databases.sh
#!/bin/sh ARCH="x86_64" MIRROR="https://mirrors.kernel.org/archlinux/" wget "${MIRROR}/core/os/${ARCH}/core.db" wget "${MIRROR}/extra/os/${ARCH}/extra.db" wget "${MIRROR}/community/os/${ARCH}/community.db" wget "${MIRROR}/multilib/os/${ARCH}/multilib.db" # 必要に応じて以下もアンコメント (/etc/pacman.conf や pacman.conf.d でカスタマイズしている場合): #wget "${MIRROR}/testing/os/${ARCH}/testing.db" #wget "${MIRROR}/community-testing/os/${ARCH}/community-testing.db" #wget "${MIRROR}/multilib-testing/os/${ARCH}/multilib-testing.db" # 必要に応じてデバッグパッケージやステージングパッケージも追加。
このスクリプトを実行可能にして実行してください。複数の .db ファイルが取得されます。
以下の手順では、これらの .db ファイルをオフラインの PC へ転送し、(まるで pacman -Sy
を実行したかのように) 最新のパッケージリストで作業できるようにし、更新が必要なパッケージのリストを生成します:
# cp *.db /var/lib/pacman/sync/ # pacman -Sup --noconfirm > pkglist
対応するパッケージ署名もダウンロードする必要があります。なので、ダウンロードすべき署名のリストを用意してください:
# sed -e 's/\.zst$/.zst.sig/' ../pkglist > ../siglist
Next, bring the two lists with you to a place where you have internet and download the listed packages in an empty directory:
次に、インターネットにアクセスできる場所にこれらの2つのリストを持ってきて、リスト内のパッケージを空のディレクトリ内でダウンロードしてください:
# wget -nv -i ../pkglist # wget -nv -i ../siglist
すべての *.pkg.tar.zst
と *.pkg.tar.zst.sig
ファイルをオフラインのコンピュータへ移動させ、それらを /var/cache/pacman/pkg
内に置き、最後に以下を実行してください:
# pacman -Su
ローカルリポジトリ
新しいシステムがオフライン、あるいはネットワークから物理的に切り離されたままになることが予想される場合、ローカルリポジトリのみを使うように設定する必要があります。
完全なリポジトリ
新しい環境に chroot して、先に説明したように /etc/pacman.conf
を編集してください (ただし、/mnt
を除いて):
/etc/pacman.conf
[custom] SigLevel = Optional Server = file:///repo/
他のすべてのリポジトリをコメントアウトし、保存してください。通常通り、新しいシステムの設定を続けてください。
これで、このオフラインのシステムのアップデートは、ローカルリポジトリの最新のコピーを持ってきて、それを /repo
にマウントし、通常通り pacman のコマンドを実行することで行えます。
参照
- オフラインでの閲覧: ArchWiki をオフラインで見るための様々な手段。