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

LetMeSOThat4U's questions

Martin Hope
LetMeSOThat4U
Asked: 2020-12-25 06:13:51 +0800 CST

在专用 VM 中绑定?

  • 1

最近我开始维护另一个公司网络,其中 BIND 已安装在专用 VM 中(表面上是出于安全考虑)。该公司使用 Debian 作为服务器系统。

我不得不说这个概念让我很感兴趣。除非您有 BIND 专用盒子(我没有),否则将其安装在 VM 主机(两个,因为它们位于主动/被动集群中)是了解 BIND 漏洞历史的一种安全风险。我知道它在 Debian (?) 中已被 chroot,但仍然如此。

你认为这是个好主意吗?优点缺点?鉴于当前的 BIND 版本,它真的需要还是基本上没有意义?

domain-name-system debian bind debian-buster
  • 2 个回答
  • 95 Views
Martin Hope
LetMeSOThat4U
Asked: 2020-12-16 11:58:19 +0800 CST

在虚拟 tty(监视器)和串行控制台上显示启动消息

  • 0

我在 Debian 10 中通过 null-modem 电缆启用了串行控制台,如下所示:

/etc/default/grub:

GRUB_CMDLINE_LINUX="console=ttyS0,115200n8"
GRUB_TERMINAL=console

然后systemctl enable [email protected]。

这就是它的全部。然而,虽然现在我可以通过串行方式查看所有启动消息(初始内核消息和systemctl服务启动消息),但在出现登录提示之前,监视器(虚拟 tty)上没有显示任何内容。

是否可以在监视器和串行连接上显示这些启动消息?

linux debian serial debian-buster
  • 1 个回答
  • 284 Views
Martin Hope
LetMeSOThat4U
Asked: 2018-11-26 04:42:18 +0800 CST

Systemd - 在标准 libvirt-guests.service 之前运行自定义 VM 关闭脚本

  • 2

在 KVM 主机上,我有一些带有不监听 ACPI 关闭事件的旧版操作系统的虚拟机。就像在 Debian 9.5 主机上发生的那样,关闭libvirt-guests.service时每个此类 VM 等待 5 分钟,然后将其销毁。

为了避免这种情况并干净地关闭它们,我创建了自定义 VM 关闭服务,其中包含使用特殊方法关闭它们的脚本:

% cat /etc/systemd/system/multi-user.target.wants/vm_stop.service 

[Unit]
Description=vm_shutdown
Before=libvirt-guests.service

[Service]
ExecStart=/bin/true
ExecStop=/usr/local/bin/vm_shutdown_all.sh

[Install]
WantedBy=multi-user.target

但是,在 libvirt-guests.service关闭时,尽管Before=上述服务中进行了设置,但该服务似乎仍在运行。

现在,我测试了自定义服务确实在关机时运行 - 它touch是一个测试文件,我可以在其中验证它。

问题:我如何确保它在之前运行libvirt-guests.service?

linux
  • 1 个回答
  • 1211 Views
Martin Hope
LetMeSOThat4U
Asked: 2018-10-25 04:42:20 +0800 CST

将 Bash 数组作为参数传递

  • 0

我有这个脚本:

#!/bin/bash -x

NEW_ARGS=()

for (( i=1; i <= "$#"; i++ )) do
        if [ -f "${!i}" ]; then
                NEW_ARGS+=" $(basename ${!i})"
        else
                NEW_ARGS+=" ${!i}"
        fi
done

wine /usr/local/bin/red-063.exe ${NEW_ARGS[@]}

注意 中的前导空格NEW_ARGS+=" ${!i}"。

如果我不这样做,请${NEW_ARGS[@]}连接并作为一个参数传递给wine /usr/local/bin/red-063.exe,例如:

redwin -t -f /home/mark/projects/learn/red_learn/a.red
...
wine /usr/local/bin/red-063.exe -t-fa.red

我可以添加这些空间,但感觉“不自然”。有没有办法像传递一样将数组传递给 Bash 中的命令$*?

