Gérer ses images CD sous Linux

Posté par seiyar81 le 20 mai 2010 | Laisser un commentaire (0)
Monter ses images CD sous Linux

Il faut bien l’avouer, se trimballer avec tous les CDs de ses logiciels/jeux/musique/films c’est impossible. Ou alors il faut se déplacer en voiture voire en semi-remorque pour certains !

Heureusement pour nous Dieu l’Homme a inventé l’image CD (ou image disque) !
Une image disque n’est ni plus ni moins qu’une copie du système de fichier d’un CD ou DVD mais je suppose que vous le savez déjà.

Quels formats ?

Il existe une foultitude de format de fichiers pour les images CD, les plus connus étant :

  • ISO, le format le plus répandu, c’est la norme internationale ISO 9660
  • IMG, une copie binaire d’un CD ou d’un DVD sous forme d’un fichier nativement lu sous Mac OS X
  • DMG, image ISO lisible, inscriptible et cryptable nativement sous Mac OS X
  • CCD, le format de Clone CD
  • CDI, le format du DiscJuggler (en)
  • CUE, le format de Cue sheet
  • MDS, le format de Media Descriptor, utilisé par Alcohol
  • NRG, le format utilisé par Nero Image Editor
  • PDI, le format de Instant CD/DVD
  • UIF, le format de Magic ISO (qui est une image ISO compressée)

Comment gérer mes images CD ?

Sous Windows on dispose de logiciels tels que Daemon Tools ou Alcohol 120% qui permettent de « monter » ses images CD sur des lecteurs virtuels.
Principal défaut de ces logiciels : ils ajoutent des lecteurs virtuels, pas gênants mais ça pollue le poste de travail :p

Sous Linux c’est une autre histoire, tout est histoire d’une ligne de commande. Simple et efficace :

hugo@seiyar81:/home$ sudo mount -o loop -t iso9660 yriase.iso /media/cdrom0

On indique l’option loop pour rendre le fichier accessible comme un système de fichier et -t pour indiquer le type de système de fichier, ici une image iso.

Et les autres formats de fichiers ?

Linux est fort ! Il existe des programmes qui permettent la conversion d’images aux formats bin, mdf ou encore dmg vers le format iso.

Pour transformer une image mdf en iso :

hugo@seiyar81:/home$ sudo apt-get install mdf2iso
hugo@seiyar81:/home$ mdf2iso image.mdf image.iso

Pour transformer une image bin en iso :

hugo@seiyar81:/home$ sudo apt-get install ccd2iso
hugo@seiyar81:/home$ ccd2iso image.bin image.iso

Pour transformer une image dmg en iso nous utiliserons l’outil bchunck et dmg2img. Vous pouvez également utiliser bchunk pour transformer vos .bin en .iso.

hugo@seiyar81:/home$ sudo apt-get install bchunk dmg2img
hugo@seiyar81:/home$ dmg2img fichier.dmg fichier.img
hugo@seiyar81:/home$ bchunk fichier.img fichier.iso

Une fois que vous n’avez plus besoin du CD :

hugo@seiyar81:/home$ sudo umount /media/cdrom0

Vous disposez maintenant de toutes les informations pour gérer vos images CD sous Linux !

Catégorie: Linux | Laisser un commentaire (0)

Mise à jour difficile de Kubuntu 9.10 vers Lucid Lynx

Posté par seiyar81 le 6 mai 2010 | Laisser un commentaire (0)
Kubuntu 10.04

Tout le monde le sait plus ou moins, la dernière version d’Ubuntu nommée Lucid Lynx est sortie depuis quelques jours, pas besoin de revenir là dessus.

Possédant un PC sous Kubuntu 9.10 j’attendais d’avoir un bon créneau d’au minimum 2h pour lancer la mise à niveau.
Hier soir je me décide donc à installer la version 10.04 de Kubuntu.
Niveau simplicité d’utilisation rien à redire, tout se fait tout seul, à part choisir de supprimer ou non les paquets obsolètes. Il m’aura bien fallu 2h pour télécharger les nouveaux paquets et les installer mais tout se déroule parfaitement bien. Je redémarre donc l’ordinateur, nouveau logon screen, ha ba oui normal c’est la dernière version de KDE, la 4.4.2, ça tombe bien je voulais mettre à jour depuis un moment.

Je rentre mes identifiants, et là première déconvenue, une petite MessageBox me disant « Could not start ksmserver« . Oui, mais non. Pas très cool ça. Bon je tente des startx, j’essaye de démarrer kdm à la main et finalement je tombe sur un message dans les logs comme quoi deux librairies sont en conflit : libGL.so et libGLCore.so.
Et oui j’ai installé les derniers drivers de NVIDIA quelques jours plus tôt les 195.36.24 et je me retrouve avec une librairie dans cette version et une autre en version 195.36.15.
Qu’à cela ne tienne, je télécharge les 195.36.15 histoire d’être sûr, je désinstalle les drivers puis installe ceux fraîchement téléchargés.

Je redémarre et là miracle j’arrive à me loguer, KDE démarre et m’affiche un superbe écran noir ! Youpi comme si je n’avais que ça à faire ! Je tente un Alt+Tab et bizarrement KDE m’affiche bien un message comme quoi il n’y a pas de fenêtres ouvertes. Et je peux également accéder à la liste des processus en cours avec Ctrl+Echap.
Je trouve alors très vite la source du problème, en effet en tentant de stopper puis de relancer le bureau je m’aperçois que le paquet kubuntu-desktop n’est tout simplement pas installé !
Très bizarre étant donnée que c’est le paquet qui permet l’affichage du bureau de KDE.

Je lance donc un petit apt-get install kubuntu-desktop et là mon cauchemar prend réellement fin, j’ai mon magnifique bureau sous KDE 4.4.2.

Bref je me souviendrais longtemps de cette mise à jour fastidieuse et surtout chronophage qui m’aura privé de plus de 3h de mon temps ! Mais quand on aime on ne compte pas …

Catégorie: Linux | Laisser un commentaire (0)

Pavé numérique avec Putty et Vi/Vim

Posté par seiyar81 le 12 janvier 2010 | Laisser un commentaire (0)

Si comme moi vous utilisez Putty en client SSH, et que vous disposez d’un clavier numérique, vous avez sûrement remarqué qu’il est non seulement inutilisable mais en plus qu’il provoque des insertions foireuses de caractères ainsi que des retours à la ligne.

Un simple réglage dans la configuration de Putty permet d’endiguer le problème :

Putty > Terminal > Feature > Cocher Disable application keyboard mode

Catégorie: Développement Web | Laisser un commentaire (0)

Installer un serveur SOCKS sous Debian/Ubuntu

Posté par seiyar81 le 8 janvier 2010 | Laisser un commentaire (10)

C’est quoi SOCKS ? Et bien SOCKS est un protocole réseau qui permet à des applications client-serveur d’employer d’une manière transparente les services d’un pare-feu.
Nous allons l’utiliser dans cet article pour créer un serveur proxy qui va nous permettre de passer outre les différentes restrictions mises en places sur le réseau.
Il s’agit souvent de ports ou de sites bloqués dans les réseaux d’entreprises ou d’universités.

Personnellement l’école au sein de laquelle je suis mes études, autorise les port 80 (HTTP), 22 (SSH), 21 (FTP), 443 (SSL), 1863 (MSN) et quelques autres seulement. Impossible donc de jouer à un quelconque jeu en ligne (même si je rappelle que les études sont faites pour étudier !). 
Je m’en sers pour jouer de temps en temps et surtout pour me connecter en SSH à mon serveur qui n’écoute pas sur le port 22 (histoire d’éviter le spam de bots).

J’ai choisi d’utiliser Dante Server car il est plutôt simple à configurer, mais sachez qu’il en existe d’autres tels que WinSocks pour Windows ou bien Nylon pour OpenBSD.

On commence donc par installer le paquet :

sudo apt-get install dante-server

Ensuite on va s’intéresser au fichier de configuration du serveur.

Voici un exemple de contenu pour /etc/danted.conf :

logoutput: syslog stdout /var/log/sockd

internal: ip_du_serveur port = port_proxy
external: eth0

method: username

user.notprivileged: sockd

client pass {
  from: ip_du_serveur/0 port 1-65535 to: 0.0.0.0/0
  log: connect disconnect

}

pass {
  from: ip_du_serveur/0 to: 0.0.0.0/0
  method: username
}

Petite explication du bloc ci-dessus :
- logoutput indique où l’on souhaite rediriger la sortie du programme
- internal/external définissent l’adresse/l’interface utilisée pour l’écoute et la sortie
Placez-y donc l’IP de votre serveur, le port souhaité et l’interface
- method: username indique que l’on souhaite une authentification par login/mot de passe
- user.notprivileged : l’utilisateur et le groupe sockd sont créés à l’installation du programme

- les zones client pass et pass définissent le traffic autorisé, ici on autorise tout !

On termine en ajoutant une règle iptables pour autoriser le traffic sur le port choisit
et on démarre le serveur :

iptables -A INPUT -d ip_du_serveur -p tcp --dport port_proxy -j ACCEPT

/etc/init.d/danted start

Et voilà c’est aussi simple que ça ! Vous avez maintenant un serveur proxy complètement fonctionnel.
Ne vous reste plus qu’à configurer vos logiciels clients soit directement dans les propriétés des logiciels qui proposent la connexion par proxy soit en utilisant un logiciel du type Proxifier sous Windows ou bien Dante Client.

Catégorie: Internet, Linux | Laisser un commentaire (10)

Configuration et Utilisation de Vim 5/5

Posté par seiyar81 le 7 décembre 2009 | Laisser un commentaire (0)
news-vim

