- 
      
 - 
        
Save zhouqt/00c20af96b808752ceaa95a4ee0b76ea to your computer and use it in GitHub Desktop.  
| #cloud-config | |
| autoinstall: | |
| version: 1 | |
| early-commands: | |
| - snap set system proxy.http="http://192.168.122.1:12345" | |
| - snap set system proxy.https="http://192.168.122.1:12345" | |
| locale: en_US | |
| keyboard: | |
| layout: en | |
| variant: us | |
| network: | |
| network: | |
| version: 2 | |
| ethernets: | |
| enp1s0: | |
| dhcp4: yes | |
| apt: | |
| # even set to no/false, geoip lookup still happens | |
| geoip: false | |
| primary: | |
| - arches: [default] | |
| uri: "http://mirrors.aliyun.com/ubuntu/" | |
| storage: | |
| layout: | |
| name: lvm | |
| refresh-installer: | |
| channel: edge | |
| update: yes | |
| identity: | |
| hostname: server | |
| # User creation doesn't work on ubuntu 20.04 cdrom, when using seed iso/disk datasource, but nocloud-net works. | |
| # https://bugs.launchpad.net/ubuntu/+source/subiquity/+bug/1879485 | |
| username: test1 | |
| password: "$6$An3m6PIeRT.rNozT$kk8h3G8NOtllb18pq0iEa5a/T.6CEkR.Ta6uINh66HcS7YebUMkLVXaY5fGov1aWWt0ZFgyY.6fqrtNBDuEJt1" | |
| ssh: | |
| install-server: yes | |
| allow-pw: yes | |
| late-commands: | |
| # From https://stackoverflow.com/a/61844775 | |
| - useradd -m -R /target -u 1001 test1 | |
| - echo "test1:ubuntu" | chroot /target /usr/sbin/chpasswd | |
| - usermod -R /target -aG sudo test1 | |
| # Pause for debug. | |
| - mkfifo /tmp/fifo1; read < /tmp/fifo1; pwd | |
| user-data: | |
| disable_root: false | |
| # Below setting doesn't work now. | |
| users: | |
| - default | |
| - name: test1 | |
| passwd: "$6$An3m6PIeRT.rNozT$kk8h3G8NOtllb18pq0iEa5a/T.6CEkR.Ta6uINh66HcS7YebUMkLVXaY5fGov1aWWt0ZFgyY.6fqrtNBDuEJt1" | |
| lock_passwd: false | |
| ssh_import_id: gh:zhouqt | |
| ssh_pwauth: True | |
| chpasswd: { expire: False } | |
| sudo: ALL=(ALL) NOPASSWD:ALL | |
| groups: users, admin | 
下面是我整理的自动化安装Ubuntu22.04 LTS 桌面版本,我希望可以帮助到有需要的人:
The following is the automated installation of Ubuntu22.04 LTS Desktop version that I compiled. I hope it can help those in need:
####################################################################################################
#cloud-config
autoinstall:
refresh-installer:
update: yes
apt:
disable_components: []
fallback: abort
geoip: false
mirror-selection:
primary:
- country-mirror
- arches: &id001
- amd64
- i386
uri: http://172.17.80.238/ubuntu/
- arches: &id002
- arm64
uri: http://ports.ubuntu.com/ubuntu-ports
preserve_sources_list: false
security:
- arches: id001
uri: http://172.17.80.238/ubuntu/
- arches: id002
uri: http://ports.ubuntu.com/ubuntu-ports
codecs:
install: false
drivers:
install: true
refresh-installer:
channel: edge
update: yes
storage:
layout:
name: lvm
# password: secret
sizing-policy: all
user-data:
disable_root: false
chpasswd:
expire: false
list:
- root:$6$jMIpAD1dGkm6sqfJ$HF6uWZp3lbYMjyI3jWUE1j51R9sqCkX8tjrp3xut2AWs3r2Ou9JGyZu1Xr7D3VF3B4X2gYCfjQatKoxAbDGSu0
identity:
realname: ''
hostname: ubuntu
username: ubuntu
# password is xxxxxx
password: '$6$jMIpAD1dGkm6sqfJ$HF6uWZp3lbYMjyI3jWUE1j51R9sqCkX8tjrp3xut2AWs3r2Ou9JGyZu1Xr7D3VF3B4X2gYCfjQatKoxAbDGSu0'
kernel:
package: linux-generic-hwe-22.04
keyboard:
layout: us
toggle: null
variant: ''
locale: en_US.UTF-8
network:
version: 2
ethernets:
ens33:
match:
name: "en"
dhcp4: true
eth1:
match:
name: "eth"
dhcp4: true
oem:
install: auto
snaps:
- channel: stable
classic: true
name: powershell
source:
id: ubuntu-server
search_drivers: true
ssh:
allow-pw: true
authorized-keys: []
install-server: true
updates: security
timezone: Asia/Shanghai
late-commands:- curtin in-target --target /target -- apt install -y ubuntu-desktop
 - curtin in-target --target=/target -- apt install -y vanilla-gnome-desktop vanilla-gnome-default-settings plymouth-theme-ubuntu-logo grub-gfxpayload-lists
 - curtin in-target --target /target -- systemctl set-default graphical.target
 - curtin in-target --target /target -- apt update -y
 - curtin in-target --target /target -- apt upgrade -y
 - curtin in-target --target /target -- apt autoremove -y
 - curtin in-target -- update-grub
 - reboot
version: 1
################################################################################################### 
 
Set hostname in
user-data:instead.