小编Feu*_*mel的帖子

为什么驱动器的大小有两个不同的值,以及如何将它们与设备映射器和 LVM 协调?

我有一个通过 USB 连接的 1 TB 驱动器。它包含一个填充整个设备的 LVM物理卷(没有任何分区表)。当我尝试使用整个 PV扩展逻辑卷时设备映射器开始抱怨 LVM 在 PV 上分配的部分大于设备。来自设备映射器的错误消息(如 所示dmesg)报告大小为1953320367 [dm] 扇区:

device-mapper: table: 254:0: sdf too small for target: start=1821353984, len=132169728, dev_size=1953320367
Run Code Online (Sandbox Code Playgroud)

但是 LVM 创建了一个具有 238467 个物理范围的 PV ,即1953521664 [lvm] 个扇区(大约多 100 MB):

$ pvdisplay /dev/sdf
  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               apu-vg1
  PV Size               931.51 GiB / not usable 1.71 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              238467 …
Run Code Online (Sandbox Code Playgroud)

linux lvm hard-disk device-mapper hdparm

14
推荐指数
1
解决办法
2327
查看次数

我的 /etc/ssh/sshd_config 来自哪里?

我已openssh-server安装在 Debian Jessie 主机上,并试图找到该sshd_config文件的原始版本。但这显然不是由openssh-server以下人员安装的:

root@apu ~$ dpkg -S /etc/ssh/sshd_config 
dpkg-query: no path found matching pattern /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)

我错过了什么?Debian 中是否有不受管理的配置文件dpkg

debian configuration openssh

8
推荐指数
1
解决办法
6120
查看次数

在我可以等待 coproc 之前,Bash 取消了 *_PID 变量的设置

我正在尝试使用进程将异步进程的输出通过管道传输到其他 shell 命令,然后检查异步进程的退出状态:

coproc LS { ls dir; }
while IFS= read i; do echo "$i"; done <&"$LS" # Do something with the output.
wait "$LS_PID"; echo $? # Check exit status.
Run Code Online (Sandbox Code Playgroud)

问题是上面的代码不起作用,至少在 Bash 中不起作用4.3.46(1)-release。在之后while的语句已经执行,bash将取消设置$LS_PID(可能是因为它注意到,这一进程已经终止)。调用wait进程仍然有效,例如:

coproc LS { ls dir; }
P=$LS_PID
while IFS= read i; do echo "$i"; done <&"$LS" # Do something with the output.
wait "$P"; echo $? # Check exit status.
Run Code Online (Sandbox Code Playgroud)

这将打印02取决于目录是否存在。因此,我必须将 …

bash process

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

防止 GNU 并行分割引用的参数

我正在尝试使用GNU Parallel结合常量和变化的参数来多次运行comman。但由于某种原因,即使我在将常量参数传递给parallel.

在此示例中,常量参数应作为单个参数而不是两个参数'a b'传递:debug-call

$ parallel debug-call 'a b' {} ::: {1..2}
[0] = '[...]/debug-call'
[1] = 'a'
[2] = 'b'
[3] = '1'
[0] = '[...]/debug-call'
[1] = 'a'
[2] = 'b'
[3] = '2'
Run Code Online (Sandbox Code Playgroud)

debug-call是一个简单的脚本,它打印传入的每个参数argv。相反,我希望看到这个输出:

[0] = '[...]/debug-call'
[1] = 'a b'
[2] = '1'
[0] = '[...]/debug-call'
[1] = 'a b'
[2] = '2'
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是有一个选项可以阻止 GNU Parallel 在将命令行参数传递给命令之前分割它们?

command-line quoting gnu-parallel

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

使用“top”显示每个进程的绝对内存使用情况

默认情况下,top将为每个进程显示该进程使用的物理内存的比例:

top - 12:39:34 up 87 days, 18:25,  3 users,  load average: 4.73, 4.89, 4.23
Tasks: 255 total,   2 running, 242 sleeping,   0 stopped,  11 zombie
%Cpu(s): 38.2 us, 37.2 sy,  0.0 ni,  2.8 id, 13.4 wa,  0.0 hi,  8.4 si,  0.0 st
MiB Mem :   3916.2 total,    132.1 free,   3659.9 used,    124.2 buff/cache
MiB Swap:   4096.0 total,   2127.0 free,   1969.0 used.     78.2 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
28095 …
Run Code Online (Sandbox Code Playgroud)

memory top

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