Archives du mot-clé Linux

Linux mounted device : fsck.ext4 : No such file or directory while trying to open /dev/sdb1

Sur une machine virtuelle existante et dont je ne connais pas les procédures d’installation, j’ai eu une erreur pour l’exécution d’un fsck suite à son redémarrage. Ce dernier a été causé par une coupure électrique générale du datacenter. Le fsck automatique de la machine fonctionnait correctement sur les disques systèmes (/dev/sda) mais bloquait sur un volume distant monté (mounted device) avec comme message :

fsck.ext4 : No such file or directory while trying to open /dev/sdb1
Possibly non-existent device ?
fsck died (code 8).

Capture d'écran de la console vmware

Nous avions ensuite une invitation à effectuer une vérification manuelle, comme illustré ci-dessus. Bien sûr un simple fsck, manuel, ne fonctionnaient pas. A force de recherches, nous sommes arrivés à cette solution, de récréer la partition distante (qui ici ne contenait pas de données), puis de la formater.

Pour créer la partition nous effectuons un fdisk :

fdisk /dev/sdb

On crée ensuite la nouvelle partition avec « n ». Dans notre cas nous l’avons déclarée en primaire (primary) avec « p ». Nous avons laissé les autres paramètres par défaut. Pour sortir du menu, il faut bien penser à entrer « w » pour écrire les modifications effectuées. Sinon nous aurons un souci pour pouvoir formater la partition ensuite.

Une fois cette étape passée, nous avons obtenu des messages par rapport au « bad magic number in superblock » avec le fsck et sur l’absence d’une table de partition. Les méthodes pour réparer la table de partition ne fonctionnait alors pas, quelque soit le magic bloc ciblé. Il nous fallait donc formater le disque :

mkfs.ext4 /dev/sdb1

Après un redémarrage de la machine, le disque est monté correctement (nous avions toujours notre entrée dans le fichier /etc/fstab pour monter cette partition). Cette fois-ci la machine a démarré sans aucun souci.

Sources nous ayant aidées dans cette résolution :

 

[Linux] Plantage de Mozilla Firefox sous Mageia suite à l’installation de Adblock Plus

Si il y a bien une application que j’installe toujours sur Firefox c’est Adblock Plus pour ne plus avoir autant de publicité en ligne. Sans cette extension, la plupart des sites ressemblent à des arbres de noël. Récemment j’ai re-installé mon poste de travail au sein de mon entreprise sous Mageia 2 en 64 bits. J’en ai profité pour ajouter la Mageia 2 en 32 bits sur mon PC portable personnel. Mais voila qu’en installant Adblock Plus [Link] mon Firefox a planté. Juste comme ça, fermé sans plus de message. J’ai pu le relancer mais dès que je voulais mettre à jour les listes d’abonnement de Adblock Plus, il se fermait. Je pouvais à la rigueur continuer ainsi si suite à une mise à jour du plugin je me suis retrouvé dans l’impossibilité de lancer mon navigateur favori. Certains me diront que j’aurais pu continuer avec Chrome (ou Chromium plutôt) mais je préfère le renard 😉

En le lançant en ligne de commande j’ai obtenu deux messages au départ, comme illustré ci-dessous.

[galsungen@localhost ~]$ firefox
Gtk-Message: Failed to load module « canberra-gtk-module »
Erreur de segmentation
[galsungen@localhost ~]$

Les deux messages sont indépendants. Pour le premier si nous regardons si canberra-gtk est installé, nous le trouverons bien.

[root@localhost ~]# urpmi canberra-gtk
Le paquetage canberra-gtk-0.28-10.mga2.i586 est déjà installé
[root@localhost ~]#

En fait il faut installer libcanberra-gtk0 (zéro) pour ne plus avoir ce souci.

[root@localhost ~]# urpmi libcanberra-gtk0
rsync://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/2/i586/media/core/release/libcanberra-gtk0-0.28-10.mga2.i586.rpm
installation de libcanberra-gtk0-0.28-10.mga2.i586.rpm depuis /var/cache/urpmi/rpms
Préparation…                   ################
1/1: libcanberra-gtk0      ################################
[root@localhost ~]#

Et la preuve :

[galsungen@localhost ~]$ firefox
Erreur de segmentation
[galsungen@localhost ~]$

Il nous reste donc le problème de l’erreur de segmentation (Segmentation Fault) qui est le vrai souci. Avec l’aide de Stormi nous avons fait remonter ce souci via un ticket de bug Mageia [Bug 8187]. Néanmoins il existe deux solutions testées et approuvées pour le moment de mon côté pour passer outre ce souci. La première est d’installer ce plugin via le paquet disponible dans les dépôts avec urpmi.

[root@localhost ~]# urpmi  firefox-ext-adblock-plus

La deuxième solution passe par l’installation et désinstallation de deux paquets. Il s’agit d’une astuce trouvée dans une remontée de bug pour l’utilisation du site jamendo qui plantait avec firefox.

[root@localhost ~]# urpmi libproxy-webkit
[root@localhost ~]# urpme  libproxy-mozjs

Sur système 64 bits ce seront les fichiers  « lib64proxy-webkit » et « lib64proxy-mozjs ». A l’issue d’une de ces deux manipulations, je n’ai pas eu de nouveaux soucis et j’ai pu utiliser Firefox correctement avec Adblock Plus (et paramétrer ce dernier). Voila j’espère que cela sera utile à d’autres comme manipulations en attendant un fix plus pérenne.

 

[Jeux] sauerbraten : un FPS F2P (gratuit) et surtout Open-Source avec le moteur de Cube2

logo de dube2, sauerbraten

Initialement nous jouions à Warsow au travail [Link] pendant notre pause déjeuner. Avec le temps nous avions des niveaux assez intéressants mais aussi notre propre serveur privé et nous regardions pour personnaliser les configurations. Il est vrai que nous avions perdu une bonne moitié du service technique lors que passage de Quake 3 à celui ci mais du moment que nous pouvions nous détendre… En revenant de congés cet été, j’ai pu découvrir que mes collègues directs s’étaient attaqués à un nouveau jeu, Sauerbraten. Et bien j’ai vraiment accroché aussi, et nous avons même vu revenir les joueurs initialement perdu, surtout en mode CTF (Capture the Flag).

Sauerbraten est à la fois un moteur de jeu en 3D et un jeu de tir subjectif (FPS). Le code source du moteur de jeu est distribué sous la licence libre ZLib2 de type BSD. Cependant, les médias du jeu (cartes, images…) sont propriétaires. Nous trouvons sur le site officiel [Link] des clients pour tous les systèmes, Windows, Linux et MAC. Au travail j’y joue sous Linux et à la maison sous Windows avec un plaisir équivalent. Nous pouvons donc tous nous y rejoindre sans souci.

Les graphismes ne sont pas les plus aboutis du marché mais je crois bien que ce qui était visé c’était la vitesse dans le jeu. Cela nous donne un jeu assez rapide, et surtout nerveux. Un bon défouloir donc. Pour mieux découvrir vous pouvez voir des vidéos du gameplay sur le net comme celle-ci [Link] où le instant_ctf (Capture the Flag en mort subite) est assez bien présenté ou bien cette vidéo en français [Link] sur une ancienne version mais qui explore un grand nombre de mode de jeu. On ne compte pas moins de 20 modes de jeu dont la plupart sont prévus pour jouer en ligne. Un mode solo de type campagne est aussi disponible, et aussi contre des bots sur tous les modes. Le côté campagne est plutôt à l’abandon de ce que j’ai pu lire. Personnellement j’ai un faible pour l’insta ctf et pour le regen capture (illustré ci-dessous).

4 images de sauerbraten

La communauté est très active avec quelques groupes plus actifs que d’autres. On trouve facilement une vingtaine de serveurs avec des joueurs de toutes les nationalités en ligne. On peut décompter quasiment 20 modes de jeu dans l’ordre ffa, coop_edit, teamplay, instagip, instagip_team, efficiency, efficiency_team, tactics, tactics_team, capture, regen_capture, ctf, insta_ctf, efficiency_ctf, protect, insta_protect, efficiency_protect, hold, insta_hold et efficiency_hold. A noter que pour chaque mode ou presque, nous avons des versions en équipe.

Ce que j’aime aussi c’est l’éditeur de cartes. Vous pouvez modifier ou créer vos propres cartes très facilement, et ce comme en jouant à Minecraft (pour ceux qui connaissent) ;-). J’ai d’ailleurs un collègue qui a commencé une carte inspirée de nos locaux. Vivement qu’il la termine, que nous puissions la partager en ligne. D’une discussion sur le serveur Nooblounge j’ai pu comprendre que le seul défaut vient de la mise à disposition des cartes. En effet pas de moyen pour que le serveur l’envoie au client, que ce soit directement ou via un serveur http (web). Il faut donc posséder la carte soit même pour y jouer. Cette communauté utilise un dépôt de code (subversion) pour se partager les cartes. Enfin pas grave, c’est un défaut vraiment minime 😉

Sur le site officiel vous pouvez télécharger l’exécutable ou bien une archive contenant les fichiers nécessaires. Chacun possède le serveur, il est donc très facile de faire tourner son propre serveur et on trouve des tutoriaux en ligne [Link]. Nous nous sommes contentés de décompresser l’archive dans un dossier, de jouer un petit peu avec le fichier de configuration (fichier texte) et nous avons pu exécuter notre propre serveur très facilement. Tout est expliqué sur les différents sites de la communauté, mais la plupart du temps en anglais. Au pire utilisez Google Translate pour passer outre ce léger inconvénient.

Autre plus, la possibilité de rajouter des scripts pour avoir plus de fonctionnalités. Par exemple un module de statistiques comme sur la capture ci-dessous en mode capture de drapeau par équipe.

Capture d'écran sauerbraten pour illustrer les statistiques affichées par un script

Regardez dans le coin en bas à droite. Ce n’est bien sûr qu’un exemple. la communauté Nooblounge propose tout un script avec excuses automatiques et tout et on peut aussi trouver des listes plus complètes sur Quadropolis [New ScriptsBest Scripts]. Pour intégrer ces scripts il suffit de modifier quelques fichiers de configuration au format texte. D’ailleurs le plus casse-pied est de trouver le bon fichier de configuration, La FAQ-Wiki nous aide bien pour le coup [Link]. Si au travail j’ai trouvé sans souci sous Linux, j’ai eu plus de mal sur mon portable avec Seven …

Voila donc pour une plutôt longue présentation. J’avoue ne jouer qu’à ce jeu en ce moment. C’est facile d’accès, cela détend en servant de défouloir. C’est rapide et fluide. Cela ne prend presque pas de place sur le disque dur. Bref j’adhère complètement. N’hésitez pas à me rejoindre de temps à autre le soir. Je suis souvent sur Nooblounge.net et pour le pseudo je pense que vous aviez deviné, Gals.

Pour l’anecdote, le Sauerbraten est initialement un plat allemand à base de viande de bœuf avec une sauce aigre-douce. Et bien un collègue nous a invité à dîner chez lui et nous l’a cuisiné. Félicitations à lui car c’était vraiment très bon 😉 Par contre pour en savoir plus sur cette recette je vous invite à lire la page Wikipedia [Link] ou à chercher rapidement via Google 😉

Photo d'un plat de sauerbraten

Liens :

une capture d'écran en capture de drapeau dans sauerbraten

Télécharger / Créer un fichier vidéo à partir d’un flux de streaming Real Media (Rm)

Lors de certains cours au CNAM, j’ai découvert des supports de cours au format « .rm ». Il s’agissait de cours enregistrés et disponibles en Streaming sur l’interface de Pléi@d (Pour ceux qui ne connaissent pas le CNAM, il s’agit de la plate-forme de partage des documents de cours, messageries, forums, … réservée aux auditeurs). J’ai eu le droit aux deux formats, à savoir un flux en direct que je souhaitais visionner et enregistrer, et aussi des flux mis à disposition une fois le cours terminé, et que je souhaitais enregistrer en local. Ces fichiers sont des « Real Media » file associés normalement au lecteur Real Player. Si on a le fichier complet, VLC permet parfaitement de le lire. Et comme on le trouve sur tous les systèmes d’exploitation ou presque, c’est encore mieux. Pour enregistrer le flux en direct, le plus simple reste d’utiliser le logiciel propriétaire Real Player. Mais je n’en  suis pas fan car il vient aussi avec pas mal de publicités … Pour lire les fichiers sous Windows on peut alors utiliser son alternative c’est à dire Real Alternative. Maintenant imaginons que nous n’ayons plus le net, ou que nous souhaitions placer les vidéos sur notre smartphone pour les lire sans consommer toute la bande passante de ce dernier. Voici donc un moyen pour télécharger les vidéos au format rm et les passer en format avi.

  • En supposant que l’on soit sous Windows, prendre une build sans GUI de mplayer. Pour des versions Linux/MacOS voir içi ou tout simplement dans vos dépôts 😉 .
  • Extraire les fichiers avec 7zip.
  • Récupérer le lien de la vidéo (fichier .rm), l’éditer avec un éditeur simple comme Bloc-Note, Vi etc…

Vous obtiendrez par exemple pour une vidéo :

rtsp://xxx.xxx.xxx.xxx/architecture/dossiers/nom_de_mon_fichier.rm

Où xxx.xxx.xxx.xxx représente l’IP ou le nom de domaine de la machine hébergeant votre fichier rm.

  • Sous Windows, lancer un cmd (command) et se placer dans le répertoire où l’on a extrait mplayer.
  • Lancer cette commande (ici sous Linux) :

mplayer -dumpstream « rtsp://xxx.xxx.xxx.xxx/architecture/dossiers/nom_de_mon_fichier.rm » -dumpfile nom_de_mon_fichier_local.avi

 

  • Prévoir autre chose en attendant car cela peut-être long pour certaines 😉
  • Récupérer son fichier .avi dans le répertoire de mplayer, ou dans le répertoire depuis lequel on a lancé la commande.

Remarque 1 : lire la vidéo récupérée avec autre chose que Windows Media Player (VLC etc) car la vidéo s’arrête en plein milieu avec WMP (pour cela il faut avoir les codecs Real, pas besoin avec VLC)… Vous pouvez bien entendu le ré-encoder pour réduire sa taille et/ou corriger le problème.

Remarque 2 : Comment ré-encoder la vidéo pour passer à un format plus sympa (ici sous Windows) :

mencoder.exe nom_de_mon_fichier_local.avi -ovc x264 -oac mp3lame -lameopts abr:br=64 -x264encopts bitrate=150 -o nouveau_nom_de_mon_fichier_local.avi

Bon il existe de nombreuses options ou formats que je ne détaillerais pas ici. Via les sites de mplayer ou de références, vous devriez pouvoir trouver pas mal d’informations, de précisions sur ces points.

J’espère que cela sera utile à certain(e)s. En tout cas je remercie l’auditeur du CNAM qui m’avait aidé pour toutes ces astuces à l’époque. Et si vous n’êtes pas au CNAM et que cela vous est aussi utile, n’hésitez pas à en faire profiter d’autres 🙂

Calculs de réseaux, sous-réseaux, masques, IP, Broadcast, …

Que ce soit pour le travail, pour créer un réseau, ou pour réaliser des exercices pour les cours, ou tout simplement pour le fun, nous avons parfois besoin de calculer des IP, réseaux, masques et ainsi de suite. Si connaître la théorie est importante, via des calculs binaires (ET, OU, …), nous trouvons déjà pas mal de tutoriels sur le Net en plus de ce que nous apprenons en cours. J’avais déjà eu à la faire pour le CNAM en RSX101 (Réseaux et Télécommunications) et je viens d’avoir à travailler de nouveau sur ces sujets pour le cours de RSX103 (Réseaux : compléments et applications). A l’époque j’avais utilisé ShunIPCalc pour me faciliter la vie. je l’avais aussi utilisé en entreprise pour concevoir notre actuel réseau et son découpage. Mais j’ai pu découvrir récemment d’autres applications sous Linux pour le compléter comme sipcalc, ipcalc et GIP (Internet Protocol Calculator). Voici donc une brève présentation de ces outils qui je l’espère pourra vous aider pour le CNAM ou au travail. 🙂

Sommaire

ShunIPCalc

Surement le plus connu et le premier que j’ai utilisé. Sous Windows il s’agit d’un freeware. Facile d’utilisation et très complet c’est celui que j’ai utilisé le jour où j’ai du modifier le réseau de mon entreprise. En effet on peut facilement concevoir des plans d’adressage compliqués en choisissant de travailler sur des plages d’IP, des nombres de machines par sous-réseaux et ainsi de suite.

C’est vraiment une aide et le site y apporte beaucoup. En plus de donner un logiciel complet, son auteur a rédigé des pages explicatives sur tous les calculs. Je crois bien que j’ai autant du utiliser son aide en ligne que son logiciel afin de bien maîtriser ces concepts et calculs 😉

sipcalc

Sur une Ubuntu desktop rien de plus simple pour l’installer :

sudo apt-get install sipcalc

Ensuite il vous suffit de le lancer via la console :

gals@gals-UVB:~$ sipcalc 10.0.0.0/25
-[ipv4 : 10.0.0.0/25] – 0
[CIDR]
Host address        – 10.0.0.0
Host address (decimal)    – 167772160
Host address (hex)    – A000000
Network address        – 10.0.0.0
Network mask        – 255.255.255.128
Network mask (bits)    – 25
Network mask (hex)    – FFFFFF80
Broadcast address    – 10.0.0.127
Cisco wildcard        – 0.0.0.127
Addresses in network    – 128
Network range        – 10.0.0.0 – 10.0.0.127
Usable range        – 10.0.0.1 – 10.0.0.126

gals@gals-UVB:~$

L’aide est assez complète et nous montre pas mal d’options :

gals@gals-UVB:~$ sipcalc -h
sipcalc 1.1.5

Usage: sipcalc [OPTIONS]… <[ADDRESS]… [INTERFACE]… | [-]>

Global options:
-a, –all            All possible information.
-d, –resolve            Enable name resolution.
-h, –help            Display this help.
-I, –addr-int=INT        Added an interface.
-n, –subnets=NUM        Display NUM extra subnets (starting from
the current subnet). Will display all subnets
in the current /24 if NUM is 0.
-u, –split-verbose        Verbose split.
-v, –version            Version information.
-4, –addr-ipv4=ADDR        Add an ipv4 address.
-6, –addr-ipv6=ADDR        Add an ipv6 address.

IPv4 options:
-b, –cidr-bitmap        CIDR bitmap.
-c, –classfull-addr        Classfull address information.
-i, –cidr-addr        CIDR address information. (default)
-s, –v4split=MASK        Split the current network into subnets
of MASK size.
-w, –wildcard        Display information for a wildcard
(inverse mask).
-x, –classfull-bitmap    Classfull bitmap.

IPv6 options:
-e, –v4inv6            IPv4 compatible IPv6 information.
-r, –v6rev            IPv6 reverse DNS output.
-S, –v6split=MASK        Split the current network into subnets
of MASK size.
-t, –v6-standard        Standard IPv6. (default)

Address must be in the « standard » dotted quad format.
Netmask can be given in three different ways:
– Number of bits    [/nn]
– Dotted quad       [nnn.nnn.nnn.nnn]
– Hex               [0xnnnnnnnn | nnnnnnnn]

Interface must be a valid network interface on the system.
If this options is used an attempt will be made to gain the address
and netmask from the specified interface.

Replacing address/interface with ‘-‘ will use stdin for reading further
arguments.

Report bugs to .
gals@gals-UVB:~$

Si jamais il n’est pas disponible par défaut sur votre distribution Linux, n’hésitez pas à visiter les liens ci-dessous pour obtenir les sources.

IP Calculator : ipcalc

Un autre outil en ligne de commandes. Il est installé par défaut sous Ubuntu, CentOS et d’autre distributions.

gals@gals-UVB:~$ ipcalc
Usage: ipcalc [options]

[[/]] [NETMASK]

 

ipcalc takes an IP address and netmask and calculates the resulting
broadcast, network, Cisco wildcard mask, and host range. By giving a
second netmask, you can design sub- and supernetworks. It is also
intended to be a teaching tool and presents the results as
easy-to-understand binary values.

-n –nocolor  Don’t display ANSI color codes.
-c –color    Display ANSI color codes (default).
-b –nobinary Suppress the bitwise output.
-c –class    Just print bit-count-mask of given address.
-h –html     Display results as HTML (not finished in this version).
-v –version  Print Version.
-s –split n1 n2 n3
Split into networks of size n1, n2, n3.
-r –range    Deaggregate address range.
–help     Longer help text.

Examples:

ipcalc 192.168.0.1/24
ipcalc 192.168.0.1/255.255.128.0
ipcalc 192.168.0.1 255.255.128.0 255.255.192.0
ipcalc 192.168.0.1 0.0.63.255

ipcalc-  deaggregate address range

ipcalc

/–s a b c

split network to subnets
where a b c fits in.

! New HTML support not yet finished.

ipcalc 0.41
gals@gals-UVB:~$

Ce qui nous donne par exemple :

gals@gals-UVB:~$ ipcalc 10.0.0.0/25
Address:   10.0.0.0             00001010.00000000.00000000.0 0000000
Netmask:   255.255.255.128 = 25 11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127            00000000.00000000.00000000.0 1111111
=>
Network:   10.0.0.0/25          00001010.00000000.00000000.0 0000000
HostMin:   10.0.0.1             00001010.00000000.00000000.0 0000001
HostMax:   10.0.0.126           00001010.00000000.00000000.0 1111110
Broadcast: 10.0.0.127           00001010.00000000.00000000.0 1111111
Hosts/Net: 126                   Class A, Private Internet

gals@gals-UVB:~$

Je vous laisse découvrir les différentes options possibles et jouer avec. Et pour plus d’informations où si vous ne l’avez pas d’installé, servez-vous des liens ci-dessous.

GIP (Internet Protocol Calculator)

Il s’agit ici d’une application fenêtrée et non plus en ligne de commande. Similaires aux autres elle nous permet de réaliser divers calculs en automatique. Pour l’installer sous Ubuntu rien de plus simple.

sudo apt-get install gip

Lancez là ensuite avec « gip ». Vous aurez alors les fenêtres suivantes :

De quoi faciliter les calculs et les études. Et si vous n’avez pas le paquet tout prêt pour votre distribution, vous pouvez suivre les liens suivant pour vous procurer ce logiciel.

Liens additionnels :

Parce que avoir des solutions toutes prêtes c’est bien, mais citer ces sources et vous permettre d’approfondir c’est tout aussi bien, voici quelques liens pour vous aider. Pour certains cela vous permettra de nombreux exemples de calculs en complément de ceux cités ci-dessus, et pour d’autres des points de vue ou des exemples différents des miens.

Comme d’habitude n’hésitez pas à partager vos propres ressources ou liens en commentaires. Plus on partage et mieux c’est. L’information est partage 😉