ループバックデバイスなしでファイルシステムイメージファイルを操作しますか?

ループバックデバイスなしでファイルシステムイメージファイルを操作しますか?

CIbitbucket-pipelinesなどの一般的なシステムで実行するために、Docker仮想マシンでRaspberry Piイメージの生成を自動化しようとしています。

物理システムでは、「テンプレート」イメージを使用し、それをローカルディレクトリに分割し、スクリプトで埋め、アンマウントします。インストールするには、次のスクリプトを使用します。

loopdevice=`losetup -f --show -P images/template.img`

echo $loopdevice > loopdevice

mkdir -p images/p1
mkdir -p images/p2
mkdir -p images/p3

mount ${loopdevice}p1 images/p1
mount ${loopdevice}p2 images/p2
mount ${loopdevice}p3 images/p3

(画像にはそれぞれ3つのディレクトリにマウントされている3つのパーティションが含まれています。)

残念ながら、Dcokerコンテナ内のループバックデバイスは許可なく使用できず、Bitbucketパイプライン内で権限を付与することもできません。ここでは、行き止まりの路地が見えます。

それでは、問題は、ファイルシステムイメージファイルをループバックデバイスにマウントせずに操作できるLinuxツールがありますか?

ベストアンサー1

  1. 要件に応じてファイルシステムを操作するツールがあります。その一つはツールボックスFAT ファイルシステムをサポートするパッケージです。もう一つはe2ツール、EXT2、EXT3 ファイルシステムを実装します。どちらもdebian Linuxや他の多くのオペレーティングシステムで利用可能です。
  2. これらのツールはパーティションのイメージを処理できない可能性があります。これは問題ではありません。テンプレートをパーティションテーブルとパーティションコンテンツの別々のファイルに分割し(おそらくあらかじめ)、ファイルシステムイメージにファイルを追加してから、フラグメントをcat正しい順序で集めて最終ディスクイメージを作成するだけです。

おすすめ記事