「Distrobox」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Usage: 翻訳)
48行目: 48行目:
 
{{Note| このスクリプトはルートレスでインストールした場合にのみ必要です。[[Pacman]] を介してインストールした場合は、通常通り[[アンインストール]]を行ってください。}}
 
{{Note| このスクリプトはルートレスでインストールした場合にのみ必要です。[[Pacman]] を介してインストールした場合は、通常通り[[アンインストール]]を行ってください。}}
   
== Usage ==
+
== 使用方法 ==
   
{{Note|
+
{{Note|
  +
* 以下のセクションで、{{ic|''name''}} は変数で、何でもよいです。すべての場合で {{ic|''name''}} を選んだ実際の名前に置き換えてください。
* Throughout the following section {{ic|''name''}} is a variable and can be whatever you want. In all cases replace {{ic|''name''}} with the actual name you choose
 
  +
* 任意のサブカテゴリでサポートされているオプションの完全なリストについては、{{ic|''--help''}} を使用してください。たとえば、すべての作成オプションを表示するには、{{ic|distrobox create --help}} を使用します。
* For the full list of supported options in any sub category use {{ic|''--help''}}, for example to see all creation options use {{ic|distrobox create --help}}
 
* A full list of supported distros along with their image names can be found at https://distrobox.privatedns.org/compatibility/#containers-distros
+
* サポートされているディストリビューションの完全なリストとそれらのイメージ名は、https://distrobox.privatedns.org/compatibility/#containers-distros で見つけることができます。
* For more advanced usage techniques please see the Distrobox Documentation page at https://distrobox.privatedns.org/usage/usage}}
+
* より高度な使用方法については、https://distrobox.privatedns.org/usage/usage にある Distrobox のドキュメントページを参照してください。}}
   
  +
新しいコンテナを作成するには、以下を実行します。
To create a new container run the following:
 
 
$ distrobox create -n ''name''
 
$ distrobox create -n ''name''
   
  +
インストールされたコンテナをリスト表示するには、以下を実行します。
To list installed containers run the following:
 
 
$ distrobox list
 
$ distrobox list
   
  +
インストールされたコンテナとやり取りするには、以下を実行します。
To interact with an installed container run the following:
 
 
$ distrobox enter ''name''
 
$ distrobox enter ''name''
   
  +
または、コンテナに直接コマンドを送信することもできます。
or you can send a command directly to a container with:
 
 
$ distrobox enter ''name'' -- ''command-to-execute''
 
$ distrobox enter ''name'' -- ''command-to-execute''
   
  +
実行中のコンテナを停止するには、以下を実行します。
To stop a running container run the following:
 
 
$ distrobox stop ''name''
 
$ distrobox stop ''name''
   
  +
コンテナを削除するには、以下を実行します。
To delete a container run the following:
 
 
$ distrobox rm ''name''
 
$ distrobox rm ''name''
   
  +
特定のディストリビューションをコンテナにインストールするには、以下を実行します(この例では Ubuntu です)。
To install a specific distro into a container run the following (in this example its Ubuntu):
 
 
$ distrobox create --image ubuntu:22.04
 
$ distrobox create --image ubuntu:22.04
   
  +
インストールは以下のように完全にカスタマイズできます(この例では、ルートアクセスを持つ Gentoo を実行する ''test'' という名前のコンテナです)。
Installations can be fully customised as follows (in this example its a container called ''test'' running Gentoo with root access):
 
 
$ distrobox create -i docker.io/gentoo/stage3:latest -n test --root
 
$ distrobox create -i docker.io/gentoo/stage3:latest -n test --root
   
  +
コンテナがホストにルートアクセスを持つ必要がある場合、{{ic|''sudo distrobox''}} よりも {{ic|''--root''}} フラグを使用することをお勧めします。
If you need your container to have root access to the host then it is recommended that you use the {{ic|''--root''}} flag over {{ic|''sudo distrobox''}}.
 
   
 
== Configuration ==
 
== Configuration ==

2023年8月27日 (日) 17:02時点における版

Distrobox は、ホストとの緊密な統合を提供しながら、ホストと異なる Linux のコンテナ化されたバージョンをインストールし、あるディストリビューションで設計されたバイナリを別のディストリビューションで実行することを可能にするコンテナのラッピングレイヤーです。

Distrobox 自体はコンテナマネージャーではなく、Podman または Docker に依存してコンテナを作成します。

Distrobox のドキュメントから:

ターミナル内の任意の Linux ディストリビューションを使用してください。ソフトウェアのバックワードおよびフォワード互換性を有効にし、好きなディストリビューションを自由に使用することができます。Distrobox は、選択した Linux ディストリビューションを使用して、podman または docker を使用してコンテナを作成します。作成されたコンテナは、ホストと緊密に統合され、ユーザーの HOME ディレクトリ、外部ストレージ、外部 USB デバイス、グラフィカルアプリ (X11/Wayland)、およびオーディオの共有が可能になります。

セキュリティへの影響

Distrobox の主な目的は、ホストからコンテナをサンドボックス化することに焦点を当てていない(プロジェクトの緊密な統合の性質上、これは不可能)ため、Distrobox 内で実行されるコンテナは、ホームフォルダーおよび他のいくつかの場所にフルアクセスします。

サンドボックス化された運用モードは現在計画段階にあり、進行状況はこちらでトラッキングできます。

デフォルトで Docker はコンテナを root として実行し、rootful コンテナはホストのファイルシステムに無制限のアクセスを持つため、Docker よりも Podman を使用することを推奨します。Rootless Docker は現在動作していないが、作業中です。

インストール

ルートアクセス権を持つ場合

まず、Podman または Dockerいずれかの ページに従い、Hello World コンテナをインストールして実行できることを確認してください。

パッケージをインストールするには、distrobox または distrobox-gitAUR のいずれかを選択してください。

ルートアクセス権がない場合/イミュータブルなファイルシステムの場合

以下の両方を実行して、CURL を使用して、ホームフォルダに Distrobox と Podman をインストールします。

Distrobox

$ curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local

Podman

$ curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local

以下の場所を $PATH に追加します。ユーザーごとの環境変数を設定します:

$HOME/.local/bin
$HOME/.local/podman/bin

コンテナ内でグラフィカルアプリケーションの実行に問題がある場合は、xorg-xhost をインストールし、以下を ~/.bashrc~/.profile 、または ~/.xinitrc に追加する必要があります:

xhost +si:localuser:$USER

アンインストール

Distrobox は、ルートレスインストールのためのアンインストールスクリプトを提供しています。実行するには、以下を実行します。

$ curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/uninstall | sh -s -- --prefix ~/.local
ノート: このスクリプトはルートレスでインストールした場合にのみ必要です。Pacman を介してインストールした場合は、通常通りアンインストールを行ってください。

使用方法

ノート:
  • 以下のセクションで、name は変数で、何でもよいです。すべての場合で name を選んだ実際の名前に置き換えてください。
  • 任意のサブカテゴリでサポートされているオプションの完全なリストについては、--help を使用してください。たとえば、すべての作成オプションを表示するには、distrobox create --help を使用します。
  • サポートされているディストリビューションの完全なリストとそれらのイメージ名は、https://distrobox.privatedns.org/compatibility/#containers-distros で見つけることができます。
  • より高度な使用方法については、https://distrobox.privatedns.org/usage/usage にある Distrobox のドキュメントページを参照してください。

新しいコンテナを作成するには、以下を実行します。

$ distrobox create -n name

インストールされたコンテナをリスト表示するには、以下を実行します。

$ distrobox list

インストールされたコンテナとやり取りするには、以下を実行します。

$ distrobox enter name

または、コンテナに直接コマンドを送信することもできます。

$ distrobox enter name -- command-to-execute

実行中のコンテナを停止するには、以下を実行します。

$ distrobox stop name

コンテナを削除するには、以下を実行します。

$ distrobox rm name

特定のディストリビューションをコンテナにインストールするには、以下を実行します(この例では Ubuntu です)。

$ distrobox create --image ubuntu:22.04

インストールは以下のように完全にカスタマイズできます(この例では、ルートアクセスを持つ Gentoo を実行する test という名前のコンテナです)。

$ distrobox create -i docker.io/gentoo/stage3:latest -n test --root

コンテナがホストにルートアクセスを持つ必要がある場合、sudo distrobox よりも --root フラグを使用することをお勧めします。

Configuration

It is possible to configure Distrobox in 2 ways, either with a configuration file or by using Environment Variables.

Configuation file

Distrobox checks the following locations for config files, from least important to most important:

  • /usr/share/distrobox/distrobox.conf
  • /usr/etc/distrobox/distrobox.conf
  • /etc/distrobox/distrobox.conf
  • ${HOME}/.config/distrobox/distrobox.conf
  • ${HOME}/.distroboxrc

An example config file is as follows:

container_always_pull="1"
container_generate_entry=0
container_manager="docker"
container_image_default="registry.opensuse.org/opensuse/toolbox:latest"
container_name_default="test-name-1"
container_user_custom_home="$HOME/.local/share/container-home-test"
container_init_hook="~/.local/distrobox/a_custom_default_init_hook.sh"
container_pre_init_hook="~/a_custom_default_pre_init_hook.sh"
non_interactive="1"
skip_workdir="0"

Environment variables

The following variables are available and should be set using a per user Environment Variable:

DBX_CONTAINER_ALWAYS_PULL
DBX_CONTAINER_CUSTOM_HOME
DBX_CONTAINER_IMAGE
DBX_CONTAINER_MANAGER
DBX_CONTAINER_NAME
DBX_CONTAINER_ENTRY
DBX_NON_INTERACTIVE
DBX_SKIP_WORKDIR

See also