Linux sur ChromeOS, alias Crostini, n’est plus en version bêta et est disponible depuis un certain temps. Les utilisateurs qui souhaitent tirer parti de la flexibilité et de la puissance d’un environnement Linux ont accès à un terminal Linux qui ouvre la porte à une pléthore de packages exécutables qui ne sont pas facilement disponibles sur ChromeOS proprement dit. Que vous cherchiez à installer un autre navigateur ou à installer un puissant logiciel de développement d’applications, Linux sur ChromeOS facilite cette tâche.
Par défaut, le conteneur Linux sur ChromeOS exécute la distribution stable et sécurisée connue sous le nom de Debian. Plus précisément, Debian 11 ou “Bullseye”. Alors que Debian offre de nombreux outils que les utilisateurs de Linux recherchent, d’autres distributions offrent plus de flexibilité et un accès à une plus large gamme de packages sans avoir besoin d’ajouter des référentiels supplémentaires.
En ce qui concerne la popularité, Debian occupe la deuxième place en termes de parts de marché et est très populaire en raison de sa nature sécurisée et stable. En tête de liste avec un énorme 34% de part de marché, Ubuntu est responsable de la gestion de plus d’un tiers des sites Web d’Internet. Malgré la récente baisse d’utilisation au cours des dernières années, Ubuntu détient toujours 30% du marché des ordinateurs de bureau Linux.
Que vous soyez développeur ou que vous soyez comme moi et que vous aimiez simplement bricoler, l’environnement Linux intégré de ChromeOS est un outil puissant. Si vous avez évité le passage à un Chromebook à cause du conteneur Debian Linux par défaut, j’ai de bonnes nouvelles. Vous n’êtes pas lié à Debian si vous avez vraiment besoin ou si vous voulez utiliser Ubuntu. Bien que cela puisse sembler une entreprise intimidante pour ceux qui ne sont pas familiers avec l’environnement Linux, je vous assure que les étapes sont relativement simples. En fait, vous pouvez avoir un conteneur Ubuntu opérationnel sur votre Chromebook en une quinzaine de minutes et je vais vous montrer exactement comment le faire.
Commencer
Avant de commencer à remplacer le conteneur Debian par Ubuntu, une condition préalable doit être remplie. Vous aurez besoin d’un appareil ChromeOS prenant en charge l’environnement de développement Linux. Ne vous inquiétez pas. Si votre Chromebook arrive sur le marché après 2019, il est presque garanti d’avoir un support d’application Linux. Si votre Chromebook est plus ancien que cela, vous pouvez consulter la liste ici pour voir si le support Linux est disponible. Alternativement, vous pouvez simplement accéder au menu des paramètres de votre appareil, faire défiler vers le bas et cliquer sur l’onglet Avancé dans le menu de gauche. Si votre appareil prend en charge Linux, vous devriez voir une option “Développeurs” directement sous le menu Imprimer et numériser. S’il est là, cliquez sur l’onglet Développeurs et cliquez sur le bouton qui dit “Activer” pour activer Linux.
Il vous sera demandé de définir la quantité de stockage que vous souhaitez utiliser pour Linux. Réglez-le sur ce que vous préférez dans l’espace de stockage disponible. N’oubliez pas que le montant que vous utilisez pour Linux sera prélevé sur l’espace de stockage global disponible pour ChromeOS. Pour en savoir plus sur la configuration de l’environnement Linux sur ChromeOS, consultez notre article sur la ligne de commande ici. Une fois que vous êtes tous configurés, nous pouvons commencer à installer Ubuntu sur votre Chromebook.
Créer le conteneur Ubuntu
Nous allons commencer ce processus en créant le conteneur Ubuntu. Pour ce faire, vous devrez ouvrir le shell Chrome également appelé croquer. Cela ressemble à l’application de terminal Linux qui a été installée lorsque vous avez activé Linux, mais ce n’est pas la même chose, alors assurez-vous que vous travaillez dans crosh, pas dans le terminal. Pour ouvrir une fenêtre croisée, appuyez sur Ctrl+Al+T sur votre clavier. Crosh devrait s’ouvrir dans un nouvel onglet Chrome. À l’invite “crosh>”, tapez ou collez la commande suivante et appuyez sur Entrée.
vmc start termina
Il peut sembler que rien ne se passe, mais donnez-lui une minute. Vous devriez bientôt voir l’invite changer en “(termina) [email protected] ~ $”, puis vous êtes prêt pour l’étape suivante. Le conteneur par défaut sur ChromeOS est nommé penguin. Nous allons arrêter ce conteneur et le renommer afin de pouvoir installer Ubuntu dans le conteneur par défaut. Pour ce faire, exécutez les deux commandes suivantes – une à la fois – à la nouvelle invite dans crosh.
lxc stop penguin --force
lxc rename penguin debian
Ensuite, nous allons installer Ubuntu dans le conteneur Penguin. Pour ce didacticiel, j’ai utilisé Ubuntu 20.04, mais vous pouvez utiliser la version de votre choix tant que les images sont disponibles sur le site Web du conteneur Linux. Pour créer le conteneur Ubuntu, exécutez la commande de lancement lxc dans crosh avec le nom de l’image et le nom du conteneur. Pour Ubuntu 20.04, la commande ressemblerait à ceci. (Si, par exemple, vous vouliez utiliser Ubuntu 22.04, remplacez simplement l’image ci-dessous par ubuntu:22.04)
lxc launch ubuntu:20.04 penguin
Entrer en tant que root
Ensuite, nous devons entrer le nouveau conteneur en tant qu’utilisateur root. Cela donnera les autorisations nécessaires pour installer tous les packages et utilitaires nécessaires qui permettront à Ubuntu de bien fonctionner avec le système hôte ChromeOS. Pour entrer dans le conteneur en tant qu’utilisateur root, tapez ou collez la commande suivante dans crosh et appuyez sur Entrée. Le résultat sera une invite de commande qui ressemble à ceci : [email protected] :~#
lxc exec penguin -- bash
Nous devons maintenant mettre à jour et mettre à niveau tous les packages disponibles pour Ubuntu. Pour ce faire, exécutez les commandes de mise à jour et de mise à niveau ci-dessous dans la fenêtre croisée. Vous pouvez les exécuter ensemble ou une à la fois. Si vous y êtes invité, appuyez sur “Y” ou entrez pour poursuivre les mises à jour du package.
apt update
apt upgrade
Étant donné que Linux sur ChromeOS possède son propre référentiel personnalisé, nous devons ajouter ces référentiels et ces clés à notre nouveau conteneur. Cela ajoutera le référentiel au fichier sources.list.d et ajoutera les clés de serveur nécessaires en même temps. Copiez les commandes ci-dessous et collez-les dans votre fenêtre croisée à l’invite de commande. Collez-les tous en même temps et appuyez sur Entrée. Si vous ne voyez aucune erreur, vous devriez pouvoir passer à l’étape suivante.
echo "deb https://storage.googleapis.com/cros-packages bullseye 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 78BD65473CB3BD13
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4EB27DB2A3B88B8B
apt update
Nous devons maintenant installer un package de contournement qui permet à Ubuntu d’être intégré à ChromeOS. Tout d’abord, nous devons installer la commande “ar” qui nous permet d’extraire et de modifier les fichiers d’archive. Pour ce faire, nous devons installer le package d’utilitaires binaires. Utilisez la commande suivante dans cross pour installer le package.
apt install binutils
Ensuite, nous allons installer le package de contournement cross-ui-config. Vous pouvez coller toutes ces commandes dans crosh en même temps et appuyer sur Entrée. Vous verrez probablement un message d’avertissement indiquant “Le téléchargement est effectué sans bac à sable en tant que racine en tant que fichier”. Vous pouvez ignorer ce message et poursuivre le processus d’installation en appuyant sur Entrée si vous y êtes invité.
apt download cros-ui-config # ignore any warning messages
ar x cros-ui-config_0.13_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.13_all.deb data.tar.gz
rm -rf data.tar.gz
Une fois la solution de contournement décompressée, nous pouvons l’installer à l’aide de la commande ci-dessous. Vous pouvez ensuite utiliser la deuxième commande pour supprimer le fichier cros-ui-config car il n’est plus nécessaire.
apt install cros-guest-tools ./cros-ui-config_0.13_all.deb
rm cros-ui-config_0.13_all.deb
Enfin, nous devons fermer le conteneur et redémarrer ChromeOS. Vous pouvez arrêter le conteneur à l’aide de la commande ci-dessous. Une fois que vous avez fait cela, éteignez complètement votre Chromebook et redémarrez pour passer aux étapes suivantes.
shutdown -h now
Votre conteneur Linux par défaut exécute maintenant Ubuntu et vous pouvez y accéder à l’aide de l’application Terminal par défaut dans le lanceur ChromeOS. La première fois que vous essayez de lancer le conteneur, cela peut échouer. Réessayez et vous verrez le terminal s’ouvrir avec l’invite de commande [email protected] :~# Pour vérifier que vous exécutez l’image Ubuntu que vous avez installée, collez simplement la commande suivante dans votre terminal Linux et appuyez sur Entrée.
cat /etc/os-release
Votre utilisateur par défaut dans le nouveau conteneur sera Ubuntu. La prochaine fois, nous verrons comment définir un nouvel utilisateur par défaut et supprimer les utilisateurs et groupes en excès. Google travaille sur une méthode pour gérer plusieurs conteneurs sur ChromeOS et il est en fait possible d’installer Ubuntu dans un conteneur aux côtés de Debian dans un conteneur séparé. Cela nécessite quelques drapeaux pour le moment, mais ce sera un moyen très utile d’exécuter plusieurs distributions Linux en même temps sur votre Chromebook. Maintenant que vous savez comment créer Linux sur ChromeOS Ubuntu au lieu de Debian, le monde vous appartient et vous pouvez bricoler à votre guise. Restez à l’écoute pour en savoir plus alors que je plonge plus profondément dans Linux, les conteneurs et la virtualisation sur ChromeOS dans les semaines à venir.
Remarque : Pour revenir à Debian, vous pouvez simplement désactiver Linux dans le menu des paramètres de ChromeOS et recommencer à zéro. Vous perdrez tous les fichiers dans l’environnement Ubuntu, mais vous obtiendrez une installation propre et fraîche de Debian dans votre conteneur par défaut.