ubuntu server制作系统镜像自动安装-附加自定义安装包
  Les35on09QCM 2023年11月02日 203 0

ubuntu server制作系统镜像自动安装-附加自定义安装包

制作自定义镜像包使用工具:UltraISO软碟通

系统镜像:ubuntu-20.04.6-live-server-amd64-2.iso、ubuntu-22.04.2-live-server-amd64.iso

具体制作方法参考:

Ubuntu server版本无人值守安装自动安装

Ubuntu 自动安装修改的文件下载:

链接:https://pan.baidu.com/s/1j6c39x7TL9fpH9uxDhOhyQ?pwd=3d4b

打开软碟通挂载原版ISO,然后将user-data和meta-data添加到ISO的根目录,txt.cfg添加并覆盖isolinux/txt.cfg,grub.cfg添加并覆盖/boot/grub/grub.cfg。Ubuntu 20.04有txt.cfg(传统模式启动)、grub.cfg(UEFI模式启动)两个文件,Ubuntu 22.04只有grub.cfg一个文件控制传统和UEFI模式启动。cfg文件修改的内容为开机自动从cdrom引导安装系统,并取消fsck过程。

Ubuntu 20.04 txt.cfg:

label live

 menu label ^Install Ubuntu Server

 kernel /casper/vmlinuz

 append   initrd=/casper/initrd fsck.mode=skip quiet  autoinstall ds=nocloud;s=/cdrom/ ---

grub.cfg:

menuentry "Install Ubuntu Server" {

set gfxpayload=keep

linux /casper/vmlinuz quiet fsck.mode=skip autoinstall ds='nocloud;s=/cdrom/' ---

initrd /casper/initrd

}

Ubuntu 22.04 grub.cfg:

menuentry "Try or Install Ubuntu Server" {

set gfxpayload=keep

linux /casper/vmlinuz fsck.mode=skip autoinstall ds='nocloud;s=/cdrom/' ---

initrd /casper/initrd

}

附加自定义安装包方法:

提前在一台Ubuntu虚拟机中使用apt install -d *.deb命令将安装包下载至/var/cache/apt/archives下,需要该虚拟机未安装目标软件包。

比如要按照net-tools、sysstat、gcc、make等

#apt install -d net-tools sysstat gcc make

将下载的deb包放至ISO镜像根下linshi目录

ubuntu server制作系统镜像自动安装-附加自定义安装包_Ubuntu

在user-data文本文件中添加如下内容使系统安装成功后执行安装命令

  late-commands:

  - "lvextend -l +100%FREE -r /dev/ubuntu-vg/ubuntu-lv"

  - "sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /target/etc/ssh/sshd_config"

  - "cp -r /cdrom/linshi /target/root"

  - echo "@reboot sleep 60 && /usr/bin/sh /root/linshi.sh" > /target/var/spool/cron/crontabs/root

  - 'chmod 600 /target/var/spool/cron/crontabs/root'

  - 'chown root:crontab /target/var/spool/cron/crontabs/root'

  - 'echo "#!/bin/bash" > /target/root/linshi.sh'

  - echo "> /etc/apt/sources.list" >> /target/root/linshi.sh

  - 'echo "apt-get install -y /root/linshi/*" >> /target/root/linshi.sh'

  - 'echo "crontab -r" >> /target/root/linshi.sh'

网盘中的user-data文件关于分区,我使用的是自动LVM分区,传统模式及UEFI模式安装均可以。如想要自定义分区,可取消注释修改测试

#  storage: //使用自动分区,legacy及uefi都可以安装

#    config:

#    - {ptable: gpt, path: /dev/sda, wipe: superblock, preserve: false, name: '', grub_device: false,

#      type: disk, id: disk-sda}

#    - {device: disk-sda, size: 536870912, wipe: superblock, flag: boot, number: 1,

#      preserve: false, grub_device: true, type: partition, id: partition-0}

#    - {fstype: fat32, volume: partition-0, preserve: false, type: format, id: format-0}

#    - {device: disk-sda, size: 1073741824, wipe: superblock, flag: '', number: 2,

#      preserve: false, grub_device: false, type: partition, id: partition-1}

#    - {fstype: ext4, volume: partition-1, preserve: false, type: format, id: format-1}

#    - {device: disk-sda, size: -1, wipe: superblock, flag: '', number: 3,

#      preserve: false, grub_device: false, type: partition, id: partition-2}

#    - name: ubuntu-vg

#      devices: [partition-2]

#      preserve: false

#      type: lvm_volgroup

#      id: lvm_volgroup-0

#    - {name: ubuntu-lv, volgroup: lvm_volgroup-0, size: -1, wipe: superblock,

#      preserve: false, type: lvm_partition, id: lvm_partition-0}

#    - {fstype: ext4, volume: lvm_partition-0, preserve: false, type: format, id: format-2}

#    - {path: /, device: format-2, type: mount, id: mount-2}

#    - {path: /boot, device: format-1, type: mount, id: mount-1}

#    - {path: /boot/efi, device: format-0, type: mount, id: mount-0}

基本上就是上面的关键点了,自动安装过程需要多测试排错。





【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  jnZtF7Co41Wg   2023年11月19日   23   0   0 ubuntuApachecentos
  P3nxyT0LRuwj   2023年11月19日   31   0   0 ubuntucentos
  mjtHZIki74si   2023年12月06日   32   0   0 ubuntubash