"debian-cd" にファイルをアップロード

main
rohhie 2023-11-26 17:42:48 +09:00
parent 24463a8910
commit 18c2cc9010
3 changed files with 868 additions and 0 deletions

View File

@ -0,0 +1,60 @@
README for those who want to hack on debian-cd
----------------------------------------------
Organisation :
--------------
The main source is in the Debian git server. If you want to hack on
debian-cd and if you want to send me patches, please work on the
latest version available in git.
主なソースは Debian git サーバにあります。debian-cd をハックしたい場合やパッチを私に送りたい場合は、 git で利用可能な最新バージョンで作業してください。
auth: git@salsa.debian.org:images-team/debian-cd.git
anon: https://salsa.debian.org/images-team/debian-cd.git
web: https://salsa.debian.org/images-team/debian-cd
If you want to discuss anything related to the debian-cd development,
mail the debian-cd@lists.debian.org mailing list where all people
interested in the debian-cd development are subscribed.
debian-cd 開発に関連したことを議論したい場合は、 debian-cd 開発に関心のある人たちが購読している debian-cd@lists.debian.org メーリングリストにメールを送ってください。
Technical details :
-------------------
The Makefile which is the main directory will be used to launch
each step of the install process. Try to comment each target of
the makefile so that other can know why it's here. If you need
specific programs (perl or shell scripts), please put them
in the tools directory.
メインディレクトリにある Makefile は、インストールプロセスの各ステップを開始するのに使用されます。makefileの各ターゲットには、なぜそれがここにあるのかが他の人にもわかるようにコメントをつけるようにしてください。特定のプログラムperlやシェルスクリプトが必要な場合は、toolsディレクトリに置いてください。
The tasks directory will contain files listing packages (the
order in which package are listed is important, each package
added will be added to the current CD until it's full).
tasksディレクトリーには、パッケージの一覧ファイルが含まれますパッケージの一覧の順番は重要で、追加されたパッケージは、現在のCDがいっぱいになるまで追加されます
The data dir will contains useful data (not directly task
related) like the master file from boot-floppies and so on.
データ・ディレクトリには、ブートフロッピーのマスターファイルなど、(タスクとは直接関係のない)役に立つデータが格納されています。
Each tool is self-documented, if you want to know what it
does read the sources (they are scripts).
各ツールはセルフ・ドキュメント化されているので、何をするのか知りたければソースを読んでほしい(スクリプトである)。
Debugging debian-cd :
---------------------
If you want to read more about what debian-cd is doing you can set the
VERBOSE environment variable to 1, 2 or 3 depending on the level of
noise that you want.
debian-cd が行っていることをもっと読みたければ、VERBOSE 環境変数を 1、2、3 のいずれかに設定してください。
Some scripts generates their own log files in the temp dir. You
can take a look at them if you want to check for warnings
and so on.
スクリプトによっては、tempディレクトリに独自のログファイルを生成するものもあります。警告などをチェックしたければ、それらを見ることができます。
Log files :
- $TDIR/$CODENAME/sort_deps.log
- $TDIR/$CODENAME/make_disc_trees.log

View File

@ -0,0 +1,399 @@
debian-cd easy-build
====================
INTRODUCTION
============
easy-build.sh is a "wrapper" script around the more basic build.sh build
script. It is designed to make building a specific image or set or images
as easy as possible, while still offering all the flexibility of debian-cd.
easy-build.sh は、より基本的な build.sh ビルドスクリプトの「ラッパー」スクリプトです。これは、debian-cd の柔軟性をすべて提供しつつ、特定のイメージのビルドを 可能な限り簡単にするように設計されています。
easy-build.sh supports the following variations:
easy-build.shは以下のバリエーションをサポートしています
- businesscard, netinst and full CD images, and DVD images
- single-architecture and multi-architecture images
- optionally include source packages
- select to install GNOME (default), KDE, LXDE or Xfce desktops as desktop
task
- create a combined LXDE/Xfce "light desktop" CD
- create a businesscard or netinst CD, or DVD set supporting all four
desktop environments
- creates ISO files by default; creating jigdo files is possible
- specify which Debian release to use
- include custom versions of packages (debs)
- specify which Debian Installer (D-I) version and source to use, including
custom images
- include custom versions of Debian Installer components (udebs)
- ビジネスカード、netinst、フルCDイメージ、DVDイメージ
- シングルアーキテクチャおよびマルチアーキテクチャ・イメージ
- オプションでソースパッケージを含める
- デスクトップ・タスクとして、GNOMEデフォルト、KDE、LXDE、Xfce デスクトップのいずれかを選択してインストールできる
- LXDE/Xfce を組み合わせた "ライトデスクトップ" CD の作成
- ビジネスカード、netinst CD、または 4 つのデスクトップ環境すべてをサポートする DVD セットを作成
- デフォルトで ISO ファイルを作成; jigdo ファイルの作成も可能
- 使われる Debian リリースを指定
- カスタムバージョンのパッケージ (debs) を含める
- 使用する Debian インストーラ (D-I) のバージョンとソースを指定 (カスタムイメージを含む)
- カスタムバージョンの Debian インストーラコンポーネント (udebs) を含める
Using easy-build.sh is somewhat simpler than calling make directly or even
than using build.sh as it splits the complex configuration of debian-cd
into three levels:
easy-build.sh を使用すると、make を直接呼び出すよりも、あるいは build.sh を使用するよりも、debian-cd の複雑な設定を 3 つのレベルに分割するので、いくらか簡単になります:
1) CONF.sh: basic configuration such as paths
2) easy-build.sh: characteristicts of the CD/DVD set, for example:
- Debian release
- D-I version and source of D-I images
- number of CDs or DVDs to generate
3) command line parameters:
- type of image (businesscard, netinst, full CD or DVD
- which architecture(s)
- which desktop to install
1) CONF.sh: パスなどの基本設定
2) easy-build.sh: CD/DVDセットの特徴
- Debianリリース
- D-I のバージョンと D-I イメージのソース
- 生成する CD/DVD の枚数
3) コマンドラインパラメータ
- イメージの種類 (ビジネスカード、netinst、フル CD または DVD)
- どのアーキテクチャか
- インストールするデスクトップ
easy-build.sh also ensures that "task files" are automatically updated as
needed. If custom packages are included it can automatically generate a
Packages file for the local repository: just copy the packages to the
correct location and let easy-build.sh do the rest.
easy-build.shは、必要に応じて "タスクファイル "が自動的に更新されることも保証します。カスタムパッケージが含まれる場合、ローカルリポジトリ用のPackagesファイルを自動的に生成することができます パッケージを正しい場所にコピーし、後はeasy-build.shに任せてください。
Types of images & task definitions
----------------------------------
easy-build.sh can be used to create four types of images:
easy-build.shは4種類のイメージを作成するために使用します
- businesscard CD: only contains Debian Installer; any packages neede for
the installed system are retrieved from a mirror during the installation
- netinst CD: contains Debian Installer and all packages needed to install a
Debian "base system" (packages with priority important or higher)
- full CD: same as netinst CD, but filled to capacity with additional
packages based on "task" definitions; image size is 680MB
- DVD: same as full CD, but with an image size of 4.7GB
- businesscard CD: Debian インストーラのみを収録。インストールされるシステムに必要なパッケージは、インストール中にミラーから取得されます。
- netinst CD: Debian インストーラと、Debian の「基本システム」のインストールに必要なパッケージ (優先度 important 以上のパッケージ) がすべて入っています。
- full CD: netinst CD と同じですが、「タスク」定義に基づく追加パッケージで容量いっぱいです;イメージサイズは 680MB です。
- DVD: フル CD と同じですが、イメージサイズは 4.7GB です。
The businesscard and netinst CD are always a single image. The size of these
images depends on the architecture. For i386 they are around 40MB and 150MB
respectively.
businesscard と netinst CD は常に単一のイメージです。これらのイメージのサイズはアーキテクチャに依存します。i386の場合、約40MBから150MBです。
The full CD and DVD are sets of images, but the set can be limited to any
number. The first image of the set always includes Debian Installer and
packages needed for the base system. After that the first and following
images are filled up to capacity with packages in the following order:
full CD と DVD はイメージのセットですが、セットは任意の数に制限できます。セットの最初のイメージには、常に Debian インストーラと基本システムに必要なパッケージが含まれています。その後、最初のイメージとそれに続くイメージは、以下の順番でパッケージでいっぱいになります:
- "essential" packages from tasksel tasks
- "optional" packages from tasksel tasks
- other packages sorted by popularity (popcon score)
- tasksel タスクの "必須" パッケージ
- tasksel タスクからの "オプション" パッケージ
- その他のパッケージの人気順 (popcon スコア)
The basic order in which packages are included on full CDs and DVDs is
defined in 'tasks/<CODENAME>/Debian'. The order in which tasksel tasks are
included is defined in 'tasks/<CODENAME>/task.list*'.
Full CD や DVD に含まれるパッケージの基本的な順番は 'tasks/<CODENAME>/Debian' で定義されています。tasksel タスクが含まれる順番は 'tasks/<CODENAME>/task.list*' で定義されています。
Current GNOME and KDE desktop environments are so large that only the
packages needed to install one of them can be included on the first full CD.
Therefore debian-cd supports creating a CD or DVD set targeted at a specific
desktop environment: either GNOME, or KDE, or Xfce.
The default 'task.list' is targeted at the GNOME desktop environment.
現在の GNOME や KDE デスクトップ環境は非常に大きく、インストー ルするのに必要などれか一つのパッケージしか、最初の full CD には含めることができません。そのため debian-cd は、特定のデスクトップ環境 (GNOME、KDE、Xfce のいずれか) を対象とした CD や DVD セットの作成をサポートしています。デフォルトの「task.list」は GNOME デスクトップ環境を対象としています。
It is possible to customize the debian-cd task definitions and even to
customize tasksel, but that falls outside the scope of this document.
debian-cd のタスク定義をカスタマイズすることは可能ですし、tasksel をカスタマイズすることもできますが、それはこの文書の範囲外です。
CREATING A MIRROR OF THE ARCHIVE
================================
debian-cd requires you to have a local mirror of the Debian archive,
normally on the same machine where you run debian-cd. There are lots of
methods to create a (partial) local archive.
debian-cd は、通常 debian-cd を実行するのと同じマシン上に、Debian アーカイブのローカルミラーを用意する必要があります。(部分的な) ローカルアーカイブを作成する方法はたくさんあります。
Make sure the following are included in your local archive:
以下がローカルアーカイブに含まれていることを確認してください:
- ./dists/<codename>/main/debian-installer/binary-<arch>/
contains Debian Installer components (udebs)
- ./doc/
- ./tools/
and optionally:
そしてオプションとして:
- ./dists/<codename>/main/installer-<arch>/
contains Debian Installer images (official releases)
One method is to use debmirror. An example script for creating a full or
partial local mirror using debmirror suitable for use with debian-cd can be
found at: http://alioth.debian.org/~fjp/debmirror/.
一つの方法は debmirror を使用することです。debian-cd での使用に適した、debmirror を使用して完全または部分的なローカルミラーを作成するスクリプトの例は、http://alioth.debian.org/~fjp/debmirror/ にあります。
BASIC CONFIGURATION
===================
Most of the variables in CONF.sh can be left at their default values. Some
just because their default value should be OK for most purposes, some
because their value is set by easy-build.sh itself.
CONF.shの変数のほとんどはデフォルト値のままで構いません。デフォルト値で大抵の目的には問題ないからというだけの理由もあれば、easy-build.sh自身によって設定されるからという理由もあります。
The following variables that define paths *must* be set in CONF.sh:
パスを定義する以下の変数は、CONF.shで設定する必要があります
- MIRROR
- TDIR
- OUT
- APTTMP
You may also want to change the following variables:
また、以下の変数を変更することもできます:
- CONTRIB: comment out if you only want to include packages from main
mainのパッケージのみを含める場合は、コメントアウトしてください。
- IMAGESUMS: comment out to skip creating checksums for images
コメントアウトして、イメージのチェックサムの作成を行わないようにする。
- OMIT_MANUAL
- OMIT_RELEASE_NOTES / RELEASE_NOTES_LOCATION
Note that if you want to vary the value of a variable for differbent builds
you can also "add" it in easy-build.sh and set it there.
もし異なるビルドのために変数の値を変えたい場合は、easy-build.shで "add" して設定することもできます。
BUILDING IMAGES
===============
After the basic configuration has been done, there are still a few variables
that need to be checked in easy-build.sh itself:
基本的なコンフィギュレーションが行われた後、easy-build.sh自体でチェックする必要のある変数がまだいくつかあります
- CODENAME: set to the codename (e.g. etch, lenny, sid) of the Debian release
for which you want to build CD/DVD images
- DI_CODENAME: set to the codename of Debian release from which D-I
*components* (udebs) should be taken; normally same value as CODENAME
- DI_DIST/DI_WWW_HOME/DI_DIR: location from where D-I *images* should be
taken; value must "match" the specified DI_CODENAME
- MAX_CDS, MAX_DVDS: only used when building full CD or DVD images
- CODENAME: CD/DVD イメージをビルドしたい Debian リリースのコードネーム (例: etch、lenny、sid) を設定します。
- DI_CODENAME: D-I *コンポーネント* (udebs) を取得する Debian リリースのコードネームに設定します。
- DI_DIST/DI_WWW_HOME/DI_DIR: D-I *イメージを取得する場所。
- MAX_CDS、MAX_DVDS完全なCDまたはDVDイメージを構築する場合にのみ使用されます。
D-I images and components
-------------------------
It is essential that D-I images and components used to build the CD match.
For example, the kernel version included in the D-I image must be the same
as the kernel version of the kernel module udebs copied to the CD.
D-IイメージとCDをビルドするために使用されるコンポーネントが一致していることが不可欠です。例えば、D-Iイメージに含まれるカーネルバージョンは、CDにコピーされたカーネルモジュールudebsのカーネルバージョンと同じでなければなりません。
The easy-build.sh script offers four mutually exclusive options to specify
the source of D-I images. In theory more are possible, but the included
options should cover most use cases.
Make sure you have only one of the four options uncommented! And don't let
yourself be confused by the fact that the four options use different
variables.
easy-build.shスクリプトには、D-Iイメージのソースを指定するための4つの互いに排他的なオプションが用意されています。理論的にはもっと多くのオプションが可能ですが、使用されるオプションでほとんどの使用ケースをカバーできるはずです。4つのオプションのうち1つだけがコメントされていないことを確認してほしいまた、4つのオプションが異なる変数を使用していることに惑わされないでください。
If you keep to the following basic rules you should be OK.
1) If DI_CODENAME is a real Debian release (e.g. etch or lenny, but not sid)
you should normally use the 1st or 2nd option. Use the 1st option if your
local mirror includes D-I images, else use the the 2nd option.
2) If you use daily built D-I images (3rd option), DI_CODENAME should be set
to "sid".
3) If you use custom images (4th option), DI_CODENAME should match the branch
of the your D-I SVN checkout and build environment; further explanation of
this is outside the scope of this document.
以下の基本的なルールを守れば問題ありません。
1) DI_CODENAME が本物の Debian リリース (例えば etch や lenny で、sid ではない) の場合、通常は 1 番目か 2 番目のオプションを使用されるべきです。ローカルミラーに D-I イメージが含まれている場合は 1 番目のオプションを使用し、そうでない場合は 2 番目のオプションを使用してください。
2) 毎日ビルドされるD-Iイメージを使用する場合3番目のオプション、DI_CODENAMEを "sid "に設定します。
3) カスタムイメージを使用する場合4番目のオプション、DI_CODENAMEはD-IのSVNチェックアウトとビルド環境のブランチと一致させる必要があります。
Examples
--------
Below are some basic examples how to run easy-build.sh. Examples for some
more advanced usages will be given in later sections.
以下はeasy-build.shの基本的な実行例です。より高度な使い方の例は後のセクションで説明します。
1) Build a lenny netinst CD image for i386
- set CODENAME and DI_CODENAME to "lenny"
- select appropriate source for D-I images (1st or 2nd option)
- run './easy-build.sh NETINST'
1) i386 用の lenny netinst CD イメージをビルドします。
- CODENAMEとDI_CODENAMEを "lenny "に設定します。
- D-Iイメージの適切なソースを選択します1番目または2番目のオプション
- ./easy-build.sh NETINST' を実行します。
2) Build the first three CD images for amd64 with KDE as desktop environment
- set MAX_CDS to "3"
- run './easy-build.sh -d kde CD amd64'
2) KDEをデスクトップ環境とするamd64用の最初の3つのCDイメージをビルドします。
- MAX_CDSを "3 "に設定します。
- ./easy-build.sh -d kde CD amd64' を実行します。
3) Build the full set of DVD images for sparc
- comment out MAX_DVDS
- run './easy-build.sh DVD sparc'
3) sparc用DVDイメージのフルセットを構築します。
- MAX_DVDSをコメントアウトします。
- ./easy-build.sh DVD sparc' を実行します。
4) Build an i386 netinst to install testing using daily built D-I images
- set CODENAME to the codename for the current testing release
- set DI_CODENAME to "sid"
- select the 3rd option as source for D-I images
- run './easy-build.sh NETINST'
4) i386 netinstをビルドし、毎日ビルドされるD-Iイメージを使用してテストのインストールを行います。
- CODENAMEを現在のテスト・リリースのコードネームに設定します。
- DI_CODENAMEを "sid "に設定します。
- D-Iイメージのソースとして3番目のオプションを選択します。
- ./easy-build.sh NETINST' を実行します。
BUILDING MULTI-ARCH IMAGES
==========================
Multi-arch images are CDs or DVDs that can be used to install more than one
architecture. However, architectures cannot be randomly combined. The main
limitations for combining architectures are:
マルチアーキテクチャイメージとは、複数のアーキテクチャをインストールするために使用されるCDやDVDのことです。ただし、アーキテクチャをランダムに組み合わせることはできません。アーキテクチャを組み合わせるための主な制限は以下のとおりです
- boot loader files and configuration cannot conflict
- image size
- ブートローダーファイルとコンフィギュレーションは競合できません。
- イメージサイズ
The following architectures can safely be combined on a single image:
以下のアーキテクチャは、1つのイメージ上で安全に組み合わせることができます
- i386, amd64 and powerpc
- alpha, hppa and ia64
When you combine two or three architectures on a single 680MB CD there
remains very little space after Debian Installer and base system packages
have been included. For that reason multi-arch CDs are normally created as
a netinst image. For example:
2 つまたは 3 つのアーキテクチャを 680MB の CD 1 枚にまとめる場合、Debian インストーラと基本システムパッケージが含まれた後の容量はほとんどありません。そのため、マルチアーキテクチャ CD は通常 netinst イメージとして作成されます。例えば:
$ ./easy-build.sh NETINST i386 amd64 powerpc
A DVD has a lot more space and can easily include packages needed to install
a desktop environment. For example:
DVDは容量が多く、デスクトップ環境のインストールに必要なパッケージを簡単に含めることができます。例えば
$ ./easy-build.sh DVD -d kde i386 amd64
It is even possible to include source packages on a DVD, which makes it
suitable to hand out at trade shows. For example:
$ ./easy-build.sh DVD i386 amd64 source
INCLUDING CUSTOM PACKAGES, D-I COMPONENTS and D-I IMAGES
========================================================
easy-build.sh makes it relatively simple to include custom packages, both
regular packages (debs) and debian-installer components (udebs), in CD
images. The main rule to keep in mind is that if the package also exists
in the official archive, the version number of your custom package must
be higher than the one of the official package.
easy-build.sh を使うと、通常のパッケージ (debs) と debian-installer コンポーネント (udebs) の両方のカスタムパッケージを、比較的簡単に CD イメージに含めることができます。注意すべき主なルールは、そのパッケージが公式アーカイブにも存在する 場合、カスタムパッケージのバージョン番号は公式パッケージのものより高くなければならないということです。
Besides custom debian-installer components (udebs), you can also use custom
or locally built debian-installer images (kernel, initrd and related files).
カスタム debian-installer コンポーネント (udebs) の他に、カスタムまたはローカルでビルドした debian-installer イメージ (kernel、initrd、関連ファイル) を使用することもできます。
You should always ensure that udebs included on a CD match the udebs used
when building the debian-installer image you include. For example kernel
versions need to match, but also versioned dependensies between udebs
(and note that not all dependencies between udebs are declared explicitly).
And two udebs from the same source package should in principle have the
same version even if one is included in the initrd and the other is loaded
from the CD during the installation.
CD に収録されている udebs が、収録している debian-installer イメージをビルドする際に使用される udebs と一致していることを常に確認すべきです。例えばカーネルのバージョンは一致させる必要がありますが、udebs 間のバージョン依存関係も一致させる必要があります (そして、udebs 間の依存関係はすべて明示的に宣言されているわけではないことに注意してください)。また、同じソースパッケージからの 2 つの udebs は、たとえ一方が initrd に含まれ、もう一方がインストール中に CD から読み込まれたとしても、原則として同じバージョンであるべきです。
Whether custom debs and udebs are used is determined by the environment
variable LOCAL. Whether custom D-I images are used is determined by
selecting the correct source from them, in most cases that will be by
setting DI_DIR (see comments in easy-build.sh). Both variables can be set
in easy-build.sh.
カスタムdebsとudebsが使用されるかどうかは、環境変数LOCALによって決定されます。カスタムD-Iイメージが使用されるかどうかは、それらから正しいソースを選択することによって決定され、ほとんどの場合、DI_DIRを設定することによって決定されますeasy-build.shのコメントを参照。両方の変数はeasy-build.shで設定することができます。
Using custom packages
---------------------
The repository for the custom packages has the same basic structure as an
official mirror. The main difference is the category: instead of "main"
(or "contrib" or "non-free") this has to be "local". You should also make
sure to use the release codename and not the suite.
カスタムパッケージのリポジトリは、公式ミラーと同じ基本構造を持っています。主な違いはカテゴリです。"main"(または "contrib "や "non-free")ではなく、"local "でなければなりません。また、スイートではなくリリースのコードネームを使用するようにしてください。
So you get for example:
.../dists/lenny/local/binary-amd64/
.../dists/lenny/local/binary-i386/
.../dists/lenny/local/debian-installer/binary-amd64/
.../dists/lenny/local/debian-installer/binary-i386/
.../dists/sid/local/binary-amd64/
.../dists/sid/local/binary-i386/
.../dists/sid/local/debian-installer/binary-amd64/
.../dists/sid/local/debian-installer/binary-i386/
Note that debs will be taken from 'dists/$CODENAME/...' while udebs will be
taken from 'dists/$DI_CODENAME/...'. So if CODENAME and DI_CODENAME have
different values (e.g. when taking debs from testing but using D-I based on
unstable), you will need to place your custom debs and udebs under different
codenames.
debs は 'dists/$CODENAME/...' から取得されるのに対し、udebs は 'dists/$DI_CODENAME/...' から取得されることに注意してください。そのため、CODENAME と DI_CODENAME が異なる値である場合 (例えば、debs を testing から取得し、D-I を unstable ベースで使用する場合など)、カスタム debs と udebs を異なるコードネームで配置する必要があります。
The local category does not need to have a Release file, but each
'binary-<arch>' directory must have a Packages file.
ローカルカテゴリーにはReleaseファイルは必要ありませんが、各'binary-<arch>'ディレクトリにはPackagesファイルが必要です。
It is possible to have the packages themselves in a pool directory, but it
is probably easier to just place them under the 'binary-<arch>' directories.
You can group packages in subdirectories.
パッケージそのものをプールディレクトリに置くことも可能ですが、「binary-<arch>」 ディレクトリの下に置く方が簡単でしょう。パッケージはサブディレクトリにまとめることができます。
By default debian-cd will look for the "local" category in the same place
as the official mirror (as defined by the envvar MIRROR), but in most cases
it will be simpler to specify an alternative location by setting the
environment variable LOCALDEBS in your CONF.sh. In that case you can also
let easy-build.sh take care of generating an updated Packages.gz file for
each source that is used in a build by setting the envvar UPDATE_LOCAL in
easy-build.sh (see tools/Packages-gen).
デフォルトでは、debian-cd は公式ミラー (envvar MIRROR で定義) と同じ場所にある "local" カテゴリを探しますが、ほとんどの場合、CONF.sh で環境変数 LOCALDEBS を設定して別の場所を指定する方が簡単でしょう。その場合、easy-build.shでenvvar UPDATE_LOCALを設定することで、ビルドで使用される各ソースに対して更新されたPackages.gzファイルの生成をeasy-build.shに任せることもできますtools/Packages-genを参照
Example, assuming we are building for and i386 CD for lenny:
Lenny 用の i386 CD をビルドする場合の例:
1) in CONF.sh, set for example:
export MIRROR=/srv/mirror/debian
export LOCALDEBS=/srv/mirror/custom
2) create the following directories:
/srv/mirror/custom/dists/lenny/local/binary-i386
/srv/mirror/custom/dists/lenny/local/debian-installer/binary-i386
3) copy your custom debs to the first directory
4) copy your custom udebs to the second directory
5) in easy-build.sh, set:
export LOCAL=1
UPDATE_LOCAL=1
Note that debian-cd will fail if you set LOCAL but the "local" directory for
a codename/arch/section that is referenced in a build does not exist.
You will need to create the 'dists/<codename>/local' directories, but if
UPDATE_LOCAL is set, easy-build.sh will automatically create any missing
'binary-<codename>' subdirectories and (empty) Packages.gz files.
LOCAL を設定しても、ビルドで参照されるコードネーム/arch/セクションの 「ローカル」ディレクトリが存在しない場合、debian-cd は失敗することに注意してください。dists/<codename>/local' ディレクトリを作成する必要がありますが、UPDATE_LOCAL が設定されていれば、easy-build.sh は自動的に欠落している 'binary-<codename>' サブディレクトリと (空の) Packages.gz ファイルを作成します。
Using custom debian-installer images
------------------------------------
Note that the build target used and the way images are organized under the
build/dest directory by the debian-installer build system varies per
architecture. The example below should work for i386 and amd64, but may need
to be adjusted for other architectures.
使用されるビルドターゲットや、debian-installer ビルドシステムによる build/dest ディレクトリ配下のイメージの整理方法は、アーキテクチャごとに異なることに注意してください。以下の例は i386 と amd64 で動作するはずですが、他のアーキテクチャでは調整が必要かもしれません。
Example:
1) create a directory, for example:
/srv/mirror/custom/images/i386/
2) build the d-i images (in the installer/build directory) using:
$ make reallyclean; fakeroot make build_cdrom_isolinux
3) copy the images using:
$ cp -r dest/cdrom /srv/mirror/custom/images/i386/
4) in easy-build.sh, set:
export DI_DIR="/srv/mirror/custom/images/%ARCH%"
'%ARCH%' will be automatically expanded to the correct architecture whe
debian-cd is run.
'%ARCH%' は debian-cd の実行時に正しいアーキテクチャに自動的に展開されます。

409
debian-cd/README.txt Normal file
View File

@ -0,0 +1,409 @@
debian-cd
=========
Copyright 1999-2001 Raphaël Hertzog <hertzog@debian.org> and others,
2004-2019 Steve McIntyre <steve@einval.com>
This set of tools is licensed under the General Public License version
2 or any later version. You can find it in
/usr/share/common-licenses/GPL on a Debian GNU system.
Some of the ideas here (a loooong time ago) came from Steve McIntyre's
slink_cd script.
Thanks also to all the contributors on the debian-cd mailing list.
What is needed?
===============
Software:
- the apt-get (>= 0.3.11.1) tool
- perl (>= 5.004)
- bash (or another POSIX shell)
- make
- cpp
- mkisofs/genisoimage
- the perl Digest::MD5 module
- the perl Compress::Zlib module
- lynx (for text version of README.html) and todos from sysutils
to convert docs to DOS format (although you can rip that out, too)
- if you want to generate jigdo files: jigdo-file (see below)
Other:
- apt-utils (for apt-ftparchive)
- lots of free space on your disks
- a Debian mirror, on a partition where you can write.
If you can't write on it then you may try to use a symlink farm,
but it's not the recommended way to build Debian CDs.
-------------------------------
- GENERATING DEBIAN CD IMAGES -
-------------------------------
For the people that don't have time, here's the quick explanation
時間がない人のために、簡単に説明しましょう。
=================================================================
Edit the CONF.sh and change the PATHs for the mirror and so on.
CONF.shを編集し、ミラーのPATHなどを変更します。
$ sensible-editor CONF.sh
$ . CONF.sh
$ make distclean
$ make status
$ make official_images
However, you really should consider reading further for more information.
You can also take a look at build.sh and build_all.sh for an automated
way of building CD images.
しかし、より詳細な情報については、さらに読むことを本当に検討すべきです。
build.shとbuild_all.shは、CDイメージの自動ビルドのためのものです。
The script easy-build.sh offers the easiest way to build a specific image
or set of images, but is still very flexible and powerful. It is the
recommended tool for building test images and for people new to debian-cd.
See the file README.easy-build for further info.
easy-build.sh スクリプトは、特定のイメージやイメージ群を構築する最も 簡単な方法を提供しますが、非常に柔軟で強力です。テストイメージのビルドや、 debian-cd を初めて使う人にお勧めのツールです。
詳細は README.easy-build をご覧ください。
How to build a CD set - step by step
====================================
If you haven't already, change to the /usr/share/debian-cd/ directory
(or, alternatively, set the variable BASEDIR in CONF.sh to point
there).
まだであれば、/usr/share/debian-cd/ディレクトリに移動してくださいあるいは、CONF.shの変数BASEDIRがそこを指すように設定してください
The process of building a CD is composed of the following steps:
CDを作るプロセスは次のようなステップで構成されます
- first configure what is needed in CONF.sh and source it in your shell:
- まずCONF.shで必要なものを設定し、シェルでそれをソースにしますCONF.shで必要なものを設定し、シェルでそれをソースにします
$ . CONF.sh
The exported environment variables will be used by all the
tools involved here (Makefiles, perl scripts, shell scripts).
エクスポートされた環境変数は、ここに関係するすべてのツールMakefile、perlスクリプト、シェルスクリプトで使用されます。
If you want to build CD images for more than one arch, you will
have to build them one after the other (you may use a shell
script for this).
複数のアーキ用のCDイメージをビルドしたい場合は、1つずつビルドする必要がありますシェルスクリプトを使用することもできます
Note that the temporary dir must be on the same device as the
mirror because debian-cd uses hardlinks for generating an image
tree. If you can't do this, you'll have to use a symlink farm.
The symlink farm is explained at the end of this README.
debian-cd はイメージツリーの生成にハードリンクを使用されるため、 一時ディレクトリはミラーと同じデバイス上になければならないことに注意してください。これができない場合は、シンボリックリンクファームを使用する必要があります。シンボリックリンクファームについては、この README の最後で説明しています。
Keep in mind that the environment variables will stay in the
environment after your debian-cd run, and may interfere with
other program using the same variables (e.g. kernel-package).
So if you want to be 100% safe, run debian-cd in a
separate shell that you can leave after you're done.
環境変数は debian-cd の実行後も環境に残り、同じ変数 (例えば kernel-package) を使用している他のプログラムに干渉する可能性があることに留意してください。そのため、100% 安全を期すなら、debian-cd を別のシェルで実行し、終了後にそのシェルから離れるようにしてください。
- then we clean everything that may still be there from previous runs:
- その後、以前の走行から残っている可能性のあるものをすべてきれいにします:
$ make distclean
- then we initialize the temporary directory used for the build:
- 次に、ビルドに使用される一時ディレクトリを初期化します:
$ make status
If this has failed then this will be automatically launched:
これが失敗した場合は、自動的に起動されます:
$ make correctstatus
Note however that "make status" should never fail if it is
used for building a CD set for the stable release...
ただし、"make status "が安定版リリースのCDセット構築に使用されるのであれば、失敗することはないはずです...。
- now you can decide what you want on your CDs
- CDに何を入れたいか、自分で決められるようになりました。
Note that task files are always taken from the subdirectory in ./tasks/
that matches the CODENAME environment variable. At the beginning of a
build these "static" task files are copied to the working directory.
During the build some additional task files - that are referenced from
the static task files - are generated automatically using scripts from
the ./tools directory.
タスクファイルは常に環境変数CODENAMEにマッチする ./tasks/のサブディレクトリから取得されることに注意してください。ビルドの開始時に、これらの「静的」タスクファイルは作業ディレクトリにコピーされます。ビルド中に、./toolsディレクトリのスクリプトを使用して、静的タスクファイルから参照されるいくつかの追加タスクファイルが自動的に生成されます。
Examples:
その例:
$ make packagelists TASK=Debian-generic COMPLETE=1
or
または
$ make packagelists TASK=Debian-kde COMPLETE=0
or
または
$ export NONFREE=1; make packagelists TASK=your-task-here COMPLETE=1
or for something like an official image for the USA (without non-free):
または、アメリカの公式イメージのようなもの(ノンフリーは除く):
$ make packagelists COMPLETE=1
.... take a look at the file tasks/* to see the options you can have :)
.... tasks/*というファイルを見て、オプションを見てみましょう。 :)
You can change the behaviour of this command with the following
variables:
- if NONFREE is set, then packages from non-free will be allowed
(NONFREE must be exported to all sub-shells)
- if EXTRANONFREE is set, then non-free packages will be included
on an extra CD (the last CD in fact). Don't use NONFREE and
EXTRANONFREE at the same time!
(EXTRANONFREE must be exported to all sub-shells)
- if COMPLETE is set, all packages that are not listed in the
selected task file will be included at the end
- setting INSTALLER_CD will use an appropriate task file for
building small CDs (businesscard and netinst)
このコマンドの動作は、以下の変数で変更できます:
- NONFREE が設定されている場合、non-free からのパッケージが許可されます (NONFREE はすべてのサブシェルにエクスポートされなければなりません)。
- EXTRANONFREE が設定されている場合、non-free のパッケージは追加 CD (実際には最後の CD) に含まれます。NONFREEとEXTRANONFREEを同時に使用しないでください (EXTRANONFREEはすべてのサブシェルにエクスポートされなければなりません)
- COMPLETEが設定されている場合、選択されたタスクファイルにリストされていないすべてのパッケージが最後に含まれます。
- INSTALLER_CDを設定すると、スモールCDbusinesscardとnetinstのビルドに適切なタスクファイルが使用されます。
- now, we'll start making temporary trees:
- では、仮のツリーを作り始めます:
$ make image-trees
This will first work sort the list of packages for each architecture
into order so that standard, required, important and base packages
are placed first, then other packages will be added in the order
given modulo dependency ordering. Once the sorted list is created,
the different architecture lists will be merged (if more than one
architecture is selected).
これはまず、各アーキテクチャのパッケージ一覧を、標準、必須、重要、基本パッケ ージが最初に来るようにソートします。ソートされたリストが作成されると、異なるアーキテクチャのリストは (複数のアーキテクチャが選択されている場合) マージされます。
Then the code will start laying out temporary directory trees for
the CDs. In order, this includes the following steps:
それから、コードはCDのための一時的なディレクトリツリーを作り始めます。順を追って説明すると、次のような手順です
- Creating an empty directory layout
- Generating an image label and volume ID and other metadata such as
debian-installer information files
- Add documentation and installation/upgrade tools
- Add Release files and other archive metadata
- Make the image bootable for the selected architecture(s)
- Start generating the md5sum.txt file
- 空のディレクトリレイアウトの作成
- イメージラベルとボリューム ID、および debian-installer 情報ファイルなどのメタデータの生成
- ドキュメントやインストール/アップグレードツールの追加
- リリースファイルやその他のアーカイブメタデータを追加
- 選択したアーキテクチャでイメージを起動可能にする
- md5sum.txt ファイルの生成を開始
If you want to use boot-floppies built by yourself you can add
a parameter BOOTDISKS=<dir> which specifies the directory where
they are. Note that $BOOTDISKS/current must be a symlink to the
real directory and it must follow the same setup as the FTP
mirror. Your boot-floppies must also be on the same partition as
your mirror and temporary dir (hardlinks are used here too).
自分でビルドしたブートフロッピーを使用したい場合は、BOOTDISKS=<dir> というパラメータを追加して、ブートフロッピーがあるディレクトリを指定してください。BOOTDISKS/currentは実際のディレクトリへのシンボリックリンクでなければならず、FTPミラーと同じセットアップに従わなければならないことに注意してください。ブートフロッピーもミラーや一時ディレクトリと同じパーティションになければなりません (ここでもハードリンクが使用されます)。
Once the disc tree has all of this start data, we start filling the
directory trees with packages from the sorted list. The size of the
image to be created is set using DISKTYPE in CONF.sh; if the
standard sizes do not match what you're after, use DISKTYPE=CUSTOM
and specify your own size using CUSTOMSIZE. The algorithm is simple
for adding packages:
ディスクツリーにこの開始データがすべて揃ったら、ソートされたリストからディレクトリツリーにパッケージを詰め始めます。作成するイメージのサイズは、CONF.sh の DISKTYPE で設定します。標準のサイズが希望に合わない場合は、DISKTYPE=CUSTOM を使用し、CUSTOMSIZE でサイズを指定してください。パッケージを追加するアルゴリズムは簡単です:
- link the package into the temporary disc tree
- append the metadata to the appropriate Packages or Sources file
- add md5sum information for the added file(s) to the md5sum.txt file
- パッケージを一時ディスクツリーにリンクする
- メタデータを適切な Packages または Sources ファイルに追加する
- 追加したファイルのmd5sum情報をmd5sum.txtファイルに追加する
This continues until the temporary tree grows one package *too
large* for the selected image size. At that point, we roll back the
last set of changes associated with that package. Then:
これは、テンポラリツリーが、選択したイメージ容量に対して *大きすぎる* パッケージに拡張されるまで続きます。その時点で、そのパッケージに関連する最後の変更セットをロールバックします。そして:
- check if the disc contains all the packages needed to install a base system
- finish off the Release file, using the checksums of the
Packages/Sources files we generated
- finish off the md5sum.txt file
- ディスクにベースシステムのインストールに必要なパッケージがすべて含まれているかチェックする
- 生成したPackages/Sourcesファイルのチェックサムを使用して、Releaseファイルを完成させる
- md5sum.txtファイルを完成させる
Next, we continue to the next disc tree, using the same process:
start it, copy packages in until they overflow, roll back and
finish. And repeat. Each time a package is found to be too large to
fit inside an image, it will be kept back and will (obviously) be
the first package placed into the next disc tree.
続いて次のディスクツリーに進み、同じプロセスを使用します。ディスクツリーを起動し、パッケージがあふれるまでコピーし、ロールバックして終了します。これを繰り返します。パッケージが大きすぎてイメージ内に収まらないことが判明するたびに、そのパッケージは戻され、(明らかに)次のディスクツリーに置かれる最初のパッケージになります。
- now we can create the images:
- これでイメージを作ることができます:
$ make images
If you don't have enough space for all images, you can generate
only one image (of the second CD for example) with:
すべてのイメージを保存するのに十分なスペースがない場合は、たとえば2枚目のCDのイメージを1枚だけ生成することができます
$ make image CD=2
Note: here we use "make images", but you could as well use
"make official_images" since the latter is the same as the former
with some dependencies on targets that you already launched
(make bootable packages sources).
注:ここでは "make images"を使用していますが、"make official_images"を使用することもできます。後者は前者と同じで、すでに起動したターゲットに依存する部分があるからですmake bootable packages sources
- if you want to generate checkum files with the checksums of the
images you can do it with:
- もし、イメージのチェックサムでチェックサムファイルを生成したいのであれば、これでできます:
$ make imagesums
Official images
===============
If you use make official_images you're building CD images that have
the same properties than official CD images but they still doesn't
have the name of "Official Images". The name of the images is given
by setting the OFFICIAL and DEBVERSION environment variable (check
CONF.sh).
make official_imagesを使用されると、公式CDイメージと同じプロパティを持つCDイメージがビルドされますが、まだ「公式イメージ」という名前はありません。イメージの名前は環境変数OFFICIALとDEBVERSIONを設定することで与えられますCONF.shを確認してください
Please never ever use the "Official" name for a CD image that you
built yourself. The only images that can be called "Official" are the
ones built by Debian itself and which are provided on Debian's
servers.
自分でビルドした CD イメージには、決して「公式」という名前を使わないでください。「公式」と呼べるイメージは、Debian 自身がビルドし、Debian のサーバで提供されているものだけです。
The default configuration shipped with this package will automatically
name the images "Unofficial". CD will work exactly in the same way
with all Debian tools, only the label is different. That means you
can use build.sh and build_all.sh to build your "Unofficial" images
without modifying anything.
本パッケージに同梱されているデフォルトの設定では、イメージに自動的に 「Unofficial」という名前が付けられます。CD は、ラベルが異なるだけで、すべての Debian ツールと全く同じように動作します。つまり、build.sh や build_all.sh を使用して、何も変更せずに「非公式」イメージをビルドできます。
Local packages
==============
If you provide some custom made packages and you want to put them on
Debian CD set you can do it. Simply put your packages in
$MIRROR/dists/$CODENAME/local/binary-$ARCH/<section>.
The organization of this sub-tree is the same than what you can find
in the main, contrib or non-free part. You may use different section
names if you want. Be sure to create Packages files (and Sources.gz if you
include sources).
もしあなたがカスタムパッケージを提供し、それを Debian CD セットに 組み込みたいのであれば、それは可能です。あなたのパッケージを $MIRROR/dists/$CODENAME/local/binary-$ARCH/<section> に置くだけです。このサブツリーの構成は、main、contrib、non-free にあるものと同じです。必要であれば、異なるセクション名を使用しても構いません。必ずPackagesファイル(ソースを含む場合はSources.gz)を作成してください。
You can also put your local packages under $MIRROR/pool/local (just a new
facility for people who don't want packages under dists/). To include local
packages, the LOCAL environment variable must be set to "1" while building
the CDs.
ローカルパッケージを $MIRROR/pool/local 配下に置くこともできます (dists/ 配下にパッケージを置きたくない人のための新しい機能です)。ローカルパッケージを含めるには、CD をビルドするときに環境変数 LOCAL を "1" に設定しなければなりません。
You can also set the LOCALDEBS environment variable, and it will be used
instead of MIRROR when looking for local packages.
LOCALDEBS環境変数を設定すると、ローカルパッケージを探すときにMIRRORの代わりに使用されます。
Additional targets
==================
Jigdo
-----
You may also want to make the CD images available in jigdo format.
Jigsaw Download, the successor to the Pseudo-Image Kit.
See https://www.debian.org/CD/jigdo-cd/ for more information on jigdo.
CDイメージをjigdo形式で利用できるようにすることもできます。
Jigsaw DownloadはPseudo-Image Kitの後継です。
jigdoについては https://www.debian.org/CD/jigdo-cd/ 参照。
Set the DOJIGDO and related variables in CONF.sh. This is no separate target
for jigdo, merely a modification of the "images" targets. You can choose
only .iso generation (default), only .jigdo generation (for highly reduced
disk usage), or both .iso and .jigdo generation.
CONF.shでDOJIGDOと関連する変数を設定します。これは単に "images"ターゲットを変更するだけで、jigdo用の独立したターゲットではありません。.iso生成のみデフォルト、.jigdo生成のみディスク使用量を大幅に削減、.isoと.jigdo生成の両方を選択できます。
To generate the jigdo files and templates, you need an
appropriately-patched version of mkisofs/genisoimage, as shipped in
Debian Etch.
jigdoファイルとテンプレートを生成するには、Debian Etchに同梱されているmkisofs/genisoimageの適切なパッチが適用されたバージョンが必要です。
The checksums files generated by the "imagesums" target will contain
the checksums of all generated images, regardless of the DOJIGDO
setting. If no full iso image is available, the checksums will be
extracted from the .template files. A note in the Makefile shows how
the original file size can be extracted from the .template in a
similar way.
"imagesums"ターゲットが生成するチェックサムファイルには、DOJIGDOの設定に関係なく、生成されたすべてのイメージのチェックサムが含まれます。完全な ISO イメージがない場合、チェックサムは .template ファイルから抽出されます。Makefile の注釈に、同様の方法でオリジナルのファイルサイズを .template から抽出する方法が示されています。
About jigdo "fallback servers":
jigdoの「フォールバックサーバー」について
jigdo works by downloading individual packages and other files from a
normal Debian mirror, and using them to regenerate a CD/DVD image.
However, the content of Debian mirrors changes over time, files are
added and removed. But jigdo must have access to all files needed for
the image it has to regenerate, even those that have been removed from
the normal Debian mirrors.
jigdo は通常の Debian ミラーから個々のパッケージやその他のファイルを ダウンロードし、それを使用して CD/DVD イメージを再生成することで動作します。 しかし、Debian ミラーの内容は時間とともに変化し、ファイルが追加されたり削除されたりします。しかし、jigdo は再生成するイメージに必要なすべてのファイルにアクセスできなければなりません。
A fallback server contains a backup of the Debian FTP space for the
moment the .jigdo files were generated. This backup is made available
under a certain URL which is written to the .jigdo files. jigdo will
*only* revert to the fallback server after an unsuccessful attempt to
retrieve a file from the normal user-selected Debian mirror, so the
bandwidth requirements are modest.
フォールバックサーバには、.jigdo ファイルが生成された時点の Debian FTP 空間のバックアップが含まれています。このバックアップは、.jigdo ファイルに書き込まれた特定の URL で利用できるようになります。jigdo は、ユーザが選択した通常の Debian ミラーからファイルを取得しようとして失敗した場合にのみフォールバックサーバに戻るので、必要な帯域幅はわずかです。
A fallback is even necessary for .jigdo files of the stable release,
because some files (typically documentation or boot floppies) can
change at any time.
フォールバックは、安定版リリースの.jigdoファイルにも必要です。というのも、いくつかのファイル通常はドキュメントやブートフロッピーはいつでも変更できるからです。
debian-cd allows you to automatically create a directory on disc which
is suitable for use as a fallback mirror. It is populated with hard
links to the archive contents. In CONF.sh, simply supply as
JIGDOFALLBACKPATH the name of the directory, and as JIGDOFALLBACKURLS
the URLs under which it will be made available.
debian-cd は、フォールバックミラーとして使用するのに適したディレクトリをディスク上に自動的に作成します。このディレクトリには、アーカイブの内容へのハードリンクが設定されます。CONF.sh では、単に JIGDOFALLBACKPATH としてディレクトリの名前を、JIGDOFALLBACKURLS として利用可能な URL を指定してください。
About the hook system
=====================
A hook script can be executed at different times during the CD build
process to customise your CDs. You can specify the script by setting
the various HOOK variables in CONF.sh; look there for more information
about what hook points are available.
フックスクリプトは、CDのビルドプロセス中に異なるタイミングで実行され、CDをカスタマイズすることができます。CONF.sh で様々な HOOK 変数を設定することで、スクリプトを指定することができます。
About the symlink farm
======================
If you don't have write access on the disk where you have the mirror
or if for another reason hardlink cannot be used, you can try to
use a symlink farm. Instead of having real files, your temporary tree
will be filled with symlinks that mkhybrid will change into files when
it will build the image. You'll need to use a special options. You
have 2 lines of options in CONF.sh as examples.
ミラーのあるディスクに書き込みアクセスがない場合、あるいは他の理由でハードリンクが使用できない場合は、シンボリックリンクファームを使用してみてください。実際のファイルを持つ代わりに、一時ツリーをシンボリックリンクで満たし、mkhybridがイメージを構築する際にファイルに変更します。特別なオプションを使用する必要があります。例として、CONF.shに2行のオプションがあります。
I've never tested the symlink farm ... it may well generate unusable
images. Don't use it for ISO images that will used by many users.
私はシンボリックリンクのファームをテストしたことがありません...使用不可能なイメージを生成する可能性があります。多くのユーザーに使用されるISOイメージには使わないでください。
Note that you will also need a patched mkhybrid that does support the
-F option. Have a look here about it :
Fオプションをサポートするmkhybridのパッチも必要です。詳しくはこちらをご覧ください
https://www.chiark.greenend.org.uk/~stevem/DebianCD/