Linux配布のブートストラップ
3706 ワード
このガイドを通してLinux OSツリーとイメージを使用します.
まず、標準の配布インストーラを使ってLinuxをインストールする必要がないことを理解することが重要です.
通常、Linuxディストリビューションインストーラを使用しているときは、パーティションを設定すると、インストーラがパーティションをマウントし、OSのツリーをブートしてルートをパーティションをマウントしたディレクトリに起動します.
これがどのように機能しているかを理解したら、インストールプロセスを自由に制御できます.GentooやArchのようなディストリビューションをインストールしようとしたなら、これはおなじみです.
それで、基本的な考えはあなたのファイルシステム上のいくつかのディレクトリにあなたのディストリビューションのベースOSツリーを作成することです.そして、そのディレクトリ内のコマンドを実行することができます.その木はしばしば「chroot tree」と呼ばれています(そして、それらと一緒に働くための基本的なコマンドは呼ばれます)
完全な配布設備を行うことに加えて、これらのchroot木もより軽量な使用、すなわち様々なタイプのコンテナに役立ちます.
さまざまなLinuxディストリビューションをブートストラップする簡単な例を以下に示します:
このブートストラッピングのコンセプトはGentooにとって非常に自然であり、実際には公式のインストール手順です.
stage 3 tarアーカイブをダウンロードするだけです.https://www.gentoo.org/downloads/ ), をアンパックします:
アーチは同様の方法でブートストラップすることができます、あなたはダウンロードして、archlinuxブートストラップtarballを抽出することができますhttps://archlinux.org/download/ ) 公式の鏡から(そしてそこから)
DebianベースのDistrosも呼ばれるツールを介してブートストラップのための素晴らしいサポートを持って
すなわち、Debian 11 ( Bullseye )のminbase variantをブートストラップするには、次のようにします.
他のディストリビューションからAlpine Linuxをブートするには、静的にコンパイルされたAPKツールを使用できます.http://dl-cdn.alpinelinux.org/alpine/):
RPMベースのdistrosはブートストラップの最悪の候補ですが、それは可能です.
過去には、RPMベースのディストリビューションに類似したツールがありました.
そのベースツリーを持っていれば、そのディレクトリ( rootとして)にchrootすることができます.
次のページでは、なぜこれが重要なのか、ここからどこに行けるのかを見ていきます.Debianを例にします.
注:これは理解の簡単なwikiから(WIP)のトピックのスナップショットです.最新の(より整形済みの)バージョンをここで読むことができます.Bootstrapping Linux Distributions
すべての提案(および反応)を歓迎します.
まず、標準の配布インストーラを使ってLinuxをインストールする必要がないことを理解することが重要です.
通常、Linuxディストリビューションインストーラを使用しているときは、パーティションを設定すると、インストーラがパーティションをマウントし、OSのツリーをブートしてルートをパーティションをマウントしたディレクトリに起動します.
これがどのように機能しているかを理解したら、インストールプロセスを自由に制御できます.GentooやArchのようなディストリビューションをインストールしようとしたなら、これはおなじみです.
それで、基本的な考えはあなたのファイルシステム上のいくつかのディレクトリにあなたのディストリビューションのベースOSツリーを作成することです.そして、そのディレクトリ内のコマンドを実行することができます.その木はしばしば「chroot tree」と呼ばれています(そして、それらと一緒に働くための基本的なコマンドは呼ばれます)
chroot
).完全な配布設備を行うことに加えて、これらのchroot木もより軽量な使用、すなわち様々なタイプのコンテナに役立ちます.
さまざまなLinuxディストリビューションをブートストラップする簡単な例を以下に示します:
ジェンツー
このブートストラッピングのコンセプトはGentooにとって非常に自然であり、実際には公式のインストール手順です.
stage 3 tarアーカイブをダウンロードするだけです.https://www.gentoo.org/downloads/ ), をアンパックします:
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220412T191925Z/stage3-amd64-openrc-20220412T191925Z.tar.xz
tar xzvf stage3-amd64-openrc-20220412T191925Z.tar.xz
アーチリナックス
アーチは同様の方法でブートストラップすることができます、あなたはダウンロードして、archlinuxブートストラップtarballを抽出することができますhttps://archlinux.org/download/ ) 公式の鏡から(そしてそこから)
wget https://mirror.fcix.net/archlinux/iso/2022.04.05/archlinux-bootstrap-2022.04.05-x86_64.tar.gz
tar xzvf archlinux-bootstrap-2022.04.05-x86_64.tar.gz
あるいは、インストールスクリプトをインストールすることもできます.pacstrap -d /target_dir base
または、すでにPacmanを持っている場合pacman -r /target_dir -Syy
Debianベースの分布
DebianベースのDistrosも呼ばれるツールを介してブートストラップのための素晴らしいサポートを持って
debootstrap
.すなわち、Debian 11 ( Bullseye )のminbase variantをブートストラップするには、次のようにします.
debootstrap --variant=minbase bullseye /target_dir
debotstrap
は一般的な依存関係を持つシェルスクリプトです/bin/sh
, wget
, ar
と基本的なLinux/Unixのツールは、もしあなたのディストリビューションREPOでそれを持っていない場合でも、それは非常に簡単にインストールすることです.アルパイン
他のディストリビューションからAlpine Linuxをブートするには、静的にコンパイルされたAPKツールを使用できます.http://dl-cdn.alpinelinux.org/alpine/):
wget http://dl-cdn.alpinelinux.org/alpine/v3.15/main/x86_64/apk-tools-static-2.12.7-r3.apk
tar zxf apk-tools-static-*.apk
のように実行します../sbin/apk.static --arch $(arch) -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main/ -U --allow-untrusted --root /target_dir --initdb add alpine-base
RPMベースのdistros
RPMベースのdistrosはブートストラップの最悪の候補ですが、それは可能です.
過去には、RPMベースのディストリビューションに類似したツールがありました.
febootstrap
, しかし、それは新しいツールに変異したsupermin
. これを使用するか、既存のRPMベースのディストリビューションからDNF/Yumを使用します.dnf --releasever=30 --installroot=/target_dir groupinstall core
次の手順
そのベースツリーを持っていれば、そのディレクトリ( rootとして)にchrootすることができます.
chroot /target_dir
すべてうまくいけば、ターゲットのディストリビューションからルートシェルプロンプトを取得する必要があります.次のページでは、なぜこれが重要なのか、ここからどこに行けるのかを見ていきます.Debianを例にします.
注:これは理解の簡単なwikiから(WIP)のトピックのスナップショットです.最新の(より整形済みの)バージョンをここで読むことができます.Bootstrapping Linux Distributions
すべての提案(および反応)を歓迎します.
Reference
この問題について(Linux配布のブートストラップ), 我々は、より多くの情報をここで見つけました https://dev.to/devsimplicity/bootstrapping-linux-distributions-30obテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol