Hier wird die Vorgehensweise beschrieben, wie man den Standard Ubuntu Crostini Container setzt. Vorab sei gesagt, dass Google im Moment selbst den Wechsel auf einen Ubuntu Container plant, da man in Zukunft Steam über diesen anbieten möchte.
Wir legen los …
Ubuntu 20.04 Container erstellen
Zuerst startet man die Chrome shell (crosh) mit folgendem Tastenkürzel CTRL+ALT+T, dort kann dann der Terminal gestartet werden:
vmc start termina
Umbennen des „penguin“ container:
lxc stop penguin --force
lxc rename penguin debian
Einen neuen Ubuntu container mit Namen penguin erstellen:
lxc launch ubuntu:20.04 penguin
In den neuen container (als root) wechseln:
lxc exec penguin -- bash
Gruppenzugehörigkeit für den Standard Benutzer
Das folgende Skript setzt die jeweilige Gruppenzugehörigkeit für den Standard Benutzer und löscht danach den Ubuntu User:
groups ubuntu >update-groups
sed -i 'y/ /,/; s/ubuntu,:,ubuntu,/sudo usermod -aG /; s/$/ \$USER/' update-groups
killall -u ubuntu
userdel -r ubuntu
sed -i '/^ubuntu/d' /etc/sudoers.d/90-cloud-init-users
Installation der Crostini Pakete
Updates und Installation der Crostini Pakete:
apt update
apt upgrade
HInzufügen der Crostini Repository. Diese beinhaltet die Integration mit Chrome OS:
echo "deb https://storage.googleapis.com/cros-packages stretch main" > /etc/apt/sources.list.d/cros.list
if [ -f /dev/.cros_milestone ]; then sudo sed -i "s?packages?packages/$(cat /dev/.cros_milestone)?" /etc/apt/sources.list.d/cros.list; fi
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1397BC53640DB551
apt update
Eine „work-around“ wird benötigt für den „cros-ui-config package installation conflict“. Dazu benötigen wir zunächst die binutils, in denen das ar command enthalten ist:
apt install binutils
Dann das „cros-ui-config work-around package“ installieren:
apt download cros-ui-config # ignore any warning messages
ar x cros-ui-config_0.12_all.deb data.tar.gz
gunzip data.tar.gz
tar f data.tar --delete ./etc/gtk-3.0/settings.ini
gzip data.tar
ar r cros-ui-config_0.12_all.deb data.tar.gz
rm -rf data.tar.gz
Jetzt können die benötigten Pakete installiert werden:
apt install cros-guest-tools ./cros-ui-config_0.12_all.deb
Danach kann das „work-around“ Paket gelöscht werden:
rm cros-ui-config_0.12_all.deb
Die letzten Schritte
Installation des adwaita-icon-theme-full Pakets. Ohne dieses sehen die Linux Applikationen teilweise sehr komisch aus. Optional können auch weitere Themes installiert werden:
apt install adwaita-icon-theme-full
Der Conatiner wird danach beendet:
shutdown -h now
Chrome OS neu starten. Nach dem Neustart sollte der Linux Terminal vorhanden sein und normal starten. Beim ersten Start, des Linux Containers, wird wird der Linux Nutzer angelegt. Diesen fügen wir den benötigten Gruppen hinzu mittels des oben angelegten Skripts:
sudo mv /root/update-groups .
bash update-groups
sudo rm update-groups
Crostini Pakete aktualisieren
Um Crostini nach einem Chrome OS Versionssprung aktuell zu halten muss die jeweilige Version in der sources.list angepasst werden. Findet also ein Update von Chrome OS 86 auf 87 statt, muss diese Versionsnummer dort hinterlegt werden. Die Datei wird mit folgendem Befehl geöffnet:
sudo nano /etc/apt/sources.list.d/cros.list
Danach kann das Update gestartet werden:
sudo apt update
sudo apt upgrade
Das wars. Viel Spaß mit dem neuen Container.