News for the ‘os’ Category

[shell-fu]$, le digg-like des commandes shell

Alors qu’il y a une petite dizaine de jour, je vous parlais d’une présentation pour améliorer votre utilisation de la commande en ligne sous Linux, je découvre aujourd’hui [shell-fu]$ qui est une sorte de digg-like des commandes shell, sur lequel vous votez pour l’astuce shell que vous préférez afin de la faire grimper en home-page. Tout y est: flux RSS, tags, Top 25, etc…

shell-fu, digg-like de la commande shell

Vous pouvez bien évidemment soumettre vos propres commandes. C’est une vrai mine d’or, à parcourir en long, en large et en travers. Très pratique, car comme expliqué sur la page d’accueil:

Shell-fu is a place for all those little command line goodies that you come across and then can never find again when you need them.

Toi aussi, deviens un maitre de la commande en ligne sous Linux

Sympa, cette petite présentation par Hal Pomeranz, qui liste tout un tas de techniques pour améliorer votre utilisation des commandes en ligne sous Linux/Unix (en bash pour être plus précis). Au menu: auto-complétion, gestion des arguments, benchmark sur différentes commandes find, comparatif cut/awk, tri, etc…

Unix Command-Line Kung Fu

Une trentaine de pages qui se lisent assez vite et dans lesquelles vous trouverez forcement votre bonheur. A bookmarker pour l’avoir toujours sous la main, ça fait un bon mémo, même pour les habitués.

Le SP3 de Windows XP est disponible au téléchargement

Le nouveau (et dernier) Service Pack pour Windows XP est téléchargeable depuis les serveurs de Windows Update. Attention, le bébé fait tout de même 310Mo. Les moins impatients préfèreront peut être attendre la mise à jour automatique qui devrait se faire aux alentours du 10 juin prochain. A noter qu’il s’agit essentiellement de correctifs de sécurité, aucune nouveauté majeure.

Windows XP + SP3

Comme je suis joueur, j’ai testé la mise à jour pour vous. Aucun problème particulier, l’installation s’est déroulée en douceur. Seul petit inconvénient, pour ceux qui comme moi ont patché leur fichier uxtheme.dll pour installer leur propre thème, il vous faudra probablement renouveler l’opération après l’install du SP3 avec le bon patch qui va bien (celui proposé ici fonctionne parfaitement).

Mac OS X Leopard supportera ZFS

Un article paru sur Apple Insider a éveillé ma curiosité. D’après son auteur, les développeurs auraient reçu de la part de la firme de Cuppertino une preview de ZFS sur Mac OS X. De là à en déduire que ZFS, le file system de SUN pour Solaris pourrait un jour remplacer HFS+ l’actuel file system d’OSx, il n’y a qu’un pas que certaines personnes n’ont pas hésité à faire.

Alors ça tombe bien, parce que j’ai justement eu l’occasion de jouer un peu avec ZFS ces derniers jours, et c’est vrai que le bébé est impressionnant. S’il ne révolutionne pas vraiment les technologies actuelles, il apporte une facilité d’administration sans commune mesure, une excellente sécurisation (miroir, raid5 et raid6) des données et des possibilités d’extensibilité presque infinies.

Pour vous donner une idée plus précise de la puissance du truc, je vous fais partager ci-dessous quelques manips/tests très simples que j’ai réalisées:

  • Voyons tout d’abord quels sont les disques physiques disponibles:

# cd /dev/dsk
# ls c?t?d?
c0t0d0 c0t4d0 c1t0d0 c1t4d0 c4t0d0 c4t4d0 c6t0d0 c6t4d0 c7t0d0 c7t4d0
c0t1d0 c0t5d0 c1t1d0 c1t5d0 c4t1d0 c4t5d0 c6t1d0 c6t5d0 c7t1d0 c7t5d0
c0t2d0 c0t6d0 c1t2d0 c1t6d0 c4t2d0 c4t6d0 c6t2d0 c6t6d0 c7t2d0 c7t6d0
c0t3d0 c0t7d0 c1t3d0 c1t7d0 c4t3d0 c4t7d0 c6t3d0 c6t7d0 c7t3d0 c7t7d0

>> ok, nous avons de quoi faire…

  • Création d’un storage pool simple (groupe de disques physiques, ici 1 seul disque):

# zpool create mypool1 c0t0d0
# df -h /mypool1
Système de fichiers taille utilisé dispo capacité Monté sur
mypool1 457G 1K 457G 1% /mypool1
# mkfile 1g /mypool1/foo
# df -h /mypool1
Système de fichiers taille utilisé dispo capacité Monté sur
mypool1 457G 1,0G 456G 1% /mypool1

