Încerc să depanez un autoinstaller Ubuntu folosind cloud-init și autoinstall. În mod ideal, încerc să-l fac să cripteze și să partiționeze discul principal al sistemului de operare pe un laptop după ce rulează programul de instalare. Totul din următorul fișier funcționează, cu excepția secțiunii Stocare, pe care am copiat-o după ce am rulat programul de instalare cu Stocare ca interactiv.
Iată fișierul de date utilizator pe care l-am creat după ce am examinat câteva resurse diferite:
autoinstalare:
versiunea: 1
refresh-installer: # începe cu un program de instalare actualizat
actualizare: da
canal: stabil # actualizare numai din ramura stabilă ubuntu
interactive-sections: # Instalați grupurile listate aici vor aștepta intrarea utilizatorului
- rețea
- identitate
local: en_US.UTF-8
tastatură:
layout: noi
ssh:
permit-pw: fals
install-server: false
depozitare:
config:
- grub_device: false
id: disk-nvme0n1
Nume: ''
calea: /dev/nvme0n1
conserva: fals
ptable: gpt
serie: KINGSTON SNVS1000G_50026B7784415179
tip: disc
ștergere: superbloc
wwn: eui.0000000000000000026b77844151795
- dispozitiv: disk-nvme0n1
steag: boot
grub_device: adevărat
id: partiție-0
Numărul 1
conserva: fals
marime: 536870912
tip: partiție
ștergere: superbloc
- fstype: fat32
id: format-0
conserva: fals
tip: format
volum: partiție-0
- dispozitiv: disk-nvme0n1
steag: ''
grub_device: false
id: partiție-1
numarul 2
conserva: fals
dimensiune: 1073741824
tip: partiție
ștergere: superbloc
- fstype: ext4
id: format-1
conserva: fals
tip: format
volum: partiție-1
- dispozitiv: disk-nvme0n1
steag: ''
grub_device: false
id: partiție-2
număr: 3
conserva: fals
dimensiune: 998591430656
tip: partiție
ștergere: superbloc
- ID: dm_crypt-0
fișier cheie: /tmp/luks-key-em_r7gfw
conserva: fals
tip: dm_crypt
volum: partiție-2
- dispozitive:
- dm_crypt-0
id: lvm_volgroup-0
nume: ubuntu-vg
conserva: fals
tip: lvm_volgroup
- id: lvm_partition-0
nume: ubuntu-lv
conserva: fals
dimensiune: 107374182400B
tip: lvm_partition
volgroup: lvm_volgroup-0
ștergere: superbloc
- fstype: ext4
id: format-2
conserva: fals
tip: format
volum: lvm_partition-0
- dispozitiv: format-2
id: montura-2
cale: /
tip: montură
- dispozitiv: format-1
id: montura-1
cale: /boot
tip: montură
- dispozitiv: format-0
id: mount-0
calea: /boot/efi
tip: montură
versiunea: 1
apt:
preserve_sources_list: false
primar:
- arcade: [amd64, i386]
uri: http://us.archive.ubuntu.com/ubuntu
- arcade: [implicit]
uri: http://ports.ubuntu.com/ubuntu-ports
conf: | # Configurare APT
APT {
Obține {
Presupune-Da „adevărat”;
Fix-Broken „adevărat”;
};
};
surse:
ignored1: # pentru formatarea yaml. mai jos adaugă drivere grafice ppa
sursa: ppa:graphics-drivers/ppa
clasează:
- nume: slack
clasic: adevărat
canal: stabil
pachete:
- esențial pentru construcție
- ubuntu-desktop
- dkms
# Dependențe de zoom
- libgl1-mesa-glx
- libegl1-mesa
- libxcb-xtest0
- libxcb-xinerama0
# - gaură de vierme pentru un transfer de fișiere criptat ușor de utilizat
- gaură de vierme
- emacs
#- A comentat mediile desktop pentru meniul de selecție viitor prin grub
#- ubuntu-mate-desktop
#- xfce4
#- kde-full
- git
- libreoffice
# pavucontrol pentru bluetooth/pulseaudio
- pavucontrol
#- gnome-session - folosit pentru ubuntu-minimal-desktop
#- gdm3 - ubuntu-minimal-desktop
# Pachete ClamAV
- clamav
- clamtk
#- clamtk-gnome
- clamav-daemon
- clamav-docs
# - Chrome și unele dependențe pentru experiența utilizatorului
- google-chrome-stabil
- chromium-codec-uri-ffmpeg-extra
# Dependențe Bluetooth
- bluez-btsco
- bluez-dbg
- bluez-hcidump
- instrumente bluez
- libbluetooth3-dbg
# Sfârșitul dependențelor Bluetooth
# Aceste pachete sunt pentru adăugarea unui repo care necesită https, în special pentru Sublime Text pe care îl instalăm mai târziu
- dirngr
- gnupg
- apt-transport-https
- certificate ca
- proprietăți-software-comun
- sublim-text
# Terminați https repo/dependențe sublime
# Anulați comentariul pentru nucleul OEM
#- linux-oem-20.04b
package_update: adevărat
package_upgrade: adevărat
comenzi întârziate:
# Transferați imaginea de fundal RHR de pe USB la fundalurile utilizatorului
# Trecerea de la networked la NetworkManager
# mutați configurația existentă în afara drumului
- găsiți /target/etc/netplan/ -name "*.yaml" -exec sh -c 'mv "$1" "$1-orig"' _ {} \;
# Creați un nou netplan și activați-l
- |
pisica <<EOF | sudo tee /target/etc/netplan/01-netcfg.yaml
reţea:
versiunea: 2
redator: NetworkManager
EOF
- curtin in-target --target /target netplan generate
- curtin in-target --target /target netplan apply
- curtin in-target --target /target systemctl enable NetworkManager.service
#- cp /target/cdrom/extras/desktop-wp.png /target/usr/share/backgrounds/
user-data: # Comenzile de aici rulează la prima pornire (nu pot fi interactive)
runcmd: # Scriptul de mai jos va fi aruncat în /var/lib/cloud/instance/scripts/runcmd.sh și va fi executat la prima pornire
- [apt-get, update]
- [ apt-get, dist-upgrade, --yes ]
# Instalați Google Chrome din configurația oficială a depozitului mai devreme
- [ apt, install, --assume-yes, google-chrome-stable ]
# Faceți un director pentru post-instalare suplimentare
- [ mkdir, -p, /run/post-install/ ]
# Descărcați și instalați Zoom
- [ wget, "https://zoom.us/client/latest/zoom_amd64.deb", -O, /run/post-install/zoom_amd64.deb]
- [ dpkg, -i, /run/post-install/zoom_amd64.deb ]
- [ apt, --fix-broken, --assume-yes, install ]
# Eliminați pachetele de care nu avem nevoie
- apt-get --assume-yes purge firefox thunderbird byobu
- apt autoremove --presupun-da
#- [sudo, -u, ubuntu, dbus-launch, gsettings, set, org.gnome.desktop.background, picture-uri, file:///usr/share/backgrounds/desktop-wp.png]
- actualizare apt
- apt install --assume-yes sublime-text
# Adăugați text cromat și sublim la favorite (în prezent nu funcționează)
- gsettings set org.gnome.shell favorite-apps „$(gsettings get org.gnome.shell favorite-apps | sed s/.$//), „google-chrome.desktop”, „sublime_text.desktop”]”
- gsettings set org.gnome.shell.extensions.dash-to-dock clic-acțiune „minimizați”
Am încercat să comentez secțiunea „serial” în Depozitare pentru a vedea dacă asta ar face o schimbare, dar chiar și copierea ieșirii din curtin-install-cfg.yaml pentru Depozitare secțiunea nu pare să funcționeze.
Am găsit acest raport de eroare care pare să implice ceva mai simplu poate veni în viitor, dar nu este încă aici: https://bugs.launchpad.net/subiquity/+bug/1913986
S-a făcut referire la următoarele pentru a construi acest lucru:
Cheile PGP pentru Chrome și Sublime-Text au fost omise din cauza lungimii, dar funcționează. Pur și simplu nu pot obține configurarea stocării!
Orice indrumare este apreciata!