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-977

derobert's questions

Martin Hope
derobert
Asked: 2021-09-23 10:30:07 +0800 CST

用shell脚本覆盖原始命令时找到它的路径?

  • 2

我正在编写一个包装脚本来包装另一个命令的执行;在这种情况下是 Chefkitchen命令。我的脚本也将被调用kitchen并更早地放入,$PATH以便kitchen从 bash 运行将运行我的包装脚本。

问题是:我如何调用原始版本kitchen?当然,最明显的方法就是给出完整路径——只需放入/usr/bin/kitchen脚本中,但其他人可能会将其安装在不同的路径中。当然,这排除了任何其他包装脚本——如果解决方案是可堆叠的,那就太好了。

我想到了两种方法,两种方法都在同一主题上:

  1. 在脚本中,通过$PATH. 将每个条目与$(dirname "$0")使用stat设备号和 inode 号进行比较,以查看其是否为同一目录。如果是这样,请将其从$PATH. 然后可以调用kitchen,因为它不应该重新调用包装脚本。
  2. 与 #1 类似,但$PATH在脚本中手动进行查找,并stat在每个结果与$0. 继续跳过,直到我们找到自己,然后使用找到的下一个。如果我们永远找不到自己,那么只需正常执行它(以处理包装器不在$PATH但通过提供路径执行的情况)

有没有更好的办法?或者在典型的 Debian 或 Ubuntu Linux 系统上是否已经存在执行此操作的代码?

shell-script path
  • 3 个回答
  • 113 Views
Martin Hope
derobert
Asked: 2020-01-22 14:53:33 +0800 CST

如何阻止 systemd 立即卸载降级的 btrfs 卷?

  • 3

我丢失了 RAID1 元数据/RAID6 数据 btrfs 卷 ( /backup) 上的磁盘。恢复应该从: 开始mount -o degraded /backup,但不幸的是,在这样做之后,systemd 决定立即卸载它(从日志中):

Jan 21 17:27:02 Jiji systemd[1]: backup.mount: Unit is bound to inactive unit dev-disk-by\x2duuid-b162055b\x2da73c\x2d4958\x2d98a7\x2dc6ad57867506.device. Stopping, too.
Jan 21 17:27:02 Jiji systemd[1]: Unmounting /backup...
Jan 21 17:27:40 Jiji systemd[1]: Unmounted /backup.

我尝试更改/etc/fstab为使用标签而不是 UUID,并且还运行systemctl daemon-reload. 不幸的是,systemd 继续立即卸载它(dev-disk-by\x2dlabel….device不过现在有了一个 inactive )。

谢天谢地,我似乎并没有遇到 btrfs 降级挂载。

这是即时的,因此不太可能出现自动挂载超时(如Systemd 正在卸载我的 /boot 分区)并且我尝试过daemon-reload,Systemd 的解决方案是卸载我的 /boot 分区。

不幸的是,你不能 SIGSTOP pid 1,所以这不起作用?。

我怎样才能说服 systemd 不理会它,以便我可以恢复我的文件系统?

filesystems systemd
  • 1 个回答
  • 1096 Views
Martin Hope
derobert
Asked: 2019-06-19 15:53:21 +0800 CST

如何从命令行为已存在的进程创建 systemd 范围?

  • 10

我有一台运行 cgroups v2(统一)层次结构的机器,因此 systemd 负责管理所有 cgroups 和委托给 systemd 用户实例的工作。我想对一组进程执行资源控制,所以我需要将它们放在一个单元中——大概是一个systemd 范围。

通常,systemd-run会这样做——但不幸的是,这些进程已经在运行,我不想重新启动它们。

如何从现有流程中创建systemd 范围?控制组接口文档告诉我这是可能的,但我无法从命令行找到方法。systemctl两者似乎都systemd-run无法做到这一点。

有没有办法从命令行?如果重要,我正在运行 systemd v241。

linux systemd
  • 1 个回答
  • 1706 Views
Martin Hope
derobert
Asked: 2019-06-18 11:51:05 +0800 CST

libvirt 不会以“错误:'cgroup.subtree_control' 的无效值 '+cpu':无效参数”启动 VM

  • 1

在我拥有的一个工作站上,libvirt 已停止工作;它不再启动虚拟机:

$ virsh --connect qemu:///system 'start westerley-pool'
error: Failed to start domain westerley-pool
error: Invalid value '+cpu' for 'cgroup.subtree_control': Invalid argument

这台机器使用 cgroupv2 统一层次结构(应该从 4.9.0 开始支持)。启用的控制器是内存和 pids(通过检查cat /sys/fs/cgroup/cgroup.subtree_control),所以 cpu 不起作用也就不足为奇了。但是libvirt cgroups 文档说控制器不是强制性的,如果不可用,它将不会被使用。

我已经尝试重新启动 libvirtd.service,以防万一它修复它。没变。

文档还说我可以明确设置要使用的控制器,所以我尝试设置cgroup_controllers = [ "memory" ](/etc/libvirt/qemu.conf以前没有设置)。我再次重新启动了 libvirtd.service;还是不行。

除了重复上述错误消息外,我没有在日志中看到任何内容。

我宁愿不启用 cpu 控制器,因为我认为它有性能成本,而且我不需要它。

操作系统:Debian 测试
libvirt:5.0.0-3,来自 Debian。
内核:4.19.0-5-amd64,同样是 Debian。

