26 mars 2012

Trucs pour virsh

Voici 3 conseils pour utiliser la commande virsh console

1) Comme cela vous est gentiment dit en début de session
Escape character is ^]
Le problème c’est que sur un clavier français CTRL + ] ne marche pas.
En fait l’équivalent de  CTRL + ]  est  CTRL + $.

2) Ne pas établir plusieurs sessions avec la même machine virtuelle en même temps. Vous obtiendrez des affichages incohérents dans toutes les sessions. En fait les caractères affichés sont dispatchés aléatoirement vers les différentes sessions ouvertes.

3) Quand on établie une session avec une machine virtuelle on prend le contrôle de la console dans l'état où elle est. On peut couper la session (avec CTRL + $), et la reprendre plus tard dans l’état où on l’a laissé. Le fait de couper la session ne provoque pas un logout. . (Un peut comme avec la commande screen)

Conséquence:
Dans le cas où la machine virtuelle est en attente du login le fait de s'y connecter à ce moment là ne fera pas apparaitre le prompt « login : »,. Donc on pourrait taper le nom d’utilisateur puis Enter, là on obtiendrait le prompt password et on continuerait comme d’habitude.

# virsh console vm1
Connected to domain vm1
Escape character is ^]
root
Password:
Last login: Mon Mar 26 01:08:45 on ttyS0
[root@localhost ~]#

Vous trouverez parfois le très mauvais conseil suivant :
« Taper sur la touche Enter pour faire apparaitre le prompt du login »
En effet, si vous ne tapez que sur la touche Enter sans avoir taper un nom d’utilisateur le prompt du login se réaffiche. Mais ceci est très dangereux !!

Que ce passerait il si, au lieu d’attendre le login, la machine virtuelle avait déjà un shell ouvert avec cette ligne de commande : « rm –rf / »
En appuyant aveuglement sur Enter vous valideriez l’effacement de tous les fichiers !!

Voila pourquoi il ne faut jamais taper sur Enter ‘pour faire apparaitre le prompt’. Il faut toujours commencer par CRTL+C pour annuler l’éventuelle commande en cours.
Si un shell est en cour il annulera l’éventuelle commande et réaffichera son prompt.

Si le CRTL+C ne provoque rien tapez CTRL+D. Dans le cas d’un login cela relance la procédure au début avec un nouveau prompt.