>> nous constatons ici la simplicité de mise en oeuvre: pas de point de montage à créer, pas de montage à réaliser, pas de file system à initialiser, tout est automatique dès la création du storage pool.

  • Vérifions comment tout cela se présente:

# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
mypool1 464G 1,00G 463G 0% ONLINE -
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
mypool1 1,00G 456G 1,00G /mypool1

>> donc, il y a un file system ZFS qui est automatiquement associé à notre storage pool

  • Jouons avec les file systems:

# zfs create mypool1/toto
# zfs create mypool1/titi
# zfs create mypool1/tutu
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
mypool1 1,00G 456G 1,00G /mypool1
mypool1/titi 24,5K 456G 24,5K /mypool1/titi
mypool1/toto 24,5K 456G 24,5K /mypool1/toto
mypool1/tutu 24,5K 456G 24,5K /mypool1/tutu
# zfs set mountpoint=/users mypool1
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
mypool1 1,00G 456G 1,00G /users
mypool1/titi 24,5K 456G 24,5K /users/titi
mypool1/toto 24,5K 456G 24,5K /users/toto
mypool1/tutu 24,5K 456G 24,5K /users/tutu
# zfs set quota=20G mypool1/tutu
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
mypool1 1,00G 456G 1,00G /users
mypool1/titi 24,5K 456G 24,5K /users/titi
mypool1/toto 24,5K 456G 24,5K /users/toto
mypool1/tutu 24,5K 20,0G 24,5K /users/tutu

>> nous créons toujours aussi simplement 3 file systems qui vont se partager le volume global du storage pool
>> puis nous modifions le point de montage associé au storage pool qui se répercute automatiquement sur les file systems
>> enfin, nous limitons à 20G le file system tutu… enfantin, non ?

  • Détruisons un peu:

# zfs destroy mypool1/tutu
# zfs list
NAME USED AVAIL REFER MOUNTPOINT
mypool1 1,00G 456G 1,00G /users
mypool1/titi 24,5K 456G 24,5K /users/titi
mypool1/toto 24,5K 456G 24,5K /users/toto
# zpool destroy mypool1
# zpool list
aucun pool disponible
# zfs list
aucun jeu de données disponible

>> on détruie d’abord uniquement le file system tutu
>> puis l’ensemble du storage pool mypool1, on constate alors que les file systems associés sont, de fait, détruits eux aussi

  • Créons un pool « mirroré »:

# zpool create mypool2 mirror c0t0d0 c1t0d0
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
mypool2 464G 52,5K 464G 0% ONLINE -
# zpool status -v mypool2
pool : mypool2
état : ONLINE
purger : aucun requis
configuration :
NAME STATE READ WRITE CKSUM
mypool2 ONLINE 0 0 0
mirror ONLINE 0 0 0
c0t0d0 ONLINE 0 0 0
c1t0d0 ONLINE 0 0 0
erreurs : aucune erreur de données connue

>> nous créons ici ce qu’on appelle un miroir two-way: tout ce qui est écrit sur un élément du miroir est dupliqué de façon synchrone sur l’autre élément. (il est aussi possible de faire du three-way, même chose mais duplication sur 2 éléments au lieu d’un seul)
>> nous constatons donc que le volume total du file system est de 464G soit la taille d’un seul disque physique puisque le deuxième sert de copie

  • Augmentons nos espaces disponibles:

# zpool add mypool2 mirror c4t0d0 c6t0d0
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
mypool2 928G 3,00G 925G 0% ONLINE -
# zpool status -v mypool2
pool : mypool2
état : ONLINE
purger : aucun requis
configuration :
NAME STATE READ WRITE CKSUM
mypool2 ONLINE 0 0 0
mirror ONLINE 0 0 0
c0t0d0 ONLINE 0 0 0
c1t0d0 ONLINE 0 0 0
mirror ONLINE 0 0 0
c4t0d0 ONLINE 0 0 0
c6t0d0 ONLINE 0 0 0
erreurs : aucune erreur de données connue

>> nous attachons ici un autre miroir au premier. les données seront donc partagées (stripée) sur les 2 premiers éléments de chacun des miroirs.
>> le volume utile a doublé passant de 460 à 920Go

  • Créons un pool RAID:

# zpool create mypool3 raidz c0t1d0 c1t1d0 c4t1d0 c6t1d0 c7t1d0
# zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
mypool3 2,27T 137K 2,27T 0% ONLINE -
# zpool status -v mypool3
pool : mypool3
état : ONLINE
purger : aucun requis
configuration :
NAME STATE READ WRITE CKSUM
mypool3 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c0t1d0 ONLINE 0 0 0
c1t1d0 ONLINE 0 0 0
c4t1d0 ONLINE 0 0 0
c6t1d0 ONLINE 0 0 0
c7t1d0 ONLINE 0 0 0
erreurs : aucune erreur de données connue
# df -h /mypool3
Système de fichiers taille utilisé dispo capacité Monté sur
mypool3 1,8T 39K 1,8T 1% /mypool3
# zpool add mypool3 spare c0t2d0
# zpool status mypool3
pool : mypool3
état : ONLINE
purger : aucun requis
configuration :
NAME STATE READ WRITE CKSUM
mypool3 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
c0t1d0 ONLINE 0 0 0
c1t1d0 ONLINE 0 0 0
c4t1d0 ONLINE 0 0 0
c6t1d0 ONLINE 0 0 0
c7t1d0 ONLINE 0 0 0
spares
c0t2d0 AVAIL
erreurs : aucune erreur de données connue
# zpool offline mypool3 c1t1d0
Mise hors ligne du périphérique c1t1d0
# zpool status mypool3
pool : mypool3
état : DEGRADED
état : un ou plusieurs périphériques ont été mis hors ligne par l'administrateur.
Il existe un nombre suffisant de répliques pour que le pool continue à fonctionner dans un a
état endommagé.
action : mettez en ligne le périphérique en utilisant 'zpool online' ou remplacez-le avec
'zpool replace'.
purger : aucun requis
configuration :
NAME STATE READ WRITE CKSUM
mypool3 DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
c0t1d0 ONLINE 0 0 0
c1t1d0 OFFLINE 0 0 0
c4t1d0 ONLINE 0 0 0
c6t1d0 ONLINE 0 0 0
c7t1d0 ONLINE 0 0 0
spares
c0t2d0 AVAIL
erreurs : aucune erreur de données connue
# zpool replace mypool3 c1t1d0 c0t2d0
# zpool status mypool3
pool : mypool3
état : DEGRADED
état : un ou plusieurs périphériques ont été mis hors ligne par l'administrateur.
Il existe un nombre suffisant de répliques pour que le pool continue à fonctionner dans un a
état endommagé.
action : mettez en ligne le périphérique en utilisant 'zpool online' ou remplacez-le avec
'zpool replace'.
purger : resilver completed avec des erreurs 0 sur Tue Oct 9 16:23:24 2007
configuration :
NAME STATE READ WRITE CKSUM
mypool3 DEGRADED 0 0 0
raidz1 DEGRADED 0 0 0
c0t1d0 ONLINE 0 0 0
spare DEGRADED 0 0 0
c1t1d0 OFFLINE 0 0 0
c0t2d0 ONLINE 0 0 0
c4t1d0 ONLINE 0 0 0
c6t1d0 ONLINE 0 0 0
c7t1d0 ONLINE 0 0 0
spares
c0t2d0 INUSE currently in use
erreurs : aucune erreur de données connue

>> création d’un storage pool en RAID5 (pour faire du RAID6, il suffit de remplacer raidz par raidz2 dans la commande de création)
>> nous constatons que la volumétrie totale du storage pool est de 2,27To mais que le volume utile n’est que de 1,8To, l’un des disques étant utilisé pour la parité (2 disques en RAID6)
>> nous ajoutons un disque de spare pour augmenter la sécurité et nous testons le tout en faisant tomber un disque… (ici la manip est manuelle, mais dans le cas d’une véritable erreur, la bascule sur le HotSpare est automatique)

Voila pour donner un premier aperçu des possibilités. Reste à voir comment tout cela sera implémenté dans OSx…

L’utilisabilité médiocre de Windows Vista par l’exemple

Pour commencer et que les choses soient claires, petite définition de l’utilisabilité selon Wikipedia:

L’utilisabilité ou usabilité est définie [...] comme « le degré selon lequel un produit peut être utilisé, par des utilisateurs identifiés, pour atteindre des buts définis avec efficacité, efficience et satisfaction, dans un contexte d’utilisation spécifié ».
Les critères de l’utilisabilité sont :

  • l’efficacité : le produit permet à ses utilisateurs d’atteindre le résultat prévu ;
  • l’efficience : atteint le résultat avec un effort moindre ou requiert un temps minimal ;
  • la satisfaction : confort et évaluation subjective de l’interaction pour l’utilisateur.

Que vous ayez ou pas déjà touché un système sous Windows Vista, vous avez certainement entendu parler de son interface utilisateur usant et abusant des effets 3D et de transparence (la transparence, d’ailleurs, un sujet intéressant sur lequel je reviendrais dans un prochain billet). Un exemple parlant: Windows Flip 3D, qui est le remplaçant du bon vieil ALT+TAB de Windows XP.

