在Linux上實現對UFS檔案系統的讀寫支援

2021-08-30 12:27:25 字數 1038 閱讀 2027

[b]背景:[/b]

最近在使用xen虛擬機器,xen官方目前發布的核心只有2.6.18的版本。現在需要在linux上掛載(mount)freebsd的image檔案,並進行寫操作。freebsd使用的檔案系統是ufs2,但2.6.18的核心上只能對ufs進行讀操作,寫的操作是從2.6.21的核心才開始支援的。

[b]實現:[/b]

因此,為了在2.6.18上也支援寫操作,需要做如下工作:

[list=1]

[*]對原始碼進行patch,patch檔案見附件。解壓在kernel原始碼根目錄,解壓後進入patch_ufs_write_support目錄,執行patch.sh,若要取消patch,則執行upatch.sh。

[*]make menuconfig,並將file systems ---> miscellaneous filesystems ---> 下的ufs file system support (read only)選擇成,ufs file system write support (dangerous)選擇成[ * ],儲存後make modules。

[*]為了讓ufs模組啟動時自動載入,可以將附件中 rc.sysinit.ufs 內容追加到 /etc/rc.sysinit 檔案中(cat rc.sysinit.ufs >> /etc/rc.sysinit)。[/list]

[b]使用:[/b]

使用有點特殊,需要remount,示例如下:

$ mount -t ufs -oloop,rw,offset=32256,ufstype=ufs2 freebsd.img /mnt/freebsd

此時掛載後仍是唯讀

$ touch /mnt/freebsd/testfile

提示唯讀無法寫入

$ mount -o remount,rw /mnt/freebsd

重新掛載成讀寫模式

$ touch /mnt/freebsd/testfile

此時寫入成功

$ umount /mnt/freebsd

在linux上實現資料捕獲

安裝vmware tools,實現檔案共享 在安裝libevent的時候出現了新問題,無法編譯 說的是找不到編譯器 這又是怎麼回事呢?configure出現 checking build system type.i686 pc linux gnu checking host system type....

在Linux上通過IPIP實現IP隧道

乙個通過ipip實現ip隧道的簡單示例 兩台主機,a和b,每台主機由兩塊網絡卡,其中eth0在同乙個網段,能夠互相連通。a的eth1和b的eth1分別在兩個不同的網段。a eth0 192.168.9.5 eth1 192.168.8.5 b eth0 192.168.9.6 eth1 192.16...

MySql在Linux上實現每天自動備份

mkdir jimisun mysqlbackup usr bin mysqldump opt uroot pjimisun hlocalhost test jimisun mysqlbackup db date f sql opt 引數 uroot u資料庫使用者名稱 h資料庫位址 資料庫名 匯出...