tmpfs從哪裡來以及如何掛載

tmpfs從哪裡來以及如何掛載

我正在使用帶有 Linux 的 BeagleBone 板。

當我輸入命令“df-h" ,我看到 tmpfs 被安裝了幾次。

這是否意味著所有這些條目都安裝在同一位置,或者 tmpfs 的不同部分?

這讓我想到了另一件事我不太明白。這個 tmpfs 檔案系統實際上是在哪裡建立的?我猜它是在 Linux 啟動時發生的。我應該能夠找到創建此文件系統的腳本嗎?

tmpfs                   242.4M         0    242.4M   0% /dev/shm
tmpfs                   242.4M      8.3M    234.2M   3% /run
tmpfs                   242.4M         0    242.4M   0% /sys/fs/cgroup
tmpfs                   242.4M     36.0K    242.4M   0% /tmp
tmpfs                   242.4M     16.0K    242.4M   0% /var/volatile
tmpfs                   242.4M     16.0K    242.4M   0% /var/lib

答案1

它們都是不同的檔案系統。它們的共同點是檔案系統類型:它們使用tmpfs驅動程序,將資料儲存在記憶體中。不存在它們都是其中一部分的「超級 tmpfs」:所有實例都是獨立的。

顯示“設備列”是tmpfs因為許多配置缺乏想像力,並且使用與檔案系統類型相同的字串作為設備名稱。 tmpfs 驅動程式會忽略“裝置名稱”,因為它不會從任何地方載入資料。

這些檔案系統是透過安裝它們來創建的,並透過卸載它們來銷毀它們。例如,以下命令會建立一個 tmpfs 檔案系統,其內容只是根目錄(所有 tmpfs 檔案系統都以這種方式開始),由 root 擁有並具有權限rwxrwxrwt,最大大小為 100MB:

mount -t tmpfs -o size=100Mi,mode=1777 some_arbitrary_name /mnt

掛載呼叫是在引導腳本中完成的。在過去,您可以mount在啟動期間執行的 shell 腳本中找到對該命令的呼叫。/var/lib作為 tmpfs 掛載點並不常見,可以透過 進行設定/etc/fstab。如今,大多數(如果不是全部)都是由 systemd 掛載的。

1這就是虛擬記憶體:RAM 或交換區。

相關內容