AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-56001

Tiago Pimenta's questions

Martin Hope
Tiago Pimenta
Asked: 2019-11-18 03:13:52 +0800 CST

如何在覆盖的挂载选项上转义逗号

  • 2

要挂载覆盖,它是给定lowerdir的,作为mount(8)upperdir上的选项或mount(2)上的数据,应用什么逻辑来转义逗号?我试过双逗号,甚至引用都没有成功。workdir

我发现有两种解决方法不是我想要的:

  1. 相对路径:只要最后一个组件没有逗号,以下工作:

    mkdir /tmp/a,b /tmp/a,b/{upper,lower,work,merged}
    cd /tmp/a,b
    sudo mount \
      -t overlay \
      -o 'lowerdir=./lower,upperdir=./upper,workdir=./work' \
      overlay \
      '/tmp/a,b/merged'
    

    但我强调,如果最后一个组件包含逗号,它就不起作用。

  2. 安装后移动路径:我相信内核会保持inode跟踪,因为选项值/proc/self/mountinfo不会改变:

    mkdir /tmp/a\ b /tmp/a\ b/{upper,lower,work,merged}
    sudo mount \
      -t overlay \
      -o 'lowerdir=/tmp/a b/lower,upperdir=/tmp/a b/upper,workdir=/tmp/a b/work' \
      overlay \
      '/tmp/a b/merged'
    mv '/tmp/a b' '/tmp/a,b'
    fgrep merged /proc/self/mountinfo
    314 86 0:56 / /tmp/a,b/merged rw,relatime shared:217 - overlay overlay rw,lowerdir=/tmp/a\040b/lower,upperdir=/tmp/a\040b/upper,workdir=/tmp/a\040b/work
    

注意:由于内核用三个十进制数字转义空格、制表符、换行符和反斜杠字符,我也尝试转义逗号\044但没有成功,它似乎想再次转义反斜杠。

mount
  • 1 个回答
  • 434 Views
Martin Hope
Tiago Pimenta
Asked: 2019-03-06 06:45:11 +0800 CST

如何更改 zram 扇区大小?

  • 2

我已经将一个磁盘克隆成一个大约 80G 但确实只需要大约 12G 的稀疏文件,即使没有压缩它也适合我的内存,但是为了节省一些资源,我想使用zram:

sudo modprobe zram num_devices=1
echo 79999997952 | sudo tee /sys/block/zram0/disksize
sudo fdisk -c=dos --sector-size 512 /dev/zram0

但是,当我创建分区时,它使用 4096 扇区大小,即使我告诉fdisk使用 512。

它不允许我根据 512 扇区大小键入分​​区的大小,它不是一个确切的数字,我可以除以 8 以获得基于 4096 的分区,所以我在稀疏mbr上做了:

truncate -s79999997952 /tmp/block
fdisk -c=dos --sector-size 512 /tmp/block
# o, n, p, 1, 63, 156232124, t, 7, a, w
sudo dd if=/tmp/block of=/dev/zram0 count=1 bs=512

似乎对于常规文件,fdisk认为使用 512 扇区大小没有问题!但是zram还是很奇怪,不知道能不能用,因为在512模式下会显示不同的磁盘大小:

$ sudo fdisk -lu /dev/zram0
Disk /dev/zram0: 74.5 GiB, 80000000000 bytes, 19531250 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x5f8b6465

Device       Boot Start       End   Sectors  Size Id Type
/dev/zram0p1 *       63 156232124 156232062  596G  7 HPFS/NTFS/exFAT


$ sudo fdisk -lu --sector-size 512 /dev/zram0
Disk /dev/zram0: 9.3 GiB, 10000000000 bytes, 19531250 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x5f8b6465

Device       Boot Start       End   Sectors  Size Id Type
/dev/zram0p1 *       63 156232124 156232062 74.5G  7 HPFS/NTFS/exFAT

理解,一旦156232062 / 8 = 19529007.75它无法适应 4096 扇区大小。

如何强制fdisk或zram本身使用 512 扇区大小?

fdisk sparse-files
  • 1 个回答
  • 436 Views
Martin Hope
Tiago Pimenta
Asked: 2018-12-20 11:57:01 +0800 CST

SSH 上的多个 fifo

  • 0

Shell 脚本允许多个文件描述符(最多 9 个符合 POSIX 标准,但更多bash):

$ install -m 755 /dev/stdin /tmp/test <<\EOF
#!/bin/sh

echo hi1 >&1
echo hi2 >&2
echo hi3 >&3
echo hi4 >&4
EOF
$ /tmp/test 1> /tmp/1 2> /tmp/2 3> /tmp/3 4> /tmp/4
$ cat /tmp/1
hi1
$ cat /tmp/2
hi2
$ cat /tmp/3
hi3
$ cat /tmp/4
hi4

我想通过 SSH 实现相同的行为,但发生的是:

$ ssh user@remote_machine /tmp/test 1> /tmp/1 2> /tmp/2 3> /tmp/3 4> /tmp/4
$ cat /tmp/1
hi1
$ cat /tmp/2
hi2
/tmp/test: 5: /tmp/test: 3: Bad file descriptor
/tmp/test: 6: /tmp/test: 4: Bad file descriptor
$ cat /tmp/3
$ cat /tmp/4

stdout除了and之外,是否可以通过 SSH 拥有多个输出管道stderr?

重要的是要注意我不是在寻找端口转发,因为我会遇到网络问题。

shell-script ssh
  • 1 个回答
  • 310 Views
Martin Hope
Tiago Pimenta
Asked: 2018-08-07 09:41:04 +0800 CST

如何将不可用的 LVM PV 大小降至最低?

  • 1

