如何在从 ArchLinux 磁盘启动后运行某些命令?或者如何在启动前更改 .iso 中的某些设置?

如何在从 ArchLinux 磁盘启动后运行某些命令?或者如何在启动前更改 .iso 中的某些设置?

如何使用传统安装程序安装 Arch Linux,并且只能通过 ssh 访问服务器?这里有一份很好的指南: https://wiki.archlinux.org/index.php/Install_from_SSH

我尝试在我家的 vps 上测试这个:

  1. 使用任何 Linux 可启动 CD 启动 VPS 并登录到远程服务器 (vps)
  2. 获得http://mirrors.kernel.org/archlinux/iso/latest/archlinux-2010.05-netinstall-x86_64.iso
  3. dd if=archlinux-2010.05-netinstall-x86_64.iso of=/dev/sda
  4. 重新启动...我明白了,它可以工作,但没有 ssh 连接......

我需要制作脚本,它将在重启后发送以下命令:

  1. aif -p partial-configure-network(并写入一些关于我的服务器 ip 等的信息)
  2. /etc/rc.d/sshd start (需要启动sshd)
  3. echo "sshd: ALL" >> /etc/hosts.allow (允许我登录服务器,默认情况下拒绝所有)
  4. passwd(默认为空,空密码无法通过 ssh 登录)

我可以编辑 .iso 还是 /dev/sda?也许我需要编写脚本,该脚本将在系统启动后启动并执行这些操作,或者我可以默认设置这些设置,系统将以正确的设置启动(我认为至少在 2. 和 3. 中是可能的)。

谢谢你!

答案1

您可以尝试以下操作:

  • 解压安装 ISO
  • 挂载文件root-image.sqfs

mount -o loop -t squashfs /path/to/root-image.sqfs /mnt/point

现在你应该能够修改启动脚本来rc.d添加你的命令了。确保通过添加标志强制 pacman 无需用户输入即可安装--noconfirm

pacman -Syu
pacman -S openssh --noconfirm
...

之后,您可以重新打包 ISO,并使用它而不是原始 ISO 来远程安装 Arch。

您可能需要先尝试在本地使用 ISO 启动,以确保 SSH 在启动时真正安装。

相关内容