なぜ私のUbuntu Linuxシステムにはそんなに多くのループパーティションがあるのでしょうか?
Linuxオペレーティングシステム、特にUbuntuをいじっていると、システムに多数のループパーティションが現れていることに気付くかもしれません。これらはしばしば数メガバイトといった小さなサイズで、なぜこれらのパーティションシステムが存在するのか、それがどのような目的を果たすのか、そしてディスクスペースを回収するために削除できるかどうか疑問に思うことでしょう。
「fdisk -l」コマンドでディスク情報を一目見ると、実際のハードドライブデータが表示される前にいくつかの「/dev/loop」エントリーが見つかるかもしれません。これらのループパーティションシステムは不可欠なのか、それともいじくり回せるのか?この質問に答える前に、これらのループデバイスの性質について掘り下げてみましょう。
このチュートリアルでは、あなたは学びます:
- ループデバイスとは何ですか
- ループデバイスはなぜ使用されるのか
- Ubuntuにおけるループデバイスの検査
ループデバイスとは何ですか?
ループデバイスまたはループマウントは、Linuxシステムにおいて独自の機能です。これにより、通常のファイルを特別なブロックデバイスにバインドし、仮想ファイルシステムを作成することができます。これにより、オペレーティングシステムによってアクセスされるために、一緒にパックされたファイルの束を作成できます。隔離されたシステム操作を必要とするスナップのようなプログラムは、ループデバイスを非常に便利に利用しています。
ループデバイスは、本質的に通常のファイルをファイルシステムとしてマウントできるようにし、隔離された環境で作業する利点を提供し、安全性を高め、開発者がすべての依存関係を1つのスナップにパッケージングできるようにします。
ループデバイスはなぜ使用されるのですか?
ループデバイスは主に仮想ファイルシステムをシミュレートするためのものであるが、いくつかの目的に役立ちます:
- 彼らはファイルシステム上にオペレーティングシステムをインストールするのを容易にし、ドライブの再パーティショニングを必要としない。
- 彼らはマウント後にシステムイメージを構成する便利な方法を提供します。
- 彼らは大規模なデータの分離を提供しています。
- それらはサンドボックス化されたアプリケーションがすべての必要な依存関係を含むことを可能にします。
- 高度な開発者は、孤立したファイルシステムを利用してアプリケーションの能力をユニークに向上させることができます。
全体として、ループデバイスを使うことで、可能性は無限大です。
Ubuntuにおけるスナップおよびループパーティションの理解
Ubuntuユーザーがこれほど多くのループパーティションに遭遇する理由は、Canonicalによって開発されたユニバーサルパッケージ管理システムである『スナップ』にあります。スナップアプリケーションはループデバイスとしてマウントされるため、システム内で見るさまざまなループパーティションを構成します。
ループパーティションは削除できますか?
技術的には、これらのループデバイスを削除してスペースを節約することができます。これは「losetup」ユーティリティを使用して行うことができます。ただし、これらのパーティションはスナップシステムの一部であるため、削除するとスナップアプリケーションの実行に問題を引き起こす可能性があります。スナップはその機能のためにこれらの仮想パーティションに依存しているからです。
Ubuntuにおけるループデバイスの検査
1. アクティブループデバイスのリスト
コマンド :
sudo losetup -a
/dev/loop1: [65025]:3574327 (/var/lib/snapd/snaps/core_15925.snap)
/dev/loop0: [65025]:3539127 (/var/lib/snapd/snaps/core_15511.snap)
説明: このコマンドは、すべてのアクティブなループデバイスとそれに関連付けられたバックファイルを表示します。出力には、ループデバイスのパス、関連付けられたファイル、および関連するループデバイスの属性が表示されます。
2. バッキングファイルタイプの特定
コマンド :
sudo file /var/lib/snapd/snaps/core_15511.snap
/var/lib/snapd/snaps/core_15511.snap: Squashfs filesystem, little endian, version 4.0, xz compressed, 123973296 bytes, 12906 inodes, blocksize: 131072 bytes, created: Sat May 27 09:09:52 2023
説明: file コマンドは、指定されたファイルの種類を判定するユーティリティです。ループデバイスのバックファイルに適用すると、そのファイルが ext4 ファイルシステムなのか、ISO イメージなのか、または他の何かなのかを明らかにすることができます。
3. ループデバイスのファイルシステムの詳細を表示する
コマンド :
sudo fdisk -l /dev/loop0
Disk /dev/loop0: 118.23 MiB, 123973632 bytes, 242136 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
説明: fdiskはディスクパーティショニングユーティリティです。-lオプションを使用すると、指定されたデバイスのパーティションテーブルをリスト表示します。ループデバイスで実行すると、ファイルシステムの種類、セクターの数、およびループデバイスのサイズなどの詳細を提供できます。
4. マウントされたループデバイスとその使用状況の確認
コマンド :
df -h | grep '/dev/loop'
/dev/loop0 119M 119M 0 100% /snap/core/15511
/dev/loop1 106M 106M 0 100% /snap/core/15925
説明: df コマンドはファイルシステムによって使用されるディスクスペースの量を報告します。 -h フラグは出力を人間が読みやすい形式にし、サイズを MB、GB などで表示します。 出力を grep '/dev/loop' にパイプすることで、ループデバイスのみを表示するようにフィルタリングします。 これにより、どのループデバイスがマウントされているかと、そのディスク使用状況統計を迅速に確認することができます。
これらのコマンドを使用することで、Ubuntu上のループデバイスをより明確かつ正確に検査および管理することができます。常にプレースホルダーを特定の文脈に適した値に置き換えることを忘れないでください。
結論として
Linuxシステムアーキテクチャにおけるループパーティションの機能を理解することは重要です。それらは一部のユーザーには冗長でスペースを消費しているように見えるかもしれませんが、特にスナップアプリケーションの動作において重要な役割を果たしています。削除することは可能ですが、その影響を完全に理解せずに行うことはお勧めできません。結局のところ、これらのパーティションはオペレーティングシステムの円滑な機能に不可欠な重要なコンポーネントを含んでいます。