linux
  • 1 个回答
  • 2116 Views
Martin Hope
LetMeSOThat4U
Asked: 2018-10-24 01:38:47 +0800 CST

~/.bashrc 不是来自 ssh 'command'

  • 8

最后.bashrc我补充说:

touch /tmp/bash_noninteractive_test

跑:

/usr/bin/ssh -v -C [email protected] 'ls'

在主机上(之前以交互方式登录):

% ls -l /tmp/bash_noninteractive_test
ls: cannot access /tmp/bash_noninteractive_test: No such file or directory

我认为~./bashrc总是来源于非交互式外壳,比如通过 SSH?我该如何解决?

受影响的系统:

% lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty

% lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.11 (jessie) Release: 8.11 Codename: jessie

linux
  • 2 个回答
  • 11706 Views
Martin Hope
LetMeSOThat4U
Asked: 2018-10-09 04:42:47 +0800 CST

KVM+DRBD 在两台主动-被动服务器之间复制,手动切换

  • 7

我需要在主动-被动模式下构建 2 节点集群(类似?)解决方案,即一台服务器处于活动状态,而另一台服务器处于被动(备用)状态,不断从活动中复制数据。基于 KVM 的虚拟机将在活动节点上运行。

如果主动节点由于任何原因不可用,我想手动切换到第二个节点(成为主动节点和另一个被动节点)。

我看过这个教程:https ://www.alteeve.com/w/AN!Cluster_Tutorial_2#Technologies_We_Will_Use

但是,我没有足够的勇气相信全自动故障转移并构建复杂的东西并相信它可以正常运行。脑裂情况的风险太大,复杂性以某种方式失败,数据损坏等,而我的最大停机时间要求并不严重到需要立即自动故障转移。

我无法找到有关如何构建这种配置的信息。如果您已经这样做了,请在答案中分享信息/HOWTO。

或者也许可以使用 Linux 节点构建高度可靠的自动故障转移?Linux 高可用性的问题在于,就像 8 年前一样,人们似乎对这个概念产生了浓厚的兴趣,而且许多教程现在已经很老了。这表明 HA 在实践中可能存在实质性问题,一些/许多系统管理员干脆放弃了它。

如果可能,请分享如何构建它的信息以及您在生产中运行集群的经验。

linux
  • 5 个回答
  • 3184 Views
Martin Hope
LetMeSOThat4U
Asked: 2017-06-09 02:35:20 +0800 CST

monit - “否则如果成功则执行”

  • 2

我在成功执行脚本时遇到问题。

~/.monitrc:

check host example.com with address example.com
if failed url http://example.com/startpage and content == "mainBaner"
timeout 10 seconds
then exec "/usr/local/bin/monit_example_error.sh"
    else if succeeded then exec "/usr/local/bin/monit_example_ok.sh"

如果出现错误,它似乎会运行脚本,但在没有错误时不会运行。

日志显示测试已运行并成功,/var/log/monit.log:

[CEST Jun  8 12:24:52] debug    : 'example.com' succeeded testing protocol [HTTP] at INET[example.com:80/startpage] via TCP
[CEST Jun  8 12:25:22] debug    : 'example.com' succeeded connecting to INET[example.com:80/dlibra] via TCP
[CEST Jun  8 12:25:46] debug    : HTTP: Regular expression matches
[CEST Jun  8 12:25:46] debug    : 'example.com' succeeded testing protocol [HTTP] at INET[example.com:80/startpage] via TCP
[CEST Jun  8 12:26:16] debug    : 'example.com' succeeded connecting to INET[example.com:80/dlibra] via TCP
[CEST Jun  8 12:26:39] debug    : HTTP: Regular expression matches

我检查了运行是否/usr/local/bin/monit_example_ok.sh按预期工作(在相关目录中创建相关状态文件)。

操作系统:

% lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty

% uname -a
Linux ql 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

监控:

ii  monit                                1:5.6-2                                    amd64        utility for monitoring and managing daemons or similar progra
linux
  • 1 个回答
  • 2018 Views
