Debian – Mémo commandes
1. Introduction
Au bout d’un certain temps, lorsque l’administration de serveur n’est pas régulière, on peut commencer à oublier certaines commandes. J’ai donc fait cette page, comme petit mémo de commande. Je l’enrichirai avec le temps.
2. Gestion des paquets
2.1 Sauvegarde / Restauration liste paquet
- Pour sauvegarder :
dpkg --get-selections > sauvegarde_paquets
- Pour restaurer :
dpkg --set-selections < sauvegarde_paquets
apt-get -u dselect-upgrade
2.2 Régler le problème GPG error après un apt update
apt update
W: GPG error: ftp://ftp.fr.debian.org Etch Release: The following signatures
couldn't be verified because the public key is not available:
NO_PUBKEY 0123456789ABCDEF
Le problème se corrige très facilement, il suffit de recopier la PUBKEY dans les commandes suivantes :
gpg --keyserver pgpkeys.mit.edu --recv-key 0123456789ABCDEF
gpg -a --export 0123456789ABCDEF | apt-key add -
apt update
2.3 Installer une version antérieure d’un paquet
Pour installer d’une version antérieur paquet (oh combien pratique en cas de paquet bugué):
apt install lenomdupaquet=versionprécise
Par exemple :
apt install vlc-nox=0.8.6-svn20061012.debian-5etch1
3. Gestion des processus
3.1 Connaitre l’occupation RAM/Processeur et la liste des processus en cours d’exécution
LA commande de l’admin ( pour sortir)
top
3.2 Pour tuer un processus qui ne réponds plus
Même sous linux ça peut arriver…
ps aux | grep lenomduprocessus
root 13216 87.6 6.8 38053 ? pts/0 R+ 01:42 lenomduprocessus
root 18892 0.0 0.0 3332 772 pts/0 R+ 00:00 grep lenomduprocessus
kill -9 13216
Noter bien la réutilisation du numéro de PID (c’est l’identifiant du processus).
4. Compresser/décompresser des fichiers
4.1 Archive tar.gz (ou .tgz)
- Compression :
tar -cvzf nomdufichier.tar.gz /le/repertoire/a/sauvegarder
- Décompression :
tar -xvzf nomdufichier.tar.gz
Si c’est une archive tar uniquement, il faut enlever le z des options Le v permet de voir (mode verbose) les fichiers compressés/décompressés en direct, c’est bien mais cela peut dans certains cas ralentir le processus.
4.2 Archive tar.bz2
- Compression :
tar -cvjf nomdufichier.tar.gz /le/repertoire/a/sauvegarder
- Décompression :
tar -xvjf nomdufichier.tar.gz
Même remarque que pour le .tar.gz
4.3 Archive .gzip
- Compression :
gzip nomdufichier
- Décompression :
gunzip nomdufichier.gzip
5 Recherche (et/ou) Suppression de fichier
5.1 Pour effacer les backups générés par emacs *~
Encore basé sur find :
find /chemin -name *~ -type f -print0 | xargs -0 /bin/rm -f
(setq make-backup-files nil)
5.2 Pour trouver le nom du fichier qui contient une chaine de caractères spécifiée
Commande bien compliquée se basant du find, mais tellement utile !
find /dossier/où/il/faut/chercher -xdev -type f -exec grep -i "chainedecaracteres" {} /dev/null \;
J’en ai fait un petit script à copier-coller dans un fichier executable (n’oubliez pas le chmod 755
)
find $1 -xdev -type f -exec grep -i "$2" {} /dev/null \;
Après si vous avez appelé votre fichier cherche
par exemple, vous l’utilisez en tapant :
./cherche /lechemin lachaine
6 Manipuler les fichiers
6.1 Lire un fichier en direct
Assez pratique pour surveiller un log votre serveur
tail -f /var/log/syslog
6.2 Lire un fichier sur la sortie standard
Evident pour certains, moins pour d’autres alors je l’indique :
cat lefichier
6.3 Remplacer une chaine de caractère dans un ou plusieurs fichiers
sed -i -e "s/chaine_a_remplacer/nouvelle_chaine/g" lefichier
7 Gestion Disque
7.1 Pour connaitre l’espace restant sur vos disques
df -h
7.2 Pour connaitre la taille totale d’un répertoire sur le disque
du -hs /monrep
8 Divers
8.1 Pour ajouter / enlever un script au démarrage
Le script se trouve dans /etc/init.d et il est exécutable (chmod 755)
- Pour ajouter :
update-rc.d tonscript defaults 20
- Pour enlever :
update-rc.d tonscript remove
8.2 Pour régler le problème de postfix : « fatal: open database /etc/aliases.db: No such file or directory«
newaliases
Tout simplement ! Il faut tout de même avoir renseigner le fichier /etc/aliases
^^
8.3 Télécharger un fichier depuis le web (http)
Bien pratique !
wget http://www.ladressedufichier/lefichier.tar.gz
8.4 Modifier l’écran d’accueil (GeeK)
Si vous souhaitez modifier votre écran d’accueil après une authentification réussie, il faut modifier les fichiers /etc/motd.tail
et /etc/init.d/bootmisc.sh
.
Editer selon votre goût le fichier /etc/motd.tail
(vous pouvez trouver d’autres écritures ascii sur le site www.network-science.de/ascii/) :
_________
/ _____/ ______________ __ ____ __ _________
\_____ \_/ __ \_ __ \ \/ // __ \| | \_ __ \
/ \ ___/| | \/\ /\ ___/| | /| | \/
/_______ /\___ >__| \_/ \___ >____/ |__|
\/ \/ \/
IPv4 PUBLIQUE : 1.2.3.4
IPv4 PRIVEE : 5.6.7.8
Distribution : Debian GNU/Linux 4.0
Puis ajouter la ligne /bin/cp /etc/motd /etc/issue dans /etc/init.d/bootmisc.sh
:
uname -snrvm > /var/run/motd
[ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd
/bin/cp /etc/motd /etc/issue
- Et enfin, rebootez :
reboot
9 Utilisation de Diff & Patch
9.1 Diff
9.2 Patch
- Patcher (–dry-run indique sans modifier) à la racine d’un paquet source debian :
gzip nomdufichier
patch -p1 –verbose –dry-run < debian/patches/0001-Use-homemade-autoloader.php.patch
10 Screen
Vous utilisez SSH et paf la connexion est perdue et vous étiez au milieu d’une procédure et vous n’avez aucun moyen de revenir là où vous étiez : vous avez besoin de screen
screen
screen -r
CTRL + A + ECHAP mode historique vertical (ECHAP pour sortir)
Pour effacer le disque : shred -v –-iterations=7 /dev/sdX
11 Réseau
Pour connaitre l’adresse de la gateway :
ip r
default via 84.211.44.1 dev eno1
84.211.44.0/24 dev eno1 proto kernel scope link src 84.211.44.28
12 Mail
# postsuper -h queueid
# postcat -qbh queueid > tempfile.eml
# vi tempfile.eml
# sendmail -f $sender $recipient < tempfile.eml
# postsuper -d queueid
telnet smtp.mondomaine.com 25
Trying 1.1.1.1...
Connected to smtp.mondomaine.com.
Escape character is '^]'.
220 serveur.mondomaine.com ESMTP
HELO test.fr
250 serveur.mondomaine.com
MAIL FROM:
250 ok
RCPT TO:
250 ok
DATA
354 go ahead
Subject: sujet du message
test tes test
.
250 ok
QUIT
221 serveur.mondomaine.com
Connection closed by foreign host.
mdadm -Esv
mdadm –stop /dev/md*
mdadm –zero-superblock /dev/disk/by-id/scsi-SATA_disk1
systemctl edit –full nginx.service
rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server