Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Tmpfsのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Tmpfs
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{Lowercase title}} [[Category:ファイルシステム]] [[en:tmpfs]] [[Wikipedia:Tmpfs|tmpfs]] はメモリやスワップパーティションに存在する一時ファイルシステムです。ディレクトリを tmpfs としてマウントすることでファイルへのアクセスを高速化させたり、再起動時に自動的に中身が消去されるようにすることができます。 {{Note|[[systemd]] を使っている場合、[[Systemd#一時ファイル|tmpfiles.d]] を使って tmpfs ディレクトリの一時ファイルを起動時に再作成することができます。}} == 使用方法 == Some directories where tmpfs is commonly used are [http://www.pathname.com/fhs/2.2/fhs-3.15.html /tmp], [http://www.pathname.com/fhs/2.2/fhs-5.9.html /var/lock] and [http://www.pathname.com/fhs/2.2/fhs-5.13.html /var/run]. Do '''not''' use it on [http://www.pathname.com/fhs/2.2/fhs-5.15.html /var/tmp], because that folder is meant for temporary files that are preserved across reboots. {{Pkg|glibc}} 2.2 and above expects tmpfs to be mounted at {{ic|/dev/shm}} for [[wikipedia:Shared_memory#Support_on_UNIX_platforms|POSIX shared memory]]. Mounting tmpfs at {{ic|/dev/shm}} is handled automatically by [[systemd]], so manual configuration in [[fstab]] is no longer necessary. Arch uses a tmpfs {{ic|/run}} directory, with {{ic|/var/run}} and {{ic|/var/lock}} simply existing as symlinks for compatibility. It is also used for {{ic|/tmp}} by the default systemd setup and does not require an entry in [[fstab]] unless a specific configuration is needed. Generally, I/O intensive tasks and programs that run frequent read/write operations can benefit from using a tmpfs folder. Some applications can even receive a substantial gain by offloading some (or all) of their data onto the shared memory. For example, [[Firefox_Ramdisk|relocating the Firefox profile into RAM]] shows a significant improvement in performance. == サンプル == By default, a tmpfs partition has its maximum size set to half your total RAM, but this can be customized. Note that the actual memory/swap consumption depends on how much you fill it up, as tmpfs partitions do not consume any memory until it is actually needed. To explicitly set a maximum size, in this example to override the default {{ic|/tmp}} mount, use the {{ic|size}} mount option: {{hc|/etc/fstab|2= tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0}} Here is a more advanced example showing how to add tmpfs mounts for users. This is useful for websites, mysql tmp files, {{ic|~/.vim/}}, and more. It's important to try and get the ideal mount options for what you are trying to accomplish. The goal is to have as secure settings as possible to prevent abuse. Limiting the size, and specifying uid and gid + mode is very secure. For more information on this subject, follow the links listed in the [[#See also]] section. {{hc|/etc/fstab|2= tmpfs /www/cache tmpfs rw,size=1G,nr_inodes=5k,noexec,nodev,nosuid,uid=648,gid=648,mode=1700 0 0}} See the {{ic|mount}} command man page for more information. One useful mount option in the man page is the {{ic|default}} option. At least understand that. Reboot for the changes to take effect. Note that although it may be tempting to simply run {{ic|mount -a}} to make the changes effective immediately, this will make any files currently residing in these directories inaccessible (this is especially problematic for running programs with lockfiles, for example). However, if all of them are empty, it should be safe to run {{ic|mount -a}} instead of rebooting (or mount them individually). After applying changes, you may want to verify that they took effect by looking at {{ic|/proc/mounts}} and using {{ic|findmnt}}: {{hc|$ findmnt --target /tmp| TARGET SOURCE FSTYPE OPTIONS /tmp tmpfs tmpfs rw,nosuid,nodev,relatime}} The tmpfs can also be temporarily resized without the need to reboot, for example when a large compile job needs to run soon. In this case, you can run: # mount -o remount,size=4G,noatime /tmp === Ramdisk === To create a directory whose files are actually stored in RAM, we may adapt the tmpfs example: {{hc|/etc/fstab|2= tmpfs /home/archie/Ramdisk tmpfs nodev,nosuid,size=2G 0 0}} == 自動マウントの無効化 == [[systemd]] 下では、{{ic|/etc/fstab}} にエントリを記述してなくても {{ic|/tmp}} は自動的に tmpfs としてマウントされます。 自動マウントを無効にするには、次を実行: # systemctl mask tmp.mount ファイルは tmpfs ではなく、ブロックデバイスに保存されるようになります。{{ic|/tmp}} の中身は再起動しても消去されないようになるので、問題が起こる可能性があります。前の挙動に戻して再起動で {{ic|/tmp}} フォルダが自動的に消去されるようにするには、以下の {{ic|tmpfiles.d(5)}} を使ってください: {{hc|/etc/tmpfiles.d/tmp.conf|2= # see tmpfiles.d(5) # always enable /tmp folder cleaning D! /tmp 1777 root root 0 # remove files in /var/tmp older than 10 days D /var/tmp 1777 root root 10d # namespace mountpoints (PrivateTmp=yes) are excluded from removal x /tmp/systemd-private-* x /var/tmp/systemd-private-* X /tmp/systemd-private-*/tmp X /var/tmp/systemd-private-*/tmp}} == トラブルシューティング == === root で tmpfs のシンボリックリンクを開けない === Considering {{ic|/tmp}} is using tmpfs, change the current directory to {{ic|/tmp}}, then create a file and create a symlink to that file in the same {{ic|/tmp}} directory. If you try to open the file you created via the symlink, you will get a permission denied error. This is expected as {{ic|/tmp}} [https://wiki.ubuntu.com/Security/Features#Symlink_restrictions has the sticky bit set]. この挙動は {{ic|/proc/sys/fs/protected_symlinks}} や sysctl で変更できます: {{ic|1=sysctl -w fs.protected_symlinks=0}}。設定を永続化させる方法は [[Sysctl#設定]] を見て下さい。 {{Warning|Changing this behaviour can lead to security issues! Disable it only if you know what you are doing.}} == 参照 == * [https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt Linux カーネルドキュメント]
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Lowercase title
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Tmpfs
に戻る。
検索
検索
Tmpfsのソースを表示
話題を追加