L’espace utilisateur Ubuntu, y compris Bash, arrive sur Windows 10

Lors du discours inaugural de la conférence développeurs annuelle BUILD, qui se tient du 30 mars au 1er avril 2016 à San Francisco, Microsoft a annoncé l’arrivée de l’interpréteur de ligne de commande Bash (Bourne-again shell), l’un des plus populaires sous Unix, sur Windows 10.

Windows 10 est présenté comme la meilleure plateforme pour le développement multiplateforme (iOS, Android, etc), et Microsoft Azure le meilleur fournisseur de services cloud, y compris pour les machines virtuelles Linux et les projets open source comme Hadoop.

Pour que les programmeurs plus habitués à travailler sous Unix ne perdent pas leur productivité sous Windows, Bash fait son apparition.

En fait, il s’agit de bien plus que cela. Tout l’espace utilisateur Ubuntu, la distribution la plus populaire de Linux, sera disponible sous Windows.

Y compris apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch, et les dizaines de milliers d’exécutables des archives Ubuntu !

Et les disques sont déjà montés en accès lecture/écriture sous /mnt/.

Il ne s’agit ni d’émulation, ni de conteneur, ni de machine virtuelle. Tous les exécutables sont exactement les mêmes, bit pour bit, que ceux d’Ubuntu au format ELF.

Microsoft a développé le ‘Sous-système Windows pour Linux’, qui est une technologie de conversion à la volée d’appels systèmes Unix vers des appels systèmes Windows. Conceptuellement, on pourrait l’imaginer comme un Wine inversé.

Apparemment, le test sysbench montrerait qu’il n’a aucune dégradation de performance, ni d’augmentation du taux d’utilisation de la mémoire ou du taux d’utilisation du processeur.

Il existe quelques limitations. L’image utilisée pour le sous-système est Ubuntu 14.04 LTS alors que la version actuelle d’Ubuntu est la 16.04.LTS. D’après Dustin Kirkland de Canonical, une nouvelle version mise à jour du sous-système sera disponible prochainement dans le Windows Store.

Les émulations tty et vt100 ne fonctionneraient pas à 100 %, tout comme certaines applications comme byobu, screen, et tmux.

Les administrateurs de réseaux vont sans doute se réjouir, et Microsoft réussira peut-être à séduire des développeurs aficionados du code source ouvert.

Mais comme toutes les autres stratégies d’ouverture de Microsoft, celle-ci n’est pas sans risque. Utiliser Bash, c’est probablement ne jamais apprendre PowerShell, une pièce clé de Microsoft pour Windows et pour le nuage informatique. C’est aussi la possibilité d’utiliser plus d’applications Unix sous Windows, au détriment des applications Windows.