小编Hun*_*son的帖子

gpg:密钥服务器接收失败:没有 dirmngr

尝试在我的 Debian Stretch 服务器中接收密钥时,出现此错误:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Executing: /tmp/apt-key-gpghome.4B7hWtn7Rm/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.4B7hWtn7Rm/S.dirmngr' failed: No such file or directory
gpg: keyserver receive failed: No dirmngr
Run Code Online (Sandbox Code Playgroud)

debian apt gpg

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

Bash 中的嵌套括号扩展之谜

这个:

$ echo {{a..c},{1..3}}
Run Code Online (Sandbox Code Playgroud)

产生这个:

a b c 1 2 3
Run Code Online (Sandbox Code Playgroud)

这很好,但很难解释

$ echo {a..c},{1..3}
Run Code Online (Sandbox Code Playgroud)

a,1 a,2 a,3 b,1 b,2 b,3 c,1 c,2 c,3
Run Code Online (Sandbox Code Playgroud)

这是在某处记录的吗?该猛砸参考并没有提到它(即使它有使用它的例子)。

bash brace-expansion

20
推荐指数
2
解决办法
3094
查看次数

Grub 安装失败

我有一个很好的 Debian Jessie 安装运行,但后来我运行了apt-get update && apt-get upgrade && apt-get dist-upgrade.

然后重新启动后,它直接进入BIOS。我意识到 Grub 丢失了,所以我运行了一个 live cd 并输入了Rescue mode,挂载了我的根分区,+ 引导分区并运行了这些命令:

Grub 找到 linux 镜像:

root@debian:~# update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-3-amd64
Found initrd image: /boot/initrd.img-4.9.0-3-amd64
Found linux image: /boot/vmlinuz-4.9.0-0.bpo.3-amd64
Found initrd image: /boot/initrd.img-4.9.0-0.bpo.3-amd64
Found linux image: /boot/vmlinuz-3.16.0-4-amd64
Found initrd image: /boot/initrd.img-3.16.0-4-amd64
Found Ubuntu 16.10 (16.10) on /dev/sdb2
Adding boot menu entry for EFI firmware configuration
done
Run Code Online (Sandbox Code Playgroud)

然后grub-install: …

boot debian grub2 uefi

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

在救援模式 chroot 中重新启动

我在启动计算机时遇到问题,所以我运行了 Live cd 并将其启动到救援模式,启动 SSH 并回家,然后我远程修复了启动错误,现在我想重新启动我的服务器,以便我可以启动我的系统,但是当我尝试运行以下任何命令时,我收到一条错误消息:

root@debian:~# reboot
Running in chroot, ignoring request.

root@debian:~# shutdown -r 0
Running in chroot, ignoring request.
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:我可以从 chroot 内部重新启动我的服务器吗?

chroot debian rescuemode

6
推荐指数
1
解决办法
6278
查看次数

如何恢复 vgscan 和 lvmdiskscan 未找到的丢失的 LVM 卷组

我有一篇文章:如何复制旧磁盘数据\xef\xbc\x9f

\n\n

答案很好,但对我没有帮助。答案用户建议我在那里开一个新帖子,因为这是一些区别。

\n\n

我尝试使用扫描系统查找我的旧卷组vgscan,但它找不到我的旧卷组。

\n\n

我也曾经lvmdiskscan寻找过我的旧物理卷,不幸的是,lvmdiskscan找不到它。以下是输出lvmdiskscan

\n\n
[root@localhost mapper]# lvmdiskscan\n  /dev/ram0             [      16.00 MiB] \n  /dev/loop0            [     930.53 GiB] \n  /dev/root             [      50.00 GiB] \n  /dev/ram1             [      16.00 MiB] \n  /dev/sda1             [     500.00 MiB] \n  /dev/VolGroup/lv_swap [       7.05 GiB] \n  /dev/ram2             [      16.00 MiB] \n  /dev/sda2             [     931.02 GiB] \n  /dev/VolGroup/lv_home [     873.97 GiB] \n  /dev/ram3             [      16.00 MiB] \n  /dev/ram4             [      16.00 MiB] \n  /dev/ram5             [      16.00 MiB] \n …
Run Code Online (Sandbox Code Playgroud)

linux lvm data-recovery disk

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

