Category Archives: Linux

Installer LSI MegaRAID Storage Manager sur Ubuntu

J’ai récemment acheté une carte LSI MegaRaid 84016E pour remplacer mon expander Chenbro qui a pris feu (j’avais connecté le molex dans le mauvais sens :-().

Cette carte SAS / Raid dispose de 16 ports et je me suis dis qu’il serait sympa d’installer LSI MegaRaid Storage Manager sur Ubuntu afin de gérer mes différents RAID et disques virtuels.

Voici la procédure à suivre pour installer LSI MegaRaid Storage Manager sur votre Ubuntu (j’utilise une version 64Bits):

echo "deb http://hwraid.le-vert.net/debian squeeze main" >> /etc/apt/sources.list
apt-get update
apt-get -y --force-yes install megacli megactl libc6-i386 lib32gcc1 lib32z1 lib32stdc++6 ia32-libs
wget http://djlab.com/stuff/libstdc++5_3.3.6-21ubuntu1_amd64.deb
dpkg -i libstdc++5_3.3.6-21ubuntu1_amd64.deb
wget http://djlab.com/stuff/libstdc++5_3.3.6-21ubuntu1_i386.deb
dpkg-deb -x libstdc++5_3.3.6-21ubuntu1_i386.deb lib32stdc++5
cp ./lib32stdc++5/usr/lib/libstdc++.so.5.0.7 /usr/lib32
ln -s /usr/lib32/libstdc++.so.5.0.7 /usr/lib32/libstdc++.so.5
wget http://djlab.com/stuff/libxerces-c28_2.8.0+deb1-2build1_i386.deb
dpkg-deb -x libxerces-c28_2.8.0+deb1-2build1_i386.deb lib32xerces-c28
mkdir -p /opt/lsi/Apache/
cp ./lib32xerces-c28/usr/lib/libxerces-c.so.28.0 /opt/lsi/Apache/
ln -s /opt/lsi/Apache/libxerces-c.so.28.0 /opt/lsi/Apache/libxerces-c.so.28
ln -s /opt/lsi/Apache/libxerces-c.so.28 /usr/lib/libxerces-c.so.28
ldconfig
 
apt-get install libstdc++5
wget https://djlab.com/stuff/megaraid-storage-manager_8.10-04_amd64.deb
dpkg -i megaraid-storage-manager_8.10-04_amd64.deb
 
wget http://djlab.com/stuff/getlibs-all.deb
dpkg -i getlibs-all.deb
getlibs -y -l libxerces-c.so.28 libicuuc.so.42
ldconfig
 
## Launch GUI (make sure X11 forwarding is enabled on SSH session):
## /usr/local/MegaRAID\ Storage\ Manager/startupui.sh

 

Utiliser Screen sous votre Linux RaspBerry Pi

Aujourd’hui, nous allons apprendre à utiliser Screen sous notre RaspBerryPi mais ce tutoriel est valable pour tout système linux.

A quoi sert Screen ?

Screen est une application qui permet d’exécuter d’autres applications en tâche de fond, ce qui laisse le terminal disponible pour effectuer d’autres informations.

Comme je prends le contrôle à distance sur mon RaspBerry Pi en utilisant putty et SSH, Screen me permet d’exécuter plusieurs tâches en parallèle sans pour autant devoir ouvrir plusieurs terminaux.

Comment installer Screen ?

Pour installer Screen, il suffit d’exécuter la commande suivante:

apt-get install screen

 Les principales commandes de Screen

Voici la liste des principales commandes de Screen:

  • screen -ls : Affiche les screens ouvert
  • screen -dr : Récupérer un screen ouvert
  • ctrl+a : Commande principale
Et voici la liste des options disponible pour la commande ctrl+a:
  • “ : Affiche la liste des screens
  • w : Nous informe sur quel screen nous sommes
  • d : Détache le screen actuel
  • c : Créer un nouveau Screen
  • shift+A : Renomme le Screen courant

Utiliser Screen

Pour utiliser Screen, c’est tout simple. Ouvrez un terminal et tapez la commande suivante:
screen

Ceci va “ouvrir un terminal” en “screen” (tâche de fond).

Vous pouvez alors exécuter toutes les commandes que vous souhaitez (top, ntop, bw-g, …)

Une fois cette commande tapée, il faut appuyer sur “ctrl+a” puis “d” afin de se détacher de ce screen (de cet écran). Vous aurez alors un message de ce genre:

[detached from 11199.pts-0.jhdserver]

En tapant la commande “screen -ls” dans un terminal, vous obtiendrez la liste de tous les screens en cours d’exécution:

root@jhdserver:/home/jhd# screen -ls
There is a screen on:
        11199.pts-0.jhdserver   (10/12/2012 09:37:30 PM)        (Detached)
1 Socket in /var/run/screen/S-root.

Pour récupérer un screen, il suffit de lancer la commande “screen -dr pid”.

Pour fermer un screen, il suffira alors de lancer la commande “exit”.

 

Mediatomb sur Ubuntu avec support du javascript

Après avoir essayé plusieurs serveurs DLNA, j’ai finalement porté mon choix sur Mediatomb car il permet d’organiser ses fichiers grâce à des scripts javascript.

Malheureusement la version de Mediatomb disponible dans les dépôts Ubuntu n’a pas été compilée avec le javascript activé.

Voici donc la manipulation à suivre pour recompiler une version de Mediatomb avec le support du Javascript.

Tout d’abord, il faut supprimer les librairies libmoz185 présentes par défaut dans Ubuntu puis installer des librairies nécessaires à la compilation:

sudo apt-get remove libmozjs185*
sudo apt-get install build-essential libnspr4-0d

Ensuite téléchargez les librairies libmozjs2d et  libmozjs-dev initialement développées pour Debian Squeeze. Pensez à prendre les versions correspondant à votre architecture et celle pour Debian Squeeze (c’est important).

Une fois téléchargées, vous pouvez les installer:

sudo dpkg -i libmoz*.deb

Récupérez ensuite les sources de Mediatomb:

sudo apt-get build-dep mediatomb
sudo apt-get source mediatomb

Puis éditez le fichier “debian/rules” pour activer le javascript:

sudo nano <mediatombfolder>/debian/rules

Recherchez –disable-libjs et remplacez le par –enable-libjs.

Vous pouvez également changer le numéro de version dans <mediatombfolder>/debian/changelog et dans le fichier “mediatomb.dsc” afin d’éviter les écrasements suite à des mises à jour.

Il ne vous reste plus qu’à lancer la configuration de Mediatomb:

cd <mediatombfolder>
sudo ./configure

Si tout c’est bien déroulé, vous devriez voir “libjs : yeslibjs : yes”.

Désormais vous pouvez lancer la compilation grâce à la commande:

sudo fakeroot debian/rules binary

Une fois la compilation terminée (cela peut prendre plusieurs minutes),  vous devriez avoir 3 fichiers .deb dans le répertoire parent.

Il ne reste plus qu’à les installer:

sudo apt-get install libjs-prototype
sudo dpkg -i mediatomb*.deb

Voilà, votre serveur Mediatomb est installé et il supporte le javascript 🙂

Overclocker la CPU, RAM et GPU de votre RaspBerry Pi

Voici une petite astuce pour overclocker la cpu, la ram et la puissance GPU de votre RaspBerry Pi sans pour autant en augmenter le voltage.

echo -e "arm_freq=800\nsdram_freq=450\ncore_freq=350" >> /boot/config.txt

Notez que pour utiliser la commande suivante, il est préférable d’utiliser un dissipateur thermique sur la puce de votre RaspBerry. On peut en trouver pour 3€ sur ebay 🙂

echo -e "arm_freq=850\nsdram_freq=500\ncore_freq=450" >> /boot/config.txt

Pour que les modifications prennent effet, il suffit de redémarrer votre RaspBerry Pi:

shutdown -r now

 

Exécuter un script PHP dans un shell sous Linux

Aujourd'hui j'ai voulu exécuté un script php dans un shell sur mon serveur Linux.

Pour cela, c'est simple il suffit de rajouter la ligne suivante en haut de votre fichier php:

#!/path/to/php

Notez que !/path/to/php est le répertoire dans lequel est installé php sur votre machine linux.

Pour trouver ce path, utilisez la commande:

which php

Ce qui retournera quelque chose comme çà:

/usr/bin/php

Votre fichier php ressemblera alors à:

#!/usr/bin/php

Il suffit de rendre votre script exécutable via la commande:

chmod +x hello.php

Puis d'exécuter votre script en tapant:

./hello.php

Automount de vos partitions ZFS sous Linux

Aujourd'hui j'ai voulu mettre en automount mes différents raidz afin qu'ils se montent automatiquement au démarrage de mon serveur Linux.

Pour cela, il suffit d'éditer le fichier /etc/default/zfs 

~$ cat /etc/default/zfs 
# Automatically run `zfs mount -a` at system startup if set non-empty. 
ZFS_MOUNT='yes' 
#ZFS_MOUNT='' 
 
# Automatically run `zfs unmount -a` at system shutdown if set non-empty. 
ZFS_UNMOUNT='yes' 
#ZFS_UMOUNT=''

Créer un alias sous Linux

Aujourd'hui j'ai voulu créer des alias dans mon environnement console (bash) car je me suis aperçu que j'utilise toujours les même commandes shell.

Les commandes que j'utilise étant particulièrement longues à taper, j'ai donc décidé d'en faire des alias, des raccourcis.

Pour cela, il faut éditer le fichier "bashrc" se trouvant sur le root:

nano ~/.bashrc

Ensuite il suffit d'ajouter votre alias à la fin de ce fichier:

alias ur='unrar e *.rar'

Dans ce cas, je n'aurai plus qu'à exécuter la commande "ur" pour dézipper les archives Winrar.

Télécharger des fichiers en utilisant Curl

curl

Curl, tout comme Wget, est un logiciel qui permet de télécharger des fichiers en utilisant les protocoles HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP ou FILE.

Il est disponible sous Linux, Windows et Mac. Cet outil est très complet et simple d'utilisation. Il propose plusieurs fonctionnalités intéressantes:

  • Support des proxy
  • Authentification
  • Upload de fichiers en FTP
  • Connections SSL
  • Support des cookies
  • Reprise de téléchargement et d'upload

Télécharger un fichier HTTP ou FTP avec Curl

Voici les différentes commandes que vous pouvez utiliser pour télécharger un fichier sur un site HTTP, HTTPS ou sur un FTP.

curl -o output.file http://site.com/file1.zip
curl --remote-name http://site.com/file1.zip

Vous pouvez également télécharger une page d'un site internet et la stocker en local sur votre machine:

curl -o page.html http://site.com/page.html

Vous pouvez également télécharger plusieurs fichiers d'un coup:

curl -O http://site.com/file1.zip -O http://site.com/file2.zip

Télécharger un fichier SSH avec Curl

Il est possible de télécharger un fichier sur un serveur SSH en utilisant Curl et SFTP:

curl -u username sftp://server-ssh/file1.zip

Il est également possible de télécharger un fichier sur un serveur SSH en utilisant Curl et SCP avec une clé privée d'authentification:

curl -u username: --key ~/.ssh/id_rsa --pubkey ~/.ssh/id_rsa.pub scp://server-ssh/file1.zip

Ici on a:

  • -u username: pour préciser le login de connection
  • -u username:password: pour préciser le login et le mot de passe de connection
  • –key ~/.ssh/id_rsa: permet de spécifier la clé privée
  • –pubkey ~/.ssh/id_rsa.pub: permet de spécifier la clé publique

Télécharger un fichier sur un FTP sécurisé en utilisant Curl

Il suffit de spécifier un login et un password:

curl ftp://username:password@ftp.monsite.com:21/file.zip
curl -u username:password ftp://ftp.monsite.com:21/file.zip

Pour télécharger un fichier sur un serveur FTP SSL, on utilisera:

curl --ftp-ssl -u username:password ftp://ftp.monsite.com:21/file.zip

Télécharger un fichier sur un site web HTTP sécurisé en utilisant Curl

Pour télécharger un fichier sur un site Web qui requiert une authentification de type HTACCESS, on utilisera:

curl http://username:password@site.com/file.zip
curl -u username:password http://site.com/file.zip

Trouver les répertoires cachés et les fichiers cachés sous Linux

Aujourd'hui j'ai été amené à chercher des répertoires cachés sur mon serveur afin de pouvoir en supprimer certains.

Pour trouver un fichier caché ou un dossier caché, il faut utiliser la commande suivante:

find /dossier/parent/ -name nom_du_dossier_cache

Ainsi pour trouver le répertoire caché ".films" j'utilise la commande:

find $HOME -name .films

ou

find ~ -name .films

Pour ne pas prendre en compte la casse et être "case insensitive", vous pouvez utiliser:

find $HOME -iname .films

Cette petite commande est simple à utiliser et s'avère bien pratique.

Trouver la taille d’un répertoire sous Linux

Aujourd'hui j'ai eu un blanc sur comment faire pour récupérer la taille d'un répertoire en ligne de commande sur mon serveur Ubuntu.

Du coup après plusieurs recherches, j'ai décidé de poster un petit récapitulatif pour récupérer la taille d'un répertoire en ligne de commande:

$ du /home/jhd

Retourne la liste des dossiers du répertoire et leur taille. La dernière ligne indique la taille total du répertoire incluant les sous répertoires. Notez que par défaut les tailles indiquées sont en kylobytes.

$ du -h

Permet d'afficher la taille dans un format humain (human readable format).

$ du -ah

Cette commande affiche également les fichiers présents dans chaque répertoire.

$ du -s

Cette commande donne un récapitulatif de la taille d'un répertoire. C'est probablement la manière la plus simple de récupérer la taille d'un dossier.

$ du -S

Affiche la taille d'un répertoire en excluant la taille des sous répertoires. Cela retourne uniquement la taille des fichiers présents dans le répertoire.

$ du --exclude=mp3

Permet d'exclure certains fichiers.