小编Ars*_*nko的帖子

我应该使用 XFS 还是 ext4?

语境

我正在为异地备份设置系统。它是一个连接到两个外部硬盘的树莓派。数据并行写入两个磁盘(这不是 RAID 1,而是备份服务单独写入数据的两个磁盘)。

这些文件将主要被写入,很少被读取。有两种模式:大多数情况下,每分钟会写入几个小文件。在某些情况下,会以 30 MB/s 的速度(如果 Raspberry Pi 能够维持这样的速度)大量写入大文件,持续时间为几分钟到几小时。

大约有 1,000,000 个文件,总共使用 2.5 TB。最大的文件将在 10 GB 左右,而且数量很少;大多数将是从几千字节到几十兆字节。为了避免 Linux 的目录包含过多文件的问题,data 目录最多存储 32 个子目录,而每个子目录最多存储 32 个子目录,依此类推,6 个级别更深,将任何目录的文件/目录数量限制为 32 个。

该设备将通过 UPS 供电,但仍然存在写入数据时无意中拔下/关闭它的风险。虽然在设备关闭/崩溃时丢失正在写入的文件不是问题,但如果它影响其他文件,则将是一个严重的问题。

数据库 (PostgreSQL) 也可能存储在这些磁盘上(尽管我还没有做出选择是将其存储在那里还是使用 Raspberry Pi 的 SD 卡并在硬盘上进行每小时备份)。

使用 XFS 会有什么好处吗?

会不会有什么缺点?

从我读到的内容来看,XFS 在 ext4 显示其局限性的情况下具有优势,例如处理 EB 级数据时,这并不完全是我的情况。几年前 XFS 似乎也不太稳定,但现在似乎不再如此。

那么,这对我来说很重要,还是我的情况太普通而无法证明特别偏爱文件系统?

filesystems disk-usage

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

我可以在 preseed 的 passwd/user-password-crypted 条目中使用哪些哈希算法?

当谈到passwd/user-password-cryptedpreseed 文件中的语句时,大多数示例使用 MD5 哈希。例子:

# Normal user's password, either in clear text
#d-i passwd/user-password password insecure
#d-i passwd/user-password-again password insecure
# or encrypted using an MD5 hash.
#d-i passwd/user-password-crypted password [MD5 hash]
Run Code Online (Sandbox Code Playgroud)

来自Debian 的附录 B. 使用预置自动安装

一些来源表明也可以使用 SHA-512:

尝试使用这样的散列密码:

$ mkpasswd -m sha-512
Run Code Online (Sandbox Code Playgroud)

[...]

然后在您的预置文件中:

d-i passwd/user-password-crypted password $6$ONf5M3F1u$bpljc9f1SPy1w4J2br[...]
Run Code Online (Sandbox Code Playgroud)

无法在 AskUbuntu 上预置自动创建用户

这比MD5略好,但仍然不能很好地抵抗蛮力和彩虹表。

我可以使用哪些其他算法?例如,被PBKDF2支持,还是只能由所使用的算法/etc/shadow,即MD5,河豚,SHA-256和SHA-512

password hashsum preseed

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

为什么 ffmpeg 从 Debian 中删除?

目前,ffmpeg在使用稳定版本的 Debian 和 Ubuntu 时,APT 软件包中缺少。

有许多资源(来自 SuperUser 的示例来自 Debian 文档的另一个和来自 AskUbuntu 的一个)解释了如何以不同于简单的apt-get install ffmpeg.

我想知道为什么包首先不在那里?

据我所知,它avconv是Debian 类似发行版的一个分支,ffmpeg并且是事实上的标准。同时,ffmpeg并没有被放弃:尽管该项目的负责人已离开该项目,但该网站并未提及以盈利为目的关闭该项目avconvffmpeg

所以:

  • 为什么ffmpeg从 APT 包中明确删除,而不是保留它并简单地添加avconv

  • 是否有理由(除了安装变得更加困难之外ffmpeg)停止使用它?

debian ffmpeg

10
推荐指数
1
解决办法
5788
查看次数

为什么`.`被`ls`显示?

看完问题当你输入“ls -a”时,“.”的意义是什么?和 ”..”?,我有一个类似的。

为什么要显示.?我的意思是,是否有任何目录cd .不起作用?用户每次看到这条线有什么帮助?

cd-command directory-structure

7
推荐指数
2
解决办法
1138
查看次数

dd 报告的速度实际上是多少?

我在做的时候一直认为:

dd if=/dev/sdx of=/dev/sdy
Run Code Online (Sandbox Code Playgroud)

命令完成后显示的报告,例如:

79304319+0 records in
79304319+0 records out
40603811328 bytes (41 GB) copied, 459.645 s, 88.3 MB/s
Run Code Online (Sandbox Code Playgroud)

包含对应于以下最慢速度的速度:

  • 从输入读取速度,
  • 输出的写入速度,
  • 在读和写之间发生了什么,

也就是说,如果我将数据从读取速度为 5 MB/s 的 USB 驱动器复制到 SSD,dd实际上会报告 5 MB/s,与 SSD 的速度无关。

在实践中,我正在复制连接到 USB 2 的磁盘(检查了两次,手册上说它是 USB 2.0,甚至精确到 480 Mbps 的连接速度),并注意到dd报告的速度从 65 到 88 MB/s 不等,这高于USB 2.0的最大速度 60 MB/s

