17/11/2024

Linux

Commandes et Système

Réduire la taille du fichier mlocate.db

I. Présentation Sous Linux, la commande « locate » est très pratique pour repérer instantanément la localisation d’un ou plusieurs fichiers selon leurs noms sur le système. Cette commande permet en effet d’afficher les chemins absolus (partant de la racine système) des fichiers que l’on cherche (selon leurs noms). Cependant, lorsque nous exécutons cette commande (Ex: « locate *.png »), la commande va en faite lire un fichier de base de données qui contient l’intégralité des noms et positions de fichiers présents sur le système. La plupart du temps, c’est la commande « updatedb » qui permet de mettre à jour ce fichier qui se nomme « /var/lib/mlocate/mlocate.db ». Sur des systèmes comportant un très grand nombre de fichier, ce fichier base de données peut très rapidement attendre plusieurs centaines de Megaoctects voir plusieurs Gigaoctects. Dans ce tutoriel, nous allons voir comment réduire la taille de ce fichier en ordonnant à la commande « updatedb » d’omettre certains noms de fichiers, dossiers ou certains chemins. II. Afficher la taille du

Lire cet article
Commandes et Système

Avoir un shell en couleur sous Root

I. Présentation Par défaut sous Debian, les shells des utilisateurs ont une syntaxe colorée. L’utilisateur « root » n’ayant pas pour vocation d’être beaucoup utilisé, il n’est lui pas coloré et offre donc un shell en noir et blanc. Dans ce tutoriel, nous allons voir comment avoir un shell coloré en étant en root. II. Procédure La définition de la coloration du shell sous Linux se fait à l’initialisation du shell de l’utilisateur. Nous allons donc modifier le fichier « /root/.bashrc » pour que celui-ci permette un affichage coloré au démarrage du shell de l’utilisateur « root » : vim /root/.bashrc Puis on dé-commentera les lignes suivantes qui sont normalement déjà présentes, ajoutez les si ce n’est pas le cas : On pourra alors recharger notre shell avec la commande suivante : . ~/.bashrc Nous verrons alors que notre shell renvoi des couleurs quand nous faisons un « ls » par exemple :

Lire cet article
Commandes et Système

Passer de Debian 6 (Squeeze) à Debian 7 (Wheezy)

I. Présentation Récemment, la version stable de Debian à été mise à jour pour passer à sa version 7. Dans ce tutoriel, nous allons voir comment passer une distribution sous Debian 6 (dite « Squeeze ») à Debian 7 ( dite « Wheezy »). C’est une opération simple mais qui doit être faite proprement. Sur des serveurs en production, quelques précautions sont tout de même à prendre. La mise à jour de nombreux paquets de façon simultanée peut poser quelques soucis sur des configurations spécifiques : Il est à prévoir une sauvegarde de vos données et de vos configurations. Il est préférable de commencer par des serveurs de test ou des serveurs non critiques dans un premier temps afin de vous familiariser avec la procédure ainsi qu’avec les éventuels problèmes qu’il est possible de rencontrer II. Vérification de la version actuelle Nous allons d’abord vouloir vérifier la version de notre Debian actuelle. La version de Debian est inscrite dans le fichier « /etc/debian_version ». Nous devrions,

Lire cet article
Commandes et Système

Gérer les permissions sur un montage CIFS

I. Présentation Dans ce tutoriel, nous allons apprendre à gérer les permissions sur un montage CIFS. La plupart du temps, les montages de dossiers partagés se font en tant que root avec l’option « auto ». On peut cependant gérer les permissions, le propriétaire et le groupe propriétaire de manière précise en montant un partage CIFS sous Linux. II. Gestion du propriétaire et du groupe Nous pouvons déjà affecter un montage à un utilisateur précis plutôt qu’au super-utilisateur « root ». Il nous faut pour cela récupérer l’uid « User Identifier » et le gid « Group Identifier » de l’utilisateur dans le fichier « /etc/passwd ». Par exemple pour l’utilisateur « neoflow » : L’UID (chiffre rose de gauche) et le GID (chiffre rose de droite) sont tous les deux « 1001 ». Nous allons donc utiliser ces chiffres pour former notre ligne de montage dans le fichier « /etc/fstab ». Si nous souhaitons par exemple monter notre partage distant « \\192.168.1.32\partage » dans le dossier local « /media/remote_partage » : mkdir /media/remote_partage Puis on modifie le fichier « /etc/fstab »

Lire cet article
Commandes et SystèmeServices

Créer un partage simple avec Samba

