只读文件系统
在有些項目中,我們不希望系統的文件的被修改,如路由器的系統文件等等.我們就需要使用只讀文件系統來保護我們的系統文件不被修改.
常見的只讀文件系統有:cramfs文件系統和squashfs文件系統(cramfs文件系統的繼任者)
一、cramfs文件系統: http://sourceforge.net/projects/cramfs/
	1. compressed ROM filesystem
		主要用于嵌入式Linux系統中,簡單與空間高效
	2. 特性:
		支持最大分區:272MB (256MB + 16MB)
		支持最大文件:16MB
		壓縮格式: Zlib,壓縮比一般可以達到1:2,每頁單獨進行壓縮處理  ————> 支持隨機讀取
		動態解壓:訪問數據時實時解壓訪問到的頁到內存,節省內存空間
		使用透明:解壓縮以及解壓縮之后的內存中數據存放位置都是由cramfs文件系統本身進行維護,對外部使用透明
二、squashfs文件系統: cramfs的替代
	1. http://www.squashfs.org
		為通用只讀文件系統等設計
	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 <comp>            指定壓縮算法:gzip (default)/lzo/xz
		-b <block_size>         設置塊大小,單位 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
	內容提?。?br />		unsquashfs [options] filesystem [directories or files to extract]
		主要選項:
			-d[est] <pathname>      解壓到指定目錄,默認為"squashfs-root"
			-n[o-progress]          不顯示進度條
			-no[-xattrs]            不提取xattr屬性,默認提取
			-l[s]                   列出文件系統內容,不進行解壓縮提取
因為有些文件涉及到了管理員權限,所以建議使用管理員權限來制作和解壓文件系統鏡像以避免一些權限錯誤.
總結
 
                            
                        