Windows Flip 3D, l'interface

Si l’idée est bonne, le résultat au niveau utilisabilité est médiocre. Revenons sur la capture d’écran ci-dessus:

  • les fenêtres sont empilées les unes sur les autres, seule une infime partie de chaque application reste visible et rend difficile leur identification, de même que leur sélection par un click direct sur la zone,
  • même si une rotation de la molette de la souris permet de faire défiler les fenêtres, il faut parcourir l’ensemble des vues ouvertes, une par une, pour trouver la bonne,
  • l’inclinaison des fenêtres pour donner l’effet 3D déforme le texte et rend l’identification par le nom de la fenêtre délicat (ok, je cherche la petite bête, mais je m’explique plus bas)

Dans son soucis d’impressionner l’utilisateur (gue-guerre Apple/Microsoft oblige) sans d’abord penser à l’ergonomie, Microsoft nous sert ici un outil qui ne respecte donc pas les critères d’utilisabilité, ce qui est rédhibitoire en ce qui concerne Flip3D car il ne remplit pas sa fonction première: nous faire gagner du temps (les accros au ALT+TAB comprendront).

Pour comparer, l’outil Exposé disponible sur Mac OS X répond au même besoin d’une bien meilleure façon:

  • les fenêtres des applications ouvertes sont toutes visibles en même temps
  • un passage de la souris sur une fenêtre affiche en surimpression le nom de l’application en question permettant de l’identifier simplement et rapidement avant de la sélectionner
  • je ne suis pas un expert OSx donc si les Mac users veulent ajouter des points en commentaire, qu’ils se lâchent…

Exposé, l'interface

Ok, le constat est fait… alors voyons ce que propose Vista si Flip3D ne convient pas: ah oui, il y a Windows Flip (sans 3D donc…) qui se révèle être un ALT+TAB amélioré (des vignettes des fenêtres là où l’on n’avait qu’une icône de l’application sous XP). Sauf que Windows Flip utilise Windows Aero pour générer les vignettes et n’est donc disponible que sur les éditions les plus gourmandes de Vista. Hé ben, tout ça pour ça…

Windows Flip, l'interface

Alors, quelle est l’alternative ? Switcher sur Mac (Mox™, hé hé) ou rester sur XP. Oui, oui, sur XP, on peut faire aussi bien:

  • SmallWindows, un Exposé-like très très très léger (300ko), open-source, ne nécessitant aucune installation et fonctionnant plutôt bien (pas complètement exempt de bugs, mais le code source est dispo pour les plus courageux). Il suffit d’une combinaison de touches (Win+F12, malheureusement pas configurable) ou de positionner la souris en haut et au milieu de l’écran pour activer l’effet. Petit plus, la recherche parmi les fenêtres en tapant « s » puis le nom de l’application. Et si vous tenez à vous rapprocher au maximum du fonctionnement d’Exposé, il faut soit recompiler le code (good luck), soit tout simplement utiliser AutoHotkey pour re-mapper Win+F12 vers F9 (quoi ? vous n’utilisez pas AutoHotkey ? honte à vous! ok, j’y reviendrais dans un prochain billet…)

SmallWindows, l'interface

Cliquez sur l’image pour la voir en grand

PS: Je ne suis absolument pas anti-Microsoft, loin de là. Je n’ai pas de Mac et j’ai même une Xbox360 que je n’échangerai contre aucune PS3/Wii, mais c’est un autre débat…

Google préparerait sa propre distribution Linux

GoobuntuSelon un article de The Register, Google aurait confirmé travailler sur une version de Linux. Ce projet aurait trouvé le doux nom de Goobuntu en interne, puisque cette distribution s’appuierait sur la très populaire Ubuntu.

La question se pose donc: à quoi cela va t-il servir ? Pour l’instant, il semble que ce soit plus destiné à être utilisé en interne chez Google qu’a une release publique. Mais, si le produit est suffisamment abouti, il est tout à fait envisageable que Google le distribue comme une alternative libre à son concurrent direct, Microsoft. C’est une bonne nouvelle pour l’univers Linux en général qui bénéficiera là d’une plus grande visibilité et d’une confiance accrue de la part du grand public, car nous pouvons compter sur Google pour rendre cette distribution encore plus user-friendly.

En attendant, j’évoquais dans mon billet sur le Google Phone la présence d’un OS de type Linux pour faire tourner l’engin et notamment Ubuntu en pole position. Tiens, tiens…

Microsoft Vista ou Mac OS X Leopard ?

[Cliquez sur l'image pour la voir en grand]
Ca se passe de commentaire… [via MacHouse]