Déjà la fin de ce tutoriel snif :’( Peut être pas aussi complet que d’autres, j’ai surtout voulu parler de ce qui me semblait essentiel pour un développeur travaillant avec Vim.

On va commencer cette dernière partie par l’auto-complétion, comment l’activer, comment ajouter des mots-clés etc…
Pour l’activer c’est très simple, comme partout ailleurs vous devez avoir commencé un mot et ensuite taper Ctrl+n pour accéder à la liste de mots-clés correspondants. Vim vous indiquera alors soit ‘Motif introuvable‘ soit vous proposera de ‘parcourir’ les correspondances à l’aide des combinaisons de touches Ctrl+n pour avancer et Ctrl+p pour revenir en arrière.

A savoir que par défaut Vim recherche dans le document courant les occurences.

Il est possible de lui rajouter des listes de mots-clés pour la coloration syntaxique. On utilise pour cela une commande simple :

:syntax keyword {group} {keyword} ...
// ou :syn keyword {group} {keyword} ...

{group} correspond à un nom de groupe de syntaxe. Par exemple si vous ouvrez le fichier ‘~/.vim/syntax/php.vim’ vous pourrez y voir des groupes de syntaxe comme phpFunctions, phpMethods, phpStatement ou encore phpType.
Qu’à cela ne tienne on va rajouter nos fonctions persos :

:syn keyword phpFunctions ma_fonction_qui_roxx ma_fonction_qui_suxx

Mais il est plus intéressant d’ajouter tous nos mots-clés, nos fonctions etc dans un seul fichier et de l’inclure :

:runtime! syntax/fichier.vim

:runtime! effectue une recherche dans le ‘runtimepath’ ($HOME/.vim ou $VIM/vimfiles) du fichier syntax/fichier.vim. Il est donc préférable que vous placiez votre fichier dans ce dossier.

Maintenant une astuce que je trouve tout bonnement indispensable, binder la commande php5 afin de vérifier la syntaxe du document et éventuellement l’exécuter.

Rajoutez ceci à votre fichier de configuration de Vim :

// Ctrl+M pour exécuter le fichier
autocmd FileType php noremap :w!:!/usr/bin/php5 %

// Ctrl+L pour vérifier la syntaxe
autocmd FileType php noremap :!/usr/bin/php5 -l %

Extrêmement pratique et fait gagner beaucoup de temps !

Pour finir je link un article sur l’utilisation de ctags avec Vim. L’auteur y explique comment ajouter une librairie, ici le Zend Framework : Article (en anglais)

J’espère que ce tutoriel a été utile, bientôt la présentation de quelques plugins très utiles pour Vim !

Catégorie: Linux | Laisser un commentaire (0)

Les modules indispensables pour Apache 1/2

Posté par seiyar81 le 27 novembre 2009 | Laisser un commentaire (0)
apache

EDIT : Un bug d’affichage (dû à une balise mal fermée :s) cachait une bonne partie de l’article.

Apache est aujourd’hui et depuis longtemps le serveur HTTP le plus utilisé dans le monde ! Loin devant IIS le serveur de Microsoft, et ses autres concurrents.

D’après Netcraft en Novembre 2009 parmi le million de sites le plus visités :
Apache 67.00%
Microsoft 17.75%
nginx 3.87%
Google 1.98%

Gratuit et open-source son succès tient sûrement à sa stabilité, au fait qu’il soit disponible pour plusieurs OS, et surtout à sa grande modularité !
En effet de très nombreux modules sont disponibles afin de lui rajouter des fonctions, d’améliorer sa sécurité, de l’optimiser etc…
Je vais donc vous présenter les modules qui, selon-moi, sont quasi-indispensables de nos jours pour un serveur Apache.

Je prend ici l’exemple d’un serveur Apache version 2.2.9 tournant sous Debian.

En premier lieu s’il n’est pas déjà installé : le module php5_module si votre serveur est destiné à héberger des pages php pour Apache.

sudo apt-get install php5
// Vous pouvez également rajouter ceci
// php5-dev php5-gd php5-mysql php5-pear 

a2enmod php5
// a2dismod pour décharger un module

/etc/init.d/apache2 restart

Ensuite on peut activer le module deflate_module qui va nous permettre de compresser sans perte soit les pages ou bien les fichiers css et javascript. Un gain de 20 à 40% est alors enregistré, toutefois au dépend des ressources système.
Le module deflate dépend du module headers.

// On active les deux modules
a2enmod headers
a2enmod deflate

Vous pouvez ensuite placer cette configuration dans vos Virtual Host ou vos Directory.

   SetOutputFilter DEFLATE

   # example of how to compress ONLY html, plain text and xml
   # AddOutputFilterByType DEFLATE text/plain text/html text/xml

   # Don't compress binaries
   SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|iso|tar|bz2|sit|rar)$ no-gzip dont-vary

   # Don't compress images
   SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|jpg|ico|png)$  no-gzip dont-vary

   # Don't compress PDFs
   SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

   # Don't compress flash files (only relevant if you host your own videos)
   SetEnvIfNoCase Request_URI \.flv$ no-gzip dont-vary

   # Netscape 4.X has some problems
   BrowserMatch ^Mozilla/4 gzip-only-text/html

   # Netscape 4.06-4.08 have some more problems
   BrowserMatch ^Mozilla/4\.0[678] no-gzip

   # MSIE masquerades as Netscape, but it is fine
   BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

   # Make sure proxies don't deliver the wrong content
   Header append Vary User-Agent env=!dont-vary

   # Setup custom deflate log
   DeflateFilterNote Input instr
   DeflateFilterNote Output outstr
   DeflateFilterNote Ratio ratio
   LogFormat '"%r" %{outstr}n/%{instr}n %{ratio}n%%' DEFLATE
   CustomLog /var/log/apache2/deflate_log DEFLATE

   # Add file types
   AddOutputFilterByType DEFLATE text/php text/HTML text/txt text/css text/javascript

Affichez quelques pages via votre navigateur et vous verrez que les types de fichiers concernés sont bien compressés.

Un autre module qui va nous permettre de réduire la bande passante utilisée par le serveur : expires_module. Ce module permet de contrôler l’en-tête HTTP Expires. Ainsi lorsqu’une ressource est demandée au serveur et qu’elle est disponible dans le cache du client il ne la demandera pas au serveur à moins que la date ai expirée.

Une configuration classique :

  
       ExpiresActive on
       ExpiresByType image/jpg "access 1 month"
       ExpiresByType image/gif "access 1 month"
       ExpiresByType image/png "access 1 month"
       ExpiresByType application/x-shockwave-flash "access 1 month"
       ExpiresByType text/html "access 1 day"
       ExpiresDefault "access 2 days"
  

Les images de types jpg, gif et png ont une date d’expiration d’un mois, les pages html d’un jour et tous les autres types de ressources 2 jours.
Les types MIME sont listés dans le fichier /etc/mime.types.

Maintenant un module qui va contrôler les requêtes effectuées et bannir les IP qui abusent : mod_evasive.

L’installation :

// Choississez le dossier d'installation
cd dossier_installation
wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
tar-zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive
// Compilation du module
apxs2 -cia mod_evasive20.c

// Activation, change selon l'emplacement et l'organisation de vos fichiers de configuration
cd /usr/local/conf/
vim httpd.conf
// Ajoutez ceci
LoadModule evasive20_module   modules/mod_evasive20.so

Un exemple de configuration :


        DOSHashTableSize 3097

        # Nbre d'affichage de la même page par IP
        DOSPageCount 10

        # Nbre d'affichage du même site par IP
        DOSSiteCount 50

        # Interval d'affichage de la même page par IP
        DOSPageInterval 1

        # Interval d'affichage du même site par IP
        DOSSiteInterval 1

        # Durée du blocus (exprimé en secondes)
        DOSBlockingPeriod 5

        # Notification par adresse email pour être prévenu
        DOSEmailNotify mail@domain.com

        # Nouveau dossier pour y placer le logs du module
        DOSLogDir "/var/log/apache2/evasive/"

        # Utlisation d'iptables pour bannier l'IP qui tente de saturer le serveur
        DOSSystemCommand "/sbin/iptables -I INPUT -s %s -j DROP"

        # Liste blanche permettant à une IP d'effecuer un nombre illimité de requètes
        DOSWhiteList 127.0.0.1

Et un petit /etc/init.d/apache2 restart pour redémarrer le serveur.

Dans la prochaine partie j’ajouterai d’autres modules et complèterai peut-être la configuration des modules de cet article.

Bonne configuration.

Catégorie: Apache, Internet, Linux | Laisser un commentaire (0)

Chrome OS : la présentation

Posté par seiyar81 le 19 novembre 2009 | Laisser un commentaire (0)

Google a rendu public le code source de Chromium OS, système d’exploitation open-source destiné à devenir Chrome OS.

Le code source est disponible au téléchargement ici : Code Source
ou via un dépôt Git.

Tout est expliqué sur le blog de Google : Blog

Enfin un article résume la sortie de l’OS : Article

Au premières nouvelles donc et en vrac :

- Les disques durs seraient écartés au profit d’autre(s) type(s) de stockage : in the cloud, mémoire flash ? On ne sait pas encore pour l’instant.

- Toutes les applications sont des applications en ligne, tout se passe donc via la navigateur, aucune application de bureau

- Conséquence directe de ceci et pour des raisons de sécurité évidentes, Chrome OS ne fera pas confiance par défaut aux applications

- A chaque redémarrage, Chrome OS vérifiera l’intégrité de son code, et s’il a été compromis par un virus ou autre il sera à même de se réparer tout seul.

- Lorsque l’utilisateur voudra se connecter, Chrome OS va tenter de récupérer le compte Google associé, sinon il cherchera un compte local et à chaque connexion réussie en ligne, les identifiants seront mis en cache.

- Les plugins du navigateur auront un processus dédié.

- Mises à jour automatiques sans intervention de l’utilisateur, via HTTPS et signés par le serveur de mises à jours.

Et plein de choses très intéressantes et qui nous laissent présager que Chrome OS sera un système d’exploitation très intéressant !

Pour plus de lecture, plusieurs documents sont en ligne pour expliquer le fonctionnement de l’OS : Chromium OS.

Et pour les plus anglophone une petite vidéo de 3 minutes présentant Chrome OS :

Le lien direct : http://www.youtube.com/watch?v=0QRO3gKj3qw

Catégorie: Internet, Linux | Laisser un commentaire (0)

Fedora 12 est de sortie

Posté par seiyar81 le 17 novembre 2009 | Laisser un commentaire (0)

La 12ème version de la distribution Linux Fedora est sortie !
Au programme : GNOME 2.8.1 ou KDE 4.3, Empathy remplace Pidgin, Epiphany utilise WebKit et non plus Gecko, un meilleur support de la webcam etc…

C’est téléchargeable ici : http://fedoraproject.org/fr/get-fedora-all.
Disponible via BitTorrent, Direct Download, Jigdo et Métaliens.
A essayer d’urgence !

Catégorie: Brèves, Linux | Laisser un commentaire (0)

Configuration et Utilisation de Vim 4/5

Posté par seiyar81 le 17 novembre 2009 | Laisser un commentaire (0)
news-vim

Avant-dernière partie du tutoriel consacré à l’éditeur Vim. Aujourd’hui c’est à l’encodage que nous nous intéresserons. Source de bien des soucis, lequel choisir, et comment, entre l’UTF-8 et les différentes normes ISO ?

Tout d’abord il faut régler 2 paramètres impotants :

  • fileencoding : encodage des caractères à l’enregistrement du fichier
  • fileencodings : liste des encodages à tester pour initialiser fileencoding

L’idéal est de fixer le second paramètre dans votre fichier de configuration (‘/etc/vim/vimrc’ ou bien ‘/home/username/.vimrc’ comme vu dans la seconde partie) :

set fileencodings=ucs-bom,utf-8,latin1

Ainsi le fichier commence par une marque d’encodage BOM, ensuite si un caractère non valide UTF-8 est trouvé dans le document, Vim passe alors en latin1 (ISO8859-1).

Un petit exemple de configuration pour l’encodage :

if has("multi_byte")
set encoding=utf-8
setglobal fileencoding=utf-8
set bomb
set termencoding=iso-8859-15
set fileencodings=utf-8,ucs-bom,iso-8859-15,iso-8859-3
else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif

Notez que set bomb force le BOM (nobomb pour l’enlever).
Ainsi à moins qu’un caractère défectueux ne soit trouvé, l’encodage est fixé en UTF-8.

Il est également possible de forcer l’encodage à l’ouverture du fichier :

:e ++enc=utf-8 file // Force l'encodage en UTF-8 même en cas de mauvais caractère

vim -c ':e ++enc=utf-8 file' // Pareil mais de la ligne de commande

Libre à vous ensuite de régler vos paramètres à l’encodage qui vous convient le mieux !

Prochain et dernier chapitre : l’utilisation de Vim pour développer. Auto-complétion, coloration du code et différents réglages.

Catégorie: Linux | Laisser un commentaire (0)

Configuration et Utilisation de Vim 3/5

Posté par seiyar81 le 15 novembre 2009 | Laisser un commentaire (0)
news-vim

Aujourd’hui nous nous attaquons à la partie sur la recherche avec Vim. Il est en effet possible d’effectuer une recherche dans le document en cours d’édition vers le bas du document, vers le haut, de remplacer du texte sur une ou plusieurs lignes etc…

Tout d’abord comment effectuer une recherche de texte :

/yriase   // Recherche toutes les occurrences d'yriase dans le document vers le bas
?yriase  // Pareil mais vers le haut du document
// Appuyez ensuite sur la touche n pour aller d'une occurrence à l'autre.

%  // Vous permet de trouver les correspondances des caractères suivants : ), ] ou }
    // Très utile quand on programme

Il est également possible d’effectuer un « rechercher/remplacer » :

:s/ancien/nouveau             // Remplace la première occurrence d'ancien par nouveau dans la ligne
:s/ancien/nouveau/g          // Pareil mais sur toute la ligne
:%s/ancien/nouveau/g       // Pareil mais dans tout le fichier
:10,15s/ancien/nouveau/g  // Pareil mais entre les lignes 10 et 15
:%s/ancien/nouveau/gc     // Demande confirmation pour le remplacement

Enfin quelques petits réglages pour la casse :

:set hl              // Active la mise en surbrillance des résultats
:set ic              // Active la recherche incrémentielle

:set ic              // Ignore la casse
:set noic           // N'ignore pas la casse

Voilà la prochaine fois ce sera la partie sur l’encodage !

Catégorie: Linux | Laisser un commentaire (0)