我怎样才能让 libvirt 再次在这台机器上工作?

kvm qemu
  • 1 个回答
  • 444 Views
Martin Hope
derobert
Asked: 2018-10-17 10:00:48 +0800 CST

Firefox 弯引号在 Helvetica 中损坏,但大多数其他字体和其他应用程序中没有?

  • 2

仅在 Firefox 中(LibreOffice 和 Chromium 工作正常),并且最近开始,我注意到 Helvetica 呈现得很奇怪。卷曲引号被打破,但直引号没有。一些进一步的测试表明 Times 也有问题。(我有这些字体的 TrueType 版本)。

Helvetica 和 Times 的错误渲染

此外,Helvetica 和 Times 似乎没有使用子像素渲染,这与其他字体不同(就像它们在 Chromium 中所做的那样)。

我使用的测试文件是:

<!DOCTYPE html>
<html>
  <meta charset="utf-8">
  <head><title>Test Fonts</title></head>
  <body>
    <p style="font-family: Helvetica; font-size: 12pt">“Curly” "Straight" Helvetica</p>
    <p style="font-family: DejaVu Sans; font-size: 12pt">“Curly” "Straight" DejaVu Sans</p>
    <p style="font-family: Times; font-size: 12pt">“Curly” "Straight" Times</p>
    <p style="font-family: Times New Roman; font-size: 12pt">“Curly” "Straight" Times New Roman</p>
    <p style="font-family: Helvetica; font-size: 24pt">“Curly” "Straight" Helvetica (Big)</p>
    <p style="font-family: Helvetica; font-size: 9pt">“Curly” "Straight" Helvetica (Small)</p>
  </body>
</html>

我怎样才能至少让 Firefox 停止显示小引号?

x11 firefox
  • 1 个回答
  • 159 Views
Martin Hope
derobert
Asked: 2018-07-31 11:22:09 +0800 CST

为什么目录上的 chmod g+s 被忽略?

  • 3

我有一个要共享的 git(实际上是 git-annex)存储库,其中一部分涉及在多个目录上设置 set-group-id 位。这是在 Debian GNU/Linux Stretch 盒子上,在 ext4 文件系统上。由于某些奇怪的原因,chmod g+s DIRECTORY被忽略(chmod为便于阅读,块周围添加了空白行):

$ stat objects
  File: objects
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd06h/64774d    Inode: 12353692    Links: 260
Access: (0775/drwxrwxr-x)  Uid: ( 1000/ anthony)   Gid: ( 1025/git-books)
Access: 2018-07-30 14:43:13.831641743 -0400
Modify: 2018-07-28 14:28:14.970667931 -0400
Change: 2018-07-30 14:46:38.179597449 -0400
 Birth: -

$ chmod g+s objects
$ echo $?
0

$ stat objects
  File: objects
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd06h/64774d    Inode: 12353692    Links: 260
Access: (0775/drwxrwxr-x)  Uid: ( 1000/ anthony)   Gid: ( 1025/git-books)
Access: 2018-07-30 14:43:13.831641743 -0400
Modify: 2018-07-28 14:28:14.970667931 -0400
Change: 2018-07-30 14:50:43.355539381 -0400
 Birth: -

到目前为止我检查过的内容:

  • 似乎没有任何奇怪的挂载选项(例如,nosuid)可能会阻止它工作。我检查了 fstab 和/proc/mounts,它显示/dev/mapper/slow-srv /srv ext4 rw,relatime,nobarrier,errors=remount-ro,stripe=384,data=ordered 0 0
  • 目录上似乎没有任何奇怪的 ACL;可以肯定的是我做到了setfacl -b objects。即使这样做了, chmod 仍然无法正常工作。
  • straceonchmod显示系统调用成功,并且设置了 sgid 位:
    fchmodat(AT_FDCWD, "annex", 02775) = 0
  • 同一文件系统上的其他目录设置了 set-group-id 位。事实上,我在同一个会话的前面设置了一些,在不同的 git-annex 存储库中。
files permissions
  • 1 个回答
  • 2395 Views
Martin Hope
derobert
Asked: 2018-02-03 22:09:43 +0800 CST

dmsetup luksFormat 创建对齐不一致

  • 5

解锁新格式化的 LUKS 卷时,我在内核日志中收到警告:

kernel: device-mapper: table: 253:14: adding target device sdk1 caused an alignment inconsistency: physical_block_size=4096, logical_block_size=512, alignment_offset=0, start=33553920

根据另一个问题,错误警告是可能的,所以我确认这是一个真正的警告:33553920 不能被 4096 整除。我进一步使用 luksDump 确认:

cryptsetup luksDump /dev/sdk1  | grep 'Payload offset'
Payload offset: 65535

这不是 8 的倍数 (4096 ÷ 512 = 8)

lsblk -t /dev/sdk确认 Linux 了解对齐要求:

NAME             ALIGNMENT MIN-IO   OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE  RA WSAME
sdk                      0   4096 33553920    4096     512    1 cfq       128 128   32M
└─sdk1                   0   4096 33553920    4096     512    1 cfq       128 128   32M

dmsetup 记录在案以处理对齐本身,为什么它会产生错位?luksFormat 是否有理由避免这个问题?

linux encryption
  • 1 个回答
  • 1733 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