Martin Hope
LetMeSOThat4U
Asked: 2014-04-12 08:03:54 +0800 CST

让 Postfix 与 SpamAssassin 对话的有效方法

  • 1

在 SA wiki 上执行此操作的传统方法将 shell 脚本称为内容过滤器。

嗯,这是对每封电子邮件的额外fork系统调用,并且将通过机器的流量很大。更不用说 shell/bash 脚本本身几乎没有效率。

在 Postfix 中是否有更有效的垃圾邮件过滤方法?

(不,Amavis 不是一个选项——这是交给我的明确要求)。

email
  • 2 个回答
  • 109 Views
Martin Hope
LetMeSOThat4U
Asked: 2014-01-05 06:23:27 +0800 CST

KVM Win 7 Pro + RH virtio 网络驱动

  • 0

主机:Debian 7.2 x64。

来宾 Win 7 Pro 32 位。Virtio 磁盘驱动程序可以完美运行,但是 virtio net(netkvm 之类的)驱动程序存在问题。Virtio 驱动程序来自virtio-win-0.1-74.iso.

此网卡在 win7 客户机中完美运行:

<interface type='bridge'>
  <mac address='52:54:00:ea:39:d5'/>
  <source bridge='br0'/>
  <model type='e1000'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

这个没有:

<interface type='bridge'>
  <mac address='52:54:00:70:c9:64'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</interface>

显然我已经从 ISO 安装了驱动程序,它们在设备管理器中显示为正常工作。卡“只是”似乎没有与主机通信 - 例如,它没有显示arp -n在主机的输出中。

我也在使用 virtio 的同一台主机上使用 Linux 来宾,它们可以正常工作,那么它可以与主机配置有关吗?

我该如何解决?

linux
  • 1 个回答
  • 1029 Views
Martin Hope
LetMeSOThat4U
Asked: 2014-01-04 13:07:37 +0800 CST

Debian Linux 启动时桥接的 MAXWAIT 参数

  • 2

我似乎在 Debian 7.2 x64 的 /etc 中的任何地方都找不到 MAXWAIT 设置(网桥初始化时间)。有时由于某种原因默认的 20 秒太短了,我想设置更长的时间。

linux
  • 1 个回答
  • 3220 Views
Martin Hope
LetMeSOThat4U
Asked: 2014-01-04 06:31:56 +0800 CST

Debian KVM 和 vm 映像的位置不同于 /var/lib/libvirt/images

  • 0

我在 ZFS 上为 VM 定义了存储池:

virsh # pool-dumpxml zfs
<pool type='dir'>
  <name>zfs</name>
  <uuid>b2fba550-467f-8133-dee8-44ada7d0a807</uuid>
  <capacity unit='bytes'>210316853248</capacity>
  <allocation unit='bytes'>32768</allocation>
  <available unit='bytes'>210316820480</available>
  <source>
  </source>
  <target>
    <path>/winvm/win1</path>
    <permissions>
      <mode>0700</mode>
      <owner>4294967295</owner>
      <group>4294967295</group>
    </permissions>
  </target>
</pool>

为 vms 创建 RAW 图像文件:

host /winvm/win1 % l
total 3.5K
drwxrwxr-x. 2 root         root           3 Jan  3 14:03 .
drwxr-xr-x  3 libvirt-qemu libvirt-qemu   3 Dec 30 13:45 ..
-rw-------. 1 libvirt-qemu libvirt-qemu 20G Jan  3 14:03 t1.raw

定义了 t1 VM,但是当我尝试启动它时:

host /winvm/win1 % virsh start t1
error: Failed to start domain t1
error: internal error process exited while connecting to monitor: char device redirected to /dev/pts/13
kvm: -drive file=/winvm/win1/t1.raw,if=none,id=drive-sata0-0-0,format=raw,cache=none: could not open disk image /winvm/win1/t1.raw: Invalid argument

VM的存储文件不断将所有者更改为root:root:

host /winvm/win1 % ls -l
total 1
-rw-------. 1 root root 21474836480 Jan  3 14:03 t1.raw

我在那台机器上禁用了 SELinux:

host /winvm/win1 % sestatus
SELinux status:                 disabled

甚至更改了用户和上下文:

host /winvm/win1 % chcon -t virt_image_t -u libvirt-qemu t1.raw

而且我仍然不断收到上面的错误。为什么?SELinux 禁用后如何影响文件访问?

linux
  • 1 个回答
  • 1413 Views
Martin Hope
LetMeSOThat4U
Asked: 2013-12-11 03:22:45 +0800 CST

DDNS、BIND 和剩余的 .jnl 文件

  • 8

我已将 BIND 和 ISC DHCPD 配置为一起工作(使用密钥进行更新)。现在并不是说它根本不起作用:最常添加前向地图等。

然而,很多时候,没有明显的原因,该区域的 .jnl 文件(日志)被保留在那里,并且主区域文件没有更新。这导致在获取 DHCP 租约后某些主机无法解析(如果这些主机最初不在区域文件中,或者它导致旧地址)。

权限如下所示:

-rw-r--r--   1 bind bind  691 Dec 10 11:06 myzone.zone
-rw-r--r--   1 bind bind  765 Dec 10 12:17 myzone.zone.jnl

这不应该是权限问题,因为该区域确实(经常)通过 DHCP/DDNS 更新?

这个问题的根源和解决方法是什么?

操作系统:debian 7.2 x64,稳定版本绑定和 isc-dhcp 服务器。

linux
  • 2 个回答
  • 29139 Views
Martin Hope
LetMeSOThat4U
Asked: 2013-09-10 03:12:26 +0800 CST

SAS HBA卡还是与MB集成?

  • 0

我需要一个入门级虚拟化服务器供几个人使用,我喜欢富士通的这种线,但它们似乎都有内置的 SATA 磁盘接口。我想使用 SAS 磁盘,显然有一些 SAS 接口我可以使用的卡,但我从未使用过此类卡,想知道这是否是个好主意(重新可靠性和性能)还是应该使用集成 SAS 控制器?

sas
  • 1 个回答
  • 178 Views
Martin Hope
LetMeSOThat4U
Asked: 2013-09-03 09:50:44 +0800 CST

跳过 dpkg-genchange 步骤(Debian)

  • 5

我正在构建仅二进制包:

dpkg-buildpackage -b -us -uc

该构建实际上运行成功,但我已经删除了该软件包的先前版本,现在 dpkg-genchanges 抱怨:

   dh_builddeb
dpkg-deb: building package `zzz' in `../zzz_01-4_amd64.deb'.
 dpkg-genchanges -b >../zzz_01-4_amd64.changes
dpkg-genchanges: binary-only upload - not including any source code
dpkg-genchanges: error: cannot fstat file ../zzz_01-1_amd64.deb: No such file or directory
dpkg-buildpackage: error: dpkg-genchanges gave error exit status 2

有没有办法跳过这一步?我真的不需要它,因为我正在构建 deb 包以供本地使用,而以前的版本是不必要的。

debian
  • 1 个回答
  • 2217 Views
Martin Hope
LetMeSOThat4U
Asked: 2013-07-19 10:53:26 +0800 CST

/var/run/saslauthd 重新启动时更改权限

  • 1

在 saslsauthd 重新启动时,我不断获得对/var/run/saslauthddir 的以下权限:

drwx--x---

这使得例如 Exim 无法与 saslauthd 交谈。

如果我像这样更改权限:

chmod o+x /var/run/saslauthd

..Exim 可以再次与 saslauthd 交谈。但是,正如我所写,/etc/init.d/saslauthd restart足以再次将权限更改为 710。

我没有在/etc/init.d/saslauthd脚本中找到任何东西来实现这一点。这里发生了什么?

操作系统:Debian 7.0。

debian
  • 1 个回答
  • 1595 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

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve