【长文警告!】【教程】DD 官网 Debian 11云镜像到小鸡

86次阅读

共计 3438 个字符,预计需要花费 9 分钟才能阅读完成。

以 DHCP 获取 IPV4/IPV6 地址以及无后台 VNC 屏幕举例,支持 bios/efi 引导的小鸡,包括不限于:aws、az、gcp、龟壳、阿里云、腾讯云、等。

警告!此操作硬盘数据会全部丢失!
警告!此操作硬盘数据会全部丢失!
警告!此操作硬盘数据会全部丢失!

以实际硬盘是 vda 举例 可通过 lsblk 查看实际硬盘

1、首先给小鸡 DD 个 OpenWrt 内存系统

2、等待 1- 3 分钟重启进入 OpenWrt 内存系统
ssh 地址:你小鸡 IPV4 or IPV6 地址
ssh 账号:root
ssh 密码:hostloc.com

3、DD Debian 官方最新系统到小鸡硬盘

3.1、DD 原始 raw 镜像(2G 不利于网络传输 他不需要解压 CPU 占用很小)

3.2、DD 压缩后的 raw 镜像 tar.xz 格式(不到 200M 网络传输快 CPU 占用相对原始 raw 镜像较高)

4、DD 完之后修复硬盘、重读分区并扩容

4.1、修复硬盘
parted -l

4.1、获取分区表
partprobe

4.2、查看实际硬盘名称
lsblk

4.3、扩容 Debian 11 系统分区到最大
parted -s /dev/vda resizepart 1 100%

4.4、扩容 Debian 11 系统分区的文件系统到最大
e2fsck -f /dev/vda1
resize2fs /dev/vda1

5、修改 ssh 密码、密钥,并允许 ssh 以密钥方式登录

5.1、挂载 Debian 系统分区到 /mnt 目录 并查看硬盘扩容是否成功
mount /dev/vda1 /mnt
df -h

5.2、ssh 密码生成
[email protected]:~# openssl passwd -1 hostloc.com
$1$DiGZGr2m$Ht8S5tfK9oXxLwp6LjPUT0

5.3、修改刚才 Debian 的 ssh 密码
sed -i ‘s/root:*/root:$1$DiGZGr2m$Ht8S5tfK9oXxLwp6LjPUT0/g’ /mnt/etc/shadow

5.4、添加 ssh 登录公钥
rm -rf /mnt/root/.ssh/
mkdir /mnt/root/.ssh/
echo “ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxbMN/h4PR+XVhpdUze/eEwxf5vw1aC0PwVdIwqsYq78A3F0wvwAUN2DuPiDhArfN5HzN6ye1TPCaXhKYZM1wGHrWjFM64XuDT0sDuFVp67rLc9McJ4YAXChNQ51Y8LBss6nHiBDjDl6AobmQ67S2GTODiG3gILdiekluXS+FfaQNSPdfaHZIxTPQc/SuqyZGpSVyW9pSkVXVZn7/EO66+f1jULMt7EjFI8fBQuZlu9oCvodQyz6JMpIYRehZr8XfPaTX84XU9p3PbG9iulMh7yW1okEvGapTnuNTouZDLASAI8BvDXrw2wJiXeQ06dmsHXAfQwf3hzRUc0vFUErC3w== rsa 2048-011123” > /mnt/root/.ssh/authorized_keys
chmod 700 /mnt/root/.ssh/
chmod 600 /mnt/root/.ssh/authorized_keys

5.5、只允许 root 以密钥方式登录 ssh
sed -i ‘s/#PermitRootLogin/PermitRootLogin/g’ /mnt/etc/ssh/sshd_config

6、在开机脚本添加 ssh 主机密钥,非常重要!(开机连上 ssh 之后就可以删除了,首次需要而已。)
cat <<EOF> /mnt/etc/rc.local
#!/bin/bash
/usr/bin/ssh-keygen -A
systemctl restart ssh
EOF

6.1、给开机脚本添加执行权限 否则无法运行
chmod +x /mnt/etc/rc.local

