Macsim's mind: $tail -f macsim

Aller au contenu | Aller au menu | Aller à la recherche

Balise - Astuce

lundi, avril 27 2009

Accélérer le boot de debian et ubuntu

Dans le fichier /etc/init.d/rc au niveau de la ligne 32 on trouve l'option CONCURRENCY=none avec ce bloc:

Specify method used to enable concurrent init.d scripts.
Valid options are 'none', 'shell' and 'startpar'.  To enable the
concurrent boot option, the init.d script order must allow for
concurrency.  This is not the case with the default boot sequence in
Debian as of 2008-01-20.  Before enabling concurrency, one need to
check the sequence values of all boot scripts, and make sure only
scripts that can be started in parallel have the same sequence
number, and that a scripts dependencies have a earlier sequence
number. See the insserv package for a away to reorder the boot
automatically to allow this.

Ce qui donne grosso-modo:

Spécifier la méthode utilisée pour le mode concurrent des scripts init.d.
Les options valides sont 'none','shell' et 'startpar'.
Pour activer l'option concurrente au boot, les scripts init.d doivent être ordonnées
pour permettre la concurrence. Ce n'est plus le cas avec les séquences de boot par défaut
 dans Debian depuis le 20-01-2008.
Avant d'activer la concurrence, la valeurs des séquences de tous les scripts de boot doivent
êtres vérifiées et il faut s'assurer que seul les scripts qui peuvent être lancés en parallèle
ont le même numéro de séquence et que les dépendances des scripts ont un numéro de séquence inférieur.
Jetez un coup d'oeil au package insserv pour permettre un réordonnement automatique du boot.

L'option 'startpar' fait un lancement en parallel des scripts init.d avec une sortie sérialisée. 

L'option 'shell' semble si j'ai bien compris générer un cache de lecture “readahead".

Après avoir essayé l'option shell je tombe vraiment sur un résultat intéressant.

Le temps comprend le démarrage d'une debian sid depuis grub jusqu'à GDM dans une machine virtuelle virtualbox.

  • Avec l'option 'none' je mets 49,74 secondes
  • Avec l'option 'startpar' je mets 35,12 secondes.
  • Avec l'option 'shell' je mets 28,16 secondes.

Pour ma part voici comment j'ai reconfiguré le tout.

Pour optimiser le démarrage j'ai installé insserv que je ne connaissait pas du tout, j'ai lancer update-bootsystem-insserv pour optimiser les scripts init.d.

Ça marche plutôt pas mal.

Je n'ai pas testé sur ubuntu mais l'option est bien présente dans /etc/init.d/rc si vous avez des résultats concluant fates le moi savoir.

non
Article intéressant ?
oui
44%
56%
188 vote(s)

mardi, avril 21 2009

Vider la memoire cache

Pour vider la mémoire cache d'un poste GNU/Linux et arréter de stresser avec des résultat comme ça:
(oh moman il me reste juste 183Mo de libre ;)



Il faut taper en root:

 #sync;echo 3 > /proc/sys/vm/drop_caches
 Et voilà la ram après:


non
Article intéressant ?
oui
47%
53%
184 vote(s)

jeudi, février 5 2009

La commande history

Je profite de mon dernier billet pour faire un petit rappel sur la commande history

La commande history est une commande shell qui permet d'avoir l'historique des dernières commandes tapées dans le terminal.

C'est de cette liste de commande dont dépend les touches HAUT et BAS lorsque vous appuyez dessus.

Lorsque l'on tape history on obtiens la liste des 500 dernières commandes tapées.

Ces commandes sont précédées d'un nombre, plus le nombre est grand plus la commande est récente.

Si on tape dans un terminal !X on exécutera la commande qui porte le numéro X dans l'historique.

Exemple:



Si on tape !! on exécutera la dernière commande de l'historique.

Exemple:

 />
<p>
On peut aussi taper juste le debut d'une commande après le <strong>!</strong></p>
<p>Exemple</p>
<img src=

On peut aussi faire suivre le ! par le début de la commande

Exemple:

Dans cet exemple en tapant !echo je fait exécuter la dernière commande de l'historique qui commence par echo

Pour vider l'historique il faut faire:

history -c

Par defaut les 500 dernières commandes sont mémorisées, la variable qui gère ça est $HISTSIZE

si on met cette variable a 0 on empêche le mécanisme d'historique des commandes.

$HISTSIZE=0

