Linux
為什麼 /tmp 綁定在 /tmp 中?如何刪除此綁定
在 RHEL6 的複製 Scientific Linux 6 中,我有以下mtab文件:
/dev/sda2 / ext4 rw 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 devpts /dev/pts devpts rw,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0 /dev/sda1 /boot ext4 rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 /tmp /tmp none rw,bind 0 0 /var/tmp /var/tmp none rw,bind 0 0 /home /home none rw,bind 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0 gvfs-fuse-daemon /root/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev 0 0
fstab的內容是
enter code here # # /etc/fstab # Created by anaconda on Tue Apr 21 14:07:48 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=ce58d311-5f32-4da6-9f96-ca9353dc421c / ext4 defaults 1 1 UUID=1e4e79e3-3317-4c50-8880-c25d6a03f4a4 /boot ext4 defaults 1 2 UUID=eec379ab-8116-46ef-b93b-9bdcd0ab65e2 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0
mount命令的輸出是:
/dev/sda2 on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /tmp on /tmp type none (rw,bind) /var/tmp on /var/tmp type none (rw,bind) /home on /home type none (rw,bind) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
為什麼 /tmp 綁定在 /tmp 上?(還有 /home 在 /home 上,/var/tmp 在 /var/tmp 上)
如何刪除此綁定並將 /tmp 作為公共目錄放在 / 下?
我需要這個,因為我有一個使用指令重命名的舊執行檔,它給了我以下錯誤
EXDEV oldpath 和 newpath 不在同一個掛載的文件系統上。(Linux 允許在多個點掛載文件系統,但 rename() 不能跨不同的掛載點工作,即使在兩個掛載點上都掛載了相同的文件系統。)
當它嘗試在 / 的子目錄下使用 oldpath int /tmp 和 newpath 重命名文件時。
我跑了
chkconfig 沙箱關閉
然後重新啟動。
正如 Jose Marques 所建議的那樣。