那里发生了什么?

dd读取速度和写入速度相加后显示的速度(这意味着实际速度约为40 MB / s,这更有意义)?


附加信息:我正在制作一个硬盘的副本,该硬盘出现越来越多的坏扇区,以便我可以进行克隆试验。复制整个磁盘后,报告的速度确实比预期的要高:

3902854784+0 records in
3902854784+0 records out
1998261649408 bytes (2.0 TB) copied, 26040.5 s, 76.7 MB/s …
Run Code Online (Sandbox Code Playgroud)

performance dd benchmark

5
推荐指数
1
解决办法
4889
查看次数

为什么网络自动配置在 Debian 11 中不再起作用?

我曾经通过 PXE 部署 Debian 10,而且很有效。

现在 Debian 11 已经发布了,我决定对其做同样的事情,但是当它尝试配置网络时安装失败了:

网络自动配置失败

您的网络可能未使用 DHCP 协议。或者,DHCP 服务器可能速度较慢或某些网络硬件无法正常工作。

有几个奇怪的事情:

  1. 机器在刚加载时就可以访问 DHCP。我可以在 DHCP 服务器的日志中看到 DHCPDISCOVER、DHCPOFFER、DHCPREQUEST 和 DHCPACK 消息。此外,机器使用正确的IP地址与TFTP服务器通信(以检索pxelinux.0等)。所以,毕竟,机器确实访问了 DHCP,并访问了本地网络,但随后神奇地忘记了它。

  2. 该机器有两个适配器:enp1s0enp111s0。如果在安装过程中,我带了控制台和 I ip link set enp111s0 down; ip addr add 192.168.1.50/24 dev enp1s0,那么我可以访问本地网络(但不能访问互联网)。

  3. 另外,如果我通过运行指定网关ip route add default via 192.168.1.1 dev enp1s0,我不仅可以访问本地网络,还可以访问互联网。

Debian 11 中发生了什么可以解释这一点?

如何解决连接问题?

pxe system-installation

5
推荐指数
1
解决办法
6795
查看次数

为什么 here-string 命令替换被视为单行?

我正在尝试while read语法,但有一点我不明白。

重现该问题的最基本场景如下:一个 bash 脚本a.sh调用另一个脚本b.sh并显示由它回显的行:

a.sh

#!/bin/bash

while read line; do
    echo "<<$line>>"
done <<< `./b.sh`
Run Code Online (Sandbox Code Playgroud)

b.sh

#!/bin/bash

echo "Hello"
echo "World"
Run Code Online (Sandbox Code Playgroud)

运行b.sh按预期给出:

#!/bin/bash

while read line; do
    echo "<<$line>>"
done <<< `./b.sh`
Run Code Online (Sandbox Code Playgroud)

另一方面,当我运行时a.sh,输出是:

#!/bin/bash

echo "Hello"
echo "World"
Run Code Online (Sandbox Code Playgroud)

虽然我希望它是:

Hello
World
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

bash io-redirection quoting command-substitution

4
推荐指数
1
解决办法
918
查看次数

virtio vs e1000 vs rtl8139:有什么区别?

在 Ubuntu 上创建虚拟机时,我可以在虚拟网络接口的三种设备模型之间进行选择:virtioe1000rtl8139

三者有什么区别?换句话说,我在选择设备型号时应该考虑什么?

谷歌搜索“virtio vs e1000 vs rtl8139”并没有多大帮助。结果的前两页充满了官方文档,不多说,博客文章归结为“使用选项N,因为我尝试过它,它很棒”。我发现的唯一有用的资源是一个讨论,它似乎表明e1000很慢,但与virtio相比具有最大的兼容性。讨论似乎暗示e1000在某些时候比rtl8139受欢迎,但没有说明原因。

networking kvm virtual-machine qemu

4
推荐指数
1
解决办法
6908
查看次数

在应用程序菜单中对应用程序进行分组的东西的名称是什么?

当安装 Debian 桌面并使用 GNOME 时,应用程序菜单包含一些看起来像名为Utilities 的目录(或分组)的内容。里面有大约十几个应用程序,例如计算器和系统监视器。

这个分组怎么称呼?

我希望能够创建自己的目录,但我不知道它是如何调用的,所以我不知道要搜索什么。

gnome debian

3
推荐指数
1
解决办法
669
查看次数

如何欺骗期望 file:// 从标准输入读取的应用程序?

文件的URI方案使得能够以指定的URI到本地存储的文件,如file:///home/demo/sample

可以用来指定stdin吗?

例如,使用 CURL:

curl file:///home/demo/sample
Run Code Online (Sandbox Code Playgroud)

显示文件的内容;

echo "Hello" | curl file:///dev/fd/0
Run Code Online (Sandbox Code Playgroud)

给出一个空结果,而我希望它显示“你好”。顺便一提:

echo "Hello" | cat /dev/fd/0
Run Code Online (Sandbox Code Playgroud)

实际上向输出显示“Hello”。

我应该把什么放在file://目标之后stdin


上下文:我正在试验Motion,它能够从 HTTP URI 或指定为 的文件中读取数据file://,但似乎没有直接从中读取视频流的选项stdin(以及近两年前提出的相关问题从未被回答)。我希望能够欺骗应用程序认为它读取了一个文件,而实际上它正在从ffmpeg.

pipe stdin

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