使用 iptables 阻止 ssh

我有一台带有两个网卡的 linux 机器(统包核心 14.2)。

eth0是一个公共 ip,WAN(我们称之为123.123.123.123)。

eth1 是我的网络,局域网。

我想SSH从 WAN 中阻止iptables

我使用命令

sudo iptables -A INPUT -p tcp -s 123.123.123.123 --dport 22 -j DROP
Run Code Online (Sandbox Code Playgroud)

如果我然后写

sudo iptables -L
Run Code Online (Sandbox Code Playgroud)

我得到了答案

Chain INPUT (policy ACCEPT)

target   prot opt source            destination

DROP     tcp  --  123.123.123.123   anywhere      tcp dpt:ssh
Run Code Online (Sandbox Code Playgroud)

问题是如果我PuTTY用来连接到 123.123.123.123 ,我不会被阻止。

知道我做错了什么吗?

ssh iptables

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

用于检测 bash 脚本中的“control-c”或失败的代码

我编写了一个 bash 脚本来自动执行一个很长的过程。效果很好。

但是,如果用户应该 control-c 或由于 ssh 断开连接而重新运行,我发现如果我执行以下命令,则先前执行的剩余部分仍在运行: ps -ef|grep myprogram。

我相信问题出在这段代码中,我在其中设置了每个步骤的背景,以便可以向用户显示旋转的进度条:

<snippet begin>
function progress {
 SPIN='-\|/'
 # Run the base 64 code in the background
 echo $THECOMMAND | base64 -d|bash &
 pid=$! # Process Id of the previous running command
 i=0
 while kill -0 $pid 2>/dev/null
  do
   i=$(( (i+1) %4 ))
   # Print the spinning icon so the user knows the command is running
   printf "\r$COMMAND:${SPIN:$i:1}"
   sleep .2
  done
 printf "\r"
}
<snippet end>
Run Code Online (Sandbox Code Playgroud)

问题:我可以在脚本中添加哪些代码来检测故障或 control-c 并终止后台进程?

附加信息:我从包装器运行脚本,并在屏幕会话中运行它。 …

bash solaris shell-script

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

如何在一个脚本中为 100 多个用户创建用户和密码

我编写了一个脚本,用于为 100 多个用户添加和设置密码。例如:对于设置用户的密码,我想为所有用户设置“user+123”格式,即用户将根据密码中的用户名进行更改。我该如何为此编写脚本。

#!/bin/bash
for i in `more users.txt`
do
useradd $i;
echo "User $i added successfully"
passwd $("$i"123)
echo "Password added successfully for user"
done
Run Code Online (Sandbox Code Playgroud)

bash password multiuser useradd command

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

硬盘显示“193”坏扇区并发出重复的咔嗒声

我在一台旧的 iMac 2011 上有一个 1 TB 的硬盘驱动器,它最近开始发出重复的咔嗒声。这类似于 CD-ROM 尝试读取 CD 上的“划痕”表面。最近,计算机停止启动进入操作系统并继续尝试“加载”操作系统(显示 Apple 徽标和启动过程中通常出现的进度标志)但从未成功,当然,我一直听到在驾驶。

我从拇指驱动器启动到 Linux,一切正常(实际上,我是从实时操作系统中输入的)。所以我猜测问题是磁盘驱动器。我运行gparted并删除了硬盘驱动器上的所有分区,整个 1 TB 空间现在都是unallocated可用空间。

此外,disks在 Linux 上显示以下信息/dev/sdc(1 TB 硬盘):

Model: ST3100.....{snip}
Size: 1.0 TB
Partitioning: GUID Partition Table
Serial Number: {snip}
Assessment: Disk is OK, 193 bad sectors (41 C / 106 F)
Run Code Online (Sandbox Code Playgroud)

fdisk /dev/sdc 为其显示以下“分区”:

Disk /dev/sdc: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes …
Run Code Online (Sandbox Code Playgroud)

partition hard-disk smartctl

0
推荐指数
1
解决办法
847
查看次数

如何删除 Centos 7 中的目录

我使用 Centos 作为我的服务器操作系统,在我的桌面上有一个名为“john”的目录,我需要通过命令删除它。我怎样才能做到这一点?

linux centos delete

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