Filesystems
如何使只讀文件系統在busybox上可寫?
我想更改路由器上的一些文件。首先,我可以更改 /var 中的所有內容,但我想更改 /etc/fstab。當我嘗試更改它時,我收到一條錯誤消息,指出文件系統是只讀的。
路由器內部的busybox,命令有限,所以我有mips的busybox二進制http://www.busybox.net/downloads/binaries/1.19.0/busybox-mips,然後通過tftp(
tftp -g -r busybox-mips my.i.p.addr
)上傳,所以現在我可以使用完整的命令(/var/tmp/busybox-mips
命令)。路由器(sdram)內部沒有ROM,或者沒有另一個分區。它必須與busybox有關。
# /var/tmp/busybox-mips df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 1344 1344 0 100% / # mount rootfs on / type rootfs (rw) /dev/root on / type squashfs (ro) proc on /proc type proc (rw,nodiratime) ramfs on /var type ramfs (rw) # Model: Airties 5021 Processor: BCM6332KFBG HS1037 P12 994981 N1 Memory: M12L64164A-7T (SDRAM) ANM1P02HL 1028
這與 BusyBox 無關。BusyBox 是一組為低資源環境(如路由器)設計的 unix 實用程序。您的路由器的根文件系統以只讀方式掛載,因為它儲存在SquashFS上,這是一個無法寫入的壓縮文件系統。SquashFS 文件系統在建構文件系統時一次性壓縮,之後無法修改。
此類路由器通常執行DD-WRT的變體或衍生版本。大多數變體都有另一個文件系統,通常是JFFS,它是可寫的。看起來你的完全被鎖定了。檢查某處是否有“解鎖”額外文件系統的選項(它可能是NVRAM中的一個選項,您可以通過 Web 界面設置,
nvram
如果有的話,也可以使用實用程序)。如果您找不到方法,請考慮安裝備用韌體,例如OpenWRT、DD-WRT、Tomato ……(在開始安裝之前檢查您的特定路由器型號是否受支持)。