I. Présentation Dans ce tutoriel, nous allons voir comment créer un partage de fichiers rapidement avec Samba, le but est donc ici de partager un ensemble de fichiers présents sur un poste sur tout un réseau. Nouveau tutoriel Samba disponible : Serveur de fichiers Debian : installer et configurer Samba 4 On va supposer que le dossier que nous voulons partager est « /media/partage » mkdir /media/partage chmod 0777 /media/partage On peut également créer un dossier « test » dans ce dossier partagé pour vérifier que nous voyons bien son contenu plus tard : mkdir /media/partage/test1 II. Installation de Samba On commence donc par installer samba qui va nous permettre de rendre ce dossier accessible sur le réseau : apt-get install samba La configuration de samba se trouve dans « /etc/samba ». On fait directement une copie du fichier de configuration initial pour s’assurer d’avoir quelque chose à récupérer en cas d’erreur : mv /etc/samba/smb.conf /etc/samba/smb.conf.bak Nous allons ensuite recréer un fichier de configuration vierge qui

Lire cet article
Commandes et Système

Voir les entrées/ sorties disque avec iotop sous Linux

I. Présentation Dans ce tutoriel, nous allons voir comment analyser les entrées et sorties disque sur un système Linux. La commande « iotop » (Input/ Output) non native à Linux nous permet en effet de vérifier les écritures (entrées) et lectures (sorties) sur notre disque. II. Installation de la commande Il nous faut déjà commencer par installer la commande qui n’est pas présente par défaut dans la plupart des cas : apt-get update apt-get install iotop III. Utilisation Ensuite nous pourrons simplement l’utiliser en saisissant « iotop » et voir ce que cela nous affiche : On voit donc la liste de nos processus avec plusieurs informations sur leur utilisation du disque. On voit également un total de l’utilisation tout en haut du tableau. Actuellement, aucun processus n’utilise le disque en lecture ou en écriture. On pourrais simuler une lecture du disque en exécutant la commande « tree » depuis la racine « / » qui va donc lister tous les répertoires du disques. On commence pour cela

Lire cet article
Commandes et Système

Afficher la version d’un paquet présent dans les dépôts

I. Présentation Dans ce tutoriel, nous allons voir comment il est possible d’afficher la version d’un paquet présent dans les dépôts (les dépôts sont les endroits depuis lesquels nous téléchargeons les paquets pour les installer avec la commande « apt-get » sous Debian par exemple). II. Procédure On utilise pour cela la commande « apt-cache » native aux distributions Debian. Par exemple pour le paquet « apache2 » : apt-cache policy apache2 Nous aurons alors cette sortie : On voit ici que le paquet « apache2 » présent dans les dépôts est la version 2.2.16 du paquet. On voit également quelles sont les lignes prioritaires dans le fichier « sources.list » qui contient la liste des dépôts à utiliser. On remarque également un ligne « Installé : (aucun) » qui indique que le paquet n’est pas présent sur le système. Si le paquet été installé, nous aurions alors sa version également comme suivant :  

Lire cet article
Commandes et Système

Gérer le seuil d’utilisation de la SWAP

I. Présentation Par défaut, les systèmes Linux commencent à décharger l’utilisation de la RAM sur la SWAP à partir de moins de 60% de la RAM restante. Autrement dit, quand la RAM est utilisée au dessus de 40%, le système peut commencer à utiliser la SWAP. Cela peut poser des problèmes car la SWAP utilise des ressources sur le disque dur ce qui peut alors, d’une part ralentir l’accès aux autres données, mais aussi ralentir le traitement des informations par la SWAP si le disque dur n’est pas performant. Dans ce tutoriel, nous allons apprendre à gérer le seuil d’utilisation de la SWAP. II. Changement temporaire Nous allons dans un premier temps voir comment faire un changement pour temporaire, cela signifie que la valeur sera réinitialisée à « 60 » au redémarrage de la machine. Par défaut, ce seuil est inscrit dans le fichier « /proc/sys/vm/swappiness ». Voyons son contenu : cat /proc/sys/vm/swappiness On voit donc que le fichier contient « 60 », cela signifie que

Lire cet article
Commandes et Système

Vider l’espace d’échange (SWAP)

I. Présentation Certaines applications peuvent être très gourmandes en ressource mémoire, Linux se met alors à utiliser son espace d’échange (SWAP) mais il arrive que celle-ci ne se vide pas correctement et paraisse être toujours utilisée causant ainsi des problèmes de performances liées aux accès au disques dur. L’espace d’échange SWAP sous Linux peut être activé/ désactivé et c’est la plupart du temps comme cela que l’on peut vider l’espace SWAP sans avoir à redémarrer le système. Pour information, on peut vérifier facilement l’espace d’échange SWAP utilisé sur le système avec la commande suivante : swapon -s La colonne « Used » nous renseignera sur l’utilisation actuelle de la mémoire SWAP disponible. Si ce taux reste trop élevé trop longtemps, on peut observer des ralentissements sur l’accès au disque dur sur lequel la partition ou le fichier SWAP est présent. II. Vider la SWAP Pour redémarrer et remettre à zéro la SWAP, nous utilisons la commande suivante : swapoff -a && swapon

Lire cet article
Commandes et Système

Changer le comportement du Shell

