如何从 Linux(特别是 Ubuntu)的命令行删除设备上的所有分区?我尝试查看 fdisk,但它显示了一个交互式提示。我正在寻找一个命令,我可以提供一个设备路径(例如 /dev/sda),它会删除 ext4、linux-swap 以及它找到的任何其他分区。本质上,这与我打开 GParted 并手动选择和删除所有分区是一样的。这看起来相当简单,但不幸的是,我无法通过谷歌找到任何东西。
我有一个脚本可以动态创建 Amazon EC2 实例并将它们的 ssh 密钥添加到我的 ~/.ssh/known_hosts。但是,每当我需要通过终止和重新创建来刷新实例时,我都会收到令人讨厌的警告消息,例如:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
<fingerprint>.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Offending ECDSA …Run Code Online (Sandbox Code Playgroud) 我有一个虚拟机,最近它的磁盘映像从 20GB 增加到 50GB,并fdisk -l验证 VM 可以看到这个新大小。现在我需要调整我的根 LVM 分区的大小以填充额外的 30GB。
我找到了 几篇 关于调整 LVM 大小的文章,但涉及调整根分区大小的少数文章都声称您需要从 LiveCD 启动。有没有办法在不关闭服务器的情况下做到这一点?服务器很关键,所以我想尽量减少停机时间。
编辑:输出fdisk -l:
[root@fedora-host ~]# sudo fdisk -l
Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00097c90
Device Boot …Run Code Online (Sandbox Code Playgroud) 您如何释放未被客户端应用程序正确关闭的 PostgreSQL 连接?
我有一个数据挖掘应用程序,可以启动多个进程,所有进程都连接到本地 PostgreSQL 9.1 数据库以检索数据。它运行了几个小时,但随后因错误而死:
FATAL: remaining connection slots are reserved for non-replication superuser connections
Run Code Online (Sandbox Code Playgroud)
对此进行研究表明,这很可能是由于应用程序未正确关闭其连接造成的。然而,即使应用程序被杀死,这些连接也永远不会被释放。PostgreSQL 是否会自动关闭连接,是否存在某种超时?
我还尝试将 Postgres 的 max_connections 从 100 增加到 200,但是重新启动给了我错误:
2014-02-23 10:51:15 EST FATAL: could not create shared memory segment: Invalid argument
2014-02-23 10:51:15 EST DETAIL: Failed system call was shmget(key=5432001, size=36954112, 03600).
2014-02-23 10:51:15 EST HINT: This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure …Run Code Online (Sandbox Code Playgroud) 如何减少或缩小 KVM 虚拟机磁盘的大小?
我分配了一个 500GB 的虚拟磁盘(存储在 /var/lib/libvirt/images/vm1.img),我发现这有点矫枉过正,所以现在我想释放一些空间用于其他虚拟磁盘机器。关于如何增加图像存储空间似乎有很多答案,而不是减少它。我找到了virt-resize工具,但它似乎只适用于原始磁盘分区,而不适用于磁盘映像。
编辑:我使用的是带有 Ext4 格式分区的 LVM。
编辑:显示我的 LVM 分区布局的 GParted 屏幕截图。我需要做更多的事情,然后只是调整文件系统的大小。我知道没有安全的方法来调整 LVM 的大小。并且请不要告诉我使用pvresize. 尽管它的名字,它不支持调整 LVM 的大小。

我确实尝试过sudo pvresize /dev/vda5,但它只是说physical volume "/dev/vda5" changed但实际上并没有减小尺寸。
我尝试开始parted手动设置分区大小(非常危险),但这样做print all只会给我错误“/dev/sr0 无法识别的磁盘标签”。
编辑:通过遵循这些说明,我能够成功缩小我的逻辑和物理卷(尽管我必须记住在某些命令之前和之后激活和停用 lvm,这些指令省略了。
现在 GParted 显示 250G 的未分配可用空间。如何从 KVM 磁盘映像中删除它并将其返回给底层管理程序?
我在创建 MySQL RDS 数据库时没有选择 VPC,所以它在自动生成的“默认”VPC 中创建了它。我现在无法将它添加到我的任何预定义安全组,或从我现有 VPC 中的实例访问它。显而易见的解决方案是将其重新定位到正确的 VPC,但似乎没有任何选项可以在“修改数据库实例”屏幕上编辑 VPC。有什么办法可以选择不同的 VPC,还是我唯一的选择是删除数据库并在正确的 VPC 中重新创建它?
您如何在标准 22 以外的其他端口上运行 SSH 守护程序?
我在云虚拟机上的 SSH 配置搞砸了一些事情,所以现在 SSH 总是提示我输入密码。我早期的修复尝试将我锁定,迫使我卸载磁盘,将其安装在工作 VM 中,并将文件修复到已知的工作状态。但是,它仍然强迫我输入密码。
我想更新/etc/ssh/sshd_config并重新启动主 ssh 守护进程,我可以对其进行测试,同时还有另一个运行,使用旧配置,如果第一个将我锁定,我可以使用它来恢复配置。我将如何做到这一点,特别是在 Ubuntu 上?
我遇到了一个奇怪的问题,Fedora Linux VPS 服务器报告 100% CPU,实际上变得无法使用,但我不知道为什么,因为高负载阻止我通过 SSH 进入它以查看问题所在。
我如何确定或配置 SSH 的优先级,以便即使某些进程正在消耗所有其他 CPU,我仍然能够连接?
在 Linux 服务器上,如何找到所有当前 SSH 连接的列表,或断开特定的 SSH 连接?
我有一个运行虚拟机管理程序的物理机器的小型内部网络,它依次运行多个 KVM Ubuntu 虚拟机。我将如何设置内部动态 DNS 服务器,以便当我运行脚本来创建新虚拟机时,该 VM 可以自动在 DNS 服务器中注册自己?
Bind似乎是 Linux 的标准 DNS 服务器,但它似乎是为更“静态”的 DNS 模型而设计的。动态更新这将需要一个复杂的脚本,该脚本必须通过 SSH 连接到 DNS 服务器,编辑配置文件,然后重新启动服务器。这似乎不是一个非常优雅的解决方案。有更好的选择吗?
我看到了一个类似的问题,尽管他们要求为亚马逊上的公共设置提供解决方案。我的服务器是完全私有的,我不想依赖外部 VM 主机或动态 DNS 提供商。
linux ×6
ssh ×4
ubuntu ×3
fedora ×2
amazon-ec2 ×1
amazon-rds ×1
dynamic-dns ×1
fdisk ×1
gparted ×1
lvm ×1
mysql ×1
partition ×1
postgresql ×1
rds ×1