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

Zulakis's questions

Martin Hope
Zulakis
Asked: 2024-07-03 19:59:01 +0800 CST

sort 如何比较字符串?

  • 8

我希望 bash sort 能够像这样比较字符串:

  • 从第一个字符开始(两个字符串)
  • 如果字符相等,则继续下一个字符
  • 如果不相等,则返回大于/小于的结果给排序算法
  • 如果没有更多字符,则返回等于

出于某种原因,这似乎不是事实。

让我们接受以下输入:

a
b
.
-

这是由 bash sort 排序的

-
.
a
b

现在,输入

b.de
bb.de

我期望排序结果如下:

b.de
bb.de

因为第一个字符是相等的,并且对于第二个字符来说,.它在前面b(如在第一个测试中所见)。

由于某种原因,情况并非如此,字符串的排序如下:

bb.de
b.de

为什么会sort出现这样的行为?有没有办法让它表现得“如预期”?

我已经使用 python 测试了同样的例子,python 的排序与预期一致。

bash
  • 2 个回答
  • 155 Views
Martin Hope
Zulakis
Asked: 2023-04-20 05:05:24 +0800 CST

在启用安全启动/内核锁定的情况下启用 wireguard 日志消息

  • 6

在 fedora 37 上,我试图通过在 root-shell 中执行此命令来为 wireguard 启用内核日志消息:

echo module wireguard +p > /sys/kernel/debug/dynamic_debug/control

不幸的是,这会导致错误:operation not permitted: /sys/kernel/debug/dynamic_debug/control。

我可以在 dmesg 中看到此错误的原因是:debugfs access is restricted; see man kernel_lockdown.7。
由于启用了安全启动,内核锁定会自动启用。

是否有任何其他方法可以在启用安全启动/内核锁定的情况下启用 wireguard 日志消息,例如通过内核 cmdline 或 modprobe 选项?

linux
  • 1 个回答
  • 52 Views
Martin Hope
Zulakis
Asked: 2022-04-05 00:58:19 +0800 CST

ansible - 从清单中获取所有主机名和相应 ansible_host 值的列表

  • 1

我的库存如下所示:

db0 ansible_host=10.0.0.1
db1 ansible_host=10.0.0.2
app0 ansible_host=10.0.0.3
app1 ansible_host=10.0.0.4
...

从中,我需要提取一个这样的列表:

- name: db0
  ip: 10.0.0.1
- name: db1
  ip: 10.0.0.2
- name: app0
  ip: 10.0.0.3
- name: app1
  ip: 10.0.0.4

我知道我可以让所有主机使用groups['all'].

我还可以ansible_host使用hostvars['<hostname>']['ansible_host'].

我如何结合它来创建我需要的列表?

ansible
  • 1 个回答
  • 862 Views
Martin Hope
Zulakis
Asked: 2021-10-21 02:15:44 +0800 CST

带有 xml 应答文件的 Windows Server 2022 无人值守安装

  • 0

我正在尝试使用答案文件来自动化 Windows Server 2022 安装。

我在 Windows 系统映像管理器中为 Windows Server 2022 创建了以下应答文件:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>0407:00000407</InputLocale>
            <UserLocale>de-DE</UserLocale>
            <SetupUILanguage>
                <WillShowUI>Never</WillShowUI>
            </SetupUILanguage>
        </component>
    </settings>
    <cpi:offlineImage cpi:source="wim:c:/users/xxx.xxx/downloads/20348.169.210806-2348.fe_release_svc_refresh_server_eval_x64fre_en-us/sources/install.wim#Windows Server 2022 SERVERSTANDARDCORE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

我希望这会自动将键盘输入区域设置设置为德语,将时间和货币设置设置为德国,并且也不显示区域设置选择 UI。

然后,我将文件打包到unattend.xmliso 中,因此我可以轻松修改它,而无需将 5GB ISO 上传到管理程序(在本例中为 ESXI)。除了安装 iso 之外,此 iso 是为我要安装 Windows Server 的 VM 安装的。

当我启动 Windows Server 2022 ISO 时,我使用 Shift+F10 打开控制台,然后执行setup.exe /unattend:e:\unattend.xml. 我已经确认type e:\unattend.xml可以正确读取该文件。

由于某种原因,仍然显示区域设置屏幕并选择默认值(不是 my 中指定的值unattend.xml)

如何让 Windows Server 2022 设置正确使用配置中的设置unattend.xml?

windows windows-server-2022
  • 1 个回答
  • 1768 Views
Martin Hope
Zulakis
Asked: 2020-05-15 05:37:14 +0800 CST

ansible/jinja2 拒绝具有特定属性的字典列表中的所有项目

  • 2

我有一个这样的字典列表:

list_of_dicts:
  - name: Item1
  - name: Item2
    type: special
  - name: Item3
  - name: Item4
    type: small

如您所见,并非所有项目都有type属性。上下文:如果没有type设置属性,则表示该项目是默认类型。

我想选择所有不是 type 的项目special。

我试过这个:list_of_dicts | rejectattr('type', 'equalto', 'special')

不幸的是,AnsibleUndefinedVariable: 'dict object' has no attribute 'type'由于某些项目没有类型,因此失败并出现错误。

解决这个问题的好方法是什么?

ansible jinja2
  • 2 个回答
  • 5696 Views
Martin Hope
Zulakis
Asked: 2020-05-07 03:58:17 +0800 CST

在 /etc/dconf/db/local.d 中为可重定位模式设置默认 gsettings

  • 0

使用这样的文件为我的所有用户设置默认 gsettings/etc/dconf/db/local.d/my-settings工作正常:

[org/gnome/desktop/background]
picture-uri='file:///usr/local/share/backgrounds/wallpaper.jpg'

现在我正在尝试设置一个自定义键绑定,这需要一个:PATH(可重定位的架构),如下所示:

[org/gnome/settings-daemon/plugins/media-keys/custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0]
name='keybinding-name'
command='my-command'
binding='my-keybinding'

不幸的是,运行后dconf update,配置值尚未设置:

$ gsettings list-recursively org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/
org.gnome.settings-daemon.plugins.media-keys.custom-keybinding command '<newname>'
org.gnome.settings-daemon.plugins.media-keys.custom-keybinding name '<newname>'
org.gnome.settings-daemon.plugins.media-keys.custom-keybinding binding '<newname>'

如何正确设置这些值?

gnome
  • 1 个回答
  • 332 Views
Martin Hope
Zulakis
Asked: 2018-08-26 08:41:30 +0800 CST

fsck on boot 导致 systemd 依赖失败和随后的引导失败

  • 2

如果 fsck 在引导期间花费的时间超过 90 秒,则 systemd 单元超时并且系统进入紧急模式。对于没有 KVM 的无头设备而言,这显然是非常不幸的,因为该问题无法修复或至少从外部诊断。

给出的确切行是:

[ TIME ] Timed out waiting for device dev-disk-by-partuuid-xxx
[DEPEND] Dependency failed for /boot
[DEPEND] Dependency failed for Local File Systems.
[DEPEND] Dependency failed for File System Check on /dev/disk/bypartuuid/xxx

有问题的分区是树莓派上的引导分区(FAT 文件系统)。即使分区只有 41MB 大,fs-check 也需要超过 90 秒。我从来没有遇到过 ext2/3/4 分区的这个问题。

我该如何解决这个问题?

debian
  • 1 个回答
  • 3677 Views
Martin Hope
Zulakis
Asked: 2017-01-11 09:25:28 +0800 CST

ansible用变量替换正则表达式

  • 2

我正在尝试localhost在字符串中替换

$amp_conf['AMPDBHOST'] = 'localhost';

与变量的内容{{ asterisk_db_host }},即172.17.0.3.

虽然

- replace:
    dest: /usr/src/freepbx/installlib/installcommand.class.php
    regexp: '(\$amp_conf\[.AMPDBHOST.\] = .)localhost(.;)'
    replace: '\1\2'

完美地导致

$amp_conf['AMPDBHOST'] = 'localhost';

- replace:
    dest: /usr/src/freepbx/installlib/installcommand.class.php
    regexp: '(\$amp_conf\[.AMPDBHOST.\] = .)localhost(.;)'
    replace: '\1{{ asterisk_db_host }}\2'

也

- replace:
    dest: /usr/src/freepbx/installlib/installcommand.class.php
    regexp: '(\$amp_conf\[.AMPDBHOST.\] = .)localhost(.;)'
    replace: '\1{{ asterisk_db_host|regex_escape() }}\2'

O2.17.0.2';用or替换字符串O2\.17\.0\.2';。

我在这里做错了什么?我怎样才能正确地进行这种更换?

ansible
  • 2 个回答
  • 33062 Views
Martin Hope
Zulakis
Asked: 2017-01-06 05:32:51 +0800 CST

/var/run 目录创建,即使服务被禁用

  • 6

通常,存储 pid 或类似文件的目录是由服务的启动脚本创建的。(见这个问题)

但是,我刚刚注意到,当我禁用这些服务时,这些目录在重新启动后仍然会重新创建。我尝试的所有服务都发生了这种情况。

root@sonorus:~# systemctl status openvpn
● openvpn.service - OpenVPN service
   Loaded: loaded (/lib/systemd/system/openvpn.service; disabled)
   Active: inactive (dead)
root@sonorus:~# systemctl status ejabberd
● ejabberd.service - A distributed, fault-tolerant Jabber/XMPP server
   Loaded: loaded (/lib/systemd/system/ejabberd.service; disabled)
   Active: inactive (dead)
     Docs: https://www.process-one.net/en/ejabberd/docs/

哪个服务实际上正在创建这些目录?

linux systemd debian-jessie
  • 1 个回答
  • 1565 Views
Martin Hope
Zulakis
Asked: 2016-03-23 01:06:12 +0800 CST

限制 rsync over ssh 只读/只从远程主机复制

  • 4

我希望备份主机能够从远程主机提取备份。

备份主机使用 ssh 密钥身份验证作为远程主机上的受限用户进行身份验证,该用户被限制为rsync使用该authorized_key文件的命令。

/etc/sudoers允许用户以超级用户身份执行 rsync。

备份主机在逻辑上应该只能从远程主机读取文件/复制文件,而不是向远程主机写入文件/复制文件,因为它很容易通过覆盖/etc/passwd或篡改文件来破坏远程主机。本身。

我怎样才能做到这一点?我已经阅读了关于rrsync,但没有看到允许这样做的选项。

linux
  • 4 个回答
  • 5547 Views
Martin Hope
Zulakis
Asked: 2016-02-17 01:39:11 +0800 CST

Ansible with_items 不打印整个项目?

  • 19

我会像这样自动保护 SSL 密钥:

- name: Find ssl keys
  find: paths="/etc/ssl/" patterns="*.key" recurse=yes
  register: secure_ssl_keys_result

- name: Secure ssl keys
  file: path={{ item.path }} user=root group=root mode=600
  with_items: secure_ssl_keys_result.files

现在,对于每个项目,都有一个包含项目全部内容的巨大日志消息:

ok: [127.0.0.1] => (item={u'uid': 0, u'woth': False, u'mtime': 1454939377.264, u'inode': 400377, u'isgid': False, u' size': 3243, u'roth': False, u'isuid': False, u'isreg': True, u'gid': 0, u'ischr': False, u'wusr': True, u'xoth ': False, u'rusr': True, u'nlink': 1, u'issock': False, u'rgrp': False, u'path': u'/etc/ssl/foo.key', u 'xusr':假,u'atime':1454939377.264,u'isdir':假,u'ctime':1454939657.116,u'isblk':假,u'xgrp':假,u'dev':65025,u' wgrp':假,u'isfifo':假,u'mode':u'0600',u'islnk':假})

这是难以置信的不可读,因为我只想知道正在处理(并且可能更改)的项目的路径。使用大量键,这很快就会失控。

如何以仅item.path打印每个项目的方式来更改此播放?

我已经尝试过no_log: True了,但这当然完全忽略了输出。

ansible
  • 3 个回答
  • 14175 Views
Martin Hope
Zulakis
Asked: 2016-02-13 08:32:05 +0800 CST

ansible在单行上查找模式?

  • 0

我怎么能这样做:

- find:
    paths: "/etc/ssl/"
    recurse: yes
    patterns:
      - "*.pem"
      - "*.crt"

在一条线上?

该文档提出了一些建议:

- find: paths="/etc/ssl/" recurse=yes patterns="'*.pem','*.crt'"

但这与任何文件都不匹配,而上一个命令则匹配。

linux
  • 2 个回答
  • 1997 Views
Martin Hope
Zulakis
Asked: 2015-06-08 04:10:34 +0800 CST

无法通过 ssh 输入字母“e”[重复]

  • 59
这个问题在这里已经有了答案:
无法在 amazon ec2 (Amazon Linux) 中输入小写的 e (1 个回答)
7年前关闭。

现在,我正在管理的 Ubuntu 14.04.2 LTS 服务器上遇到一些非常非常奇怪的行为。

通过 ssh 从 cygwin(mintty) 或 Linux 机器上的终端连接到服务器,我无法输入字母e。

我做了以下调试:

  • e可以在远程服务器上用vim输入字母
  • 字母e可以在本地机器上的终端中输入
  • $TERM被设定为xterm
  • $LANG,$LANGUAGE并$LC_ALL设置为de_DE.utf8
  • locale charmap返回UTF-8

现在,我完全不知道是什么原因造成的。

对于如何解决这个问题的一些建议,我会很高兴。

ubuntu
  • 1 个回答
  • 3496 Views
Martin Hope
Zulakis
Asked: 2015-06-02 03:50:39 +0800 CST

ansible 打印调试消息变量

  • 30

我尝试mosh_version使用 ansibledebug msg命令打印以前注册的变量,如下所示:

- name: Print mosh version
  debug: msg="Mosh Version: {{ mosh_version.stdout }}"

它不起作用并打印以下错误:

Note: The error may actually appear before this position: line 55, column 27

- name: Print mosh version
  debug: msg="Mosh Version: {{ mosh_version.stdout }}"
                          ^
We could be wrong, but this one looks like it might be an issue with
missing quotes.  Always quote template expression brackets when they
start a value. For instance:

    with_items:
      - {{ foo }}

Should be written as:

    with_items:
      - "{{ foo }}"

我试过了

- name: Print mosh version
  debug: msg=Mosh Version: "{{ mosh_version.stdout }}"

但这只会打印“Mosh”。

让它运行的最佳方法是什么?

deployment
  • 6 个回答
  • 189737 Views
Martin Hope
Zulakis
Asked: 2015-06-02 02:06:10 +0800 CST

带有_items的ansible命令

  • 4

在 ansible 1.5.4 中,以下命令完美运行:

- name: Generate postfix dhparams
  command: "{{ item }}"
  with_items:
    - openssl gendh -out /etc/postfix/dh_512.pem -2 512 creates=/etc/postfix/dh_512.pem
    - openssl gendh -out /etc/postfix/dh_2048.pem -2 2048 creates=/etc/postfix/dh_2048.pem
  notify: Reload postfix

升级到 1.9.1 后,命令失败并出现fatal: [127.0.0.1] => A variable inserted a new parameter into the module args. Be sure to quote variables if they contain equal signs (for example: "{{var}}").错误。

正如{{ item }}已经引用的那样,我不知道出了什么问题。

我怎样才能让这个命令再次工作?

postfix
  • 1 个回答
  • 5411 Views
Martin Hope
Zulakis
Asked: 2015-05-06 06:14:26 +0800 CST

拒绝使用您自己的域作为发件人的传入电子邮件

  • 7

拒绝使用我的虚拟域之一作为发件人地址而不是我的合法用户的传入电子邮件会很好。

我知道我可以拒绝使用现有别名/帐户名的传入电子邮件,smtpd_sender_restrictions=reject_sender_login_mismatch但这仍然允许攻击者将不存在的电子邮件地址与我的一个虚拟域一起使用。(这在垃圾邮件检测方面受到青睐)。

拒绝使用我的虚拟域之一且未经身份验证的传入邮件的最佳方法是什么?

由于邮件列表和转发存在问题,SPF 和 DKIM 已设置但配置为 SoftFail。我不是在寻找 SPF 或 DKIM,而是针对作为上述域的 MX 的后缀服务器的解决方案。

email
  • 4 个回答
  • 17566 Views
Martin Hope
Zulakis
Asked: 2015-05-04 04:05:23 +0800 CST

如何使用 sendmail 将扫描的邮件重新注入队列

  • 3

我想将传入的邮件传递virtual_transport给传输spamassassin(main.cf:)virtual_transport=spamassassin,然后使用 sendmail 将扫描的邮件重新注入到 postfix 中。

运输看起来像这样:

spamassassin unix   -    n     n   -   -    pipe
    flags=hu user=vmail:mail argv=/usr/bin/spamc -u ${recipient} -e /usr/sbin/sendmail -f ${sender} ${recipient}

根据后缀文档,这应该是可能的:

大容量站点应避免使用通过 Postfix sendmail(1) 和 postdrop(1) 重新注入扫描邮件的“简单”内容过滤器。

在我当前的 sendmail 调用/usr/sbin/sendmail -f ${sender} ${recipient}中,邮件循环传递回队列,然后返回到 spamassassin 等等。

根据我对 postfix 文档的理解,使用 postfix 传递的邮件sendmail被放入maildrop目录中,然后使用pickup. 我试图将 a 添加-o virtual_transport=dovecot到接送运输以避免排队,但这没有帮助。(我想这些选项只能附加到 smtp 传输中)。

如何将使用 spamassassin 扫描的邮件重新注入队列以进行最终传递,而不会导致循环?

email
  • 1 个回答
  • 1242 Views
Martin Hope
Zulakis
Asked: 2014-03-15 05:04:57 +0800 CST

ESXi 5.1 崩溃

  • 1

我得到了一个 ESXi 5.1 安装,它不规则地崩溃并出现如下错误输出:

服务器具有以下硬件:

Supermicro X8DTN+ Mainboard
2 x Intel XEON E5606
6 x 2GB ECC DDR3-RAM
LSI 9260-6i Raid5

如何解决这个问题?

virtualization
  • 2 个回答
  • 650 Views
Martin Hope
Zulakis
Asked: 2013-10-07 10:07:38 +0800 CST

Windows xp - 删除开始菜单右键单击条目“打开所有用户”/“探索所有用户”

  • 1

右键单击 Windows 开始按钮时,如何删除“打开所有用户”/“探索所有用户”条目?

我知道我在早些时候部署另一批系统时设法做到了这一点,遗憾的是我找不到合适的说明我是如何做到的。我认为一定是一个注册表项。

在此处输入图像描述

windows-xp
  • 1 个回答
  • 357 Views
Martin Hope
Zulakis
Asked: 2013-09-28 11:10:43 +0800 CST

vmware 从数据存储中删除分区

  • 1

我有一个数据存储,它由不同硬盘上的 2 个分区组成。我释放了足够的空间来存储第一个硬盘上的数据存储区中的所有内容。

如何将所有数据移动到第一个分区并从数据存储中删除第二个分区?

vmware-esxi
  • 1 个回答
  • 245 Views

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve