Fedora

在 RAM 中建構具有可寫層的只讀 Linux 系統

  • July 17, 2018

我需要將 RHEL 6.6/7.0 引導到只讀模式,並且僅在 RAM 中具有可寫層。我相信這類似於 live CD 的工作方式,因為文件系統是只讀的,但它的某些部分在載入到 RAM 後是可寫的。在這裡,寫入文件系統的任何更改都會在重新啟動時失去(因為在可寫層中僅更新 RAM)。

在網上環顧四周時,我還沒有找到關於在沒有幫助工具的情況下配置我自己的“live CD”的指南,以便我可以在現有的已安裝系統中模擬這個過程。

有誰知道我可以在哪裡獲得一些資源來建構我自己的 live CD 或製作一個只讀 Linux,只在 RAM 中具有可寫層?

好的,所以我在 SD 卡上確實有一個工作只讀系統,它允許將讀/寫開關設置為只讀模式。我將回答我自己的問題,因為我有一種感覺,我會再次在這裡尋找這些步驟,希望這會幫助其他人。

在 Red Hat Enterprise Linux 6.6 系統上將各種目錄設置/etc/fstab為只讀時,我找到了/etc/sysconfig/readonly-root. 這激起了我對該文件的用途以及有關它的任何輔助資訊的興趣。簡而言之,該文件包含一行聲明“ READONLY=no”。更改此行會自動將大部分根文件系統載入為只讀,同時保留對各種目錄的必要寫入操作(目錄和文件作為 tmpfs 載入)。我必須做的唯一改變是設置/home/root, 和其他幾個目錄作為可寫的/etc/rwtab.d目錄並修改 /etc/fstab 以將根文件系統載入為只讀(將根文件系統更改為“ defaults”為“ ro”)。一旦我READONLY=yes/etc/sysconfig/readonly-root文件中設置了“”,並設置了我必要的可寫目錄/etc/rwtab.d,以及fstab更改,我就能夠讓系統以只讀方式載入,但將可寫目錄載入到 RAM 中。

有關更多資訊,這些是我使用的資源:

另外,我在 Red Hat Enterprise Linux 7.0 上做了一個快速驗證,這個文件仍然存在並且可以工作。我的測試環境是虛擬機上的 CentOS 6.6 和 7.0 以及 VME 單板機上的 RHEL 6.6 和 7.0。

注意:一旦根是只讀的,就不能對根系統進行任何更改。例如,您不能使用 yum 安裝軟體包並讓它們在重新啟動時保持不變。因此,為了打破只讀根,我添加了一個刪除 rhgb 和 quiet 的 grub 行(這僅用於調試啟動問題,如果需要,您可以留下它們),並添加“ init=/bin/bash”。這讓我可以進入一個終端。到達終端后,我鍵入“ mount - / -oremount,rw”以使系統可寫。一旦可寫,我修改(使用vim/etc/sysconfig/readonly-root說“READONLY=no" 並重新啟動系統。這樣我就可以通過關閉只讀來對系統進行維護。如果您像我一樣使用 SD 卡,則需要將 SD 卡上的讀/寫開關設置為可寫。

引用自:https://unix.stackexchange.com/questions/181421