作为 root,我连接到远程主机以执行命令。只有“standarduser”具有适当的 id 文件和正确的 .ssh/config,所以我首先切换用户:
su standarduser -c 'ssh -x remotehost ./remotecommand'
Run Code Online (Sandbox Code Playgroud)
该命令工作正常,但尽管我使用了“-x”(禁用 X11-Forwarding)并在 中禁用了 X11Forwards /etc/ssh/ssh_config
,但我仍然收到错误消息:
X11 connection rejected because of wrong authentication.
Run Code Online (Sandbox Code Playgroud)
当我以“standarduser”身份登录时,我没有收到错误消息。
这很烦人,因为我想将该命令集成到 cron 作业文件中。我知道错误消息指的是 root 的 .XAuth 文件的错误身份验证,但我什至没有尝试通过 X11 进行连接。
为什么“ssh -x”没有禁用 X11 连接并抛出错误消息?
更新:该消息仅在我在屏幕内登录时显示,当在本地机器本身(无屏幕)上使用上述命令时,我没有收到错误消息,所以这对 cron 也应该没问题.
我也启动了相同的命令,-v
并且意外地得到了错误消息 FIRST,甚至在来自 SSH 的状态信息之前:
root@localhost:~# su standarduser -c 'ssh -x remotehost ./remotecommand'
X11 connection rejected because of wrong authentication.
OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013
Run Code Online (Sandbox Code Playgroud)
这让我想到了问题本身,不是ssh
抛出错误消息的原因,而是su
:
root@localhost:~# su standarduser -c …
Run Code Online (Sandbox Code Playgroud) 我的系统在运行 Debian 7 Wheezy 时启动速度相对较快,但在升级到 Debian 8 Jessie 后,因此从SysVinit
到systemd
,它变得更慢了。
减慢启动速度的是网络。等待网口培养时间超过1分钟。我不知道是什么/etc/network/interfaces
影响了启动过程,所以这里是完整的。
/etc/network/interfaces:
allow-auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet static
address 192.168.150.1
netmask 255.255.255.0
auto eth1
iface eth1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
auto eth2
iface eth2 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
auto eth0
iface eth0 inet dhcp
post-up brctl addbr br0
post-up brctl addif br0 eth1 eth2 …
Run Code Online (Sandbox Code Playgroud) 我有一个Debian Wheezy
与RAID-1(一对夫妇500个GB HDD的系统mdadm
镜),在其顶部坐落LVM
逻辑卷用5个分区(boot
,root
,usr
,var
和tmp
),47.15吉布的总大小。物理卷中的 418.38 GiB 是免费的。GRUB
安装在两个驱动器上。
其中一个 HDD 出现故障,现在阵列降级,但数据完好无损。
我想要的是将所有这 2 个 HDD 全部更换为 80 GB SSD,而无需从头开始重新安装系统。这里的微妙之处是我需要缩小 LVM 物理卷以匹配 SSD 的大小,但逻辑卷不是连续的(一开始有很多可用空间),所以我必须以某种方式移动物理卷中的逻辑卷. 并且lvmove
在 Debian 中没有命令。
我如何实现这一目标?
一些控制台输出:
版本:
root@wheezy:~# uname -a && mdadm --version && lvm version
Linux wheezy 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64 GNU/Linux
mdadm - v3.2.5 - 18th May 2012
LVM version: 2.02.95(2) (2012-03-06)
Library version: 1.02.74 (2012-03-06) …
Run Code Online (Sandbox Code Playgroud) 我知道如何将gunzip
文件复制到选定的位置。
但是当谈到利用所有 CPU 能力时,许多人会考虑pigz
而不是gzip
. 所以,问题是我如何unpigz
(和解压)一个*.tar.gz文件到一个特定的目录?
我可以轻松地将 bash 脚本的标准输出和错误输出重定向到文件,同时使用简单的exec
语句将输出丢弃到控制台:
exec &>>/var/log/backup.log
Run Code Online (Sandbox Code Playgroud)
但是我如何使用exec
写入两个文件,附加到第一个并重写第二个?可能tee
应该使用一些魔法。还应该找到一些使控制台静音的方法。
这样做的原因是我的备份脚本。我想将最新备份的事件附加到主日志中,并且只将这些事件写入当前备份日志(清除其以前的内容),每个备份会话都应该重写这些事件。