Snippets populaires
Raccourcis pour changer de bash rapidement
Beaucoup de monde connait le ctrl+alt+FX (X allant de 1 à 6 pour les sessions de terminal, et au dessus pour les sessions graphiques)
Je viens de découvrir par hasard le alt+super pour passer rapidement à la console suivante. (super étant assigné à la touche windows sur les claviers prévus pour fonctionner avec les systèmes de Microsoft)
Désactiver le bip système sous Ubuntu
Rien de plus exaspérant que ces bips disgrâcieux à chaque tabulation dans un shell. Pour remédier au problème :
$ echo "set bell-style visible" >> ~/.inputrc
Vim ou Bash figés après un CTRL + S ?
Oui ben ça nous arrive à tous un jour ou l'autre hein :p
Donc si vous aussi vous vous retrouvez avec un Vim ou un Bash figés après avoir connement tenté un Ctrl + S, le meilleur moyen de rétablir la situation est de faire un Ctrl + Q
Rendre l'execution d'un programme insensible aux déconnexions
On peut utiliser l'utilitaire nohup :
$ nohup batch_script.sh
CTRL+Z + bg mettront la tâche en arrière plan.
Lancer eclipse avec la JVM de Sun
GCJ c'est gentil, mais ça rame. Alors Eclipse avec GCJ... :/
Pour y remédier, on peut lancer Eclipse en forçant la JVM (update-alternatives reste sourd aux incantations à ce niveau)
/usr/bin/eclipse -vm /usr/lib/jvm/java-1.5.0-sun/jre/bin/java -vmargs -Xmx256M
On notera aussi la limitation de mémoire vive utilisable ;)
Pour installer la JVM de Sun si elle n'est pa sprésente sur le système :
sudo apt-get install sun-java5-jre
Lister le matériel de sa machine
Lister toutes les informations de la machine :
$ sudo lshw
Il existe la possibilité d’exporter le résultat dans une page *.html :
$ sudo lshw -html > votre_nom_de_fichier.html
via http://www.pastanque.be/splitsch/ubuntu/106/106.html et le planet ubuntu-fr (http://planet.ubuntu-fr.org)
[Symfony] Cacher simplement un fragment de code
Cacher le résultat d'un processus coûteux pour 24h :
<?php if (!cache('huge_process_of_the_death', 86400)): ?> <?php foreach ($stuff as $item): ?> // Your amazingly huge iteration processes here <?php endforeach; ?> <?php cache_save() ?> <?php endif; ?>
Pour le cacher pour un utilisateur spécifique :
<?php if (!cache('huge_process_of_the_death'.md5($user->getEmail()), 86400)): ?> <?php foreach ($stuff as $item): ?> // Your amazingly huge iteration processes here <?php endforeach; ?> <?php cache_save() ?> <?php endif; ?>
On s'assure juste de prendre l'empreinte md5 d'un attribut unique dans la table associée ;)
Mailer un backup mysql comme attachement en ligne de commande
On va utiliser mutt :
$ sudo apt-get install mutt
La commande (cronable) :
$ mysqldump -uroot -p --all-databases --opt \
| bzip2 > /path/to/backup/export.sql.bz2 \
&& echo "En date du " `date` \
| mutt -s "[Nikobox] Backup MySQL total du `date | awk '{ print $2,$3,$4}'`" \
-a /path/to/backup/export.sql.bz2 you@fai.com
Sécuriser /tmp
Beaucoup de script-kiddies s'amusent beaucoup avec le répertoire /tmp, par défaut aisément accessible et donc réceptacle à executables falacieux de tous poils.
Voici une méthode permettant de remplacer ce point de montage par un nouveau, de 40Mo mais dont la particularité sera de ne pas autoriser l'execution de programmes (héhé) :
# create a 40MB block device which will be the /tmp file system cd /root dd if=/dev/zero of=/root/tmpMnt bs=1024 count=40000 mkfs.ext3 -F /root/tmpMnt # mount it at /tmp mv /tmp /tmp.backup mkdir /tmp mount -o loop,noexec,nosuid,rw /root/tmpMnt /tmp chmod 0777 /tmp # make it so it is used on boot up if ! grep -qai tmpMnt /etc/fstab ; then echo "/root/tmpMnt /tmp ext3 loop,noexec,nosuid,rw 0 0" >> /etc/fstab fi # check your syntax is ok mount -a # check that programs in /tmp will not run cp /bin/ls /tmp/ /tmp/ls
Pour remonter /tmp avec droits d'execution :
# umount /tmp # mount -o loop,rw /root/tmpMnt /tmp
Et remonter la partition sans les droits d'execution :
# umount /tmp # mount -o loop,noexec,nosuid,rw /root/tmpMnt /tmp
[Ubuntu] Mailer en ligne de commande
Il faut installer mailx :
$ sudo apt-get install mailx
Un test :
$ echo "Test" | mail monmail@gmail.com -s "Test de mail"