7、禁用 cloud-init 这就是母鸡给小鸡下发配置的后门
touch /mnt/etc/cloud/cloud-init.disabled

8、重启进入新系统……
reboot

补充:

这次的 OpenWrt 内存系统镜像 使用 Grub 引导 vmlinuz 内核 加载 initrd.gz 进入 OpenWrt 内存系统

以下帖子我不再更新 mfslinux 镜像 那个帖子的引导方式是 Grub 引导 iso 镜像

网友回复:

注册 不只是理论上可行,实操也是可行的,而且一个脚本就完成系统重装了,非常便捷,你可以试试 cat << EOF >/boot/Reinstall.sh #!/bin/bash rm -f /boot/initrd88.img /boot/vmlinuz88 wget -P /boot/ http://mirror.nsc.liu.se/centos-store/7.2.1511/os/x86_64/images/pxeboot/initrd.img -O /boot/initrd88.img wget -P /boot/ http://mirror.nsc.liu.se/centos-store/7.2.1511/os/x86_64/images/pxeboot/vmlinuz -O /boot/vmlinuz88 cat << EOFEOF>/etc/grub.d/40_custom #!/bin/sh exec tail -n +3 \$0 # This file provides an easy way to add custom menu entries.  Simply type the # menu entries you want to add after this comment.  Be careful not to change # the ‘exec tail’ line above. menuentry “VNCInstallCentos8” {set root=’hd0,msdos1′     linux16 /boot/vmlinuz88 inst.vnc inst.vncpassword=hostloc.com inst.repo=http://mirror.nsc.liu.se/centos-store/7.2.1511/os/x86_64/ inst.headless ip=dhcp nameserver=1.1.1.1 inst.lang=en_US inst.keymap=us selinux=0     initrd16 /boot/initrd88.img} EOFEOF grub2-mkconfig -o /boot/grub2/grub.cfg grub2-reboot VNCInstallCentos8 reboot EOF bash /boot/Reinstall.sh

KDE 支持大佬技术贴,帮顶

maxkvm 大佬, 你这咋弄嫩复杂呢, 我见人家一键 DD 弄里简单里很.

三丫的 一键脚本就像,给鱼吃,很多人想知道怎么才能抓到鱼。以上内容用 shell 脚本也可以写成一键脚本。

【菠萝云】 最少需要多大的内存才能这样搞?

KDE 512 足够了,OpenWrt 内存系统镜像 25M 左右,我估计 256 也能运行。DD 到 U 盘还能做个 Linux 救援系统

maxkvm 其实先 dd 成 openwrt 这一步可以省略,有没有试过系统初始化直接加载 vmlinuz initrd.img 这两个文件来安装新系统?

KDE 理论上可行的,找到 grub 配置文件 写个启动菜单 然后排第一 重新引导启动进入 OpenWrt 内存系统 但是对于重装系统来说 这样太麻烦了 直接把 OpenWrt 内存系统 DD 到硬盘 怎么快怎么来了

maxkvm 技术贴 支持

注册 支持技术大佬的技术贴

注册 技术贴支持一下,感谢大佬分享

zxxx 我选择 netboot.xyz …

Vast 不错的技术帖,正需要,多谢。

dvbhack 我选择 netboot

linearn 支持大佬技术帖

rem 感谢大佬分享技术贴。

koyui 支持大佬技术贴,Mark

惜为伊人醉 感谢大佬分享,谢谢您。

shier 这个就是一键脚本了?

注册 好东西,这个小镜像 DD 到星尘上可以启动,我感觉 dd windows 又有戏了。

注册 为啥不能直接 dd 官网镜像呢

流星 好帖帮顶字数补丁

spr1ng 直接 DD 太大的镜像到硬盘会出错。所以我们要先在小鸡 DD 一个小的内存系统,重启进入内存系统,才能对硬盘进行 DD,还能挂载硬盘改配置。

gajiodgaj 星辰不能 dhcp 获取 IP 地址,需要在后台 vnc 添加 IP 地址网关才能上网……

正文完
 0