标签 debian 下的文章

在 Oracle Cloud 甲骨文云里安装 Debian bookworm

步骤:

  1. 虚拟机选择的是Ubuntu 20系统
  2. 在Ubuntu系统里安装 refind
  3. 下载debian的网络安装包,保存到/boot/efi/debian-installer/amd64/linux 或 initrd.gz
  4. 如需要自动或启用远程安装,请修改 initrd.gz 文件内容
  5. 修改 /boot/efi/EFI/refind/refind.cfg 的配置内容,启用 textonly 且 增加debian的安装项,如:
    menuentry Debian-Installer {
    loader /debian-installer/amd64/linux
    initrd /debian-installer/amd64/initrd.gz
    options "auto=true priority=critical mirror/http/hostname=deb.debian.org"
    }
  6. 保存后,重启机子,在甲骨文机子的控制台,可以看到rEFInd的菜单,开始安装
  7. 如果需要在甲骨文机子的控制台看到安装过程,请增加如 DEBIAN_FRONTEND=text console=tty1 console=ttyS0 的参数,因为是需要在串口设备中看到输出内容

参考:

在 debian installer 里用 qemu kvm 测试硬盘上的系统运行

场景:远程服务器上的系统不能成功联网或启动,且没有ipmi可远程诊断。
尝试:如果主机商有提供急救系统,可用qemu来启动硬盘上的系统,在vnc里查看系统的运行情况。

例子:

  1. sysresccd 5.3.2的急救系统,无kvm模块。使用了amd64位的内核,且程序是32位的,无法方便地编译出kvm模块使用
  2. 可先安装kexec-tools,然后下载debian installer的网络安装文件,修改initrd,增加自动应答文件。通过kexec来启动debian远程安装,如 kexec --command-line="auto=true priority=critical mirror/http/hostname=deb.debian.org" --initrd=initrd.gz linux
  3. 通过ssh远程连接到debian installer,下载debian live中的 /lib/modules/5.10.0-8-amd64/kernel/arch/x86/kvm 和 /lib/modules/5.10.0-8-amd64/kernel/virt 到相应的目录
  4. depmod -a # 重新扫描模块的依赖
  5. modprobe kvm_intel # 启用kvm模块
  6. wget -qO- /tmp http://www.danpros.com/content/files/vkvm.tar.gz | tar xvz -C /tmp # 下载别人打包好的qemu文件
  7. /tmp/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::3389-:3389 -m 2048M -localtime -enable-kvm -cpu host,+nx -M pc -smp 2 -vga std -usbdevice tablet -k en-us -hda /dev/sda -boot once=c -vnc :1 # 尝试启动硬盘上的Windows系统。当然,这里如端口转发是不生效的

参考:

BusyBox v1.30.1 (Debian 1:1.30.1-7) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/tmp # ls -l /dev/sd*
brw-------    1 root     root        8,   0 Aug 28 08:26 /dev/sda
brw-------    1 root     root        8,   1 Aug 28 08:26 /dev/sda1
brw-------    1 root     root        8,   2 Aug 28 08:26 /dev/sda2
brw-------    1 root     root        8,   3 Aug 28 08:26 /dev/sda3
brw-------    1 root     root        8,   4 Aug 28 08:26 /dev/sda4
/tmp # /tmp/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::3389-:22 -m 2048M -localtime -enable-kvm -cpu host,+nx -M pc -smp 2 -vga std -usbdev
ice tablet -k en-us -hda /dev/sda -boot once=c -vnc :1

hyper-v - uefi - gpt - 虚拟机手动安装debian 10系统 - hyonix

问题:hyonix主机商仅提供Windows系统(UEFI + GPT),不可自定义镜像启动,无急救系统。如果想用Linux系统,怎么办呢?

步骤:

  1. 在当前Windows系统里,运行 msinfo32 ,先确认当前虚拟机的启动方式,如果是 UEFI 和 且启用了 Secure Boot
  2. 向主机商发工单,请求为虚拟机关闭 Secure Boot
  3. 在Windows系统里,安装 rEFInd
  4. 重启Windows,在虚拟机控制台里查看机子启动的变化,是否会出现 rEFInd 的界面
  5. 如果 rEFInd 启动有效,回到Windows系统里,下载 debian 10 的网络安装包
  6. 将 netboot.tar.gz 解压到的文件,放到ESP分区的相应位置里
  7. 重启机子,在 rEFInd 的菜单里选择相应的启动项,如 bootnetx64.efi
  8. 如果接着出现grub的提示符,那再加载相应的 linux 和 initrd 文件,启动
  9. 如果顺利,就可以看到debian的安装界面了

参考:

proxmox - debian 10 - 重启系统后无法连接 - auto - allow-hotplug

问题:在debian 10系统上安装proxmox,在创建linux bridge网络后重启机子,机子失联。

尝试:在proxmox管理界面创建linux bridge后,会自动更改/etc/network/interface的配置内容,如删除原网卡的allow-hotplug。如果这时没有将相应的网卡设置为自动启动autostart,那么重启机子后,机子会断网。

解决:将相应的网卡设置为自动启动(autostart)。

-# The loopback network interface
 auto lo
 iface lo inet loopback
 
-# The primary network interface
-allow-hotplug eno1
 iface eno1 inet static

proxmox-network-1.png

参考:

在sysresccd急救系统里通过netboot来安装debian 10

如主机商有提供system rescue cd的急救系统,可通过此来安装debian 10。

1.echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 # 如不想使用IPv6网络,可先禁用

2.emaint -a sync # 急救系统是基于gentoo的,先同步
sysresccd-kexec-1.png

3.emerge kexec-tools # 安装内核切换工具
sysresccd-kexec-2.png

4.wget https://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64/linux # 下载debian10的网络安装文件linux

5.wget https://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64/initrd.gz # 下载debian10的网络安装文件initrd.gz

6.wget https://github.com/fincham/kexec-remote-debian-install/raw/master/build.py # 下载脚本,用于修改initrd.gz,添加 preseed.cfg 自动配置文件
sysresccd-kexec-3.png

7.chmod +x build.py # 添加执行权限

8.python2 ./build.py initrd.gz enp0s20f0 144.172.126.32 255.255.255.0 144.172.126.1 8.8.8.8 # 假如网卡名是 enp0s20f0,静态IP是144.172.126.32,网关是144.172.126.1,会自动生成preseed的配置内容,重新打包 initrd.gz
sysresccd-kexec-4.png

9.kexec --command-line="auto=true priority=critical mirror/http/hostname=deb.debian.org" --initrd=initrd.gz linux # 切换到debian的网络安装
sysresccd-kexec-5.png

10.几分钟可ping通IP后,就可以通过ssh连接到安装控制台了。如不需要桌面环境,请记得选择“专家模式"的安装向导

如果不确定网卡的名称,可运行以下命令来获取:

source <(udevadm test /sys/class/net/eth0 2>/dev/null | grep ID_NET_NAME); for name in "$ID_NET_NAME_ONBOARD" "$ID_NET_NAME_SLOT" "$ID_NET_NAME_PATH" "$ID_NET_NAME_MAC" ; do [[ -n $name ]] || continue; echo "$name"; break; done

参考: