使用服务器源自动安装 Ubuntu 22.04 桌面?

使用服务器源自动安装 Ubuntu 22.04 桌面?

我正在尝试创建一个自动安装 iso,并将其安装在 Proxmox 中。在花了很长时间搜索如何自动安装桌面版本后,我终于放弃了……(如果有人有想法,我正在等待)

我发现仅使用服务器版本就可以做到这一点,因此我第一次按照本教程进行操作:https://www.pugetsystems.com/labs/hp...toinstall-iso/

这是可行的,并且我可以通过与 Ubuntu 服务器交互来自动安装,但现在我正在尝试自定义 yml 文件来设置桌面环境、完整语言等。

这是我的 yml 文件:

#cloud-config
autoinstall:
  version: 1
  storage:
    layout:
      name: lvm
      match:
        size: largest  
  locale: fr_FR.UTF-8
  keyboard:
    layout: fr
  #network:
  #  version: 2

  #  renderer: NetworkManager # I've tried this for network problem, but there is an installation error with these lines.
  identity:
    username: loko
    hostname: ubuntu
    password: ...
  ssh:
    allow-pw: true
    install-server: true
  apt:
    primary:
      - arches: [default]
        uri: http://fr.archive.ubuntu.com/ubuntu/
  packages: 
    - curl
    - net-tools
    - ubuntu-desktop
    - build-essential
    - qemu-guest-agent
    - hunspell-fr-classical
    - language-pack-fr-base
    - libreoffice-help-common
    - language-pack-gnome-fr-base
  package_update: true
  package_upgrade: true
  late-commands:
   # tried this but not work :[COLOR=var(--black-800)][/COLOR]- curtin in-target -- [COLOR=var(--black-800)]apt-get install $(check-language-support)[/COLOR]
    - sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT=""/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/' /target/etc/default/grub
    #- /usr/sbin/update-grub
    - /sbin/poweroff
  #late-commands:
    #- curtin in-target -- sed -i '/GRUB_CMDLINE_LINUX_DEFAULT=/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/' /etc/default/grub
    #- curtin in-target -- update-grub
    #- curtin in-target -- wget -qO /root/preseed.sh http://10.0.0.1/proxmox/includes/preseed.sh \
    #- curtin in-target -- chmod a+x /root/preseed.sh \
    #- curtin in-target -- /bin/bash /root/preseed.sh \
    #- curtin in-target -- rm -f /root/preseed.sh

我有这些问题:

  • 我无法在启动时运行update-grub设置quiet splash=> 退出代码错误无法执行/cow这样的事情。

  • 我的登录页面不是法语的(我们可以看到“未列出”的文字)。

    在此处输入图片描述

  • 我可以添加哪个命令以使 Ubuntu 在启动时自动登录?

  • 我没有用于启动连接的网络管理器?不过我的 DHCP 可以正常工作,而且我有一个 IP。

    在此处输入图片描述

  • 我该如何update-grub添加quiet splash

  • 如何在第一次登录时跳过/回答无需交互的问题,并在第一次启动时关闭它?

    在此处输入图片描述

答案1

当我尝试将控制台内核参数添加到我的 qemu/kvm VM 时,我偶然发现了同样的问题。您面临的问题是您的配置在安装程序环境中运行sed和命令。update-grub

Autoinstall 使用底层来安装 Ubuntu 操作系统。您最初注释掉的命令是正确的,但您还需要指定目标,如果 Ubuntu 安装程序位于/target目标环境中运行命令,您需要在命令前加上前缀,如下所示:

  late-commands:
    - curtin in-target --target=/target -- sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT=""/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/' /etc/default/grub
    - curtin in-target --target=/target -- sudo update-grub

相关内容