唯讀檔案系統

2022-08-17 02:18:22 字數 2304 閱讀 3169

在有些專案中,我們不希望系統的檔案的被修改,如路由器的系統檔案等等.我們就需要使用唯讀檔案系統來保護我們的系統檔案不被修改.

常見的唯讀檔案系統有:cramfs檔案系統和squashfs檔案系統(cramfs檔案系統的繼任者)

一、cramfs檔案系統:

1. compressed rom filesystem

主要用於嵌入式linux系統中,簡單與空間高效

2. 特性:

支援最大分割槽:272mb (256mb + 16mb)

支援最大檔案:16mb

壓縮格式: zlib,壓縮比一般可以達到1:2,每頁單獨進行壓縮處理 ————> 支援隨機讀取

動態解壓:訪問資料時實時解壓訪問到的頁到記憶體,節省記憶體空間

使用透明:解壓縮以及解壓縮之後的記憶體中資料存放位置都是由cramfs檔案系統本身進行維護,對外部使用透明

二、squashfs檔案系統: cramfs的替代

1. 為通用唯讀檔案系統等設計

2. 特性:

支援最大分割槽: 16eb

支援最大檔案: 2tb

支援多種壓縮格式:gzip lzma/lzma2(xz) lzo

三,cramfs檔案系統的製作

1,安裝製作工具

sudo apt-get install cramfsprogs

安裝成功以後會有2個命令

mkcramfs:建立檔案系統映象

cramfsck:對檔案系統映象的一些操作

2,製作檔案系統

mkcramfs 選項(可以沒有) 目錄名 映象名稱

cramfsck 映象名 :驗證是否正確

cramfsck -x 映象名:解壓該映象

四,squashfs檔案系統製作

1,製作工具的安裝

sudo apt-get install squashfs-tools

mksquashfs:製作映象

unsquashfs:對映象的一些操作

2,製作檔案系統

mksquashfs source1 source2 ... dest [options] [-e list of exclude dirs/files]

主要選項:

-comp 指定壓縮演算法:gzip (default)/lzo/xz

-b 設定塊大小,單位 bytes,預設 131072 bytes (1mb)

-no-exports 不支援nfs檔案系統匯出

-no-sparse 不檢測稀疏檔案

-no-xattrs 不儲存擴充套件檔案屬性(xattr)

-xattrs 儲存擴充套件檔案屬性(default)

-noi 不壓縮inode節點表

-nod 不壓縮資料塊

-nof 不壓縮片段塊

-nox 不壓縮擴充套件檔案屬性

-no-fragments 不使用片段管理

-always-use-fragments 對比塊大小大的檔案也是用片段塊

-no-duplicates 不對檔案重複進行檢查

-all-root 修改所有的檔案擁有者為root

-force-uid uid 設定所有檔案的uid為指定的uid

-force-gid gid 設定所有檔案的gid為指定的gid

-nopad 不對檔案系統進行4k位元組對齊

-keep-as-directory 如果指定的源中有目錄,在檔案系統中建立根目錄包含該目錄,而不是包含目錄內容

mksquashfs 目錄名 映象名 -no-exports -no-xattrs -all-root

內容提取:

unsquashfs [options] filesystem [directories or files to extract]

主要選項:

-d[est] 解壓到指定目錄,預設為"squashfs-root"

-n[o-progress] 不顯示進度條

-no[-xattrs] 不提取xattr屬性,預設提取

-l[s] 列出檔案系統內容,不進行解壓縮提取

因為有些檔案涉及到了管理員許可權,所以建議使用管理員許可權來製作和解壓檔案系統映象以避免一些許可權錯誤.

儲存系統掉電,唯讀檔案系統問題 n

sql conn as sysdba error ora 09925 unable to create audit trail file linux x86 64 error 30 read only file system additional information 9925 ora 09925...

如何掛載唯讀的Linux檔案系統

mount命令用來掛載乙個裝置上發現的檔案系統。例如,我們在 dev sdb3 磁碟 b scsi sata的第3個分割槽 上有乙個ext3檔案系統,想掛載在 media otherdisk上。則完整的命令是 mount t ext3 dev sdb3 media otherdisk 通常可以省去檔...

linux檔案系統變為唯讀的修復

mount 用於檢視哪個模組輸入唯讀,一般顯示為 變為唯讀了 2 如果發現有ro,就重新mount,或者umount以後再remount 3 umount dev nb1 如果發現有提示 device is busy 找到是什麼程序使得他busy fuser m mnt data 將會顯示使用這個模...