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

BrainStone's questions

Martin Hope
BrainStone
Asked: 2022-02-04 15:19:26 +0800 CST

zsh 的 `print -P` 的转义变量

  • 2

我正在寻找一种方法来转义包含格式说明符和特殊字符(如引号、反斜杠和换行符)的变量,以便在将其传递给print -P它时会按字面意思打印出来。

所以基本上我希望这两个打印相同:

> cat file.txt
> my_var="$(cat file.txt)"
> print -P "${<magic>my_var}"

我使用的测试用例的一个很好的示例文件是:

Backslash \
Double Backslash \\

Single Quote '
Double Quote "

-----------------------
Escaped Linebreak \n
-----------------------

Color codes: %F{red}not red%f

Variable expansion $SHELL

我得到的最接近的是${${(q+)my_var}//\%/%%},尽管引号、换行符、反斜杠和变量扩展存在问题:

$'Backslash Double Backslash \

Single Quote '
Double Quote "

-----------------------
Escaped Linebreak \n
-----------------------

Color codes: %F{red}not red%f

Variable expansion /usr/bin/zsh'

我知道printf '%s\n' "$my_var"。但是在实践中,print -P变量周围有很多实际的格式,所以这对我没有用。print -P遗憾的是,围绕变量和实际变量使用printf也不起作用,因为在某些情况下,字符串操作被应用于变量的内容。

zsh quoting
  • 2 个回答
  • 94 Views
Martin Hope
BrainStone
Asked: 2020-02-15 03:13:34 +0800 CST

配置 ntpd 以查找本地 NTP 服务器

  • 0

我目前正在设计一个系统(一个可以在任何地方使用的物理系统)并且遇到了在某些网络上可以阻止互联网 NTP 服务器(被防火墙)的问题。在这些情况下,总是有可用的本地 NTP 服务器。也许甚至 DHCP 也提供了一些。

现在,我如何让 NTP 守护程序查找那些本地的(发送广播本身或查找广告广播)并接受通过 DHCP 提供的任何内容,同时仍在使用(或尝试使用)配置中配置的池。

networking dhcp
  • 1 个回答
  • 634 Views
Martin Hope
BrainStone
Asked: 2020-01-17 05:08:41 +0800 CST

串行控制台偶尔会出错

  • 0

有时我的串行控制台会像这样严重混乱:

截屏

打字不工作了。虽然机器仍然可以正常工作。因此,如果我重新启动它(如屏幕截图所示。PC Engines apu2 是重新启动开始的地方),一切都很好。

似乎只有在我重新连接串行电缆后才会发生。虽然我不能肯定地说。

知道是什么原因造成的,以及如何解决它,甚至更好地防止它发生吗?

这是具有定制 5.4 内核的 D​​ebian 10 机器。

terminal serial-port
  • 1 个回答
  • 199 Views
Martin Hope
BrainStone
Asked: 2019-08-03 02:00:21 +0800 CST

使用 PuTTy 通过串行控制台在 Debian 安装程序中切换选项卡

  • 3

我目前正在尝试在没有视频输出的系统上安装 Debian。我只有串行控制台。
我知道如何启动它,甚至使用预置配置使其自动安装。安装本身绝对没有问题。

现在我还没有弄清楚如何在安装程序的不同选项卡之间切换:

截屏

我很想拥有它,这样我就可以切换到日志并更详细地跟踪安装以进行调试(安装本身完全自动运行)。

我已经试过了

  • Alt+ 1-4
  • Alt+ F1-F4
  • Ctrl+ Alt+ 1-4
  • Ctrl+ Alt+ F1-F4

尽管这些都不起作用。很可能其中一个是正确的快捷方式,但 PuTTy 没有发送它们,因为 PuTTy 或 Windows 本身正在处理它(如Alt+ F4)。

debian keyboard-shortcuts
  • 1 个回答
  • 1383 Views
Martin Hope
BrainStone
Asked: 2019-05-17 05:53:34 +0800 CST

自定义构建的内核在预置安装期间可能无法在 amd64 上使用

  • 1

由于我使用的硬件,我需要一个比 buster 附带的内核(准确地说是 5.1.x)更新的内核。
构建该内核没有任何问题 8 使用make deb-pkg) 构建它,即使我在实时系统上安装内核包,它也能正常工作。
此外,当我修改 ISO 并将该内核包添加到 ISO 的包 repo 中并将该 CD 添加为本地包源时,我也可以从那里安装它,所以我知道我正确生成了包索引。

但是,当我使用d-i base-installer/kernel/image预种子文件中的设置并将其设置为 时linux-image-5.1.2,安装失败并显示可爱的消息:

Cannot install kernel
The installer cannot find a suitable kernel package to install.

经过进一步检查syslog,我发现了这条消息:

May 16 13:43:22 base-installer: info: kernel linux-image-5.1.2 not usable on amd64
May 16 13:43:22 base-installer: info: Found kernels ''
May 16 13:43:22 base-installer: error: exiting on error base-installer/kernel/no-kernels-found

(此处的完整系统日志:https ://gist.github.com/BrainStone/0a0b3ea476ee875b2cabdd67685264b4 )

dpkg --info包装上给了我这个信息:

new Debian package, version 2.0.
size 3937412 bytes: control archive=1536 bytes.
    348 bytes,    12 lines      control              
   2073 bytes,    28 lines      md5sums              
    281 bytes,    12 lines   *  postinst             #!/bin/sh
    277 bytes,    12 lines   *  postrm               #!/bin/sh
    279 bytes,    12 lines   *  preinst              #!/bin/sh
    275 bytes,    12 lines   *  prerm                #!/bin/sh
Package: linux-image-5.1.2
Source: linux-5.1.2
Version: 5.1.2-1
Architecture: amd64
Maintainer: root <root@e2c42c34410b>
Installed-Size: 5943
Section: kernel
Priority: optional
Homepage: http://www.kernel.org/
Description: Linux kernel, version 5.1.2
 This package contains the Linux kernel, modules and corresponding other
 files, version: 5.1.2.

所以它肯定是为amd64构建的。

我猜我已经非常接近解决方案了,并且不能丢失超过 1-2 行配置或脚本。但我无法弄清楚我做错了什么。

debian kernel
  • 1 个回答
  • 371 Views
Martin Hope
BrainStone
Asked: 2019-04-17 00:53:09 +0800 CST

在使用预置的 Debian 安装期间安装 NetworkManager 的问题

  • 3

我目前正在使用在实际安装后运行的自定义安装脚本来预置 Debian 安装,以创建一个简单的安装程序,它将创建我需要的一切。

现在我找到了如何安装附加包并添加了 NetworkManager 包,以简化网络工作。但是,该设备具有多个以太网接口,并且在 Debian 安装期间安装 NetworkManager 会创建该文件/etc/NetworkManager/system-connections/Wired connection 1。但是,该文件为实际系统配置不正确。因此,如果我在 NetworkManager 关闭并重新启动时将其删除,则一切正常。但是拥有该文件会使 NetworkManager 将所有接口标记为“有线连接 1”,并且只有一个接口可以处于活动状态,等等。总而言之,该文件需要删除。

现在我首先尝试在我调用的脚本期间删除文件preseed/late_command(脚本运行并删除文件,我检查过)。但是在安装后引导进入系统时,文件又回来了。接下来,我尝试在使用 删除文件之前停止 NetworkManager 服务in-target systemctl stop NetworkManager,但这只是给了我可爱的日志行in-target: Running in chroot, ignoring request.而且自然也不起作用。

如何在预置时使用空白的“系统连接”配置安装 NetworkManager?

总之,我的相关(和工作)行preseed.cfg是:

d-i pkgsel/include string ... network-manager ...
d-i preseed/late_command string sh /.../postinstall.sh

在我的postinstall.sh尝试中

in-target rm /etc/NetworkManager/system-connections/*

(实际上在那一刻删除了文件)和

in-target systemctl stop NetworkManager
in-target rm /etc/NetworkManager/system-connections/*

更新:

正如建议的那样,我尝试nmcli直接删除与的连接。
这是我的脚本:

in-target nmcli con delete $(in-target nmcli -g uuid con)

这是结果:

May  6 09:16:43 log-output: + in-target
May  6 09:16:43 log-output:  nmcli -g uuid con
May  6 09:16:43 log-output: dpkg-divert: warning: diverting file '/sbin/start-stop-daemon' from an Essential package with rename is dangerous, use --no-rename
May  6 09:16:43 in-target: Error: Could not create NMClient object: Could not connect: No such file or directory.
May  6 09:16:44 log-output: + in-target nmcli con delete
May  6 09:16:44 log-output: dpkg-divert: warning: diverting file '/sbin/start-stop-daemon' from an Essential package with rename is dangerous, use --no-rename
May  6 09:16:44 in-target: Error: Could not create NMClient object: Could not connect: No such file or directory.
debian configuration
  • 2 个回答
  • 1701 Views
Martin Hope
BrainStone
Asked: 2018-08-23 04:52:09 +0800 CST

dpkg-query 占位符“文件名”、“MD5sum”和“大小”始终为空

  • 3

我目前正在尝试获取有关已安装的软件包和使用dpkg. 所以我尝试使用dpkg-query. 大多数占位符都可以正常工作,我得到了我需要的东西,但是我注意到占位符Filename,MD5sum并且Size总是空的。

查看问题的简单命令:

dpkg-query -W -f '"location":"${Filename}","md5":"${MD5sum}","size":"${Size}"\\n'

这将导致负载只是

"location":"","md5":"","size":""
dpkg package-management
  • 2 个回答
  • 407 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