「オフラインインストール」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
 
14行目: 14行目:
 
There are two main methods to enable bootstrapping the new installation: preparing a local pacman repository with all the required files, and manually copying the files from the archiso. The first version is highly recommended.
 
There are two main methods to enable bootstrapping the new installation: preparing a local pacman repository with all the required files, and manually copying the files from the archiso. The first version is highly recommended.
   
  +
== ローカルリポジトリを使う方法 (推奨) ==
== Local Repository Method (Recommended) ==
 
   
  +
=== ローカルリポジトリを準備する ===
=== Prepare local repository ===
 
   
  +
[[Pacman ヒント#パッケージを CD/DVD や USB スティックからインストールする]] の指示に従って、必要なファイルを含むローカルリポジトリを別のホスト環境上に準備してください。
Follow [[Pacman/Tips and tricks#Installing packages from a CD/DVD or USB stick]] for instructions on preparing a local repository with the necessary files on a separate host installation.
 
   
  +
最低限、システムを機能させるには以下のパッケージをインストールすることが推奨されます:
At the very least, for a functioning system, the following packages are recommended:
 
   
 
# pacman -Syw --cachedir . --dbpath /tmp/blankdb base base-devel linux linux-firmware systemd mkinitcpio vim
 
# pacman -Syw --cachedir . --dbpath /tmp/blankdb base base-devel linux linux-firmware systemd mkinitcpio vim
   
  +
カスタムのオフラインリポジトリを作成してください:
Create your custom offline repository
 
   
 
# repo-add ./custom.db.tar.gz ./*[^sig]
 
# repo-add ./custom.db.tar.gz ./*[^sig]
   
=== Mount and configure ===
+
=== マウントと設定 ===
   
  +
リポジトリの準備が済んだら、外部メディアを新しい環境に接続し、新しく作成したルートファイルシステムにメディアをマウントしてください:
Once the repository is prepared, connect the external media to the new installation, and mount it on the newly created root filesystem:
 
   
 
# mkdir /mnt/repo
 
# mkdir /mnt/repo
 
# mount /dev/sdX /mnt/repo
 
# mount /dev/sdX /mnt/repo
   
Edit your archiso {{ic|/etc/pacman.conf}} and add a new section:
+
archiso {{ic|/etc/pacman.conf}} を編集し、新しいセクションを追加してください:
   
 
[custom]
 
[custom]
41行目: 41行目:
 
Server = file:///mnt/repo/
 
Server = file:///mnt/repo/
   
Comment out {{ic|[core]}}, {{ic|[extra]}} and {{ic|[community]}} so that pacman does not fail on the default repositories.
+
pacman がデフォルトのリポジトリでエラーを吐かないようにするために、{{ic|[core]}}{{ic|[extra]}}{{ic|[community]}} のセクションをコメントアウトしてください。
   
 
=== Pacstrap ===
 
=== Pacstrap ===
   
  +
これで、ローカルで利用可能なパッケージを新しい環境に pacstrap することができます:
You can now continue to pacstrap your locally-available packages to the new installation:
 
   
 
# pacstrap /mnt base base-devel linux linux-firmware mkinitcpio systemd vim
 
# pacstrap /mnt base base-devel linux linux-firmware mkinitcpio systemd vim
51行目: 51行目:
 
=== Chroot ===
 
=== Chroot ===
   
  +
新しいシステムがオフライン、あるいはネットワークから物理的に切り離されたままになることが予想される場合、ローカルリポジトリのみを使うように設定する必要があります。
In case the new system is expected to remain offline or airgapped, it should be configured to expect local repositories only.
 
   
After chrooting into your new installation, edit the new {{ic|/etc/pacman.conf}} in the same way as previously (but without the {{ic|/mnt}} prefix):
+
新しい環境に chroot して、先に説明したように {{ic|/etc/pacman.conf}} を編集してください (ただし、{{ic|/mnt}} を除いて):
   
 
[custom]
 
[custom]
59行目: 59行目:
 
Server = file:///repo/
 
Server = file:///repo/
   
  +
他のすべてのリポジトリをコメントアウトし、保存してください。通常通り、新しいシステムの設定を続けてください。
Comment out all other repositories and save. Continue configuring the new system as usual.
 
   
  +
これで、このオフラインのシステムのアップデートは、ローカルリポジトリの最新のコピーを持ってきて、それを {{ic|/repo}} にマウントし、通常通り pacman のコマンドを実行することで行えます。
From now on any updates to the offline system can be made by bringing an up to date copy of the local repository, mounting it to {{ic|/repo}} and running pacman commands as usual.
 
   
 
== ファイルをコピーする方法 ==
 
== ファイルをコピーする方法 ==

2022年9月6日 (火) 10:13時点における版

関連記事

If you wish to install the Archiso (e.g. the official monthly release) as it is without an Internet connection, or, if you do not want to download the packages you want again:

First, follow the Installation guide, skipping the Installation guide#Connect to the internet section, until the Installation guide#Install essential packages step.

There are two main methods to enable bootstrapping the new installation: preparing a local pacman repository with all the required files, and manually copying the files from the archiso. The first version is highly recommended.

ローカルリポジトリを使う方法 (推奨)

ローカルリポジトリを準備する

Pacman ヒント#パッケージを CD/DVD や USB スティックからインストールする の指示に従って、必要なファイルを含むローカルリポジトリを別のホスト環境上に準備してください。

最低限、システムを機能させるには以下のパッケージをインストールすることが推奨されます:

# pacman -Syw --cachedir . --dbpath /tmp/blankdb base base-devel linux linux-firmware systemd mkinitcpio vim

カスタムのオフラインリポジトリを作成してください:

# repo-add ./custom.db.tar.gz ./*[^sig]

マウントと設定

リポジトリの準備が済んだら、外部メディアを新しい環境に接続し、新しく作成したルートファイルシステムにメディアをマウントしてください:

# mkdir /mnt/repo
# mount /dev/sdX /mnt/repo

archiso /etc/pacman.conf を編集し、新しいセクションを追加してください:

[custom]
SigLevel = Optional
Server = file:///mnt/repo/

pacman がデフォルトのリポジトリでエラーを吐かないようにするために、[core][extra][community] のセクションをコメントアウトしてください。

Pacstrap

これで、ローカルで利用可能なパッケージを新しい環境に pacstrap することができます:

# pacstrap /mnt base base-devel linux linux-firmware mkinitcpio systemd vim

Chroot

新しいシステムがオフライン、あるいはネットワークから物理的に切り離されたままになることが予想される場合、ローカルリポジトリのみを使うように設定する必要があります。

新しい環境に chroot して、先に説明したように /etc/pacman.conf を編集してください (ただし、/mnt を除いて):

[custom]
SigLevel = Optional
Server = file:///repo/

他のすべてのリポジトリをコメントアウトし、保存してください。通常通り、新しいシステムの設定を続けてください。

これで、このオフラインのシステムのアップデートは、ローカルリポジトリの最新のコピーを持ってきて、それを /repo にマウントし、通常通り pacman のコマンドを実行することで行えます。

ファイルをコピーする方法

このセクションは削除するべきか検討が行われています。
Reason: ルートファイルシステムのイメージを ISO から展開する方法は、サポートされているインストール手段ではありません。この方法のカスタマイズは、インストール済みのシステムには適していません。 (議論: トーク:オフラインインストール#)
この記事またはセクションの正確性には問題があります。
理由: archiso からファイルをコピーするのではなく、Arch のミラーから手に入る "bootstrap" イメージを対象のディスクに直接展開することができます。archiso を変更する必要はなく、最小のシステムを手に入れることができます。 (議論: トーク:オフラインインストール#)
この記事またはセクションは情報が古くなっています。
理由: 複数のファイル (カーネル、mkinitcpio フック、設定ファイル、journald 設定ファイル、choose-mirror スクリプトなど) の名前と場所が変更されています。 (Discuss)

新しい root に archiso をインストール

pacstrap でパッケージをインストールする代わりに (リモートのリポジトリからパッケージをダウンロードするわけですが今はインターネット接続がありません)、ライブ環境から新しい root に全てをコピーしてください:

# cp -ax / /mnt
ノート: オプション (-x) を使って、新しい root にコピーしないようにいくつかの特殊なディレクトリを除外しています。

次に、新しいシステムの整合性を保つために、カーネルイメージを新しい root にコピーします:

# cp -vaT /run/archiso/bootmnt/arch/boot/$(uname -m)/vmlinuz /mnt/boot/vmlinuz-linux

その後、インストールガイド#fstab の生成 に書かれているとおりに fstab を生成してください。

Chroot とベースシステムの設定

次に、新しくインストールしたシステムに chroot します:

# arch-chroot /mnt /bin/bash
ノート: インストールガイド#システムの設定における他の設定 (ロケールやキーマップなど) を行う前に、ライブ環境の跡 (つまり、非ライブ環境に適合しない archiso のカスタマイズ) を消す必要があります。

journald の設定の復旧

archiso のカスタマイズによってシステムのジャーナルはメモリに保存されるようになっており、そのままだと再起動でジャーナルは消えてしまいます:

# sed -i 's/Storage=volatile/#Storage=auto/' /etc/systemd/journald.conf

特殊な udev ルールの削除

この記事またはセクションは情報が古くなっています。
理由: https://gitlab.archlinux.org/archlinux/archiso/commit/0d67870667ee8c2084dea2bbdf1323288e2e7457 を見ると、systemd-networkd と systemd-resolved の変更によって以下の文章を書き換える必要があります。 (Discuss)

この udev ルール は有線ネットワークインターフェイスが存在する場合に自動的に dhcpcd を起動します。

# rm /etc/udev/rules.d/81-dhcpcd.rules

archiso によって作成されたサービスの無効化と削除

ライブ環境用に作成されているサービスファイルがあるので、pacman-init.servicechoose-mirror.service無効化してファイルを削除してください (新しい環境では不要であるため):

# rm -r /etc/systemd/system/{choose-mirror.service,pacman-init.service,etc-pacman.d-gnupg.mount,getty@tty1.service.d}
# rm /etc/systemd/scripts/choose-mirror

ライブ環境の特殊なスクリプトの削除

ライブ環境には archiso スクリプトによっていくつかスクリプトがインストールされており、これらは新しい環境では必要ありません:

# rm /etc/systemd/system/getty@tty1.service.d/autologin.conf
# rm /root/{.automated_script.sh,.zlogin}
# rm /etc/mkinitcpio-archiso.conf
# rm -r /etc/initcpio
ノート: mkinitcpio-archiso.conf ファイルはもはや存在しません。追加の手順については #Initramfs の設定 を見てください。

archlinux 鍵のインポート

公式リポジトリを使うには archlinux のマスター鍵をインポートする必要があります (pacman-key#キーリングの初期化)。通常は pacstrap でインポートされますが、以下のコマンドでインポートすることもできます:

# pacman-key --init
# pacman-key --populate
ノート: エントロピーを生成して最初のステップを高速化するにはキーボードやマウスを動かす必要があります。

Initramfs の設定

archiso からファイルシステムをコピーしたので、適切な initramfs をインストールするために mkinitcpio.conf を編集する必要があります。 テキストエディタで /etc/mkinitcpio.conf を開き、唯一コメントアウトされていない HOOKS をコメントアウト/削除し、以下に置き換えてください:

# HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)

システムの設定

スキップしたインストールガイド#システムの設定セクションの設定 (ロケールやタイムゾーン、ホストネームなど) を行ってインストールガイド#Initramfs に書いてあるように初期 RAM ディスクを作成してインストールを完了してください。