「オフラインインストール」の版間の差分
(冒頭を翻訳) |
|||
8行目: | 8行目: | ||
{{Related articles end}} |
{{Related articles end}} |
||
+ | インターネットに接続せずに [[Archiso]] (例えば、[https://archlinux.org/download/ 公式月次リリース]) をそのままインストールしたい場合や、ほしいパッケージを何度もダウンロードしたくない場合: |
||
− | If you wish to install the [[Archiso]] (e.g. [https://archlinux.org/download/ 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. |
||
+ | 新しい環境をブートストラップ可能にする方法は主に2つあります: 必要なファイルすべてを持つローカルリポジトリを準備する方法と、archiso からファイルを手動でコピーする方法です。1番目の方法を取ることを強く推奨します。 |
||
− | 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. |
||
== ローカルリポジトリを使う方法 (推奨) == |
== ローカルリポジトリを使う方法 (推奨) == |
2022年9月6日 (火) 10:27時点における版
関連記事
インターネットに接続せずに Archiso (例えば、公式月次リリース) をそのままインストールしたい場合や、ほしいパッケージを何度もダウンロードしたくない場合:
まず、インストールガイドを インストールガイド#必須パッケージのインストール の前まで行ってください (ただし、インストールガイド#インターネットへの接続 はスキップする)。
新しい環境をブートストラップ可能にする方法は主に2つあります: 必要なファイルすべてを持つローカルリポジトリを準備する方法と、archiso からファイルを手動でコピーする方法です。1番目の方法を取ることを強く推奨します。
ローカルリポジトリを使う方法 (推奨)
ローカルリポジトリを準備する
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 のコマンドを実行することで行えます。
ファイルをコピーする方法
新しい root に archiso をインストール
pacstrap
でパッケージをインストールする代わりに (リモートのリポジトリからパッケージをダウンロードするわけですが今はインターネット接続がありません)、ライブ環境から新しい root に全てをコピーしてください:
# cp -ax / /mnt
次に、新しいシステムの整合性を保つために、カーネルイメージを新しい root にコピーします:
# cp -vaT /run/archiso/bootmnt/arch/boot/$(uname -m)/vmlinuz /mnt/boot/vmlinuz-linux
その後、インストールガイド#fstab の生成 に書かれているとおりに fstab を生成してください。
Chroot とベースシステムの設定
次に、新しくインストールしたシステムに chroot します:
# arch-chroot /mnt /bin/bash
journald の設定の復旧
archiso のカスタマイズによってシステムのジャーナルはメモリに保存されるようになっており、そのままだと再起動でジャーナルは消えてしまいます:
# sed -i 's/Storage=volatile/#Storage=auto/' /etc/systemd/journald.conf
特殊な udev ルールの削除
この udev ルール は有線ネットワークインターフェイスが存在する場合に自動的に dhcpcd を起動します。
# rm /etc/udev/rules.d/81-dhcpcd.rules
archiso によって作成されたサービスの無効化と削除
ライブ環境用に作成されているサービスファイルがあるので、pacman-init.service
と choose-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
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 ディスクを作成してインストールを完了してください。