" Unix is user-friendly. It's just selective about who its friends are. "
" If Unix is the answer, then it must have been a stupid question. "
" Friends don't let friends use Unix. "
Astuces Debian :
Astuces diverses/shell :
Il peut parfois être utile d'avoir un fichier de démarrage, une sorte d'équivalent
du fichier /etc/rc.local dans des distributions comme RedHat. Voici
la marche à suivre pour utiliser un tel fichier avec Debian.
En tant que root, créer un fichier /etc/init.d/local avec
par exemple le contenu suivant, un appel à un script dans votre répertoire maison :
#!/bin/sh /home/vincent/init.sh
Le fichier init.sh contiendra les commandes à exécuter au démarrage du
système. Evidemment, ce script doit appartenir à root et avoir les
permissions appropriées :
# chown root:staff /home/vincent/init.sh # chmod 770 /home/vincent/init.sh
Rendre exécutable le fichier etc/init.d/local :
# chmod u+x /etc/init.d/local
Mettre à jour les liens System-V :
# update-rc.d local defaults 80
apt-get est un outil fabuleux, mais avec un tout petit défaut :
les paquets de dépendance qui ne sont plus utilisés ne sont pas supprimés
lors d'un apt-get remove.
L'outil deborphan permet de lister les paquets qui ont été
installés pour des raisons de dépendance, et qui ne sont désormais plus
utilisés.
S'il n'est pas déjà installé :
# apt-get install deborphan (si pas installé)
En combinaison avec xargs et apt-get remove pour
effectuer le nettoyage :
# deborphan | xargs apt-get remove --purge -uy
Pour installer ou désinstaller un paquet "proprement" avec toutes les
dépendances, il est possible d'utiliser aptitude (utile
pour tester un paquet qu'on ne va peut-être pas garder) :
# aptitude install <nom du paquet> # aptitude remove <nom du paquet>
Utilisation de la commande rename. Par exemple, remplacement
de *.html par *.shtml :
$ rename 's/html/shtml/' *.html
Pour effectuer récursivement le remplacement dans les sous-répertoires :
$ find . -name '*.html' -print | rename 's/html/shtml/'
Si votre système est en 'stable' ou en 'testing' et que vous souhaitez
installer la version 'unstable' d'un paquet en particulier, c'est faisable
très simplement avec apt.
Tout d'abord, assurez-vous que la ligne suivante est présente dans le
fichier /etc/apt/apt.conf (pour éviter que tous les paquets
soient mis à jour dans leur version 'unstable') :
APT::Default-Release "testing";
Ajout des sources 'unstable' dans /etc/apt/sources.list :
... deb http://ftp.u-strasbg.fr/debian/ testing main deb-src http://ftp.u-strasbg.fr/debian/ testing main deb http://ftp.u-strasbg.fr/debian/ unstable main deb-src http://ftp.u-strasbg.fr/debian/ unstable main
Mise à jour des versions et installation du paquet (par exemple, Gimp) :
# apt-get update # apt-get install -t unstable gimp
Fichiers contenant "xxx" :
grep -l -re "xxx" *
Fichiers ne contenant pas "xxx" :
grep -L -re "xxx" *
Fichiers ne contenant pas "xxx" mais contenant "yyy" :
grep -L -re "xxx" * | xargs grep -l -re "yyy"
La commande makepasswd (paquet du même nom sous Debian)
permet de générer des mots de passe d'une longueur définie et en
utilisant des caractères définis.
Un bon mot de passe contient au moins 10 caractères (enfin, un bon mot de passe est un mot de passe qu'on change souvent aussi). On évite aussi les ambiguïtés o/O/0 (la lettre O minuscule/majuscule et le chiffre zéro), i/I/1...
Voici une commande toute faite pour générer 10 mots de passe :
makepasswd --count=10 --maxchars=10 --minchars=10
--string=ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789
Parmi la liste renvoyée, il serait bon de ne garder que les mots de passe qui contiennent au moins deux chiffres :
makepasswd --count=10 --maxchars=10 --minchars=10
--string=ABCDEFGHJKMNPQRSTUVWXYZabcdefghjkmnpqrstuvwxyz23456789
| grep -re "[0-9].*[0-9]"