小编ico*_*ast的帖子

如何向“内部” ssh 会话发送命令?

想象一个场景,我从我的本地机器登录到一个服务器(我们称之为“Wallace”),然后我从那里ssh进入另一个服务器(我们称之为“Gromit”):

laptop ---ssh---> Wallace ---ssh---> Gromit
Run Code Online (Sandbox Code Playgroud)

然后从 Wallace 到 Gromit 的 ssh 会话挂了,我想杀死它。如果我输入~.杀死 ssh,它会终止从我的笔记本电脑到 Wallace 的 ssh 会话,因为~ssh 会话被该 ssh 会话拦截,并且.被视为终止会话的命令。如何向 Wallace 和 Gromit 之间的 ssh 会话发送命令?我如何杀死我的“内部”ssh?

ssh

35
推荐指数
1
解决办法
3985
查看次数

带有 ZFS 的非 ECC 内存:一个愚蠢的想法?

我有一台新服务器,并计划将微不足道的 2 GB 内存升级到最大 16 GB。(理论上 8 GB 是限制,但根据经验证明 16 GB 可以工作。) 一些指南建议 ECC 内存不是那么重要,但我不太确定我相信这一点。

我已经安装了FreeNAS,并计划在我的新硬盘到达后立即添加 ZFS 卷。为基于 ZFS 的 NAS 节省并获得非 ECC 内存是不是很愚蠢?如果有必要,那么我会咬紧牙关,但如果只是偏执狂,那么我可能会跳过它。

ZFS 或 FeeeNAS 是否有任何原因特别需要 ECC 内存,或者在使用非 ECC 内存的系统上运行时尤其会受到影响?

zfs memory ecc freenas

18
推荐指数
3
解决办法
1万
查看次数

如何在 zsh 上编辑 ssh 的命令完成?

我想在 zsh 上设置命令完成以在键入后显示主机名

ssh [TAB]
Run Code Online (Sandbox Code Playgroud)

从我的 .ssh/config 文件中取出名称(最好是从 known_hosts 和 /etc/hosts 以及任何其他有意义的地方)并呈现一个列表。

它目前做了一些这样的事情,但是

  1. 它根本不使用 .ssh/config
  2. 它首先需要一个用户名,即使使用 .ssh/config 不需要输入用户名
  3. 它提供了多个列表(可能一个来自known_hosts,另一个来自/etc/hosts,但我还没有验证过)

所以我想在输入 ssh [TAB] 后在(最好是单个)列表中包含已知的用户名和已知的主机名

(我在 Google 之前来到这里是因为 1)它会导致答案被存储在这里,并且 2)它可能更有效。如果没有其他人回答,我会寻找答案。)

ssh shell command-line-interface zsh

13
推荐指数
1
解决办法
1万
查看次数

我可以相信 ZFS 在 Linux 和 FreeBSD 之间是一致的吗?

我计划在不久的将来构建一个 FreeNAS 盒子,但如果 Linux 上的 ZFS 最终被证明是可靠的,我可能想切换,只是为了拥有一个更熟悉的操作系统。

所以我想知道我是否可以相信 ZFS 的不同实现是兼容的。换句话说,如果我只是将引导盘从 FreeNAS 换到 Linux 或 OpenIndiana,我能相信我的数据不会发生任何坏事吗?

这似乎是一个愚蠢的问题——显然它应该是兼容的——但我猜 ZFS 不常用于在计算机之间移动驱动器的情况,所以我希望有人能提供比只是“它应该是”。

linux freebsd zfs freenas

11
推荐指数
3
解决办法
8315
查看次数

tmux 是否具有 screen 的所有功能?那些屏幕不见了?

我正在考虑从 screen 切换到 tmux,但我已经投入了大量时间开发了一个广泛的 .screenrc,而且我不想在将它移植到 tmux 几个小时后发现 tmux 不能做一些重要的事情对我来说。

我查看了两者的几个在线比较,但没有一个深入或回答许多(对我来说是什么)重要问题,可以归结为两个问题:

  • 有什么重要的事情 screen 可以做而 tmux 不能做吗?
  • tmux 可以做那个屏幕不能做的事情有什么重要的吗?

(客户端-服务器架构很好,但在我看来并没有提供任何新功能。许可证显然更好。更小更精简显然很好,但对我来说不是游戏规则改变者。)

由于这2个问题非常广泛,让我举一些具体的例子:

  • tmux 有完整的命令历史吗?(对于发送到 tmux 本身的命令,而不是 shell 命令。这是 screen 缺少的东西:How can I go back in the (GNU) screen command history?(不是 shell 命令历史!)
  • 我假设我可以将键绑定到 tmux 命令?
  • 我假设我的 tmux 配置文件可以获取其他文件?
  • 我可以将按键绑定到源命令,以便我可以轻松地动态更改我的配置吗?
  • tmux 有 ACL 设置吗?(我实际上从未在屏幕上需要这些,但很高兴知道它们在那里。)
  • tmux 可以打开默认窗口吗?(a la screen -t somename 1 ssh someserver)

我可以自己寻找这些特定问题的答案,但它们只是 2 个更大问题的示例,而且我还想听到那些不一定适合我的任何示例的更大问题的答案。如果 tmux 中缺少某些东西,我完全有可能在花费大量时间切换后不会发现它,这就是我想要避免的。谢谢!

gnu-screen tmux

8
推荐指数
1
解决办法
1165
查看次数

是否有任何配置管理系统明确支持直接在服务器上进行的配置更改?

一般来说(据我所知)主要的基础设施/配置管理系统(Puppet、Chef、Ansible 和 SaltStack)都基于这样的理念:您的服务器是“牛”而不是“宠物”,而且它们似乎可能与直接对服务器进行配置更改的想法相矛盾。

尽管我曾与 Chef、Puppet 和 Salt 合作过,但始终是从与 Vagrant 合作的开发人员的角度出发,为开发设置单独的盒子,因此我的经验无助于回答这个问题。

问题是:这些系统是否支持直接对服务器进行更改并将其保留一段时间而不必担心本地守护程序会用官方配置覆盖它的用例?您应该能够进行更改(并且最好设置防止覆盖的时间窗口),而无需对(例如)厨师食谱或盐状态进行任何重大更改。此用例的全部目的是避免让五分钟的配置更改因公司摩擦和找到正确(例如)盐状态并确保没有副作用并完成发布/部署的复杂性而陷入困境循环和测试以确保您在此过程中没有发生任何事情。

如果您想要一个更具体的示例,假设您想要调整多个日志的 logrotate 设置,以平衡节省驱动器空间和访问历史数据。您知道在任何给定设置下将保存多少数据,以及您认为需要保留多少数据,但您不能 100% 确定。最好一开始就进行更改,然后看到 (1) 有人抱怨他们需要更多历史数据来执行某些调试任务,或者 (2) 您没有节省预期的驱动器空间,需要节省。

五分钟的更改实际上可以五分钟的更改,如果您的配置管理系统允许它是一个,然后一旦您确信您希望在所有履行特定角色的盒子上进行这些更改,您可以让Chef/Puppet/Salt/Ansible 会为您管理。

注意:我不是在询问配置管理系统尚未管理某种类型的配置文件的用例,而是询问它已经管理某种类型的配置文件,但您想要进行本地更改并让它们在给定的机器上优先,并且不被覆盖。

这些系统是否支持我的用例?(不需要我与系统战斗或进行后空翻来使其工作。)

puppet chef ansible saltstack

3
推荐指数
1
解决办法
229
查看次数