新聞中心
在Linux系統(tǒng)中,只讀文件系統(tǒng)是非常重要的一種文件系統(tǒng)。只讀文件系統(tǒng)可以保護(hù)計(jì)算機(jī)系統(tǒng)免受病毒、惡意軟件以及其他形式的攻擊。只讀文件系統(tǒng)可以保護(hù)計(jì)算機(jī)系統(tǒng)免受惡意軟件和病毒的侵犯,同時(shí),只讀文件系統(tǒng)可以避免你誤刪除或修改重要的系統(tǒng)文件和配置文件,因此在Linux系統(tǒng)上寫(xiě)只讀文件系統(tǒng)是非常必要的。那么如何在Linux系統(tǒng)上寫(xiě)只讀文件系統(tǒng)呢?下面就來(lái)為大家簡(jiǎn)要介紹一下詳細(xì)的步驟。

一、制作只讀文件系統(tǒng)的方式
制作只讀文件系統(tǒng)的方式有兩種,一種是手動(dòng)制作,另一種是使用特定的工具來(lái)制作。手動(dòng)制作只讀文件系統(tǒng)的方式比較麻煩,所以我們這里推薦使用特定的工具進(jìn)行制作。
二、使用live-build工具制作只讀文件系統(tǒng)
Live-build是用于構(gòu)建Debian、Ubuntu或任何其他派生發(fā)行版的iso映像或售后服務(wù)(live)系統(tǒng)的工具。它可以快速和輕松地制作自定義配方的應(yīng)急重裝鏡像。
Live-build提供了一個(gè)完整的框架,以自動(dòng)執(zhí)行許多任務(wù),例如文件復(fù)制、打包和解包ISO(無(wú)論是ISO 9660還是SquashFS格式)等等。bash shell、perl、python、python3和ruby等等各種中文化可用于腳本編寫(xiě)。
以下是如何使用live-build工具制作只讀文件系統(tǒng)的詳細(xì)步驟:
1、安裝live-build工具:
# sudo apt-get install -y live-build
2、創(chuàng)建一個(gè)項(xiàng)目目錄:
# mkdir my-project
# cd my-project
3、將live-build的配置文件復(fù)制到項(xiàng)目目錄:
# cp -r /usr/share/live/build/examples/cowbuilder .
# cp /usr/share/doc/live-build/examples/auto/config .
# cp /usr/share/live/build/examples/auto/ubuntu.list.chroot .
# cp -r /usr/share/debootstrap/scripts/* cowbuilder/
4、重新編輯config文件:
# vim config
在文件中修改以下選項(xiàng):
#TODO – REPLACE codename with the codename of the target distribution
配置文件中的亂碼可以使用Vim編輯編碼方式進(jìn)行修改::set fileencoding=xxx 即可。
5、創(chuàng)建一個(gè)chroot目錄:
# lb config –mode bootstrap
# lb bootstrap
6、修改配置文件:
# vim config
設(shè)置只讀掛載分區(qū)的選項(xiàng):
# Filesystem compression method:
# Supported: none|gzip|lzma|bzip2
# No compression:
COMPRESS=none
#create a read-only filesystem. Used primarily for squashfs.
LB_READ_ON_ROOTFS=1
7、構(gòu)建iso文件:
# lb config –mode ubuntu –ubuntu-series xenial –architectures i386
# lb build
8、查看構(gòu)建的結(jié)果:
# ls -l ./images
構(gòu)建成功的話(huà),你就可以在./images目錄下看到一份only-read.iso文件。這個(gè)文件就是你剛剛構(gòu)建的只讀文件系統(tǒng)。
三、使用OverlayFS制作只讀文件系統(tǒng)
OverlayFS是一個(gè)輕量級(jí)的存儲(chǔ)驅(qū)動(dòng)程序,它是Linux內(nèi)核中最新的文件系統(tǒng)之一。OverlayFS將多個(gè)文件系統(tǒng)掛載在同一位置,并且可以將其中任何一個(gè)文件系統(tǒng)標(biāo)記為只讀。
以下是使用OverlayFS制作只讀文件系統(tǒng)的詳細(xì)步驟:
1、使用debootstrap創(chuàng)建一個(gè)根文件系統(tǒng):
# debootstrap xenial /opt/only-read http://mirrors.aliyun.com/ubuntu/
2、準(zhǔn)備一個(gè)空的只讀文件系統(tǒng):
# mkdir /tmp/ro
# cd /tmp/ro
# mkdir -p bin in lib lib64 etc opt usr var
# chmod 755 bin in lib lib64 opt usr var
# touch etc/resolv.conf
# chmod 644 etc/resolv.conf
3、將根文件系統(tǒng)復(fù)制到只讀文件系統(tǒng):
# rsync -a /opt/only-read/ .
# rm -rf dev proc run sys tmp var/cache/apt/archives/*
4、使用OverlayFS將只讀文件系統(tǒng)與根文件系統(tǒng)進(jìn)行合并:
# mkdir /tmp/work
# mkdir /mnt/only-read
# mount -t overlay overlay -o lowerdir=/opt/only-read,upperdir=/tmp/work,workdir=/tmp/overlay/only-read /mnt/only-read
5、將合并的文件系統(tǒng)掛載為只讀:
# mount -o remount,ro /mnt/only-read
現(xiàn)在,你已經(jīng)成功將Linux系統(tǒng)上的文件系統(tǒng)制作成了只讀文件系統(tǒng)。只讀文件系統(tǒng)能有效地保護(hù)計(jì)算機(jī)系統(tǒng),避免文件被惡意軟件和病毒感染,也能保護(hù)重要的系統(tǒng)文件和配置文件不被意外的修改和刪除。毫無(wú)疑問(wèn),這是一件非常重要的事情。
相關(guān)問(wèn)題拓展閱讀:
- linux 文件系統(tǒng)變?yōu)榱酥蛔x,這個(gè)問(wèn)題怎么解決
- linux文件系統(tǒng)自動(dòng)變成只讀 為什么
linux 文件系統(tǒng)變?yōu)榱酥蛔x,這個(gè)問(wèn)題怎么解決
可以先進(jìn)入挽救模式備份數(shù)據(jù)后重做系統(tǒng)。
具體是什么原因有很多。
最有可能是卸載了安裝包,同時(shí)把關(guān)聯(lián)的依賴(lài)包都卸載了。
這樣導(dǎo)致系統(tǒng)文件的缺失。
另外硬盤(pán)損壞也會(huì)導(dǎo)致這個(gè)問(wèn)題。
1、mount:
用于查看哪個(gè)模塊輸入只讀,一般顯示為:
/dev/hda1 on / type ext3 (rw)
none on /proc type proc (rw)
udevfs on /proc/bus/u type udevfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/hda5 on /home type ext3 (rw)
none on /dev/shm type tmpfs (rw)
/dev/hda2 on /usr/local type ext3 (rw)
/dev/nb1 on /EarthView/RAW type ext3 (ro)(變?yōu)橹蛔x了)
2、如果發(fā)現(xiàn)有ro,就重新mount,或者umount以后再remount
3、umount /dev/nb1
如果發(fā)現(xiàn)有提示“device is busy”,找到是什么進(jìn)程使得他busy
fuser -m /mnt/data 將會(huì)顯示使用這個(gè)模塊的pid
fuser -mk /mnt/data 將會(huì)直接kill那個(gè)pid
然后重新mount即可。
4、還有一種方法是直接remount,命令為
mount -o rw,remount /mnt/data
二
具體深入的做法,情況不同可以自行選擇:
服務(wù)器/var/log/messages報(bào)錯(cuò) :
end_request: I/O error, dev sda, sectorBuffer I/O error on device sda1, logical blocklost page write due to I/O error on sda1
下面是整個(gè)處理全過(guò)程
# fdisk -lu #之一步 :找出本地扇片所在的分區(qū)。
Disk /dev/sda: 73.4 GB,bytes
255 heads, 63 sectors/track, 8924 cylinders, totalsectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 *Linux
/dev/sda83 Linux
/dev/sda7+ 83 Linux
/dev/sda0 5 Extended
/dev/sda1 83 Linux
/dev/sda6 82 Linux swap
# tune2fs -l /dev/sda3 |grep “Block size” #找到block大小。
Block size: 4096
(8605)*512/4096 =利用公式算出邏輯塊地址
b = (int)((L-S)*512/B)
# debugfs
debugfs 1.35 (28-Feb-2023)
debugfs: open /deb/sda3
/deb/sda3: No such file or directory while opening filesystem
debugfs: open /dev/sda3
debugfs: icheck
Block Inode number
debugfs: ncheck
Inode Pathname
/users/inn.net.cn/data/upload/download/innshow004.rar
debugfs: quit
#dd if=/dev/zero of=/dev/sda1 bs=4096 count=1 seek=#找到這個(gè)快的文件之后,需要做好備份,我們強(qiáng)制把它設(shè)置為0字節(jié)。
# sync
linux文件系統(tǒng)自動(dòng)變成只讀 為什么
可以先進(jìn)入挽救模式備份數(shù)據(jù)后重做系統(tǒng)。
具體是沖衡搭什么原因有很多。
最有可能是卸載了攔手安裝包,同時(shí)把關(guān)聯(lián)散拿的依賴(lài)包都卸載了。
這樣導(dǎo)致系統(tǒng)文件的缺失。
另外硬盤(pán)損壞也會(huì)導(dǎo)致這個(gè)問(wèn)題。
因?yàn)楫?dāng)前用戶(hù)對(duì)那個(gè)文件沒(méi)有相應(yīng)的權(quán)限,你可以在那個(gè)目錄執(zhí)行命令 ls -l查看當(dāng)前文件以及相應(yīng)的所有者和對(duì)應(yīng)的權(quán)限,drwxrwxrwx應(yīng)該是這樣的,每一個(gè)字母都有可能是 – ,其中之一個(gè)d表示是不是文件夾,后面的分成空啟三組,分別對(duì)應(yīng)所有者,所屬組,其它用戶(hù)。r是讀權(quán)限,w是寫(xiě),x是執(zhí)行。如果你是Ubuntu系統(tǒng)的話(huà)可以用sudo命令提升用戶(hù)權(quán)限,系統(tǒng)會(huì)提示你輸入root用戶(hù)的密碼。如果是Redhat, Fedora, CentOS之類(lèi)的系統(tǒng)就直接su -,然后系統(tǒng)會(huì)擾卜提示你輸入root密碼,這回你就有權(quán)限了。用root用戶(hù)是可以修改文件的所有者和所屬組的。詳細(xì)的你可以查一下chown和chgrp命令。要修改相應(yīng)的權(quán)限可以看一下chmod命緩虧穗令。如果還有不明白的可以追問(wèn)或者私信。Linux系統(tǒng)其實(shí)很不錯(cuò),日常用也很不錯(cuò),你需要的都能滿(mǎn)足。
關(guān)于linux 寫(xiě)只讀文件系統(tǒng)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專(zhuān)業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)站名稱(chēng):如何在Linux上寫(xiě)只讀文件系統(tǒng)?(linux寫(xiě)只讀文件系統(tǒng))
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/cocgegj.html


咨詢(xún)
建站咨詢(xún)
