小编Str*_*Bad的帖子

确定目录所在的设备

如果我做

# cd /
# ln -s /home test
# cd test
# mount --bind $PWD /mnt
Run Code Online (Sandbox Code Playgroud)

输入/proc/mounts

/dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

这是安装到的设备/home并且不容易从中推断出$PWD/test. /proc/mounts考虑到绑定挂载可能是一个目录/文件,该目录/文件可能被符号链接、其他绑定挂载等“遮蔽”,我如何确定哪个设备(即 /dev/sda2)通常会出现?

directory mount block-device

69
推荐指数
4
解决办法
14万
查看次数

为什么挂载不尊重绑定挂载的只读选项?

在我的 Arch Linux 系统(Linux Kernel 3.14.2)上,绑定挂载不遵守只读选项

# mkdir test
# mount --bind -o ro test/ /mnt
# touch /mnt/foo
Run Code Online (Sandbox Code Playgroud)

创建文件/mnt/foo。相关条目/proc/mounts

/dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

安装选项不符合我要求的选择,但这样做同时匹配绑定的读/写性能和安装使用的选项最初安装/dev/sda2/

/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

但是,如果我重新安装挂载,则它尊重只读选项

# mount --bind -o remount,ro test/ /mnt
# touch /mnt/bar
touch: cannot touch ‘/mnt/bar’: Read-only file system
Run Code Online (Sandbox Code Playgroud)

和相关条目 /proc/mounts/

/dev/sda2 /mnt ext4 ro,relatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

看起来像我所期望的(尽管实际上我希望看​​到test目录的完整路径)。on/proc/mounts/的原始挂载入口也没有变化,保持读/写/dev/sda2//

/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)

这种行为和解决方法至少从 …

linux mount readonly bind-mount

38
推荐指数
2
解决办法
2万
查看次数

btrfs 快照数量的实际限制?

我正在考虑在我的数据驱动器上使用 btrfs,以便我可以使用snapper或类似 snapper 的东西来拍摄基于时间的快照。我相信这会让我浏览旧版本的数据。这将是我当前的异地备份的补充,因为驱动器故障会清除数据和快照。

根据我的理解,btrfs 快照不会占用太多空间(元数据和已更改的块,可能还有一些开销),因此空间似乎不是限制。

如果我有 100 万个快照(例如,两年内每分钟一个快照),假设我有足够的磁盘空间来存储数据、更改的数据和元数据,是否会造成严重破坏?

如果快照数量有实际限制,是否取决于文件数量和/或文件大小?

performance limit btrfs snapshot

25
推荐指数
3
解决办法
7631
查看次数

是否需要在 fstab 中指定“defaults”选项?

凯旋门上维基fstab指定的选项/defaults,noatime,但在我安装的默认fstab用的选项创建的rw,relatime。该拱门维基覆盖atime问题。我很好奇的是defaults选项。该man换页mount说:

默认值

使用默认选项:rw、suid、dev、exec、auto、nouser 和 async。

请注意,所有默认挂载选项的真实设置取决于内核和文件系统类型。有关更多详细信息,请参阅本节开头。

是仅在defaults提供选项时才使用默认选项还是在所有情况下都使用它们?我需要defaults在我的fstab?

options fstab

24
推荐指数
1
解决办法
2万
查看次数

Bash 通配历史

Bash“globbing”和正则表达式不相同是否有历史原因?例如,我相信在 Bash 中[1-2]*匹配任何以 1 或 2 开头的任何内容,然后是其他任何内容,而正则表达式[1-2]*只会匹配 1 和 2 的序列。我的 Bash 脚本和 REGEX foo 都很弱,我经常遇到与这些差异相关的问题,这让我很好奇它们为什么不同。

shell history regular-expression wildcards

12
推荐指数
2
解决办法
1365
查看次数

用户配置文件应该放在哪里?

如果我查看我的主目录,有大量的点文件。如果我正在创建一个需要用户配置文件的新程序,是否有任何指南可以放置它?我可以想象创建一个新的点目录,~/.myProgramName或者我应该将它添加到/.config~/.local

configuration directory-structure home dot-files

11
推荐指数
1
解决办法
7399
查看次数

EXT4 中 inode 数量增加的缺点

我目前正在使用backintime我的文件系统的“快照”。它类似于rsnapshot它,硬链接到未更改的文件。我最近在我的EXT4文件系统上用完了 inode 。df -hi显示我已经使用了 940 万个 inode。当前目录数乘以快照数加上当前文件数的粗略计算表明,我实际上可能使用了 940 万个 inode。

据我了解,EXT4文件系统可以支持大约 2^32 个 inode。我正在考虑重新格式化分区以使用所有 40 亿个左右的 inode,但我担心这是一个坏主意。在EXT4文件系统中拥有如此多的 inode 有什么缺点?对于这样的应用程序,是否有更好的文件系统选择?

ext4 inode

9
推荐指数
1
解决办法
1万
查看次数

挂载 samba 共享的正确方法

我想在我的 Arch Linux 系统上挂载一个带有 samba 的 CIFS 网络文件系统。我想在每次登录时挂载这个文件系统(通过 ssh、TTY 或通过 KDM)。

通过将网络共享添加到/etc/fstab. 最大的“问题”是这需要将我的密码硬编码到/etc/fstab或使用我的用户名和密码创建凭据文件。即使我将权限设置为 600,将我的用户名和密码保存在纯文本文件中对我来说似乎也不安全。

是否有“正确”的方法来安全地自动挂载网络共享?我可以用 PAM 做到这一点吗(我的用户名和密码在两台机器上是一样的),如果可以,怎么做?

samba

9
推荐指数
2
解决办法
2万
查看次数

Multiseat X 设置与单个双头显卡

我正在考虑尝试设置一个多座位系统。如果我有两个图形卡或者如果我不需要基于硬件的 OpenGL 加速,这似乎很简单。是否可以仅使用一个双头显卡来设置多座系统?

xorg multiseat

9
推荐指数
1
解决办法
3063
查看次数

如何删除具有多个 btrfs 子卷的目录?

我的根文件系统在 btrfs 分区上。我的/chroot目录中有许多 btrfs 子卷,这阻止我使用rm -rf /chroot. 为了删除所有子卷,我尝试/chroot使用仅列出下面的子卷-o,手册页说“仅打印指定路径下的子卷”。

# btrfs subvolume list -o /chroot
ID 593 gen 6616 top level 5 path chroot/base-devel/root
ID 594 gen 6618 top level 5 path chroot/multilib-devel/root
ID 595 gen 6620 top level 5 path chroot/base/root
ID 597 gen 6624 top level 5 path chroot/twm/root
ID 599 gen 6628 top level 5 path chroot/lxde/root
ID 601 gen 6655 top level 5 path chroot/wheezy/root
ID 602 gen 6684 …
Run Code Online (Sandbox Code Playgroud)

rm btrfs

9
推荐指数
1
解决办法
4258
查看次数