1. Présentation Le shell est la coquille qui enveloppe le noyau Linux. Il permet de dialoguer avec ce dernier à travers des milliers de commandes internes et externes couplées à diverses options et paramètres. Le shell est critique pour les administrateurs systèmes, ajuster son comportement permet donc de se faciliter les taches. Un exemple de comportement classique dans les systèmes Linux est la saisie de la touche « flèche haut » pour revenir sur l’historique des commandes saisies, ce comportement ainsi que plein d’autres sont configurés dans le fichier « inputrc ». 2. Explications « Inputrc » est le fichier de configuration de la commande readline de Linux, readline étant la bibliothèque qui permet d’interagir avec la ligne de commandes. Elle permet par exemple de lire une ligne saisie par un utilisateur sur le terminal. Ce fichier existe dans deux endroits : /etc/inputrc : permet de configurer un comportement par défaut pour tous les utilisateurs du système. Ce fichier est

Lire cet article
Commandes et Système

Augmenter l’espace d’échange (SWAP) avec un fichier sous Linux

I. Présentation Sous Linux, certaines applications peuvent être très gourmandes en mémoire et le système a alors besoin de la SWAP pour gérer cet excès de besoin en mémoire. Pour rappel, la SWAP est un espace disque qui est utilisé comme mémoire virtuelle pour le système. Elle était trés utilisée dans le passé pour décharger la mémoire vive (RAM) alors coûteuse et présente en petite quantité sur les ordinateurs. Sous la plupart des systèmes Linux basés sur Debian, la SWAP est représentée sous forme de partition (Linux la crée par défaut et averti l’utilisateur quand il n’y a pas de partition SWAP à l’installation d’un système Debian). Plus clairement, lorsque la RAM est pleine ou à partir d’un certain seuil d’utilisation de celle-ci, le système utilise la SWAP (une partie du disque dur) comme RAM. Le problème étant que la rapidité de lecture/écriture d’un disque est souvent bien inférieur à celle de la RAM et cela peut à terme ralentir

Lire cet article
AutresCommandes et SystèmeServices

Installer un serveur LEMP (Linux EngineX MySQL PHP)

I. Présentation Un serveur LEMP (Linux EngineX MySQL PHP) est un serveur web comportant 4 composants qui sont :  Un système d’exploitation Linux (wheezy dans notre cas)   NginX pour gérer la communication entre le serveur et les clients.   MySQL pour toute la partie base de données.   PHP pour rendre le tout dynamique. Grâce à un serveur LEMP vous pouvez créer un site web dynamique grâce au PHP et à la base de données MySQL, étant donné qu’il contient tout les éléments nécessaires à la mise en place d’un site web dynamique. Un serveur LEMP regroupe plusieurs éléments qui en font un service complet et stable. Il faut savoir qu’un serveur LEMP est différent d’un serveur LAMP seulement car il utilise NginX en serveur web plutôt qu’Apache. NginX est un serveur web de plus en plus utilisé notamment pour ses performances par rapport à Apache 2. II. Mise à jours des paquets On va commencer par mettre à

Lire cet article
BashCommandes et Système

Marquer un temps d’arrêt en bash avec SLEEP

I. Présentation Dans ce tutoriel, nous allons apprendre à marquer un temps d’arrêt dans un script bash. Ce peut être une pratique utile dans beaucoup de cas différents. On peut par exemple lancer une commande de lancement d’une machine virtuelle puis vouloir faire une vérification afin de voir si celle-ci est bien démarré. On voudra alors marquer une temps d’arrêt entre le lancement et la vérification pour attendre que la VM ai bien démarré. Ce cas est un exemple parmis beaucoup d’autres. II. La commande « sleep » Nous allons pour le tutoriel utiliser « sleep » de manière très simple comme suivant dans un script bash appelé « script.bash » : #!/bin/bash date echo « étape 1 : » ; sleep 10 date echo « étape 2 :  » ; Nous rendons ensuite exécutable notre script : chmod +x script.sh Puis nous l’exécutons : ./script.sh Voila la sortie que nous en aurons : On voit donc bien que le « 10 » correspond à une attente de 10 secondes. Essayons

Lire cet article
Commandes et SystèmeServices

Clustering et haute disponibilité sous Linux avec Heartbeat

I. Présentation HeartBeat ou LinuxHA (High Availability) est un système permettant, sous Linux, la mise en cluster (en groupe) de plusieurs serveurs. C’est plus clairement un outil de haut disponibilité qui va permettre à plusieurs serveurs d’effectuer entre eux un processus de fail-over. Le principe du « fail-over » (ou « tolérance de panne ») est le fait qu’un serveur appellé « passif » ou « esclave » soit en attente et puisse prendre le relais d’un serveur « actif » ou « maitre » si ce dernier serait amené à tomber en panne ou à ne plus fournir un service. Le principe d’Heartbeat est donc de mettre nos serveurs dans un cluster qui détiendra et sera représenté par une IP « virtuelle » par laquelle les clients vont passer plutôt que de passer par l’IP d’un serveur (actif ou passif). Le processus Heartbeat se chargera de passer les communications aux serveur actif si celui-ci est vivant et au serveur passif le cas échéant. Nous allons donc dans ce tutoriel mettre en place un

Lire cet article