Apache – Consommation mémoire par processus

Une simple commande qui peut donner de précieuses informations :

#apache
ps -ylC httpd --sort:rss
#apache2
ps -ylC apache2 --sort:rss

Note : La colonne RSS indique la mémoire non swappée utilisée par les processus Apache en kiloBytes.

Cfengine – Introduction

Au-delà de l’outil, de son langage, Cfengine répond, de part son concept et des idées dont il retourne, aux besoins d’administrateurs soucieux de gérer d’importants data centers.

Le but est ici de vous exploser, dans un premier temps, la philosophie cachée derrière l’outil qui vous permettra de « penser » Cfengine.

Qu’est ce ?

  • Un outil pour un système de configuration ad hoc sur plusieurs milliers de serveurs.
  • Un langage indépendant du système qui réduit le coût des ressources nécessaires.
  • Un agent autonome afin de distribuer la charge de travail.

Plutôt que de faire les actions d’administration à la main ou via une solution difficile à mettre en place et à maintenir à base de scripts, pourquoi pas utiliser un système robuste, scalable, indépendant de l’os et de la plate-forme.

Sources

Cfengine vient d’un projet de recherche débuté en 1993 par Mark Burgess, professeur-chercheur à l’université d’Oslo. Il est le principal auteur et mainteneur du logiciel libre GNU/Cfengine.

Philosophie

Un système informatique doit se comporter comme un système immunitaire. Pas d’intervention humaine directe mais définition d’un état (~politique) d’un serveur définit dans ensemble de fichiers de configuration. La définition de l’état est écrit en langage Cfengine. La machine doit obéir à la politique définie.

Un Référentiel, Une politique

Cfengine de définir une politique globale au travers de fichiers de configuration qui sera distribués sur les clients. Il est possible de définir une politique globale avec plusieurs niveaux de granularité allant du groupe associé au site jusqu’à une machine spécifique suivant la classification des clients.

Le langage

Langage déclaratif avec des décisions prises suivant la classification des clients. La classification est fonction des caractéristiques des machines et de son groupe d’appartenance.Il reste indépendant de l’OS et uniforme les tâches.

L’agent

Lancé à la demande ou en cron, il Pull les derniers fichiers de configuration sur le référentiel, applique la politique définie et envoie une alerte si celle-ci a échouée.

Sécurité

Pas de source d’entrée possible, seules les directives prédéfinies sur le référentiel seront appliquées. Échanges sécurisés basés sur le client avec échanges de clés et création d’un clé de session par l’algorithme de chiffrement symétrique Blowfish. Mécanisme d’arrêt afin d’éviter des exécutions en boucles.

Voici la fin de ce premier cf-article ;-)

Xemacs – Edit over SSH

Grâce au package TRAMP (Transparent Remote Access, Multiple Protocols), il est possible d’éditer des fichiers distants via SSH par exemple.

Installation (Debian) :

apt-get install tramp

Utilisation :

  • Avec xemacs :
  • xemacs /[ssh/user@host]/chemin/fichier

  • Avec emacs :
  • emacs /ssh:user@host:/chemin/fichier

Remarque :

Ajoutez (setq tramp-default-method « ssh »)
dans votre ~/.xemacs/custom.el pour de pas avoir à préciser la méthode ssh

Debian – Graphe des dépendances de paquet

Faîtes pousser l’arbre des dépendances de votre paquet (ex.paquet libc6) :

Pré-requis : apt-get install graphviz

>apt-cache dotty libc6 > /tmp/dotfile
>dot -Tgif -o libc6.gif /tmp/dotfile


Résultat : libc6.gif :

Binstats – L’inventaire de vos binaires

Outre le fait de combiner agilement plusieurs fonctions en une, binstats est un shell script qui vous dira quels sont les pauvres petits programmes orphelins foisonnants sur votre systèmes.

Vous aurez ainsi, le nombre d’exécutables classés par types (ELF, QMagic, liés statiquement, …) , les scripts, les binaires non strippés, setuid, partageant des libs absentes, le nombre de partages des libs, les libs inutiles et les packages qui en découlent.

Sous debian :

apt-get install binstats
binstats

Le résultat sera dans un fichier texte : binstats.log

Google dans sa coquille

goosh.org propose un shell pour faire vos recherches en ligne de commande.

Vu sur www.mfavez.com.

—————————————————————————————————-

Web

Openfiler – Une solution de stockage libre

Comment transformer un système x86_64 en NAS ou SAN supportant jusqu’à 60TB ?

Réponse : Openfiler

Source

OSD – Afficher les prévisions météo sur son écran

Voila comment afficher les prévision météo sur son écran avec OSD (On Screen Display)

  1. Récupérer le flux RSS associé aux informations météo de votre région sur weather.com
  2. Afficher la météo via osd_cat
    Installer le paquet sudo apt-get install xosd-bin
  3. Créer un raccourci clavier dans le ~/.xbindkeysrc
    Installer le paquet sudo apt-get install xbindkeys

Pour ma ville, j’ai ajouté les 2 lignes suivantes dans mon .xbinkeysrc :

"wget 'http://fr.weather.com/rss-Vallauris-FRXX5403' -O /dev/stdout 2> /dev/null | grep '°' | sed -e 's,°C,°C,g' -e 's,.*CDATA\[\(.*\)\]\]>.*,\1,' | osd_cat -A left -p bottom -c green -o 330 -O 1 -f -*-helvetica-*-r-*-*-24-*-*-*-*-*-*-* -P 50 -d 8"
shift + F2

Appeler le raccourci clavier:
en appuyant sur les touches MAJ+F2, j’ai les prévisions météo qui s’affichent.

Serveurs Proxy publiques et plus

