我正在安装图像,刚刚意识到我必须首先创建安装点目录。该命令
mount
不会安装到不存在的目录。但我似乎记得在某些情况下,当我插入一些外部设备(例如外部硬盘和CD)时,我不必自己创建安装点。所以我想知道什么时候需要自己创建安装点,什么时候不需要?
可以在任何地方创建安装点目录是否正确?
/mnt
那么目录和的用途是什么/media
?它们不是用于托管设备的安装点吗?
PS:我在Ubuntu 12.04下。
谢谢!
答案1
您确实可以在任何地方创建挂载点目录。/mnt
和/media
是约定,而不是技术要求,就像例如/home
.
/media
特别用于自动安装。桌面环境的某些部分(可能是 udisk)会在连接时自动安装可移动媒体。它通过在 下创建一个目录并运行 mount 来实现这一点/media
(就像手动操作一样)。图像没有“连接”(例如,与 USB 拇指驱动器不同),因此桌面环境不会注意到它并自动安装它。
/mnt
通常用于远程文件服务器。与 不同的是/media
,您的桌面环境不会自动在其中安装内容。如果您不使用/mnt
远程文件服务器,那么它是临时安装的绝佳位置。
您可以在以下位置查看这些目录的约定说明:文件系统层次结构标准。
答案2
如果你要运行,你总是需要创建挂载点mount
;它不会为你做这件事。对于外部设备,某些发行版会检测它们何时插入,自动创建安装点,然后将设备安装在那里(udev 对此很常见),但如果目录不存在,他们仍然会首先创建该目录
至于挂载点在哪里,/mnt
只是/media
约定;它们可以出现在任何地方。/tmp/whatever
如果我只需要一分钟,我通常会将东西安装在
答案3
挂载点可以在任何地方创建。事实上,使用mount
(不带参数)或 来检查您的系统cat /proc/mounts
。在典型的 Linux 系统上,您会看到许多“技术”文件系统安装在不同的位置:/dev
、/dev/shm
、/lib/init/rw
、/proc
、/run
、/sys
等。您可能还会发现重力加速度传感器(Gnome 虚拟文件系统包装器)安装在~/.gvfs
(下面有 Samba、SSHfs 和其他安装),AVFS在~/.avfs
等等。
Linux 约定定义在文件系统层次结构标准是有两个系统目录:/mnt
由系统管理员自行决定,并且/media
每个已安装或可能可安装的文件系统包含一个子目录。/media
之所以被构想是因为 存在两种相反的传统/mnt
:要么作为临时挂载点,要么作为包含挂载点的目录。
在某些系统上,您将看到诸如/home
挂载点之类的目录(如果主目录位于中央服务器上)。您可能会/boot
在引导加载程序无法访问操作系统根目录的系统上看到安装点。如今这种情况很少见,但过去单独的只读方式/usr
更为常见。
该mount
命令需要安装点的现有目录。该目录应该是空的;这不是必需的,但安装会隐藏该目录中的所有数据。
其他命令和系统组件(pmount、udev 等)会自动创建必需的目录,并且通常在完成后将其删除。由于他们进行安装,因此他们也可以在安装时创建目录。
答案4
要自动挂载 中的所有内容/etc/fstab
,但首先尝试创建挂载点,您可以使用如下单行代码:
$ grep -E '^\s*/dev' /etc/fstab | awk '{ print $2 }' | xargs mkdir -p
$ mount -a
细分:
搜索所有fstab
挂载物理设备的条目(例如 procfs 或 tempfs):
grep -E '^\s*/dev' /etc/fstab
选择第二列(用空格或制表符分隔),这是安装点:
awk '{ print $2 }'
并创建每个目录,包括任何前辈目录
xargs mkdir -p