pour le rendre permanent il faut mettre la commande dans ~/.bash_profile

$echo HISTSIZE=0 >> ~/.bash_profile

Il suffit de se reconnecter ou de taper

. ~/.bash_profile

pour que la modification prennent effet.


non
Article intéressant ?
oui
48%
52%
222 vote(s)

vendredi, juillet 11 2008

SmsAlert : Envoyer des sms gratuitement depuis ses serveurs

EDIT: La version est maintenant compatible Ubuntu lire ce billet

Je me permet de faire passer ce billet sur le planetlibre car je pense qu'il pourra servir à certains d'entre nous et je n'étais pas inscrit à l'époque, l'original date du 15-02-2008.


Il y a quelques jours je me demandais comment être alerté gratuitement par sms depuis mes serveurs en cas de soucis ou panne. Alors après avoir épluché google et parcouru une dizaine de sites gratuits mais payant (cherchez l'erreur) après avoir demandé à mes connaissances et ne trouvant pas de solution j'ai fini par pondre la solution suivante, alors oui ce n'est pas parfait, oui ce n'est pas 100% libres, oui c'est du bidouillage, mais bon ça fait ce que je veux, comme je le veux.


Alors pour cette recette j'ai besoin :


Premièrement je vais créer un compte sur google calendar.



Une fois le compte créé je vais surGoogle Calendar je clique sur la flèche à côté de mon agenda:


et je choisis notification.

Une fois sur la fenêtre des options de notification je clique sur : "Configurez votre mobile pour recevoir des notifications".



Dans la fenêtre de paramètre je saisis mon numéro de mobile, je clique sur "Envoyer le code de vérification".



Je reçois un texto du genre:

Votre code de vérification de Google Agenda est XXXXXX


Je saisi le code et "Terminer la configuration."

Maintenant dans la fenêtre de notification je choisis d'envoyer par défaut un rappel via SMS.



Voilà tout est bon, passons maintenant à smsalert.
J'ai créé deux fichiers d'envoi de sms (sms.php et sms_plan.php) qui utilisent les deux excellentes classes de Mr Alexander Skakunov.

cd ~
wget http://macsim.labolinux.net/upload/smsalert2.tar.gz
tar zxvf smsalert.tar.gz
cd smsalert


Quelques explications:

Dans le dossier il y a deux classes GoogleCalendarWrapper et MyCurl, j'ai légèrement retouché ces deux classes.
J'ai ajouté l'ajout de notification dans les nouveaux évènement et j'ai changé le chemin des logs curl.
Le principal soucis c'est que google calendar ne permet pas de notification inférieure à 5 minutes ce qui est normal pour utilisation classique de google calendar. J'ai donc rusé, sms.php ajoute l'évènement 5 minutes et 30 secondes après l'instant T.

Configuration:

Maintenant j'édite sms.php et sms_plan.php pour modifier la ligne:

$gc = new GoogleCalendarWrapper("VOTRE_MAIL", "VOTRE_PASS");

avec mon compte google.

Voila la configuration est terminée.
Il n'y a plus qu'à utiliser.


Utilisation de sms.php

Sms.php permet d'envoyer un sms en ajoutant l'évènement 5 minutes et 30 secondes après l'instant T.
Ce qui réalise un envoi presque immédiat.

Syntaxe:

$php sms.php "TITRE" "MESSAGE"

Exemple:

$php sms.php "Serveur Mail" "Reboot"


et dans les 30secondes qui suivent on reçoit le sms.
J'utilise sms.php pour mes scripts avec cron.

Utilisation de sms_plan.php

Sms_plan.php lui ajoute un évènement à une heure précise pour planifier quelque chose.
Syntaxe:

(L'heure doit être de la forme HH:MM).


$php sms_plan.php "TITRE" "MESSAGE" HEURE


Exemple:

$php sms_plan.php "Serveur Mail" "Reboot dans 1h" 16:00.


Voilà le système est près.
Alors, quels sont les avantages de cette méthode, premièrement elle permet d'être informé rapidement d'un incident sur un serveur par sms, deuxièmement l'agenda google gardera une trace de ces évènements et pour finir c'est gratuit ;).
Si vous connaissez un meilleur moyen de réaliser ça je suis preneur.
Si vous voulez ajouter les évènements sur un autre agenda que celui par défaut, l'explication est dans les fichiers sms.php et sms_plan.php.

non
Article intéressant ?
oui
38%
62%
152 vote(s)