我可以在我的fstab文件中包含另一个文件吗?
即我可以fstab在任意点从另一个文件执行行,然后在完成后返回到主文件吗?
在 中添加新的挂载点后/etc/fstab,我们通常会执行mount -a以反映更改(如果我们想绕过重启),并且df -kh输出会显示新的挂载点。
如何mount -a工作/影响已安装的分区,这些分区引用了 /etc/fstab文件?它是先卸载然后挂载这些分区,还是因为它们已经挂载而忽略它们?
我已经安装了ext4标志,但安装后运行给出了。rw,suid,dev,exec,auto,user,async/etc/fstabmountrw,nosuid,nodev,noexec,relatime,user
我如何让它完全按照所写的方式安装/etc/fstab以及(可选)为什么会有这样的差异?
我正在使用 Arch Linux。
我按照本指南为我的主驱动器创建了一个新分区
我不知道它建议的 fstab 设置是什么意思:
UUID=???????? /home ext3 nodev,nosuid 0 2
我使用了安装 CD 并使用了“无需安装即可尝试”,这样我就可以在卸载驱动器的情况下运行。我使用 GParted 调整分区大小,并在未使用的空间中创建一个新分区。然后我按照指南中的说明查找了 UUID(并使用了 ext4),一切正常。
但是我想了解“nodev,nosuid 0 2”设置是什么。这些是推荐的设置吗?这是唯一有效的设置吗?这有什么关系吗?
根据我对/etc/systemd选项的理解,这noauto意味着该设备不会在启动时(或使用mount -a)安装。
如果已经给出,是否有任何添加会nofail改变行为的情况noauto,或者它是完全多余的?
man systemd.mount(5) 说:
使用
noauto,此挂载不会作为 local-fs.target 或 remote-fs.target 的依赖项添加。这意味着它不会在引导期间自动安装,除非它被其他一些单元拉入。使用
nofail,local-fs.target 或 remote-fs.target 只需要这个挂载,不需要。这意味着即使此挂载点未成功挂载,引导也会继续。
自动挂载情况如何?
我有一个主分区,它由同一个盒子上的多个发行版共享。我正在使用bind来自fstab. 每个 Linux 安装都有这样的内容:
UUID=[...] /mnt/data ext4 nodev,nosuid 0 2
/mnt/data/arch /home none defaults,bind 0 0
/mnt/data/files /files none defaults,bind 0 0
Run Code Online (Sandbox Code Playgroud)
缺点是,当然,这/mnt/data/arch和/mnt/data/files现在安装的两倍。凭直觉,我尝试了umount /mnt/data,这似乎如我所愿:根据mount,该设备现在仅安装到/home和/files。
我的问题是:
umount /mnt/data仅使用相同的效果fstab?或者我可以在里面做rc.local吗?我有一个位于 /dev/sda2 上的 USB FAT32 驱动器。我已将它安装为 /media/bigdrive 但是,每当我尝试以非 root 用户身份触摸那里的文件时,我的权限都被拒绝。
当我运行时,mount我可以看到这一行:
/dev/sda2 on /media/bigdrive type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=ascii,shortname=mixed,errors=remount-ro)
Run Code Online (Sandbox Code Playgroud)
我的 /etc/fstab 有这一行:
/dev/sda2 /media/bigdrive vfat rw,user,exec,umask=000 0 0
Run Code Online (Sandbox Code Playgroud)
我试着运行sudo chmod 777 /media/bigdrive和sudo chmod 777 -R /media/bigdrive
没有人改变任何事情。
有什么我想念的吗?
这是在运行 raspbian BTW 的 rasberry pi 上。
我有一个 1TB 硬盘(/dev/sda1,挂载点/run/media/<name>/4733A97E4133EADF),我试图以读写方式挂载,但我只能将其挂载为只读。
系统:
$ uname -a
Linux <hostname> 4.10.6-1-ARCH #1 SMP PREEMPT Mon Mar 27 08:28:22 CEST 2017 x86_64 GNU/Linux
$ lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
??sda1 ntfs 4733A97E4133EADF /run/media/<name>/4733A97E4133EADF
sdb
??sdb1 swap d9cea12d-5273-49ef-8950-3cd662fe63c7 [SWAP]
??sdb2 ext4 e09a8578-53e9-4c26-9a97-a47b6350a1ab /
...
Run Code Online (Sandbox Code Playgroud)
$ cat /etc/fstab
#
# /etc/fstab: static file system information
#
# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sdb2
UUID=e09a8578-53e9-4c26-9a97-a47b6350a1ab / ext4 rw,relatime,data=ordered 0 1
# …Run Code Online (Sandbox Code Playgroud) 我最近将内核从 3.16.4 (Debian jessie) 升级到 4.9.0 (Debian stretch)。一切都很好,直到我尝试“休眠”(暂停到磁盘)。
当我在 LXDE 中使用 Hibernate 选项时,它似乎处于休眠状态。我能听到磁盘主轴滴答作响和写入数据的声音。但是从休眠状态恢复时就会出现问题。内核成功地从交换中恢复了映像,但随后冻结并重新启动,所有这些工作都丢失了。我在互联网上的任何地方都找不到答案。人们只是在解决一些关于未设置 /etc/initramfs-tools/conf.d/resume 或设置内核参数或在 /etc/fstab 中输入错误的错误。我有这些正确的。更正 /etc/initramfs-tools/conf.d/resume 中的 UUID,更正 fstab 并且不设置 resume kernel 参数。
我将扩展分区之外的交换分区移动到主分区。UUID 已保存并应用于新的交换。
系统到达“正在恢复映像 100%”,然后到达“暂停控制台”,然后它会断电并正常启动,所有工作都丢失了。
尝试干净安装,但没有运气。
仅在 i386(32 位 x86)上发生,amd64(64 位 x86)不会受到影响。
磁盘分区表布局:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
??sda1 ext4 HDD <ROOT-UUID> /
??sda2 swap HDD-SWAP <SW-UUID> [SWAP]
sr0
Run Code Online (Sandbox Code Playgroud)
sda2 在升级之前是合乎逻辑的(resides-inside-extended)。
表:
UUID=<ROOT-UUID> / ext4 errors=remount-ro 0 1
UUID=<SW-UUID> none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)
/etc/initramfs-tools/conf.d/resume
RESUME=UUID=<SW-UUID>
Run Code Online (Sandbox Code Playgroud)
内核命令行
BOOT_IMAGE=/boot/vmlinuz-4.9.0-3-686-pae root=UUID=<ROOT-UUID> ro quiet
Run Code Online (Sandbox Code Playgroud)
系统信息:
Computer: Compaq CQ60-120ec …Run Code Online (Sandbox Code Playgroud) 我有一个 mount 命令,它使用-t cifs将远程文件夹(例如\\remote_ip_address\folder)挂载到本地文件夹(例如/srv/mount_destination)。
所以整个命令看起来像这样:
mount -t cifs -o ro,username=UN,password=PWD '\\remote_ip_address\folder' /srv/mount_destination
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
mount: only root can use "--options" option
我的问题是此命令必须由 运行user,但是用户没有也不能拥有 sudo 特权,因此将命令与 sudo 一起使用是不可能的。另一个障碍是远程文件夹必须安装在 中的文件夹下/srv,因此/media也不能选择使用其他文件夹。
我尝试将以下行添加到/etc/fstab,重新启动系统,但没有任何积极影响:
//remote_ip_address/folder /srv/mount_destination cifs noauto,user 0 0
是我做错了什么还是我还遗漏了什么?
fstab ×10
mount ×7
automounting ×3
linux ×3
debian ×2
arch-linux ×1
bind-mount ×1
hard-disk ×1
hibernate ×1
initramfs ×1
linux-kernel ×1
partition ×1
permissions ×1
raspberry-pi ×1
systemd ×1