En plus de présenter une liste de proxies, tools.rosinstrument.com propose une suite d’outils intéressants autour de l’anonymat, l’identité, le géolocalisation, l’email …

Apache – Blacklistage d’IPs

  • Dans le core ou vhost :

RewriteEngine on
Rewritemap blacklist txt:/path/to/blacklist.txt
RewriteCond ${blacklist:%{REMOTE_ADDR}} =b
RewriteCond %{request_uri} !=/sorry.html
RewriteRule .* /sorry.html                        [R,L]

>cat /path/to/blacklist.txt
193.220.137.2 b
81.199.171.20 b

  • Sans réécriture :

<Limit GET HEAD POST>
order allow,deny
deny from 202.70.112.0/20
allow from all
</LIMIT>

Générateur de classes IP (par pays) en ligne : http://blockacountry.com

  • Dynamique (ex. par pays) :

Avec la liste ip-to-country et un script Perl du style :
#!/usr/bin/perl -w
use strict;
my %ip;
my $old_ip=0;
while (<>) {
my ($ip) = split;
next if ($ip eq $old_ip);
my ($a,$b,$c,$d) = split(/\./,$ip);
my $n = ((((($a * 256) + $b) * 256) + $c) * 256) +$d;
open (FILE,"< ip-to-country.csv") || die $!;
while (<FILE>) {
my ($beg,$end,$country) = (split (/,/,$_))[0,1,4];
$beg =~ s/"//g;
$end =~ s/"//g;
if (($beg <= $n) and ($end >= $n)) {
$ip{$ip}++;
print "ip = $ip\n";
last;
}}
close(FILE);
$old_ip=$ip;
}
exit(0);

Firefox 3 – Fonctionnalités cachées

Firefox 3 soutiendrait-il la prochaine sortie d’un film avec Keanu Reeves ? remake du chef d’oeuvre  « The Day The Earth Stood Still » (« Le Jour Où La Terre S’arreta » en Français) de Robert Wise.

En tapant about:robots dans la barre de navigation, vous obtiendrez la page suivante portant le titre ô combien évocateur « Gort! Klaatu barada nikto! » .

Dans le film, c’est suite à la demande de Klaatu (humanoïde passifiste), que l’héroïne du film va prononcer la phrase magique pour empêcher le robot Gort de détruire la terre.

Bande annonce du remake:

Autres easter egg :

about kitchensink
about:mozilla

App

Bash – Raccourcis

tab   <--->   auto complétion pour les fichiers et les dossiers
^[chaîne 1]^[chaîne 2]^   <--->   lance la dernière commande en remplaçant la chaîne 1 par la chaîne 2
!-[n]   <--->   rappelle la commande lancée il y a n commandes
!!   <--->   lance la dernière commande
!?[chaîne]   <--->   lance la dernière commande terminant par la chaîne de caractères
!?[chaîne]?   <--->   lance la dernière commande contenant la chaîne de caractères
![chaîne]   <--->   lance la dernière commande commençant par la chaîne de caractères
![n°]   <--->   rappelle la commande n°... de l'historique
!#   <--->   lance la plus ancienne commande de l'historique
[commande] !^   <--->   lance la commande avec le premier argument de la commande précédente
[commande] !:[n]-[m]   <--->   lance la commande avec les arguments n à m de la commande précédente
[commande] !:[n°]   <--->   lance la commande avec l'argument n°... de la commande précédente
[commande] !$   <--->   lance la commande avec le dernier argument de la commande précédente
Alt + .   <--->   colle le dernier mot de la ligne précédente
Alt + b   <--->   déplace le curseur d'un mot vers la gauche
Alt + c   <--->   met en majuscule la lettre courante, en minuscules les autres lettres du mot courant, puis se place au mot suivant
Alt + d   <--->   efface le mot suivant
Alt + f   <--->   déplace le curseur d'un mot vers la droite
Alt + t   <--->   échange le mot courant et le mot précédent
Ctrl + _   <--->   Annuler les dernières modifications (rester appuyé)
Ctrl + a   <--->   déplace le curseur en début de ligne
Ctrl + c   <--->   envoie le signal SIGINT au processus en cours
Ctrl + d   <--->   efface le caractère courant, ou déconnecte (logout) si la ligne est déjà vide
Ctrl + e   <--->   déplace le curseur en fin de ligne
Ctrl + h   <--->   efface le dernier caractère
Ctrl + k   <--->   coupe tout à droite du curseur
Ctrl + l   <--->   efface l'écran (commande clear)
Ctrl + n   <--->   commande suivante (équivalent à la touche flèche bas)
Ctrl + o   <--->   exécute la commande (touche entrée)
Ctrl + p   <--->   commande précédente (équivalent à la touche flèche haut)
Ctrl + q   <--->   fait apparaître la saisie / relance l'affichage
Ctrl + r   <--->   recherche dans l'historique (Ctrl + r pour remonter à la chaîne précédente)
Ctrl + s   <--->   masque la saisie / arrête l'affichage (touche pause)
Ctrl + t   <--->   permet d'inverser deux lettres
Ctrl + u   <--->   coupe tout à gauche du curseur
Ctrl + w   <--->   coupe le mot à gauche du curseur
Ctrl + y   <--->   colle ce qui a été effacé à gauche du curseur (suite à un Ctrl + u)
Ctrl + z   <--->   passe le processus en cours en arrière plan
Echap, 10, A   <--->   répète 10 fois le caractère A
Echap, 5, Ctrl + q, Ctrl + v, 9   <--->   répète 5 fois le chiffre 9

Source
Autre article : bash-variables-speciales-tests-subsitutions-et-autres

Recent Tweets

Catégories