小编Let*_*t4U的帖子

~/.bashrc 不是源自 ssh“命令”

在最后.bashrc我补充道:

touch /tmp/bash_noninteractive_test
Run Code Online (Sandbox Code Playgroud)

跑步:

/usr/bin/ssh -v -C root@example.com 'ls'
Run Code Online (Sandbox Code Playgroud)

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

% ls -l /tmp/bash_noninteractive_test
ls: cannot access /tmp/bash_noninteractive_test: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我认为~./bashrc总是来自非交互式 shell,比如通过 SSH?我该如何解决这个问题?

受影响的系统:

% lsb_release  -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS
Release:    14.04
Codename:   trusty
Run Code Online (Sandbox Code Playgroud)
 % lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.11 (jessie)
Release:    8.11
Codename:   jessie
Run Code Online (Sandbox Code Playgroud)

linux ubuntu debian bash bashrc

21
推荐指数
2
解决办法
2万
查看次数

DDNS、BIND 和剩余的 .jnl 文件

我已将 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
Run Code Online (Sandbox Code Playgroud)

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

这个问题的根源是什么?

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

linux debian bind ddns dhcpd

7
推荐指数
2
解决办法
3万
查看次数

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

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

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

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

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

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

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

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

linux cluster high-availability drbd kvm-virtualization

7
推荐指数
2
解决办法
2526
查看次数

强制一个 drbd 节点处于 StandAlone 状态

我需要将属于 2 节点 DRBD 集群一部分的盒子脱机以进行硬件服务。

如何强制主(另一个?) DRBD 节点处于独立状态,以便我可以关闭另一个节点?

直接关掉就可以了吗?这样做安全吗?

hardware linux drbd

7
推荐指数
2
解决办法
795
查看次数

xfs:块大小和扇区大小之间的差异

mkfs.xfs其中有以下两个选项:

-b block_size_options
      This  option  specifies  the  fundamental  block  size  of  the  filesystem.    The   valid
      block_size_options  are:  log=value  or size=value and only one can be supplied.  The block
      size is specified either as a base two logarithm value with log=, or in bytes  with  size=.
      The  default  value is 4096 bytes (4 KiB), the minimum is 512, and the maximum is 65536 (64
      KiB).  Although mkfs.xfs will accept any of these values and create a valid filesystem, XFS
      on …
Run Code Online (Sandbox Code Playgroud)

linux xfs filesystems

6
推荐指数
2
解决办法
2737
查看次数

跳过 dpkg-genchange 步骤 (Debian)

我正在构建仅二进制包:

dpkg-buildpackage -b -us -uc
Run Code Online (Sandbox Code Playgroud)

构建实际上运行成功,但我已经删除了以前版本的包,现在 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
Run Code Online (Sandbox Code Playgroud)

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

debian dpkg

5
推荐指数
1
解决办法
2094
查看次数

'virsh save' 后 VM 的状态

virsh save vm_name memdump然后virsh restore memdump恢复一个(正在运行的)VM 就好了。

但是,VM 在 之后关闭virsh save。我正在为 KVM 虚拟机编写“实时”备份和恢复脚本,因此在备份部分,我显然需要在备份后运行虚拟机。virsh restore memdump备份后立即执行不是问题,但在我看来基本上没有必要 - 我“应该”能够暂停虚拟机,将其内存保存到文件中,然后简单地恢复/取消挂起虚拟机。

这对于内存很少的虚拟机来说并不是真正的问题,但是如果虚拟机有相当大的工作内存,那么它会不必要地延长备份时间。

不幸的是,即使我virsh suspendvirsh save.

有没有办法做到这一点?(即暂停、保存、取消暂停)

linux libvirt kvm-virtualization virsh

5
推荐指数
1
解决办法
6901
查看次数

dircolors:没有 SHELL 环境变量,也没有给出 shell 类型选项

在交互式登录时,我得到:

dircolors: no SHELL environment variable, and no shell type option given
Run Code Online (Sandbox Code Playgroud)

但我确实设置了 SHELL 变量:

% set | grep SHELL
SHELL=/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
Run Code Online (Sandbox Code Playgroud)

~/.bash_profile我这样的来源.dircolors

eval "`dircolors ~/.dircolors`"
Run Code Online (Sandbox Code Playgroud)

我已经在其他 Linux 主机上这样做了,这从来都不是问题,但是当我这样做时vzctl enter $CTID(带有 Debian wheezy 的 OpenVZ 容器),这总是出现。

为什么要这样做?我该如何解决?

debian virtual-machines openvz debian-wheezy

5
推荐指数
1
解决办法
1327
查看次数

在 HP SmartArray 中查找 SATA 磁盘的 SMART 状态

我试图在我的阵列中找到磁盘的 SMART 参数,似乎简单的方法不起作用:

% smartctl -d sat --all /dev/sg0 -H
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

Read Device Identity failed: scsi error unsupported scsi opcode

A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
root@wrzos ~ % smartctl -d sat -T permissive -T permissive --all /dev/sg0 -H 
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

Read Device Identity …
Run Code Online (Sandbox Code Playgroud)

raid debian sata hp-smart-array hardware-raid

4
推荐指数
2
解决办法
7752
查看次数

另一个域指向我的网络服务器

其他人在.maTLD 中注册了一个指向我的网络服务器 IP 地址的名称。

我的域名 foo.bar -> 我的 ip 地址 1.2.3.4

有人定义:

可疑域.ma -> 我的 IP 地址 1.2.3.4

所以这看起来与典型的 DNS 欺骗相反。

问题:

  1. 这是在为其他攻击做准备吗?例如,人们登录到可疑域名.ma 网站,然后可疑域名.ma 会在一段时间后更改 IP 地址并将流量重定向到用于窃取凭据的“中间人”服务器?

  2. 防止这种情况的最佳方法是什么?

我正在考虑在Host:标头上阻止 HTTP 请求(即拒绝所有没有Host: foo.bar设置标头的 http 请求)。这会有效吗,也就是说,攻击者没有合理的方法可以滥用它吗?(那个标题是由浏览器设置的吗?)

在页面中嵌入 javascript 代码以防止这种情况不一定有效,因为攻击者毕竟可以在将 DNS 切换到“中间人”服务器地址时删除此代码。

security domain-name-system attacks

2
推荐指数
1
解决办法
235
查看次数