如何在 Linux 中創建虛擬塊或循環設備

Linux 用戶可以擁有一個稱為“循環設備”的虛擬塊設備,它將普通文件映射到虛擬塊,使其成為沙盒任務的理想選擇。

使用循環設備的最佳方式是即時包,這是一種沙盒軟件解決方案,包含所有必要的依賴項並作為 loop 設備:

如果您有興趣創建自己的虛擬塊設備,這裡有一個簡單的指南。

如何創建循環設備

為了便於理解,我決定將整個過程以簡單步驟的形式進行,這樣更容易理解。

如果您有興趣了解更多關於linux 上的循環設備及其使用,我將推薦我們的另一本涵蓋基礎知識的指南:

1.創建所需大小的文件

第一步,您需要根據需要創建一個文件。 對於這個例子,我將創建一個 3 GB 的文件:

                      
                        dd if=/dev/zero of=VirtBlock.img bs=100M count=30
                      
                    

這裡,

  • if=/dev/zero 將創建一個 0 塊來存儲數據。
  • of=VirtBlock.img 是您指定名稱的地方。 我選擇了 VirtBlock.img。
  • bs=100M 將設置單個塊的大小。
  • count=30 將為給定時間創建單個塊的副本。 這意味著 100 Mb * 30 倍的大小約為 3 GB。

現在,讓我們用給定的命令檢查新創建的塊的大小:

                      
                        du -sh VirtBlock.img 
                      
                    
verificar el tamaño del archivo

2.創建循環設備

在這一步中,我將使用 losetup 實用程序在新創建的文件上創建循環設備映射。

                      
                        sudo losetup -fP VirtBlock.img
                      
                    

在哪裡,

  • -f (find) 會找到我們未使用的循環設備並使我們免於像這樣的錯誤“losetup:TO_BLOCK:配置循環設備失敗:設備或資源忙。”
  • -P 將強制內核掃描新創建的循環設備上的分區表。

現在,是時候使用 -a 選項與 losetup 如..所示:

                      
                        sudo losetup -a
                      
                    
Enumere todos los dispositivos de bucle presentes en el sistema

但是你的塊必須有一個文件系統來在那個塊中創建、存儲和配置文件,我將使用 ext4:

                      
                        sudo mkfs.ext4 /home/sagar/VirtBlock.img
                      
                    
Crear un sistema de archivos en un dispositivo de bucle

請務必使用準確的路徑,否則會引發錯誤。 使用的參考 sudo losetup -a 領域。

3.掛載Loop設備

要掛載創建的循環設備,第一步應該是創建一個掛載目錄,可以通過給定的命令完成:

                      
                        sudo mkdir /loopfs
                      
                    

要安裝循環設備(我的是 loop21),我將使用 -o loop 給定的選項:

                      
                        sudo mount -o loop /dev/loop21 /loopfs
                      
                    

現在,您可以檢查最近掛載的循環設備的掛載點和大小:

                      
                        df -hP /loopfs/
                      
                    

要檢查文件系統,您可以使用給定的命令:

                      
                        mount | grep loopfs
                      
                    
verificar el dispositivo de bucle montado

在這裡你有它!

如何刪除循環設備

刪除軟件總是比安裝/配置更容易,這裡也是如此!

首先,您需要卸載並刪除掛載目錄:

                      
                        sudo umount /loopfs
sudo rmdir /loopfs
                      
                    

現在,您必須斷開由“losetup -d”命令創建的循環設備(我的是 loop21):

                      
                        sudo losetup -d /dev/loop21
                      
                    

最後,您必須使用給定的命令刪除文件 (VirtBlock.img):

                      
                        sudo rm /home/sagar/VirtBlock.img
                      
                    

過程到此結束。

最後的話

使用環回設備進行隔離是 Linux 的一項便利功能。

本指南以簡單的方式完成了設置和刪除過程。 如果您遇到任何問題,請發表評論,我會盡力幫助您。


相關文章