当我使用 LVM 对一个或多个存储进行分区时,我注意到它默认使用 4 MiB' 块(物理范围),而存储本身通常每个扇区使用 512 字节。

我相信如果我将 LVM 分区对齐到 4 MiB,这应该不是问题,但是无论它们是什么大小,它在运行时总是会显示一些“不可用”的大小pvdisplay:

--- Physical volume ---
PV Name               /dev/sda2
VG Name               xpto
PV Size               17.00 GiB / not usable 4.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              4351
Free PE               0
Allocated PE          4351
PV UUID               xxxxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xxxxxx

但即使我重新分配 PV 以匹配大小减去不可用的大小,它也会减少总 PE 并且仍然有剩余的不可用大小。甚至使用pvdisplay --unit B来查看确切的数字。

我想知道 LVM 标头的确切大小是多少,我读了一些文本,认为它将是 4 个 512 字节的扇区,其他人说它是 180 KiB,但我尝试了所有组合,但无法发现它是如何计算出来的。

有没有办法对齐 PV 分区以将不可用的大小归零,或者至少减少到最小?

lvm
  • 1 个回答
  • 754 Views
Martin Hope
Tiago Pimenta
Asked: 2018-07-14 09:51:16 +0800 CST

在分离模式下启动时如何修复 gnu 屏幕术语检测?

  • 2

我正在编写一个生成screen进程的脚本,但取决于我打算在附加到它之前执行的一些先决条件。

我注意到,当以分离模式启动时,它无法识别$TERM,但我不想对其进行硬编码.screenrc,而且我没有发现任何人遇到同样的问题。

这是我的环境:

$ screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
$ echo $TERM
xterm-256color

在这里您可以看到它按预期工作:

$ screen -ADRS profile
$ echo $TERM
screen.xterm-256color

但如果这样做,一切都会出错:

$ screen -dmS profile
# I will perform some stuff here, then:
$ screen -ADrS profile
# here you can notice the colors have gone
$ echo $TERM
screen

我怎样才能产生一个分离的screen但得到与$TERM第一种情况相同的行为,而不硬编码术语 on .screenrc?

gnu-screen
  • 1 个回答
  • 200 Views
Martin Hope
Tiago Pimenta
Asked: 2018-06-21 05:27:55 +0800 CST

如何在 systemd 上安全卸载 /var /usr 而无需重新启动

  • 1

我在 VM 上有一台 Linux 服务器,由于第三方提供商的配置错误,重启确实会像关机一样工作。我无权访问 VM 配置。

安装系统的人弄乱了存储,并且不负责任地为每个目录(/var, /home,/usr等)安装了一个点,导致他们很容易被一些人饿死,而另一些人则为空。

为了解决这个问题,我正在重新组织挂载点,我能够通过执行操作来管理其中的大部分,mount --bind / /mnt然后rsync重新启动使用它们的进程umount。

问题是systemd init 进程本身使用的/varand 。/usr会systemd-remount-fs行吗?我怎么能做到这一点?一个简单的fstab编辑然后rsync就足够了吗?它会重新启动所有服务吗?

我知道对于我的情况,哪些点确实需要单独的分区,而且根本不是这种/var情况/usr。

前提是我不能使用umount -l,因为我必须在重新安装分区后销毁分区,并且我想避免kexec因为不知道它是否会对这个配置错误的 VM 产生相同的错误影响,即无法再次启动它.

我计划有一个压缩btrfs分区 for /var/logand 另一个btrfsor xfsfor /var/lib/docker,一旦它们几乎是静态的,就将所有其他分区与所需的最小空间放在一起。将来我可能会将它们squashfs与 root one 放在一起并安装 aoverlayfs以便于检测错误配置。我希望能够在不重新启动的情况下完成所有这些操作,但我不知道我是否能够做到。

mount systemd
  • 1 个回答
  • 6803 Views
Martin Hope
Tiago Pimenta
Asked: 2018-05-17 08:44:30 +0800 CST

如何防止GPU过热和自动关闭

  • 5

我想知道 Linux 如何处理游戏玩家计算机,所以我构建了一个,但我们知道 GeForce 不像 AMD 那样喜欢 Linux,这就是我选择最后一个的原因。

我用 AMD Ryzen 7 1800X CPU 和 Radeon RX 560D GPU 构建了一台计算机,因为 Vega 对我来说太贵了,而且基准测试表明 560 是目前最好的成本效益比。

经过一番研究,我发现后缀 D 意味着与没有 D 的 RX560 相比,它的时钟速度略低一些,以节省一些功耗。

在随机游戏无数次崩溃后,我终于发现问题是GPU过热,它的风扇速度倾向于跟随CPU风扇速度,但当然在某些游戏中CPU比GPU要求低得多。

我通过根据GPU温度而不是CPU自定义风扇速度部分解决了这个问题,它现在逐渐增长,并在50摄氏度时达到最高速度,但问题是:在某些游戏中它一直保持在最高速度,最终仍然崩溃。

描述崩溃:屏幕闪烁然后变黑,GPU风扇停止,键盘指示灯闪烁然后关闭,鼠标相同,其他CPU风扇保持,有时系统永远冻结,有时系统自动重启。

由于需要重新启动,我在系统日志上找不到任何提示,最初我认为这是内核崩溃,但即使使用kdump并复制内核,系统仍然会崩溃,我无法恢复它。

我不知道 Windows 是否会遇到同样的问题,但我坚信不会,我从未见过有人在 Windows 上遇到同样的问题,所以我的问题是:有一些方法可以告诉内核让 GPU 轻松应对当它即将过热时,也许只是自动降低GPU时钟速度?

cpu gpu
  • 1 个回答
  • 1922 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve