在 Fedora 22 中,在 KDE(等离子)系统设置 -> 字体 -> 字体中,“General”的设置为“Sans Serif 10”,“Fixed width”的设置为“Monospace 10”,“small”的设置为“Sans Serif” 8”,“工具栏”是“Sans Serif 9”,“菜单”是“Sans Serif 10”,“窗口标题”是“OxygenSans 10”。
如何确定哪个字体文件用于通用“等宽”别名?(我确定我可以按照相同的程序找出 Sans Serif。)
fc-list
显示 30 个文件,但fc-list | grep -I monospace
什么也没显示。(“等宽”必须是别名,而不是实际字体的名称。)
fc-match --all
显示 30 个文件,但同样fc-match | grep -I monospace
没有显示任何内容。
ls -la ~/.config | grep font
什么都不显示。(没有 ~/.config/fontconfig)
/etc/fonts/fonts.conf 列出字体目录,接受不推荐使用的别名,并指向 /etc/fonts/conf.d。
/etc/fonts/conf.d/60-latin.conf 是一个 XML 文件,具有元素别名、子族(“等宽”)和首选族(“Bitstream Vera Sans Mono”、“DejaVu Sans Mono”、“Incolsolata”) 、“Andale Mono”、“Courier New”、“Cumberland AMT”、“Luxi Mono”、“Nimbus Mono L”、“Nimbus Mono”和“Courier”)。
/etc/fonts/conf.d/61-oxygen-mono.conf 有孩子家庭(“monospace”)并且更喜欢家庭(“Oxygen Mono”)。
/etc/fonts/conf.d/69-gnu-free-mono 有孩子家庭(“monospace”)并且更喜欢家庭(“FreeMono”)。
/etc/fonts/conf.d/69-unifont.conf 有孩子家庭(“monospace”)并且更喜欢家庭(“FreeMono”)。
现在,在这种情况下,上面引用的唯一首选系列是“Oxygen …
有没有办法制作如下所示的 btrfs 子卷树?(只有子卷 - 没有常规目录或文件。)
# tree /mnt/1
/mnt/1
??? a
??? snapshot
? ??? a
? ??? subv
??? subv
??? b
Run Code Online (Sandbox Code Playgroud)
此示例是从没有常规目录或文件的“示例”btrfs 创建的。
tree <mountpoint>
显示所有目录和文件,而不仅仅是子卷。使用该-d
选项仅显示目录,这更好,但仍显示非子卷目录。
因此,在已安装的系统上,您将获得:
# tree /
/
??? bin -> usr/bin
??? boot
? ??? grub
? ? ??? fonts
? ? ? ??? unicode.pf2
? ? ??? grub.cfg
? ? ??? grub.cfg.example
? ? ??? grubenv
? ? ??? i386-pc
? ? ? ??? 915resolution.mod
? ? ? ??? acpi.mod
? …
Run Code Online (Sandbox Code Playgroud) 如果/dev/sda1
是带有 subvolroot
和的 btrfs 文件系统persistent
我已经将默认 subvol 设置为 root
另外,我已经安装/dev/sda1
(再次root
是默认值)到/
我已经将/dev/sda1
subvolid=0挂载到了/btrfs
,所以我可以访问所有其他 subvols(是的,/
现在作为一个副本存在/btrfs/root
,我认为这是理想的,所以这里的所有内容都被视为在同一个文件系统上)
之间有什么区别:
mount /dev/sda1 -o subvol=persistent /persistent
mount --bind /btrfs/persistent /persistent
我正在考虑未立即看到的差异,例如在是否进入( ) 中persistent
的不同文件系统时被区别对待。这两个选项都应该被视为进入不同的文件系统,所以这里没有区别——我只是把它作为可能存在的那种差异进行了讨论,一种不太明显的差异。cp -x
cp --one-file-system
使用非 NVMe 驱动器,我可以运行:
# hdparm -I /dev/whatever | grep TRIM
Data Set Management TRIM supported (limit 8 block)
Deterministic read data after TRIM
Run Code Online (Sandbox Code Playgroud)
使用三星 960 EVO 1TB NVMe 驱动器 (PCI Express),我得到:
# hdparm -I /dev/nvme0n1
/dev/nvme0n1:
HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)
我可以跑
# smartctl --all /dev/nvme0n1
Run Code Online (Sandbox Code Playgroud)
并获取有关驱动器的一些信息,但没有关于 TRIM 类型的信息。
我装了nvme-cli
,跑nvme get-feature -f 0
到-f 0xe
并从驱动器得到了一些功能,但没有对TRIM类型。
Linux 中有没有办法查询 NVME 设备,列出它支持的 TRIM 类型?
在 Linux 中是否有一种方法可以查询 NVMe 设备,以获取hdparm -I
如果它不是 NVMe 时会显示的其他任何内容的列表,smartctl
并且nvme …
我计划进行复杂的文件共享设置,并希望确保不会破坏文件锁定。(想在同一数据上使用绑定挂载、nfs、nfs over rdma(InfiniBand 文件共享)和 virtfs(kvm 虚拟机直通文件共享)。)
我刚开始进行健全性检查,只是用一个 nfs 客户端测试 nfs 服务器。两个系统上的最新 Arch,nfs-utils 1.3.2-6,内核 4.1.6-1。
我看到了意想不到的结果。在 nfs 服务器上:
server exports with: /test 192.168.0.0/16(rw,sync,no_subtree_check,
no_root_squash)
client mount shows: 192.168.1.2:/test on /test type nfs4 (rw,noatime,vers=4.2,
rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,
retrans=2,sec=sys,clientaddr=192.168.1.3,local_lock=none,addr=192.168.1.2)
Run Code Online (Sandbox Code Playgroud)
在 /test 中,我有一个以lockFile
内容命名的脚本:
#!/bin/bash
filename="lockedFile"
exec 200>$filename
flock -n 200 || exit 1
pid=$$
while true; do
echo $pid 1>&200
done
Run Code Online (Sandbox Code Playgroud)
如果我在 nfs 服务器上使用两个终端:
1: ./lockFile
2: ./lockFile
Run Code Online (Sandbox Code Playgroud)
然后,终端 1 迅速用它的 pid 填满一个文件,终端 2 立即退出。一切都在预料之中。
但是,如果我在 nfs 服务器和客户端上分别运行一个终端:
server: ./lockFile
client: ./lockFile
Run Code Online (Sandbox Code Playgroud)
两人开心地奔跑,出乎意料。
在此配置中,我的 …
我可以配置 Fedora 22 以便需要 root 权限的任何东西都要求输入密码,而不是给出错误,并需要我使用 sudo 重新运行吗?我什至不介意每次都输入我的密码,没有几分钟(或其他什么)计时器来记住密码。
即而不是:
$ dnf history
You don't have access to the history DB.
Run Code Online (Sandbox Code Playgroud)
它会:
$ dnf history
[sudo] password for <username>:
Run Code Online (Sandbox Code Playgroud)
我认为一些 gui 应用程序可以做到这一点,例如安装后的 gui yum 前端。
我想不是......这取决于每个应用程序来实现这一点。但是,我希望它可能是应用程序说需要 root 权限,并且内核(或其他任何地方)可能有某种方式在返回用户是否有之前保持在阻塞输入阶段(对于密码)使用权。
刚开始学习 btrfs 并考虑切换。
我目前对 btrfs 的想法是它的操作非常像 git,所有内容都被跟踪,并且在更改后每 30 秒发生一次提交。但是,我的直觉告诉我我一定是误会了,否则硬盘空间会更快地用完——所以我想知道它是否更像 git,跟踪所有内容,更改后每 30 秒将文件添加到暂存区,并且文件仅在快照上提交。
如果我不做快照,您能否将单个文件回滚到几次更改之前?还是只有在您进行快照时才会保留?即,如果您运行 for 循环 10,000 次附加到一个文件中,中间有 31 秒的睡眠,您是否会看到该文件的 10,000 个条目的祖先树,并且您可以返回到每一个?
可以像 VMware/VirtualBox 快照一样使用和考虑 root 的 btrfs 快照吗?您可以在其中关闭,保存其状态,移动到另一个,启动,进行更改,以便您有一个发散的快照分支,并沿着树移动到您想要的任何位置?如果是这样,是否有引导加载程序可以让您选择快照树节点?(无需为每个快照创建 grub.cfg 菜单条目。)
我标记快照 A,进行更改并将其标记为 B。如果我返回快照 A 并进行更改(即使只是通过启动更改 /var/log),这些更改是在“分离”或“未标记”快照中进行的,所以如果回到B,这些变化将是不可见的?如果是这样,如果我在此“未标记”快照中进行了更改,并且在标记之前不小心要求更改为另一个快照,会发生什么情况?
删除文件时,是否写入了“此文件已删除”元数据,因此文件的所有版本仍然占用空间?或者,它是否会删除所有以前的版本,假设仍然没有快照指向它?
例如,如果我从源代码构建 gcc,我认为构建目录最终为 5-8GB。如果我定期从源代码构建它,我正在“咀嚼”一堆硬盘空间,对吗?(即使假设 delete 删除了被删除文件的所有内容,我也不知道在没有 make clean 的情况下在构建过程中删除了多少文件——无论现有的目标文件是在技术上被删除还是只是“重新写入”其中。 )
btrfs ×4
bind-mount ×1
fedora ×1
filesystems ×1
fontconfig ×1
fonts ×1
hdparm ×1
lock ×1
mount ×1
nfs ×1
nvme ×1
root ×1
smartctl ×1
sudo ×1
tree ×1