Category: Linux-Ubuntu

octobre 29th, 2017 by jbo-admin
les logs de démarrage

les logs de démarrage sur un système LINUX/UNIX sont disponibles ici:

/var/log/boot.log

les niveaux de démarrage – RunLevel

Il y a 7 runlevels différents sur un système Unix. Chacun est associé à un état de votre machine. Voici les runlevels des systèmes Debian/Ubuntu :

  • Runlevel 0 : Arrêt de la machine
  • Runlevel 1 : Mode maintenance (mono-utilisateur en ligne de commande)
  • Runlevel 2 à 5 : Mode multi-utilisateur complet avec serveur graphique si installé
  • Runlevel 6 : Redémarrage de la machine

Lorsqu’un système Unix démarre, il se place dans le runlevel 2, 3, 4 ou 5 (par défaut, le 2).  Au démarrage, il va consulter le répertoire /etc/rc2.d/.

Posted in Linux-Ubuntu

septembre 23rd, 2017 by jbo-admin

# GDB (https://openclassrooms.com/courses/deboguer-son-programme-avec-gdb)

Lancement d’une session
$ gdb program [dumpfile] [PID] [-silent|-q|-quiet]
Obtenir de l’aide sur une commande (une fois gdb lancé)
(gdb) help
Lancer l’exécution jusqu’au bout (ou jusqu’à la premiere erreur)
(gdb) run [args...]
Lancer l’exécution avec un point d’arret à l’entrée du programme
(gdb) start [args...]
Stopper l’exécution
(gdb) kill
Affiche la ligne d’arguments actuelle du programme.
(gdb) show args

Règle la ligne d’arguments à « arguments » (vous pouvez aussi passer les arguments comme paramètres à start ou run).

(gdb) set args arguments

Les entrées et sorties

Si votre programme utilise les entrées et sorties standards, les opérations d’entrée et de sortie seront effectuées dans le même terminal que GDB. Vous pouvez, pour plus de clarté par exemple, changer le terminal du programme exécuté.
A NOTER : il faut ouvrir au préalable le terminal à utiliser et taper la commande tty pour connaitre son identifiant. Ensuite dans la console gdb , taper la commande tty <terminal>
(gdb) tty <terminal>

Placer des points d’arrêt

Il y a trois façons de préciser un point d’arrêt :

  • breakpoints = indiquer un endroit précis (fonction, ligne, fichier) ;
  • watchpoints = lors de la modification d’une variable (ou à sa lecture) ;
  • catchpoints = lorsqu’un certain événement se produit (création d’un nouveau processus, chargement d’une librairie, throw ou catch d’une exception, etc.).

Affiche la liste des points d’arrêt. Si vous précisez un numéro (et non une position), vous ne verrez que les infos qui concernent ce point d’arrêt.

(gdb) info break [breaknum]
Les breakpoints

Si on ne donne pas de position, GDB s’arrêtera à la prochaine instruction qui sera exécutée. Sinon on peut spécifier l’endroit où le programme sera arrêté :

  • en donnant un numéro de ligne (break 123) du fichier courant ;
  • en donnant un décalage en lignes par rapport à la prochaine instruction (break +5 #s’arrêter 5 lignes après la prochaine instruction) ;
  • en donnant un nom de fichier et un numéro de ligne (break monfichier.cpp:123) ;
  • en donnant un nom de fonction (break ma_fonction) ;
  • en donnant un nom de fichier et de fonction (break monfichier.cpp:ma_fonction) ;
  • en donnant une adresse (break *adresse #adresse peut être un nombre, une variable, une expression…).

Exemple : « (gdb) break *(0x80F523 + maVariable).

(gdb) break [position]

Supprime le breakpoint correspondant à la position indiquée. Comme précédemment, ne pas indiquer de position suppose qu’il s’agit de l’instruction suivante.

(gdb) clear [position]
Ajouter un watchpoint

Indique à GDB de s’arrêter dès que la variable est modifiée. L’instruction qu’il vous affiche correspond donc à celle qui sera exécutée juste après (et non pas à celle qui a modifié la variable, puisqu’elle a déjà été exécutée).
Vous pouvez également utiliser une expression, par exemple « a*b », pour indiquer à GDB de ne s’arrêter que lorsque (a*b) aura été modifié. Mais il faut bien noter que pour surveiller une expression, GDB est obligé de surveiller chaque variable de cette expression et d’évaluer le résultat.

(gdb) watch variable

Indique à GDB de s’arrêter dès que la variable est accédée par le programme (r pour « read »).

(gdb) rwatch variable

Indique à GDB de s’arrêter aussi bien lorsque la variable est modifiée que lorsqu’elle est lue.

(gdb) awatch variable
Supprimer un point d’arrêt

Dans les commandes suivantes, si [breaknum] n’est pas spécifié, cela signifie « tous les points d’arrêt ».
Supprime le point d’arrêt numéro « breaknum ».

(gdb) delete [breaknum]

Désactive un point d’arrêt, mais ne le supprime pas (GDB ne s’arrêtera pas, mais vous pourrez toujours le réactiver par la suite).<

(gdb) disable [breaknum]

Active un point d’arrêt.

(gdb) enable [breaknum]

Active un point d’arrêt pour un seul passage. Dès qu’il est atteint une fois, il est désactivé automatiquement.

(gdb) enable [breaknum] once

Active un point d’arrêt pour un seul passage. Dès qu’il est atteint une fois, il est automatiquement supprimé.

(gdb) enable [breaknum] delete
Continuer l’exécution

Exécute les [count] prochaines lignes de code. Si count n’est pas spécifié, il vaut 1. Si l’instruction est un appel de fonction, step va passer à l’intérieur de cette fonction. Attention cependant, step ne peut aller que dans les fichiers qui ont des informations de débogage (il a besoin des numéros de ligne).

(gdb) step [count]

Comme « step », exécute les [count] prochaines lignes de code. La différence étant que si l’instruction est un appel de fonction, next ne s’arrêtera pas à l’intérieur de celle-ci, mais bien à la ligne suivant l’appel de la fonction.

(gdb) next [count]

Exécute toutes les instructions jusqu’à ce que le programme arrive à une ligne qui suit la ligne actuelle. C’est utile dans le cas de boucles.

(gdb) until
Examiner des variables

A noter : attention à la portée de la variable. Si on est dans une fonction et qu’on souhaite voir le contenu d’une variable de la fonction appelante il faut faire <fct>::<variable>

(gdb) print <variable>

On peut demander à afficher des variable dans un format particulier
Les formats sont les suivants :

  • x : entier affiché en hexadécimal ;
  • d : entier signé ;
  • u : entier non-signé ;
  • o : entier affiché en octal ;
  • t : entier affiché en binaire ;
  • a : adresse ;
  • c : caractère ;
  • f : nombre à virgule flottante (float).
(gdb) print/<format> <variable>

Affiche le stack d’appel (liste des frames) avec, pour chaque frame, le contenu des variables locales.

(gdb) backtrace full
Exemple d’utilisation

Le programme génère une erreur d’utilisation de pointeur.

(gdb) tty /dev/pts/1
(gdb) run
Starting program: /home/joelb/workspace/projet_c/mymusiccollector/bin/musiccollector-debug

Program received signal SIGSEGV, Segmentation fault.
0x08048706 in create_track (pxTrack=0xb7ff0950, pxName=0x80489d5 "toto", xDuration=120,
xYear=2012, pxArtiste=0x0, pxAlbum=0x0) at ./src/piste/com/piste.c:20
20 pxTrack->pName = malloc(sizeof(pxName));
(gdb)

Posted in Linux-Ubuntu

septembre 2nd, 2017 by jbo-admin

Le logiciel gratuit FFMPEG permet de récupérer la partie audio d’un fichier video. Son avantage : il est multi-plateforme. C’est à dire que ce programme est disponible sur MS Windows, Linux et MAC Os.

Pour le télécharger : FFMPEG

Sur Windows, avec une fenêtre MS DOS, taper les commandes suivantes

Microsoft Windows [version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

cd <chemin vers l'application FFMPEG>
ffmpeg -i <entree.webm> -acodec libmp3lame -aq 4 <sortie.mp3>

En remplaçant <entree.webm> par votre fichier d’entrée et <sortie.mp3> votre fichier de sortie.

Un conseil : mettre le chemin complet vers les fichiers 😉

 

Posted in Linux-Ubuntu, Windows

juillet 10th, 2011 by jbo-admin

Il faut utiliser la commande dd.

dd if=<référence vers CD/DVD> of=<nom_image_iso.iso>

Pour avoir la référence vers le CD/DVD, il faut taper la commande suivante:

df -h | grep /media/cdrom0

Le résultat doit contenir 6 colonnes. Ci-dessous des exemples:

/dev/sr0              3,0G  3,0G     0 100% /media/cdrom0
/dev/scd0 700M 700M 0 100% /media/cdrom0

Du coup la commande dd s’écrit dans mon cas:

 joel@pc-ubuntu ~ $ dd if=/dev/sr0 of=concert_damien_27022011.iso
6125184+0 enregistrements lus
6125184+0 enregistrements écrits
3136094208 octets (3,1 GB) copiés, 255,305 s, 12,3 MB/s
joel@pc-ubuntu ~ $

Le tour est joué.

Posted in Linux-Ubuntu

février 12th, 2010 by jbo-admin

Pour ceux qui auraient la malchance de tomber sur une fenêtre windows avec le message suivant:

« la plage d’impression sélectionnée ou la feuille sont vides »

lors d’une impression d’un fichier openOffice Calc (*.ods) alors ce guide permet de régler le problème et d’expliquer comment fonctionne la zone d’impression sous ce logiciel.

Une fois dans le logiciel Calc aller dans le menu Format->Zone D’impression->Editer… . La fenêtre c-dessous doit apparaitre.

Capture Zone Impression

Sélectionner le menu « – feuille entière – » pour définir la feuille comme zone d’impression par défaut.

Et les autres menus….

Si par exemple sous MS Excel vous pouviez imprimer facilement plusieurs pages de la même feuille, sur OpenOffice Calc, il suffit de choisir le menu « – sélection – » après avoir sélectionné les cases utiles. Bien sûr afficher la grille des pages reste très pratique.

Posted in La Famille, Linux-Ubuntu, Windows

février 6th, 2010 by jbo-admin

Pour tous les utilisateurs du logiciel gratuit OpenOffice qui ont des soucis avec le ‘.’ du pavé numérique alors cet article vous est destiné.

Cette manipulation a été validée sous Ubuntu Karmic.

Pour que le ‘.’ du pavé numérique fonctionne comme un nombre, sous le logiciel scalc de la suite OpenOffice, il faut modifier les paramètres linguistiques. Pour cela il faut cliquer sur le menu « Outils -> Option -> Paramètres linguistiques -> Langues une fois scalc lancé. Voici ma configuration qui fonctionne:

Capture config scalc

Une fois les réglages valider fermer la fenêtre. Le ‘.’ fonctionne maintenant comme un nombre à virgule.

Posted in Linux-Ubuntu

décembre 20th, 2009 by jbo-admin

Avec la venue de l’ADSL et des débits qui montent en flèche, beaucoup de gens souhaitent regarder la télévision sur leur PC. Cet article qui pourrait s’enrichir au cours du temps va examiner les solutions possibles pour regarder la télévision sur son PC.

Les linuxiens pourraient être déçus du service de la NeufBox de SFR qui permet depuis son navigateur de retrouver ses émissions en direct car celui-ci ne fonctionne pas sous environnement Ubuntu-karmic entre autre. Il faut donc se tourner vers d’autres solutions. Plusieurs méthodes sont définies ici. A vous de choisir celle qui vous convient le mieux et d’en ajouter.

Méthode 1:

  1. Il faut installer le programme vlc disponible ici.
  2. Dans vlc, aller dans le menu fichier puis ouvrir un flux reseau. Dans le champ adresse pour l’option HTTP, il faut écrire l’URL correspondant au flux TV dont vous disposez.

Pour les client NEUFBOX/SFR: http://tv.sfr.fr/tv-pc/televisionsurpc.m3u puis appuyer sur le bouton lire.
Il se peut que vlc détecte des erreurs mais ne fermez pas la fenêtre, cochez la case « ignorer… ». ATTENTION: Il semblerait que l’adresse ci-dessus puisse évoluer dans le temps.

Une fois démarrer vous pouvez choisir votre chaine en utilisant la liste de lecture de vlc.

Méthode 2:

La communauté linuxienne est si importante qu’il existe un logiciel qui vous permet de regarder la télévision depuis votre PC. Le logiciel freetuxTv permet de regarder les chaines de la FreeBox et de la Neufbox entre autre. L’installation dépend de votre version d’Ubuntu alors le plus simple c’est de cliquer ici et de suivre les étapes.

Posted in Linux-Ubuntu, Windows

novembre 28th, 2009 by jbo-admin

Si vous avez plusieurs vidéos sur un même sujet et que vous souhaitez les assembler dans un seul fichier pour des raisons pratiques alors suivez ces quelques lignes qui fonctionnent pour Linux Ubuntu 9.10.

Tapez la commande suivante dans un terminal pour installer le logiciel:

sudo apt-get install mencoder

Puis lancer l’outil en tapant la ligne de commande suivante:

mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi

Pour avoir des explications sur cet outil et les options utilisées, alors tapez la commande suivante et après cherchez l’information qui vous intéresse. Je n’ai jamais apprécié les MAN sous linux.

man mencoder

Posted in Linux-Ubuntu

novembre 16th, 2009 by jbo-admin

Si comme moi vous rencontrez un jour le besoin de synchroniser votre agenda google sur votre PC qui tourne sous Ubuntu alors avec un thunderbird tout neuf surtout suivez bien ces conseils car le chemin le plus évident n’est pas celui qui fonctionnera. En tout cas pas pour moi…

A mon grand regret j’avais installé lightning via l’option Modules complémentaires de Thunderbird mais il semble que cela ne soit pas la bonne méthode. L’utilisation de l’outil synaptics semble elle plutôt rapide et fonctionnelle pour un thunderbird 2.0.0.23 et une Ubuntu 9.10.

Alors tapez l’unique commande qui suit dans un terminal et tout sera terminé. C’est parfois plus simple qu’on le pense… suffit de savoir chercher et d’avoir un peu de patience.

sudo apt-get install lightning-extension

Amusez vous car cela a suffit pour moi.

Posted in Linux-Ubuntu

novembre 16th, 2008 by jbo-admin

Pour ceux qui, comme moi, ont voulu passer au système d’exploitation alternatif et gratuit : Ubuntu en l’installant depuis Windows alors il est rageant de constater qu’au démarrage de celle-ci aucune de vos précédentes partitions réalisées sous Windows apparaient.

Pour ceux qui souhaite avoir leur partition disponible de suite sans avoir à les monter, il suffit de suivre ce tutoriel. C’est un résumé de la documentation trouvée sur le forum de Ubuntu à qui je dis un grand merci.

Tout d’abord effectuez une sauvegarde du fichier fstab comme suit:
sudo cp /etc/fstab /etc/fstab_sauvegarde

Pour connaitre l’identifiant donné par Linux à vos partition il faut éxécuter la commande qui suit:
sudo fdisk -l
Attention l’option indiquée est -l (L minuscule)

En effet Linux ne gère pas les partions en attribuant des lettres (A:, C:, D:, E:,etc…) mais donne des noms plus précis. Vous reconnaitrez vos partitions grâce à leur taille.

Ensuite éditez ce même fichier fstab via votre éditeur préféré sur votre Ubuntu (gedit, kwrite, kate, vi, vim, …)

Si vous avez un windows XP formaté en NTFS (très souvent l’option par défaut) alors ajoutez ces deux lignes dans le fichier ouvert :
# Partitions Windows - NTFS
périphérique point de montage ntfs-3g rw,user,auto,gid=100,uid=1000,nls=utf8,umask=002 0 0

Attention il faut utiliser une tabulation entre chaque donnée pour que le fichier soit valide.

Enfin enregistrez le fichier et redémarrer le PC. Vos disques doivent apparaitre sur votre bureau.

Attention cela ne fonctionne pas forcément avec les disque dur de type ATA-SATA-SATA2.

Pour le lien complet s’il existe encore direction le forum d’Ubuntu

Posted in Linux-Ubuntu