This shows you the differences between two versions of the page.
— | nomades:repertoire_des_commandes_shell_unix [2015/08/30 22:55] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Diverses commandes pour shell unix/linux par différentes sources ====== | ||
+ | bon bouquins unix en ligne : http:// | ||
+ | |||
+ | ===== Commandes Shell Linux - par LinuxOnfire ===== | ||
+ | |||
+ | |||
+ | |||
+ | __La commande cd permet de changer de répertoire :__ | ||
+ | |||
+ | |||
+ | cd : pour aller dans le répertoire $HOME (~/ = compte utilisateur). | ||
+ | |||
+ | cd / : pour aller à la racine / | ||
+ | |||
+ | cd .. : pour remonter au répertoire parent (../ | ||
+ | |||
+ | cd - : pour retourner au répertoire précédent. | ||
+ | |||
+ | cd /lib : pour ce loger dans le répertoire lib | ||
+ | |||
+ | |||
+ | |||
+ | __La commande ls permet de lister le contenu du répertoire :__ | ||
+ | |||
+ | |||
+ | ls -a : affiche tous les types de fichiers | ||
+ | |||
+ | ls -l : affiche les liens des fichiers | ||
+ | |||
+ | ls -r * : affiche tous les répertoires et leurs fichiers | ||
+ | |||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | mkdir : création d'un répertoire. | ||
+ | |||
+ | rmdir : suppression d'un répertoire. | ||
+ | |||
+ | cp -r : pour copier un répertoire et ses fichiers. | ||
+ | |||
+ | rm -r : suppression de tous les fichiers d'un répertoire. | ||
+ | |||
+ | mv -r : pour déplacer et/ou renommer un répertoire. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | __Pour manipuler les fichiers :__ | ||
+ | |||
+ | |||
+ | cp : pour copier | ||
+ | |||
+ | mv : pour déplacer et/ou renommer | ||
+ | |||
+ | rm : pour supprimer | ||
+ | |||
+ | pour ces commandes l' | ||
+ | |||
+ | cat / | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | __Pour afficher les fichiers et/ou leur contenu :__ | ||
+ | |||
+ | |||
+ | cat : affiche le contenu d'un fichier | ||
+ | |||
+ | cat nom_fic | more : more ou less permet de lister page/page ou ligne/ | ||
+ | |||
+ | ls | less : même chose pour la commande ls et... | ||
+ | |||
+ | groff -Tascii -man page_1 | less : affiche en ASCII le contenu de la page de manuel page_1 | ||
+ | |||
+ | ls *.txt | grep ce_nom : rechercher les fichiers ayant l' | ||
+ | |||
+ | ls *.txt | xargs grep -l ce_mot : recherche les fichiers ayant l' | ||
+ | |||
+ | cat *.txt | grep ce_mot : rechercher les lignes contenant ce_mot dans tous les fichiers ayant l' | ||
+ | |||
+ | find -name nom_fic : recherche le fichier nom_fic | ||
+ | |||
+ | find -iname nom_fic : recherche nom_fic sans tenir compte des majuscule/ | ||
+ | |||
+ | find / -name ' | ||
+ | |||
+ | find / -user nom_user -ls : recherche les fichiers appartenant à l' | ||
+ | |||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | chmod : change les droits répertoires et fichiers (chmod xxx) | ||
+ | |||
+ | chown : change le propriétaire et le groupe (chown moi.nous) | ||
+ | |||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | pwd : indique le chemin du répertoire où vous êtes logé. | ||
+ | |||
+ | free : affiche les informations sur la mémoire. | ||
+ | |||
+ | df : affiche les informations sur les disques (partitions montées). | ||
+ | |||
+ | uname -a : affiche les informations sur ,le noyau ,le cpu et la machine. | ||
+ | |||
+ | who : indique qui est connecté et sur quelle console (tty). | ||
+ | |||
+ | $PATH : indique les chemins déclarés pour accéder aux librairies et binaires. | ||
+ | |||
+ | ldconfig -p : affiche les librairies installées par ordre alphabétique. | ||
+ | |||
+ | ldconfig -V : affiche les librairies installées par répertoire. | ||
+ | |||
+ | ldconfig : met à jour la configuration du système. | ||
+ | |||
+ | locate libc.so : Indique les librairies libc.so.? installées et leur chemin. | ||
+ | |||
+ | type vi : Pour savoir si vi est installé et connaître son chemin. | ||
+ | |||
+ | ldd /usr/bin/vi : Pour connaître les librairies utilisées par vi. | ||
+ | |||
+ | patch < patch.nouveau : appliquer le patch patch.nouveau depuis son répertoire. | ||
+ | |||
+ | patch -p0 < patch.nouveau : appliquer patch.nouveau, | ||
+ | |||
+ | |||
+ | Source : http:// | ||
+ | |||
+ | |||
+ | ---------------------------------------------- | ||
+ | |||
+ | |||
+ | |||
+ | ===== Commandes Shell Linux - par JOKE ===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | **Ces commandes ne sont pas exhaustives (et en vrac), et servent de mémo pour travailler sous unix** | ||
+ | |||
+ | - principe de base : user et root (sytème unix/linux) vous êtes maitre de l’ensemble de votre machine! | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | terminal : #su #password : votrepassroot | ||
+ | |||
+ | |||
+ | - chercher un fichier : | ||
+ | |||
+ | #find / | ||
+ | |||
+ | |||
+ | - déplacer un fichier : | ||
+ | |||
+ | #cd / | ||
+ | |||
+ | |||
+ | - arrêt opération imprimante : | ||
+ | |||
+ | #lpstat -l # | ||
+ | |||
+ | |||
+ | - transforme tout un répertoire .wav en .mp3 : | ||
+ | |||
+ | #for i in ls -1 nom_du_fichier.wav; | ||
+ | |||
+ | |||
+ | - commande lancement jack : | ||
+ | |||
+ | #jack -d alsa | ||
+ | |||
+ | |||
+ | - pour copier un fichier : | ||
+ | |||
+ | #cd répertoire_fichier_à_copier #cp nom_fichier / | ||
+ | |||
+ | |||
+ | - commande chmod : | ||
+ | |||
+ | #cd / | ||
+ | |||
+ | |||
+ | - force ssh ++ : | ||
+ | |||
+ | #ssh -l root serveur | ||
+ | |||
+ | |||
+ | - config machine perso via navigateur : | ||
+ | |||
+ | https:// | ||
+ | |||
+ | |||
+ | - compression tar d’un fichier ou répertoire : | ||
+ | |||
+ | #cd nom_répertoire_où_se_trouve_le_fichier #tar cvfz nom_fichier.tar.gz nom_fichier | ||
+ | |||
+ | |||
+ | - décompresser un tar | ||
+ | |||
+ | #cd nom_répertoire_où_se_trouve_le_fichier #tar xcfz nom_fichier.tar.gz | ||
+ | |||
+ | |||
+ | - copie de fichier en ssh : | ||
+ | |||
+ | 1- d’une autre machine vers la sienne : | ||
+ | |||
+ | ouvrir une console sur sa machine : | ||
+ | |||
+ | #scp user@192.168.1.1: | ||
+ | |||
+ | |||
+ | 2- de sa machine vers une autre : | ||
+ | |||
+ | ouvrir une console, aller dans le répertoire où se trouve le dossier à déplacer | ||
+ | |||
+ | #cd / | ||
+ | |||
+ | |||
+ | - vérifier la mémoire de votre ordinateur | ||
+ | |||
+ | #more / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ---------------------------------------- | ||
+ | |||
+ | = | ||
+ | |||
+ | ==== Commandes shell linux - par Jean-Claude Garaud ===== | ||
+ | |||
+ | /////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
+ | NB : ceci est mon " | ||
+ | Il n'y a pas (encore) de classement ou de liens : utilisez la fonction recherche de votre " | ||
+ | |||
+ | A utiliser à vos risques et périls :) | ||
+ | |||
+ | Jean-Claude Garaud | ||
+ | /////////////////////////////////////////////////////////////////////////////////////////////////////// | ||
+ | |||
+ | Les mines de renseignements | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Programmation | ||
+ | |||
+ | |||
+ | BASH | ||
+ | ---- | ||
+ | - Bash Guide for Beginners | ||
+ | http:// | ||
+ | - BASH Programming - Introduction HOW-TO | ||
+ | http:// | ||
+ | - Guide avancé d' | ||
+ | http:// | ||
+ | http:// | ||
+ | Advanced Bash Scripting Guide : | ||
+ | http:// | ||
+ | http:// | ||
+ | - Linux Shell Scripting Tutorial | ||
+ | http:// | ||
+ | |||
+ | Quelques trucs | ||
+ | |||
+ | |||
+ | Identifier le shell | ||
+ | ------------------- | ||
+ | echo $SHELL | ||
+ | cf. http:// | ||
+ | La commande ps retourne les processus actifs, et en particulier le shell | ||
+ | |||
+ | Connaître la configuration matérielle et logicielle | ||
+ | --------------------------------------------------- | ||
+ | cf. http:// | ||
+ | |||
+ | Version de mandrake installée : cat / | ||
+ | Version du noyau Linux : uname -sr (cf. man uname) | ||
+ | |||
+ | Déterminer le type d'un fichier | ||
+ | ------------------------------- | ||
+ | file nomfichier | ||
+ | |||
+ | Infos sur un fichier (ou répertoire) | ||
+ | ------------------------------------ | ||
+ | stat nom_fichier | ||
+ | (donne en particulier le nombre de "hard links" | ||
+ | |||
+ | Récupérer le code de sortie d'une commande (errorlevel) | ||
+ | ------------------------------------------------------- | ||
+ | Très utile dans les scripts, ce code peut aussi être visualisé directement en ligne de commande grâce à echo $?. | ||
+ | Exemple : | ||
+ | $ mount | grep /dev/hda1 | ||
+ | echo $? | ||
+ | 1 | ||
+ | > la partition /dev/hda1 n'est pas montée, n' | ||
+ | |||
+ | $ mount | grep /dev/sda7 | ||
+ | /dev/sda9 on /mnt/backup type ext3 (rw) | ||
+ | $ echo $? | ||
+ | 0 | ||
+ | > la partition /dev/sda9 est montée | ||
+ | |||
+ | |||
+ | Configuration matérielle | ||
+ | |||
+ | D' | ||
+ | |||
+ | Bus PCI | ||
+ | ------- | ||
+ | $ lspci | ||
+ | $ lspci -v | ||
+ | $ lspcidrake | ||
+ | |||
+ | Bios et hardware | ||
+ | ---------------- | ||
+ | # dmidecode (à installer) | ||
+ | Exemple : chercher les caractéristiques de la carte mère : | ||
+ | # dmidecode | less | ||
+ | Dans less taper h (pour la doc en ligne) | ||
+ | -i (pour des recherches en ignorant la casse) | ||
+ | / | ||
+ | n (pour la suivante) | ||
+ | N (pour revenir à la précédante) | ||
+ | |||
+ | # lshw | ||
+ | # lshw -html | ||
+ | |||
+ | Disque dur : | ||
+ | ---------- | ||
+ | # hdparm -i /dev/hdx | ||
+ | Nb : ne fonctionne pas (actuellement 14-4-2005) avec disques SATA ; dans ce cas taper hdparm /dev/sdx qui ne retourne pas des infos vraiment intéressantes | ||
+ | |||
+ | SMARTmontools (smartctl) | ||
+ | |||
+ | Processeurs | ||
+ | ----------- | ||
+ | $ cat / | ||
+ | |||
+ | |||
+ | Arrêter le PC | ||
+ | |||
+ | cf: http:// | ||
+ | Pour l' | ||
+ | halt | ||
+ | shutdown now | ||
+ | shutdown -h now | ||
+ | (h halt) | ||
+ | |||
+ | Avec redémarrage : | ||
+ | shutdown -r now | ||
+ | (r reboot) | ||
+ | ou | ||
+ | < | ||
+ | |||
+ | A partir de X Window, d' | ||
+ | < | ||
+ | pour quitter X Windows, puis | ||
+ | < | ||
+ | |||
+ | |||
+ | shutdown +3 | ||
+ | (shutdown dans 3 minutes) | ||
+ | shutdown -c | ||
+ | supprimer l' | ||
+ | |||
+ | shutdown -Fr now | ||
+ | shutdown -fr now | ||
+ | -F avec fsck au reboot | ||
+ | -f sans fsck au reboot | ||
+ | |||
+ | init 5 | ||
+ | |||
+ | Fichiers standard | ||
+ | ----------------- | ||
+ | cf. http:// | ||
+ | Un programme UNIX standard ouvre par défaut 3 fichiers | ||
+ | Nom Numéro | ||
+ | - standard input (stdin) 0 | ||
+ | - standard output (stdout) 1 | ||
+ | - standard error (stderr) 2 | ||
+ | |||
+ | Redirections | ||
+ | ------------ | ||
+ | cf. http:// | ||
+ | |||
+ | Rediriger la sortie d'une commande vers un fichier : | ||
+ | cmd > fic | ||
+ | Rediriger stderr vers un fichier : | ||
+ | cmd 2> fic | ||
+ | Rediriger stdin et stderr vers le même fichier : | ||
+ | cmd > fic 2>&1 | ||
+ | Rediriger stdin et stderr dans 2 fichiers différents : | ||
+ | cmd > fic1 2> fic2 | ||
+ | Rediriger à la fois stdout et stderr vers le fichier fic | ||
+ | cmd &> | ||
+ | Diriger le résultat (stdout) d'une commande simultanément vers l' | ||
+ | cmd | tee fic | ||
+ | |||
+ | Diriger le résultat d'une commande (stdout + stderr) simultanément vers l' | ||
+ | cmd 2>&1 | tee fic | ||
+ | |||
+ | Pour ajouter à un fichier déjà existant, remplacer > par >> | ||
+ | Pour tee, l' | ||
+ | cmd | tee -a fic | ||
+ | |||
+ | Arborescence (nom des répertoires) | ||
+ | |||
+ | http:// | ||
+ | okki666.free.fr/ | ||
+ | |||
+ | Différence entre bin et sbin : binbinaires, | ||
+ | > pour un utilisateur standard bin peut être dans le PATH, mais sbin n'a aucune raison d'y être. | ||
+ | |||
+ | / racine (root) du système de fichiers | ||
+ | / | ||
+ | /boot | ||
+ | /dev device files : points d' | ||
+ | / | ||
+ | / | ||
+ | /lib shared libraries nécessaires aux programmes de démarrage (principalement des programmes placés dans /bin et /sbin). | ||
+ | /mnt pour le montage pour les périphériques en mode block (cdrom, floppy ...) | ||
+ | /proc infos sur l' | ||
+ | / | ||
+ | Les commandes placées dans /sbin (et dans /bin) ne sont en général pas exécutées par les utilisateurs. | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Répertoires dans /usr | ||
+ | |||
+ | X11R6 système Xwindow | ||
+ | X11R6/ | ||
+ | X11R6/ | ||
+ | X11R6/ | ||
+ | X11R6/ | ||
+ | |||
+ | bin programmes utilisables sur le système. | ||
+ | bin/ | ||
+ | dict dictionnaires utilisés par les vérificateurs orthographiques | ||
+ | etc fichiers de configuration qui peuvent être partagés entre plusieurs machines. Vide sur MDK | ||
+ | include fichiers entêtes (.h) pour le compilateur C | ||
+ | lib librairies utilisées par les programmes des utilisateurs. Sous-répertoires pour les grosses applications | ||
+ | Contient aussi des programmes qui ne sont jamais lancés directement | ||
+ | X11 lien symbolique vers / | ||
+ | |||
+ | local ce qui est spécifique à la machine locale | ||
+ | local/ | ||
+ | local/ | ||
+ | local/ | ||
+ | man man pages | ||
+ | src sources des diverses applications installées sur le système. | ||
+ | src/ | ||
+ | |||
+ | Les répertoires dans /var | ||
+ | lock fichiers de verrouillage. Par convention, le nom des fichiers est toujours LCK.< | ||
+ | log logs du système | ||
+ | preserve sauvegardes d' | ||
+ | spool contient les files d' | ||
+ | spool/ | ||
+ | spool/ | ||
+ | spool/ | ||
+ | |||
+ | PATH | ||
+ | ---- | ||
+ | Affichage : | ||
+ | echo $PATH | ||
+ | |||
+ | Ajout : | ||
+ | PATH$PATH: | ||
+ | |||
+ | Pour que la nouvelle valeur soit utilisée par le shell et les threads : | ||
+ | export PATH | ||
+ | |||
+ | Ou en une seule commande : | ||
+ | export PATH$PATH: | ||
+ | |||
+ | |||
+ | Quelques touches rapides très pratiques | ||
+ | |||
+ | http:// | ||
+ | et touches système : | ||
+ | http:// | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | sinon envoie EOL au processus courant | ||
+ | < | ||
+ | |||
+ | Sous KDE | ||
+ | -------- | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | Raccourci touches rapides < | ||
+ | ----------------------------------- | ||
+ | Ouvre une fenêtre pour taper une commande. | ||
+ | A partir d'une session utilisateur, | ||
+ | kdesu commande | ||
+ | |||
+ | Ce raccourci manque dans KDE, session root | ||
+ | Pour l' | ||
+ | Menu : System / Configuration / KDE / Accessibility / Keyboard shortcuts / Modifier Keys | ||
+ | et cliquer sur Defaults | ||
+ | |||
+ | magic sysrq keys | ||
+ | ---------------- | ||
+ | Pour arrêter une machine plantée. | ||
+ | http:// | ||
+ | NB : il faut que le noyau ait été compilé avec 'Magic SysRq key' à yes (CONFIG_MAGIC_SYSRQ). | ||
+ | |||
+ | < | ||
+ | |||
+ | <command key> : | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | your disks. | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | console. | ||
+ | ' | ||
+ | ' | ||
+ | will be printed to your console. (' | ||
+ | it so that only emergency messages like PANICs or OOPSes would | ||
+ | make it to your console.) | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | will be non-functional after this.) | ||
+ | |||
+ | |||
+ | Utilisation de " | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | Menus : | ||
+ | se déplacer à l'aide des flèches sur une entrée de menu indiquée par :: | ||
+ | < | ||
+ | < | ||
+ | |||
+ | ps | ||
+ | |||
+ | |||
+ | $ ps affiche tous les processus lancés par l' | ||
+ | $ ps -x affiche tous les processus lancés par l' | ||
+ | $ ps -aux affiche tous les processus lancés par tous les utilisateurs | ||
+ | |||
+ | pstree | ||
+ | ------ | ||
+ | affiche les processus sous forme d' | ||
+ | |||
+ | ls | ||
+ | |||
+ | |||
+ | Pour afficher la configuration de l' | ||
+ | --------------------------------------------------------- | ||
+ | dircolors -p | ||
+ | NB : le code de couleur y est indiqué. | ||
+ | |||
+ | Nombre de fichiers dans un répertoire | ||
+ | ------------------------------------ | ||
+ | ls | wc -l | ||
+ | |||
+ | |||
+ | less | ||
+ | |||
+ | less fichier | ||
+ | ls -l /etc | less | ||
+ | |||
+ | Recherche : / | ||
+ | Les chaînes trouvées apparaissent en surbrillance | ||
+ | Pour passer à la suivante : n | ||
+ | précédente : Shift n | ||
+ | Pour quitter : q | ||
+ | |||
+ | |||
+ | Renommer un fichier | ||
+ | |||
+ | mv source destination | ||
+ | |||
+ | Renommer des fichiers | ||
+ | |||
+ | rename .htm .html *.htm | ||
+ | |||
+ | grep, egrep, rgrep | ||
+ | |||
+ | http:// | ||
+ | |||
+ | Rechercher une chaîne de caractères dans l' | ||
+ | --------------------------------------------------------------------------------- | ||
+ | grep -rH chaîne * | ||
+ | grep -d recurse | ||
+ | grep -R | ||
+ | rgrep chaîne | ||
+ | |||
+ | |||
+ | Rechercher une chaîne de caractères dans l' | ||
+ | --------------------------------------------------------------------------------- | ||
+ | find répertoire -print | xargs grep chaîne_cherchée | ||
+ | > -print | xargs permet de faire afficher en début de ligne le nom du fichier qui contient la chaîne cherchée | ||
+ | |||
+ | Rechercher simultannément plusieurs chaînes | ||
+ | -------------------------------------------- | ||
+ | Exemple | ||
+ | egrep " | ||
+ | |||
+ | Afficher le contenu de tous les fichiers d'un répertoire en évitant les lignes vides et les commentaires | ||
+ | ---------------------------------------------------------- | ||
+ | egrep -v " | ||
+ | -v --invert-match | ||
+ | ^ début de ligne | ||
+ | $ fin de ligne | ||
+ | ^# ligne commençant par # | ||
+ | |||
+ | Afficher le nom des fichiers contenant une chaîne | ||
+ | grep -l chaîne_cherchée / | ||
+ | |||
+ | sed | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | sed s/" | ||
+ | s substituer | ||
+ | / entre // la chaîne à chercher et la chaîne qui la remplace | ||
+ | g répéter la substitution | ||
+ | |||
+ | Remplacer \ par / (slash et back-slash) | ||
+ | --------------------------------------- | ||
+ | r" | ||
+ | echo $r | sed ' | ||
+ | ou bien : | ||
+ | echo $r | sed | ||
+ | cat fic | ||
+ | /toto /titi | ||
+ | |||
+ | Modifier une variable | ||
+ | --------------------- | ||
+ | r$(echo " | ||
+ | echo $r | ||
+ | C'est vous ? Bonjour vous ! | ||
+ | |||
+ | Une meilleure solution est d' | ||
+ | r" | ||
+ | $ echo ${r// | ||
+ | C'est vous ? Bonjour vous ! | ||
+ | cf. " | ||
+ | |||
+ | Pour remplacer \ par / (slash et back-slash) | ||
+ | r" | ||
+ | $ echo ${r// | ||
+ | /toto /titi | ||
+ | |||
+ | $ c${r// | ||
+ | $ echo $c | ||
+ | /toto /titi | ||
+ | |||
+ | Quelques commandes intéressantes | ||
+ | |||
+ | lspci | ||
+ | ----- | ||
+ | lspci |less | ||
+ | lspci v |less | ||
+ | lspci vv |less | ||
+ | |||
+ | Affiche toutes les infos concernant le bus PCI et les périphériques qui y sont connectés. | ||
+ | |||
+ | tail | ||
+ | ---- | ||
+ | tail / | ||
+ | tail -n 30 / | ||
+ | tail -f / | ||
+ | |||
+ | lsof | ||
+ | ---- | ||
+ | En l' | ||
+ | lsof -i tous les fichiers internet | ||
+ | lsof -i :25 tous ceux qui utilisent le port 25 (SMTP) | ||
+ | lsof -i |grep imap tous les processus IMAP actifs | ||
+ | |||
+ | find | ||
+ | ---- | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Nb: | ||
+ | - AND implicite entre les opérateurs ! | ||
+ | - la commande est par défaut récursive ; pour limiter la profondeur de recherche : -maxdepth n | ||
+ | - ne plus utiliser -name avec les versions récentes de Mandrake : si on l' | ||
+ | find: paths must precede expression | ||
+ | Usage: find [path...] [expression] | ||
+ | |||
+ | find / -name fichier.txt localiser fichier.txt à partir de la racine | ||
+ | find . -name fichier.txt à partir du répertoire où l'on se trouve | ||
+ | |||
+ | find / -name fichier.txt -ls affiche à la manière de ls | ||
+ | |||
+ | find / -name fichier.txt 2>/ | ||
+ | find / -name ' | ||
+ | find / -iname ' | ||
+ | find / -size +10000k trouve les fichiers de plus de 10000k (k kilobytes, c bytes) | ||
+ | find /home -iname ' | ||
+ | -type d directory | ||
+ | f regular file | ||
+ | l symbolic file | ||
+ | -user uname | ||
+ | username ou ID | ||
+ | find / -amin -10 # find files accessed in last 10 minutes | ||
+ | find / -atime -2 # find files accessed in last 48 hours | ||
+ | find / -empty | ||
+ | find / -group cat # find files owned by group cat | ||
+ | find / -mmin -5 # find files modified in last 5 minutes | ||
+ | find / -mtime -1 # find files modified in last 24 hours | ||
+ | find / -nouser | ||
+ | find / -user fred # find files owned by fred | ||
+ | find / | ||
+ | qui ont pour utilisateur bibi | ||
+ | |||
+ | |||
+ | Expressions | ||
+ | (and est implicite !) | ||
+ | find / -user fred -or -user george tous les fichiers appartenant à fred ou george | ||
+ | |||
+ | Commandes | ||
+ | find ./tmp/ -name ' | ||
+ | attention, | ||
+ | |||
+ | chkconfig | ||
+ | --------- | ||
+ | pour gérer les services (cf. man chkconfig) | ||
+ | |||
+ | # chkconfig --list |grep on Liste des services démarrés : | ||
+ | # chkconfig --add nom_service ajouter un service | ||
+ | # chkconfig --level | ||
+ | |||
+ | runlevel | ||
+ | -------- | ||
+ | pour afficher le runlevel actuel et le précédent | ||
+ | |||
+ | Liens | ||
+ | |||
+ | - symboliques (symlink) | ||
+ | ln -s nom_fichier_réel nom_fichier_lien | ||
+ | - hard link | ||
+ | ln nom_fichier_existant nouveau_nom_fichier | ||
+ | |||
+ | |||
+ | |||
+ | Prompt | ||
+ | |||
+ | cf. http:// | ||
+ | $ echo $PS1 | ||
+ | [\u@\h \W]\$ | ||
+ | |||
+ | Quelques séquences escape intéressantes : | ||
+ | \d the date in " | ||
+ | | ||
+ | \h the hostname up to the first `.' | ||
+ | \H the hostname | ||
+ | \j | ||
+ | shell | ||
+ | \l the basename of the shell' | ||
+ | name | ||
+ | \t the current time in 24-hour HH:MM:SS format | ||
+ | \T the current time in 12-hour HH:MM:SS format | ||
+ | |||
+ | \@ the current time in 12-hour am/pm format | ||
+ | \u the username of the current user | ||
+ | \w the current working directory | ||
+ | \W | ||
+ | tory | ||
+ | |||
+ | Path | ||
+ | |||
+ | echo $PATH | ||
+ | Le path est créé modifié dans de nombreux fichiers d' | ||
+ | etc/ | ||
+ | |||
+ | Pour le modifier : | ||
+ | PATH$PATH:/ | ||
+ | export PATH | ||
+ | |||
+ | Su et PATH | ||
+ | |||
+ | $ su | ||
+ | permet de passer sous root, mais avec le path de l' | ||
+ | $ su - | ||
+ | cf. le prompt : | ||
+ | [user@PC user]$ | ||
+ | [root@PC user]# | ||
+ | [root@PC root]# | ||
+ | |||
+ | Tuer un processus ou un ensemble de processus | ||
+ | |||
+ | # kill -9 n° ou nom du processus | ||
+ | # killall -9 nom du processus | ||
+ | Tuer une session X plantée (KDE, Gnome ou autre, ça arrive !!!) : < | ||
+ | |||
+ | ksysguard | ||
+ | |||
+ | Device or resource busy | ||
+ | |||
+ | ps ux | ||
+ | ps auf | ||
+ | lsof liste des fichiers ouverts | ||
+ | fuser pour identifer des processus qui utilisent des fichiers ou sockets | ||
+ | kill -9 $pid pour tuer le processus qui bloque (quand on le connaît) | ||
+ | |||
+ | Le plus pratique : | ||
+ | umount -fl / | ||
+ | |||
+ | Bash, Bashdb | ||
+ | |||
+ | |||
+ | Commandes internes au bash | ||
+ | -------------------------- | ||
+ | Aide en ligne : | ||
+ | $ help commande | ||
+ | Ou sur page wab : | ||
+ | http:// | ||
+ | |||
+ | Bashdb | ||
+ | -------- | ||
+ | Bashdb | ||
+ | Bashdb nécessite bash version 3 : récupérer les sources de bash et la doc sur http:// | ||
+ | |||
+ | Installations | ||
+ | ------------- | ||
+ | voir les fichier " | ||
+ | |||
+ | 1 - Commencer par patcher le source de bash comme indiqué dans le fichier " | ||
+ | se positionner dans le source de bash et : | ||
+ | patch -p1 < rep_source_de_bashdb/ | ||
+ | ./configure --enable-debugger | ||
+ | make | ||
+ | make install | ||
+ | |||
+ | NB : bash version 3 s' | ||
+ | Pour l' | ||
+ | ./configure --help (cf. --prefix/ | ||
+ | |||
+ | 2 - Puis installer le debuggueur : | ||
+ | ./configure --with-bash/ | ||
+ | (en effet il faut indiquer à configure où se trouve bash3 : il ne trouve que la version bash2 dans /bin !) | ||
+ | make râle car il ne trouve pas texi2html : l' | ||
+ | make check | ||
+ | make install | ||
+ | |||
+ | Scripts bash | ||
+ | |||
+ | Première ligne : | ||
+ | #! /bin/bash | ||
+ | |||
+ | Tutorials : | ||
+ | - Guide avancé d' | ||
+ | - Linux Script Programming | ||
+ | http:// | ||
+ | |||
+ | Exécuter un script sans avoir mis le droit x (et sans le faire précéder de ./) : | ||
+ | $ source nom_du_script | ||
+ | |||
+ | Sinon, mettre le droit x : | ||
+ | $ chmod u+x nom_du_script | ||
+ | puis l' | ||
+ | $ ./ | ||
+ | |||
+ | Utile | ||
+ | °°°°° | ||
+ | Expressions régulières | ||
+ | ---------------------- | ||
+ | http:// | ||
+ | |||
+ | Caractères spéciaux | ||
+ | ------------------- | ||
+ | cf. man echo : | ||
+ | |||
+ | \a BEL | ||
+ | \\ \ | ||
+ | \n newline (saut ligne) | ||
+ | \b backspace (retour arrière) | ||
+ | \c sans saut de ligne | ||
+ | \f form feed | ||
+ | \r CR | ||
+ | \t tabulation | ||
+ | \v tab vertical | ||
+ | |||
+ | Dans la commande echo, -e permet l' | ||
+ | $ echo -e " | ||
+ | abc | ||
+ | def | ||
+ | $ echo -e " | ||
+ | abdef | ||
+ | $ echo -e " | ||
+ | abc def | ||
+ | $ echo -e " | ||
+ | abc | ||
+ | def | ||
+ | $ echo -e " | ||
+ | fgcde | ||
+ | |||
+ | Entrer un caractère spécial dans une commande immédiate | ||
+ | Par exemple pour initialiser la variable tab avec un caractère de tabulation, taper: | ||
+ | tab" puis < | ||
+ | Vérifier que la variable tab contient bien le caractère spécial : | ||
+ | |||
+ | echo " | ||
+ | 0000000 | ||
+ | |||
+ | echo " | ||
+ | 1 2 | ||
+ | |||
+ | Envoyer le résultat d'un bloc de code dans un fichier | ||
+ | ----------------------------------------------------- | ||
+ | Mettre le bloc de code entre {} | ||
+ | { | ||
+ | echo "bloc de code" | ||
+ | } > trace | ||
+ | Le résultat des dans le fichier " | ||
+ | |||
+ | Débogage, "Trace on/ | ||
+ | -------------------------- | ||
+ | # bash -vx ./monscript | ||
+ | |||
+ | dans le script : | ||
+ | set -vx (active le débogage) | ||
+ | set +vx (désactive le débogage) | ||
+ | |||
+ | Option de débogage : | ||
+ | Nom Option Description | ||
+ | No Exec -n Lit les commandes mais ne les exécute pas | ||
+ | Verbose -v Affiche toutes les lignes au moment où elles sont lues par le shell | ||
+ | Trace -x Affiche les commandes et leurs arguments lorsqu' | ||
+ | |||
+ | set -x envoie les messages vers stderr (fichier standard n° 2) | ||
+ | set +x les supprime | ||
+ | Pour récupérer les messages de stderr dans un fichier : | ||
+ | ./monscript 2> / | ||
+ | ou bien | ||
+ | ./monscript 2&1 > / | ||
+ | |||
+ | Le fichier est lu ligne à ligne. | ||
+ | Les lignes lues ne sont pas précédées du signe +, celles qui sont exécutées sont précédées de + | ||
+ | |||
+ | Utilisation des codes ascii | ||
+ | --------------------------- | ||
+ | man ascii | ||
+ | Exemples : | ||
+ | |||
+ | En octal : | ||
+ | $ echo $' | ||
+ | U | ||
+ | |||
+ | En décimal | ||
+ | $ echo $' | ||
+ | U | ||
+ | |||
+ | en hexadécimal : | ||
+ | $ echo $' | ||
+ | U | ||
+ | |||
+ | Afficher le code ascii de chaîne, fichiers, etc. | ||
+ | ----------------------------------------------- | ||
+ | hexdump | ||
+ | od | ||
+ | |||
+ | IFS | ||
+ | --- | ||
+ | http:// | ||
+ | |||
+ | " | ||
+ | Par défaut contient 3 caractères : space, tab, et newline | ||
+ | Utilisé pour délimiter les mots dans les commandes telles que read et set | ||
+ | |||
+ | $ echo " | ||
+ | 0000000 | ||
+ | sp space | ||
+ | ht horizontal tab | ||
+ | nl newline | ||
+ | le dernier nl est généré par la commande echo, en effet : | ||
+ | echo | od -a | ||
+ | 0000000 | ||
+ | |||
+ | Pour que echo ne génère pas de " | ||
+ | $ echo -n " | ||
+ | 0000000 | ||
+ | |||
+ | Idem en octal : | ||
+ | $ echo -n " | ||
+ | 0000000 040 011 012 | ||
+ | |||
+ | Modifier IFS | ||
+ | ------------ | ||
+ | OLDIFS$IFS | ||
+ | IFS$' | ||
+ | |||
+ | Test du contenu : | ||
+ | echo " | ||
+ | 0000000 | ||
+ | |||
+ | Puis après utilisation remettre IFS à sa valeur initiale : | ||
+ | IFS$OLDIFS | ||
+ | unset OLDIFS | ||
+ | |||
+ | read | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | et redirections : | ||
+ | http:// | ||
+ | |||
+ | Attention ! | ||
+ | read ne retourne pas les caractères IFS (sp tab et nl, cf. ci-dessus) : | ||
+ | car" " | ||
+ | echo -n " | ||
+ | > 0000000 | ||
+ | mais : | ||
+ | read -n 1 car # On tape sur la barre espace | ||
+ | echo -n " | ||
+ | > 0000000 # Comme si on n' | ||
+ | |||
+ | Pour que read n' | ||
+ | |||
+ | Lire le contenu d'un fichier ligne à ligne | ||
+ | ------------------------------------------ | ||
+ | while read line | ||
+ | do | ||
+ | echo $line | ||
+ | done <fichier | ||
+ | |||
+ | Dans la boucle, stdin est redirigé vers le fichier, ce qui fait qu'une commande "read clavier" | ||
+ | (cf. redirections http:// | ||
+ | |||
+ | # duplique stdin dans le "file descriptor" | ||
+ | exec 6<&0 | ||
+ | |||
+ | while read line | ||
+ | do | ||
+ | echo -n "Taper sur une touche" | ||
+ | # lit sur le fd 6 | ||
+ | read -s -n 1 touche <& | ||
+ | echo | ||
+ | echo | ||
+ | echo " | ||
+ | echo " | ||
+ | echo | ||
+ | done <essai | ||
+ | |||
+ | # remet stdin comme avant la boucle et ferme le fd 6 | ||
+ | exec 0<&6 6<&- | ||
+ | |||
+ | "File descriptors" | ||
+ | ------------------ | ||
+ | Nombre de fd disponibles : | ||
+ | $ ulimit -n | ||
+ | 1024 | ||
+ | |||
+ | Fd ouverts : | ||
+ | ls /dev/fd | ||
+ | |||
+ | Boucles | ||
+ | ------- | ||
+ | Exemples | ||
+ | |||
+ | for I in 1 2 3 ; do echo $I; done | ||
+ | ou bien : | ||
+ | for ((I1; | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | |||
+ | Avec un fichier " | ||
+ | Le train sifflera trois fois | ||
+ | Merlin l' | ||
+ | |||
+ | $ j0 ; for i in `cat films` ; do echo $i ; ((j++)) ; done ; echo Il y a $j mots | ||
+ | Le | ||
+ | train | ||
+ | sifflera | ||
+ | trois | ||
+ | fois | ||
+ | Merlin | ||
+ | l' | ||
+ | Il y a 7 mots | ||
+ | |||
+ | Pour rompre le déroulement d'une boucle for, while ou until : | ||
+ | * continue [n] | ||
+ | revient au début de la boucle | ||
+ | n niveau de boucle | ||
+ | n 1 revient début de la boucle | ||
+ | n 2 revient au début de la boucle précédente | ||
+ | etc. | ||
+ | * break [n] | ||
+ | o sort d'une ou n boucles | ||
+ | o n niveau de boucle comme ci-dessus | ||
+ | * exit n | ||
+ | o fin du script avec un code de sortie (n) | ||
+ | |||
+ | ``, '' | ||
+ | ------------ | ||
+ | `` > sortie de la commade incluse dans `` | ||
+ | Exemples : affectation de variable | ||
+ | TOTO`ls *.txt` | ||
+ | echo $TOTO | ||
+ | 0t.txt | ||
+ | |||
+ | '' | ||
+ | > prend l' | ||
+ | TOTO' | ||
+ | echo $TOTO | ||
+ | ls 0t.txt | ||
+ | |||
+ | |||
+ | history | ||
+ | |||
+ | Recherche rapide : ctrl r chaine_à_chercher | ||
+ | |||
+ | history affiche la liste des 500 dernières commandes | ||
+ | history | grep chaine_à_chercher affiche les commandes contenant " | ||
+ | !20 Pour rappeler la commande n°20 | ||
+ | !p Pour rappeler la commande commençant par p (si plusieurs affiche toutes les commandes) | ||
+ | !tel " | ||
+ | !-2 rappelle l' | ||
+ | |||
+ | La liste des commandes semble être mémorisée dans le fichier .bash_history, | ||
+ | $ cat .bash_history | ||
+ | et | ||
+ | $ history | ||
+ | ne donnent pas le même résultat (sans doute une écriture différée des dernières commandes dans .bash_history) ! | ||
+ | |||
+ | Pour effacer (par mesure de sécurité) l' | ||
+ | $ history -c | ||
+ | et en plus supprimer le fichier .bash_history | ||
+ | |||
+ | Rappel de cammandes | ||
+ | ------------------- | ||
+ | !$ dernière commande | ||
+ | |||
+ | pushd, popd | ||
+ | ----------- | ||
+ | pour mémorise un chemin et y revenir. | ||
+ | Pour pushd, passer un répertoire en argument, sinon message d' | ||
+ | $ pushd | ||
+ | -bash: pushd: no other directory. | ||
+ | Pas d' | ||
+ | |||
+ | Pour mémoriser l' | ||
+ | $ pushd ./ (ou pushd .) | ||
+ | |||
+ | |||
+ | Disque plein | ||
+ | |||
+ | C'est souvent le cas du disque contenant la racine / | ||
+ | Peut provenir d'une poubelle pleine. Elle se trouve dans ~/ | ||
+ | Peut provenir des fichiers de log dans /var | ||
+ | |||
+ | Plusieurs solutions | ||
+ | |||
+ | 1 - Visualiser les répertoires les plus gros | ||
+ | du -h --max-depth1 / | ||
+ | Puis visualiser de proche en proche les répertoires les plus pleins | ||
+ | |||
+ | 2 -Lister les fichiers par ordre de taille croissante : | ||
+ | du -k | sort -nr | less # trier par taille (en KO) décroissante | ||
+ | du -B 1048576 | sort -nr | less # | ||
+ | |||
+ | 3 - Pour détecter les gros fichiers, taper par exemple (faire varier la taille) : | ||
+ | find / -mount -size +500000k -print (ici dans le répertoire /) | ||
+ | Puis supprimer les fichiers/ | ||
+ | rm -rf / | ||
+ | NB : rrécursif | ||
+ | | ||
+ | |||
+ | 4 - filelignt | ||
+ | -> affichage graphique de l' | ||
+ | |||
+ | Lister les fichiers supprimés qui sont encore ouverts par des processus en cours : | ||
+ | ls -ld / | ||
+ | |||
+ | Pour voir si c'est un problème de manque d' | ||
+ | df -i | ||
+ | |||
+ | Poubelle (trash) sur KDE | ||
+ | |||
+ | Si elle a été effacée par erreur, copier ~/ | ||
+ | Vérifier que le propriétaire et les droits sont corrects (rw pour le propiétaire est suffisant) | ||
+ | |||
+ | Correspondance n°IP <-> adresse | ||
+ | |||
+ | nslookup NomMachine-ou-n°IP | ||
+ | host NomMachine-ou-n°IP | ||
+ | ipcalc -h n°IP | ||
+ | |||
+ | Si nslookup, host, ipcalc ne retourne rien : whois n°IP | ||
+ | |||
+ | Infos sur le système | ||
+ | |||
+ | cat / | ||
+ | cat / | ||
+ | NB : Linux utilise toute la ram a sa disposition. | ||
+ | Il ne la libère que s'il en a besoin) | ||
+ | cat / | ||
+ | |||
+ | Sous KDE, voir également | ||
+ | K > KDE > Configuration > Information | ||
+ | |||
+ | |||
+ | Infos sur la carte écran et les drivers, test de rapidité de la carte écran | ||
+ | |||
+ | glxinfo | ||
+ | glxgears | ||
+ | xdpyinfo | ||
+ | |||
+ | Police de caractères | ||
+ | |||
+ | cf. http:// | ||
+ | |||
+ | ISO 8859-1 (latin 1) a tous les caractères Français sauf les « o e liés », l'euro et l'y tréma majuscule. Préférer ISO 8859-15 (latin 9). | ||
+ | |||
+ | Installation d'une distribution par le réseau | ||
+ | |||
+ | La doc est dans la racine de la distribution, | ||
+ | |||
+ | A noter avant de commencer l' | ||
+ | ------------------------------------------- | ||
+ | - la configuration du disque (pour éventuellement éviter d' | ||
+ | - L' | ||
+ | L' | ||
+ | L' | ||
+ | - Le nom du driver (xxx.o) de la carte réseau (sur une machine qui fonctionne déjà, voir mcc > Hardware > Hardware > EthernetCard) | ||
+ | - L' | ||
+ | - Le chemin vers le répertoire où se trouve la distribution sur ce serveur, par exemple : | ||
+ | / | ||
+ | |||
+ | Puis récupérer network.img et pour MDK10.0 network-drivers.img, | ||
+ | Booter sur la disquette network.img | ||
+ | |||
+ | Installation de MDK 10.1 | ||
+ | |||
+ | En mode expert, le choix du clavier a disparu !§" | ||
+ | Pour qu'il apparaisse, choisir autre chose que Language English (US) !!! | ||
+ | |||
+ | On peut sélectionner plusieurs langues : arrivé à " | ||
+ | |||
+ | Configuration des imprmantes : passer en mode expert !! | ||
+ | la configuration en mode normal met le souk ! | ||
+ | CUPS configuration : décocher : | ||
+ | - " | ||
+ | - "The printers on this machine are available to other computers" | ||
+ | |||
+ | " | ||
+ | |||
+ | wall | ||
+ | Voir également : mesg, write, ytalk | ||
+ | |||
+ | Compilation / installation de programmes | ||
+ | |||
+ | |||
+ | Savoir / vérifier (conserver une trace de) ce qui est installé | ||
+ | -------------------------------------------------------------- | ||
+ | Avant l' | ||
+ | # find /* > avant | ||
+ | Après l' | ||
+ | # find /* > apres | ||
+ | Comparer : | ||
+ | diff avant apres > modifs | ||
+ | |||
+ | Librairies : | ||
+ | ------------ | ||
+ | Mise à jour de tables de liens symboliques : ldconfig (cf. man ldconfig) | ||
+ | |||
+ | Noyau | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Infos : uname -a | ||
+ | |||
+ | Mise à jour | ||
+ | ----------- | ||
+ | # urpmi kernel | ||
+ | |||
+ | Compilation du noyau | ||
+ | -------------------- | ||
+ | Si ce n'est déjà fait, installer (K > Configuration > Packaging >Install software) : | ||
+ | - les outils de compilation : | ||
+ | Mandrake choices > Development > | ||
+ | - les sources du noyau | ||
+ | Find in names : kernel | ||
+ | kernel-source-xxxxmdk | ||
+ | |||
+ | Les sources s' | ||
+ | le lien usr/ | ||
+ | |||
+ | # cd / | ||
+ | # make xconfig | ||
+ | |||
+ | NB : | ||
+ | - sauvegarder la configuration dans un fichier. | ||
+ | Avec "Save and exit" la configuration est sauvegardée dans un fichier caché (!!!) .config, la configuration précédante est dans .config.old | ||
+ | Pour garder une trace d'une configuration, | ||
+ | - vérifier les messages d' | ||
+ | |||
+ | |||
+ | Puis : | ||
+ | # make dep | ||
+ | # make clean | ||
+ | # make bzImage | ||
+ | # make modules | ||
+ | |||
+ | Pour garder une trace de la compilation dans le fichier compil-kernel.txt : | ||
+ | script compil-kernel.txt | ||
+ | make bzImage | ||
+ | Ctrl-D | ||
+ | |||
+ | Pour compiler en une seule commande : | ||
+ | make dep clean bzImage modules modules_install | ||
+ | |||
+ | Installation des modules : | ||
+ | Attention : si on ne change de version de noyau il est généralement conseillé de faire une sauvegarde des modules actuels: | ||
+ | mv / | ||
+ | C'est probablement inutile car la commande make modules_install crée un répertoire différent de x.y.z-xxxmdk : x.y.z-xxxmdkcustom | ||
+ | |||
+ | # make modules_install | ||
+ | |||
+ | Installation du noyau | ||
+ | --------------------- | ||
+ | # make install | ||
+ | Cette commande : | ||
+ | - copie bzImage (qui se trouve dans / | ||
+ | dans /boot sous un nom différent du noyau actuel pour qu'il ne soit pas écrasé (i.e. vmlinuz-x.y.z-xxxmdkcustom). | ||
+ | - renomme vmlinuz en vmlinuz.old et crée un nouveau vmlinuz, lien qui pointe sur vmlinuz-x.y.z-xxxmdkcustom | ||
+ | - crée initrd-x.y.z-xxxmdkcustom.img et fait pointer initrg.img sur ce fichier | ||
+ | - crée config-x.y.z-xxxmdkcustom.img mais le lien config pointe toujours sur le fichier config-x.y.z-xxxmdk.img original | ||
+ | - crée un fichier System.map-x.y.z-xxxmdkcustom mais le lien System.map pointe toujours sur le fichier System.map-x.y.z-xxxmdk original | ||
+ | - Les fichiers message et message-graphic sont également mis à jour | ||
+ | - essaye de modifier Grub et le réinstalle, | ||
+ | |||
+ | Il vaut mieux modifier Grub à la main ; rajouter les lignes permettant de booter si nécessaire sur l' | ||
+ | |||
+ | # Chargement du nouveau noyau : rien à modifier | ||
+ | title linux custom (nouveau noyau) | ||
+ | kernel (hd1, | ||
+ | initrd (hd1, | ||
+ | |||
+ | # Chargement de l' | ||
+ | title linux original (ancien noyau) | ||
+ | kernel (hd1, | ||
+ | initrd (hd1, | ||
+ | |||
+ | Contrairement à Lilo, inutile de réinstaller grub. | ||
+ | |||
+ | Installation du noyau 2.6 en bref | ||
+ | |||
+ | > Télécharger la dernière version (actuellement linux-2.6.10.tar.bz2) sur www.kernel.org : choisir la version full (F). | ||
+ | > Décompresser : | ||
+ | $ tar -jxvf linux-2.6.10.tar.bz2 | ||
+ | |||
+ | > Lire la doc dans le dossier crée (linux-2.6.10/ | ||
+ | > Configurer le noyau à l'aide de l'une ou l' | ||
+ | make menuconfig ou make O/ | ||
+ | make xconfig " | ||
+ | make gconfig " | ||
+ | Avant toute modification sauvegarder la config par défaut dans (par exemple) .config.original : elle peut éventuellement resservir NB lorsqu' | ||
+ | Pour le choix des drivers à intégrer dans la config, voir : | ||
+ | la doc de la carte mère | ||
+ | lspci -v |less | ||
+ | ou encore ce qu' | ||
+ | |||
+ | |||
+ | Remarques : | ||
+ | - Dans Device Drivers / Character devices, cocher " | ||
+ | |||
+ | |||
+ | > Compiler, créer une image compressée du noyau (bzimage), installer les modules, etc. : | ||
+ | $ make ou make O/ | ||
+ | # make modules_install | ||
+ | # make install ou ou sudo make O/ | ||
+ | > Modifier Grub : | ||
+ | Editer / | ||
+ | |||
+ | Rajouter par exemple | ||
+ | # Nouveau noyau | ||
+ | title linux (noyau 2.6.10) | ||
+ | kernel (hd0, | ||
+ | initrd (hd0, | ||
+ | |||
+ | NB : rien à changer pour le noyau d' | ||
+ | # MDK 10.1 noyau 2.6.8.1-12mdk d' | ||
+ | title linux (MDK 10.1 d' | ||
+ | .... | ||
+ | En effet les liens vmlinuz et initrd.img pointent toujours sur les fichiers du noyau d' | ||
+ | Dans le cas où l'on essaye plusieurs noyaux, il est cependant prudent d' | ||
+ | |||
+ | Perl | ||
+ | |||
+ | http:// | ||
+ | |||
+ | Version et autres infos : perl -V | ||
+ | |||
+ | CPAN Comprehensive Perl Archive Network | ||
+ | |||
+ | Vérifier la présence de modules | ||
+ | ------------------------------- | ||
+ | perldoc Librairie:: | ||
+ | ou bien | ||
+ | |||
+ | Info sur un module | ||
+ | # perl -MCPAN -e shell | ||
+ | cpan> i Librairie:: | ||
+ | |||
+ | Installer un module | ||
+ | ------------------- | ||
+ | # perl -MCPAN -e ' | ||
+ | |||
+ | ou bien : | ||
+ | # perl -MCPAN -e shell | ||
+ | Puis au niveau du prompt cpan> : | ||
+ | cpan> install Librairie: | ||
+ | Pour quitter : < | ||
+ | |||
+ | Nb : A la première utilisation de CPAN un questionnaire de configuration s' | ||
+ | Pour vérifier les paramètres entrés et faire des modifications le mieux est peut-être d' | ||
+ | Voir en particulier les lignes : | ||
+ | ' | ||
+ | ' | ||
+ | |||
+ | Commandes avec mesure du temps | ||
+ | |||
+ | time | ||
+ | uptime | ||
+ | wait | ||
+ | w | ||
+ | top | ||
+ | |||
+ | Mesurer le temps d' | ||
+ | ------------------------------------------------------------------------------------------------ | ||
+ | time ma_commande ; echo -e \\a | ||
+ | |||
+ | Débloquer une console occupée par une commande (background, | ||
+ | |||
+ | Faire suivre la commande par & | ||
+ | ou bien : | ||
+ | < | ||
+ | bg la fait passer en arrière plan (background) | ||
+ | fg la refait passer en premier plan (foreground) | ||
+ | |||
+ | Exemple avec xclock : | ||
+ | --------------------- | ||
+ | $ xclock | ||
+ | < taper < | ||
+ | [1]+ Stopped | ||
+ | $ jobs | ||
+ | [1]+ Stopped | ||
+ | $ bg | ||
+ | [1]+ xclock & | ||
+ | $ jobs | ||
+ | [1]+ Running | ||
+ | $ fg | ||
+ | xclock | ||
+ | < taper < | ||
+ | [1]+ Stopped | ||
+ | $ jobs | ||
+ | [1]+ Stopped | ||
+ | $ kill %1 | ||
+ | |||
+ | [1]+ Stopped | ||
+ | |||
+ | Eviter de tuer une application à la fermeture de la console dans laquelle elle a été lancée | ||
+ | |||
+ | Exemple : | ||
+ | nohup konqueror & | ||
+ | |||
+ | Comparaison (ou synchronisation) de répertoires | ||
+ | |||
+ | diff | ||
+ | diff3 | ||
+ | kdiff3 | ||
+ | |||
+ | Comparaison de 2 fichiers ou contenus de 2 répertoires | ||
+ | |||
+ | diff fic1 fic2 | less | ||
+ | sdiff fic1 fic2 | less comparaison "side by side" | ||
+ | sdiff -s fic1 fic2 | less seules les différences sont affichées | ||
+ | |||
+ | Imprimantes | ||
+ | |||
+ | mcc est merdique, utiliser _SOUS ROOT_ : | ||
+ | System/ | ||
+ | |||
+ | En bas de page choisir dans la liste déroulante : | ||
+ | Print system currently used: CUPS (Common...) | ||
+ | Cliquer sur la première icône en haut à gauche (elle ouvre le fenêtre "Add printer wizard" | ||
+ | Pour une imprimante réseau (TCP) : Network printer (TCP) | ||
+ | Entrer l' | ||
+ | Choisir le modèle : pour une imprimante Postscript il y a une case à cocher en bas à gauche | ||
+ | sinon choisir le pilote d' | ||
+ | Dans la page < | ||
+ | Dans la page Users Access Settings, définir les utilisateurs autorisés | ||
+ | |||
+ | Réglage des marges de l' | ||
+ | ------------------------------------ | ||
+ | Dans l' | ||
+ | - sélectionner l' | ||
+ | - cliquer en bas à droite sur le bouton " | ||
+ | - choisir l' | ||
+ | Pour les imprimante tektronix Phaser la marge minimum est d' | ||
+ | Après avoir entré les valeurs de configuration, | ||
+ | |||
+ | Disques et partitions : commandes utiles | ||
+ | |||
+ | Liste les disques et partitions des disques | ||
+ | # fdisk -l | ||
+ | |||
+ | Visualisation des partitions montées : | ||
+ | $ mount (sans paramètre) | ||
+ | ou bien : | ||
+ | $ less /etc/mstab | ||
+ | |||
+ | Nommage des périphériques et partitions avec Linux et Grub | ||
+ | |||
+ | D' | ||
+ | |||
+ | Convention (idem linux et grub ): | ||
+ | hd -> périphériques IDE | ||
+ | sd -> périphériques SCSI et assimilés (SATA, etc.) | ||
+ | |||
+ | Numérotation linux IDE : | ||
+ | disque maître esclave | ||
+ | contrôleur primaire hda hdb | ||
+ | contrôleur secondaire hdc hdd | ||
+ | |||
+ | Numérotation linux SCSI | ||
+ | sda, sdb ... | ||
+ | a, b ... dans l' | ||
+ | |||
+ | Numérotation grub | ||
+ | Numérote les disques 0, 1, 2 etc. dans l' | ||
+ | Exemple : hd(0,2) : 0, n° du disque, 2 numéro de partition | ||
+ | |||
+ | Equivalence : | ||
+ | grub linux | ||
+ | hd(1, | ||
+ | |||
+ | Créer, modifier les partitions | ||
+ | |||
+ | fdisk | ||
+ | cfdisk | ||
+ | Partimage | ||
+ | LVM (http:// | ||
+ | |||
+ | Webmin | ||
+ | |||
+ | Après installation de webmin, ne pas oublier de le démarrer, sinon message : | ||
+ | "Could not connect to localhost (port 10000) | ||
+ | Démarrer par : | ||
+ | # service webmin start | ||
+ | Se connecter | ||
+ | https:// | ||
+ | Shorewall : il ne semble pas utile de modifier les autorisations. En cas de problème mettre dans le fichier " | ||
+ | ACCEPT loc fw tcp 10000 | ||
+ | |||
+ | |||
+ | Copie/ | ||
+ | |||
+ | |||
+ | Avec 2 disques identiques la commande dd permet d' | ||
+ | # dd if/dev/hda of/dev/hdc | ||
+ | |||
+ | Dans le cas où l'on veut remplacer un petit disque par un plus gros, avec éventuellement un changement de la taille et/ou du nombre de partitions, dd ne convient pas. | ||
+ | |||
+ | Après plusieurs essais (rsync, mirrordir, tar, cp), une solution toute simple au problème de " | ||
+ | |||
+ | 1 - copie des partitions et répertoires de hd0 vers hd1 à l'aide de la commande : | ||
+ | cp -a | ||
+ | 2 - modification du fichier de configuration /etc/fstab | ||
+ | 3 - modification du boot (grub ou lilo) | ||
+ | |||
+ | Ce qui donne avec un peu plus de détails : | ||
+ | |||
+ | 1 - copie des partitions et répertoires de hd0 vers hd1 à l'aide de la | ||
+ | commande cp -a | ||
+ | ---------------------------------------------------------------------------------------------------- | ||
+ | - Connecter le nouveau disque (hd1) | ||
+ | - Lancer Linux (MDK) | ||
+ | - Avec diskdrake ou au moyen des outils en ligne de commande (fdisk ou cfdisk, | ||
+ | mkfs) créer sur hd1 les partitions désirées et les formater | ||
+ | - Redémarrer l' | ||
+ | tomsrtbt (http:// | ||
+ | doit convenir, par exemple Knoppix (http:// | ||
+ | encore le CD n°1 d' | ||
+ | commande cp | ||
+ | - Avec la commande cp -a, copier les partitions et répertoires de hd0 vers | ||
+ | leur emplacement prévu sur hd1 | ||
+ | |||
+ | Questions : | ||
+ | * Pourquoi utiliser un Linux sur disquette ou CD ? | ||
+ | C'est pour obtenir une copie de ce qui est réellement sur disque et non pas de | ||
+ | ce que Linux y met ou veut bien laisser copier lorsqu' | ||
+ | exemple /proc contient une série de fichiers qui n' | ||
+ | n'y a rien sur le disque : /proc n'est qu'un point de montage pour l' | ||
+ | une partie de la RAM. | ||
+ | * Pourquoi utiliser cp plutôt que mirrordir ou rsync plus pratiques ? | ||
+ | C'est parce que cp se trouve dans toutes distributions Linux ce qui n'est pas | ||
+ | le cas des autres commandes (pas de rsync, mirrordir ... dans tomsrtbt). | ||
+ | |||
+ | 2 - modification du fichier de configuration /etc/fstab | ||
+ | --------------------------------------------------------------------------- | ||
+ | - Rebooter sous MDK (ce n'est pas indispensable, | ||
+ | conviviale que celle d'un Linux sur disquette) | ||
+ | - Mettre à jour le fichier /etc/fstab sur hd1 | ||
+ | |||
+ | 3 - modification du boot (grub ou lilo) | ||
+ | ----------------------------------------------------- | ||
+ | - Mettre à jour le fichier de configuration du programme de boot sur hd0 | ||
+ | (et/ou sur hd1 si par la suite on veut démarrer directement à partir de hd1) | ||
+ | Dans le cas de GRUB, le fichier à modifier est / | ||
+ | Dans le cas de LILO (à vérifier : non testé) modifier / | ||
+ | "/ | ||
+ | d'une part le disque sur lequel installer le boot et d' | ||
+ | de configuration que l'on vient de modifier. | ||
+ | |||
+ | C'est tout. Au redémarrage le menu de grub ou de lilo apparaît et permet de | ||
+ | booter le système copié sur hd1. | ||
+ | |||
+ | Avec tous les détails, une réalisation concrète qui a parfaitement fonctionné : | ||
+ | |||
+ | J'ai un PC qui tourne sur MDK9.1. J' | ||
+ | disque dur d' | ||
+ | - hda1 / | ||
+ | - hda2 swap | ||
+ | - hda3 home | ||
+ | Il devient trop petit (3 Go). J'ai récupéré un disque de 20 Go. Après montage | ||
+ | dans le PC, ce 2° disque est vu comme hdc. | ||
+ | Je désire partitionner le 2° disque dur (hd1) en : | ||
+ | - hdc1 / | ||
+ | - hdc2 swap | ||
+ | - hdc3 usr | ||
+ | - hdc5 var | ||
+ | - hdc6 home | ||
+ | |||
+ | 1 - Avec diskdrake, partitionner le nouveau disque (hd1) et formater les | ||
+ | partitions | ||
+ | 2 - Redémarrer Linux à partir d'une disquette tomsrtbt. Se " | ||
+ | avec le mot de passe par défaut " | ||
+ | 3 - Créer les points de montage pour pouvoir monter le disque source et le disque destination | ||
+ | # cd /mnt | ||
+ | # mkdir source | ||
+ | # mkdir dest | ||
+ | # cd / | ||
+ | |||
+ | 4 - Monter les disques source | ||
+ | répertoire racine | ||
+ | # mount /dev/hda1 /mnt/source | ||
+ | # mount /dev/hdc1 /mnt/dest | ||
+ | # cp -a / | ||
+ | # umount /mnt/dest | ||
+ | |||
+ | 5 - La même chose pour /usr | ||
+ | # mount /dev/hdc3 /mnt/dest | ||
+ | # cp -a / | ||
+ | # umount /mnt/dest | ||
+ | |||
+ | 6 - La même chose pour /var | ||
+ | # mount /dev/hdc5 /mnt/dest | ||
+ | # cp -a / | ||
+ | # umount /mnt/dest | ||
+ | |||
+ | 7 - La même chose pour /home | ||
+ | # umount /mnt/source | ||
+ | # mount /dev/hda3 /mnt/source | ||
+ | # mount /dev/hdc6 /mnt/dest | ||
+ | # cp -a / | ||
+ | # umount /mnt/dest | ||
+ | # umount /mnt/source | ||
+ | # reboot | ||
+ | Sortir la disquette tomsrtbt | ||
+ | |||
+ | 7 - Redémarrer sous MDK | ||
+ | |||
+ | 8 - Supprimer de hdc1 non pas les répertoires /usr, /var et /home mais leur | ||
+ | CONTENU qui est maintenant sur les partitions respectivement hdc3, hdc5 et | ||
+ | hdc6 | ||
+ | # mount /dev/hdc1 /mnt/dest | ||
+ | puis sous konqueror supprimer le CONTENU de /usr, /var et /home | ||
+ | (NB : la commande | ||
+ | # rm -rf nom_repertoire/ | ||
+ | efface bien le contenu du répertoire nom_repertoire, | ||
+ | cachés !) | ||
+ | |||
+ | 9 - Mettre à jour le fichier /etc/fstab du nouveau disque | ||
+ | Remplacer : | ||
+ | /dev/hda1 / ext3 defaults 1 1 | ||
+ | /dev/hda2 swap swap defaults 0 0 | ||
+ | /dev/hda3 /home ext3 defaults 1 2 | ||
+ | par : | ||
+ | /dev/hdc1 / ext3 defaults 1 1 | ||
+ | /dev/hdc2 swap swap defaults 0 0 | ||
+ | /dev/hdc3 /usr ext3 defaults 1 2 | ||
+ | /dev/hdc5 /var ext3 defaults 1 2 | ||
+ | /dev/hdc6 /home ext3 defaults 1 2 | ||
+ | |||
+ | 10 - Mettre à jour le menu de boot de grub (/ | ||
+ | pour faire apparaître l' | ||
+ | hd1 | ||
+ | |||
+ | NB : pour le moment hd0 est toujours en place. On peut donc utiliser son "boot | ||
+ | device" | ||
+ | # mount /dev/hda1 /mnt/source | ||
+ | # kwrite / | ||
+ | |||
+ | et de le modifier : j'ai rajouté, juste en dessous de " | ||
+ | PC démarre par défaut sur MDK qui est sur hd1) : | ||
+ | |||
+ | title linux dd 20 Go | ||
+ | kernel (hd1, | ||
+ | initrd (hd1, | ||
+ | |||
+ | Noter vga791 : ce n'est pas indispensable, | ||
+ | les messages (d' | ||
+ | |||
+ | 11 - Rebooter, c'est fini et la nouvelle copie de MDK fonctionne comme l' | ||
+ | |||
+ | NB : les commandes rsync et mirrordir (au contraire de cp) ont une option " | ||
+ | copier les répertoires inutiles avec la commande cp (ça prend du temps et il | ||
+ | faut ensuite les effacer, voir points 4 et 8 ci-dessus). Les utiliser si elles sont dispoonibles sur la disquette ou le CD utilisé. | ||
+ | |||
+ | Icônes KDE | ||
+ | |||
+ | Remplacer les infâmes icônes " | ||
+ | --------------------------------------------------------------------------------------------- | ||
+ | K> System > Configuration > KDE > LookNfeel > Icons | ||
+ | Si KDE classic apparaît dans la liste, sélectionner et cliquer sur <OK> | ||
+ | Si KDE classic est absent, K > Configuration > Packaging > Install Software | ||
+ | Faire une recherche sur le mot " | ||
+ | Dans la liste qui apparaît, sélectionner et installer kdeartwork-kde-classicxxxx.mdk | ||
+ | Fermer et rouvrir le "KDE control module" | ||
+ | Sous root, il faut sans doute aussi redémarrer KDE pour que les icônes classiques soient affichées. | ||
+ | |||
+ | Outils pratiques ou indispensables | ||
+ | |||
+ | |||
+ | sleuthkit http:// | ||
+ | --------------------------------------------------- | ||
+ | pour récupérer des fichiers effacés, analyser une machine piratée, etc.. | ||
+ | |||
+ | |||
+ | Sécurité | ||
+ | |||
+ | |||
+ | Gestion des ACL | ||
+ | --------------- | ||
+ | http:// | ||
+ | |||
+ | setfacl | ||
+ | getfacl | ||
+ | gtk-acl | ||
+ | |||
+ | Commandes simples | ||
+ | ----------------- | ||
+ | w utilisateurs " | ||
+ | rwho -a ? à revoir, ne semble pas fonctionner | ||
+ | finger nom_utilisateur Infos concernant un utilisateur | ||
+ | last |less Liste des derniers utilisateurs " | ||
+ | |||
+ | msec | ||
+ | ---- | ||
+ | http:// | ||
+ | man msec | ||
+ | |||
+ | draksec | ||
+ | ------- | ||
+ | Outil de configuration en mode graphique | ||
+ | Accessible ausi via " | ||
+ | |||
+ | drakperm | ||
+ | -------- | ||
+ | Pour connaître le niveau (msec) de sécurité actuel | ||
+ | Pour voir et fixer les permissions | ||
+ | |||
+ | Changer de niveau de sécurité : | ||
+ | ----------------------------- | ||
+ | Sous root, pour passer au niveau 4, par exemple : | ||
+ | msec 4 | ||
+ | |||
+ | Configuration : voir le fichier | ||
+ | ------------------------------- | ||
+ | / | ||
+ | |||
+ | Outils divers | ||
+ | -------------- | ||
+ | nmap | ||
+ | hping | ||
+ | tcpdump | ||
+ | |||
+ | nmap | ||
+ | |||
+ | Détecter les PCs on-line : | ||
+ | # nmap -sP 192.178.0.* | ||
+ | |||
+ | |||
+ | Tests pour savoir si un serveur n'est pas compromis par un rootkit | ||
+ | ------------------------------------------------------------------ | ||
+ | cf. A la recherche de Rootkits | ||
+ | http:// | ||
+ | |||
+ | Installer chkrootkit | ||
+ | cd / | ||
+ | ./ | ||
+ | ./ | ||
+ | cd / | ||
+ | chkrootkit vérification complète du système | ||
+ | |||
+ | Scan des ports d'une machine | ||
+ | °°°°°°°°°°°°°°°°°°°°°°°°°°°° | ||
+ | Lister les ports ouverts | ||
+ | |||
+ | nmap | ||
+ | ---- | ||
+ | Exemple : | ||
+ | nmap localhost | ||
+ | |||
+ | Attention : | ||
+ | 1 - Par défaut nmap ne scanne que les ports 1 à 10024 | ||
+ | Pour scanner tous les ports possibles : | ||
+ | nmap -p 1-65535 localhost | ||
+ | nmap -sU -p 1-65535 localhost | ||
+ | |||
+ | 2 - nmap localhost ne montre que les ports ouverts sur l' | ||
+ | |||
+ | netstat | ||
+ | ------- | ||
+ | netstat -vtlnp | ||
+ | -v verbose | ||
+ | -l (--listening) affiche uniquement les sockets en écoute | ||
+ | -n (--numeric) addresse du socket en numérique (sinon affichage du nom canonique) | ||
+ | -p (--program) affiche le PID et le nom du programme associé au socket | ||
+ | |||
+ | netstat -taup | ||
+ | -a (--all) affiche tous les sockets (en écoute ou non) | ||
+ | -t --tcp | ||
+ | -u --udp | ||
+ | |||
+ | lsof | ||
+ | ---- | ||
+ | lsof -i | ||
+ | liste les connexions internet ouvertes. | ||
+ | lsof -i :80 | ||
+ | liste les connexions internet ouvertes sur le port 80 | ||
+ | |||
+ | On peux ainsi vérifier quels ports sont ouverts et voir si certains ports n'ont pas derrière eux un programme suspect. | ||
+ | |||
+ | COMMAND | ||
+ | httpd2 | ||
+ | httpd2 | ||
+ | Dans ce cas par exemple le programme httpd2 avec comme user apache ecoute en TCP sur le port 80 (http) et 443 (https), ce qui est normal | ||
+ | |||
+ | lsof -i permet de détecter des processus suspects éventuellement attachés à des ports connus (80 par exemple). | ||
+ | Pour les arrêter : | ||
+ | - soit chkconfig < | ||
+ | mcc -> System -> Services permet de faire la même chose. | ||
+ | - soit trouver la commande | ||
+ | ps aux |grep < | ||
+ | et tuer le processu correspondant kill -9 <PID> | ||
+ | mais il repartira au prochain démarrage. | ||
+ | |||
+ | Contrôle des ports à partir de l' | ||
+ | ------------------------------------------- | ||
+ | Sites proposant des contrôles : | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Netfilter / Iptables | ||
+ | -------------------- | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | which iptables Pour voir si la commande iptables est présente | ||
+ | lsmod | grep iptable pour voir si le module est installé. | ||
+ | iptables -L -v affiche les règles de fitrages. | ||
+ | iptables -F pour supprimer toutes les règles (F flush) | ||
+ | |||
+ | tail -f netfilter.log |grep 1.25 affiche ce qui concerne la machine x.x.1.25 | ||
+ | | ||
+ | iptables -L FORWARD -vn |grep 80 ce qui concerne le port 80 (http, affichage numérique) | ||
+ | iptables -L FORWARD -v |grep 80 ce qui concerne le port 80 (http, affichage en clair) | ||
+ | |||
+ | Shorewall | ||
+ | |||
+ | Tout est très bien expliqué sur le site http:// | ||
+ | NB : les actions prédéfinies sont dans / | ||
+ | |||
+ | Installation : | ||
+ | -------------- | ||
+ | - Récupérer la dernière version de shorewall sur le site http:// | ||
+ | - Installer : | ||
+ | # rpm -ivh shorewall.... | ||
+ | Shorewall a besoin du package iproute. En cas de message d' | ||
+ | # which ip | ||
+ | /sbin/ip | ||
+ | Puis relancer l' | ||
+ | # rpm -ivh --nodeps shorewall.... | ||
+ | |||
+ | Les 2 fichiers à renseigner obligatoirement pour que ça fonctionne : | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Dans / | ||
+ | net | ||
+ | dans le cas d'une connexion par modem, rajouter : | ||
+ | net | ||
+ | |||
+ | Dans / | ||
+ | ACCEPT net fw icmp 8 | ||
+ | ACCEPT fw net icmp | ||
+ | ACCEPT net fw tcp http | ||
+ | |||
+ | Rajouter éventuellement : | ||
+ | AllowSSH net fw | ||
+ | et pour un serveur : | ||
+ | AllowFTP net fw | ||
+ | AllowSMB net fw | ||
+ | AllowSMB fw net | ||
+ | AllowSMTP net fw | ||
+ | AllowIMAP net fw | ||
+ | |||
+ | Attention, pour que ça fonctionne, le fichier policy doit contenir : | ||
+ | fw net ACCEPT | ||
+ | net all DROP info | ||
+ | all all REJECT info | ||
+ | |||
+ | et non pas comme installé par défaut par les rpm MDK : | ||
+ | loc net ACCEPT | ||
+ | net all DROP info | ||
+ | all all REJECT info | ||
+ | |||
+ | (!!! explication ??) | ||
+ | |||
+ | A partir de Shorewall 2.2.0, le fichier / | ||
+ | Définir les zones à utiliser, par exemple (cf. http:// | ||
+ | net | ||
+ | loc | ||
+ | dmz | ||
+ | |||
+ | Puis démarrer le firewall par : | ||
+ | # shorewall start | ||
+ | (ou redémarrer par shorewall restart) | ||
+ | Vérifier que les règles sont bien installées : iptables -L | ||
+ | |||
+ | Principal fichier à configurer pour autoriser différents services (http, ftp, imap, etc.) à fonctionner : | ||
+ | / | ||
+ | Si les services ne sont pas prédéfinis dans / | ||
+ | |||
+ | Commandes intéressantes : | ||
+ | ------------------------- | ||
+ | shorewall version par de -- ! | ||
+ | shorewall stop | ||
+ | shorewall clear | ||
+ | shorewall start | ||
+ | shorewall restart | ||
+ | |||
+ | Pour voir l' | ||
+ | ----------------------------------------- | ||
+ | La dernière ligne générée par shorewall start se termine par " | ||
+ | Il est donc indispensable de vérifier à postériori si shorewall a bien démarré en affichant les règles de filtrage : | ||
+ | # iptables -L -v | ||
+ | Il serait bon de générer un message clair (pop-p et son) pour avertir de la non-installation des règles de filtrage (à voir, ça existe peut-être déjà) | ||
+ | |||
+ | |||
+ | Anti-virus | ||
+ | ---------- | ||
+ | Clamav/ | ||
+ | |||
+ | Cryptographie, | ||
+ | |||
+ | http:// | ||
+ | |||
+ | Mountloop et son interface drakloop | ||
+ | ----------------------------------- | ||
+ | http:// | ||
+ | / | ||
+ | |||
+ | La configuration de drakloop est stockée dans ~/ | ||
+ | NB : par contre le nom du fichier crypté " | ||
+ | dans drakloop (voir le code source perl) : si on modifie ce nom, drakloop ne fonctionne plus. Idem pour les possibilités de cryptage : seul aes est proposé. Il est tout a fait possible de nommer autrement le fichier crypté et d' | ||
+ | > dans ce cas, utiliser mountloop en ligne de commande | ||
+ | |||
+ | Montage à la main | ||
+ | ----------------- | ||
+ | $ mountloop <enc> < | ||
+ | par exemple : | ||
+ | $ mountloop aes256 Dossier_crypte/ | ||
+ | |||
+ | Menu contextuel pour monter ou démonter un fichier crypté | ||
+ | -------------------------------------------------------------------- | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | www.oreilly.com/ | ||
+ | http:// | ||
+ | |||
+ | Ajouter dans | ||
+ | ~/ | ||
+ | ou dans | ||
+ | / | ||
+ | les fichiers .desktop suivants : | ||
+ | |||
+ | - Pour monter le fichier crypté | ||
+ | ```````````````````````````````` | ||
+ | OpenCryptFile.desktop | ||
+ | |||
+ | [Desktop Entry] | ||
+ | ActionsOpenCryptFile | ||
+ | ServiceTypesall/ | ||
+ | |||
+ | [Desktop Action OpenCryptFile] | ||
+ | NameOpen encrypted file | ||
+ | Exec/ | ||
+ | Icon/ | ||
+ | |||
+ | - Pour démonter le système de fichier crypté (ou tout autre système monté) | ||
+ | ````````````````````````````````````````````````````````````````````````` | ||
+ | UmountFS.desktop | ||
+ | |||
+ | [Desktop Entry] | ||
+ | ActionsUmountFS | ||
+ | ServiceTypesinode/ | ||
+ | |||
+ | [Desktop Action UmountFS] | ||
+ | NameUnmount File System | ||
+ | Execkdesu "/ | ||
+ | Iconencrypted | ||
+ | |||
+ | Pour activer ces actions, clic droit sur le fichier ou le dossier, puis sous-menu " | ||
+ | |||
+ | Autre possibilité : associer le fichier encfile au programme drakloop | ||
+ | --------------------------------------------------------------------- | ||
+ | (K> System > Configuration > KDE > Components > File Associations | ||
+ | encfile -> / | ||
+ | > un double clic sur le fichier lance drakloop | ||
+ | NB : le fichier .desktop créé se trouve dans ~/ | ||
+ | |||
+ | Serveur de log syslog-ng | ||
+ | |||
+ | Voir doc et FAQ très bien faites sur : | ||
+ | http:// | ||
+ | |||
+ | Installation | ||
+ | ------------ | ||
+ | Installer à partir des rpm (actuellement syslog-ng-1.4.17-5mdk) ou récupérer les sources sur http:// | ||
+ | - syslog-ng-1.6.6.tar.gz | ||
+ | - libol-0.3.15+20050407.tar.gz | ||
+ | Décompresser : | ||
+ | $ tar zxvf nom_fichier | ||
+ | Compiler d' | ||
+ | # cd nom_répertoire | ||
+ | # ./configure | ||
+ | # make | ||
+ | # make install | ||
+ | |||
+ | Fichiers syslog-ng installés : | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Créer le répertoire / | ||
+ | Y copier le fichier de configuration autodocumenté que l'on trouve dans les sources | ||
+ | / | ||
+ | et le renommer en syslog-ng.conf | ||
+ | |||
+ | Copier le script de démarrage init.d.RedHat-7.3 que l'on trouve dans les sources, répertoire contrib/, et le renommer en syslog-ng et lui donner les droits rwxr--r-- : | ||
+ | # chmod 744 syslog-ng | ||
+ | |||
+ | |||
+ | Commandes de base | ||
+ | ----------------- | ||
+ | syslog-ng --help | ||
+ | syslog-ng -V -> version | ||
+ | |||
+ | |||
+ | |||
+ | Classer les fichiers de log | ||
+ | --------------------------- | ||
+ | http:// | ||
+ | Pour classer les fichiers de log dans des répertoires type AAAA/MM/JJ | ||
+ | ou encore HOSTS/ | ||
+ | utiliser les variables $HOSTS $YEAR ... | ||
+ | Exemple pour auth.log : | ||
+ | destination authlog {file("/ | ||
+ | |||
+ | |||
+ | Lancement automatique de processus | ||
+ | |||
+ | at, cron, kcron, drakcronat | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | at | ||
+ | -- | ||
+ | Exemple : | ||
+ | |||
+ | # at 12:15 | ||
+ | warning: commands will be executed using (in order) a) $SHELL b) utilisateur shell c) /bin/sh | ||
+ | at> echo coucou | ||
+ | at> df | ||
+ | at> <EOT> | ||
+ | job 1 at 2003-09-04 12:15 | ||
+ | |||
+ | NB : EOT obtenu en tapant < | ||
+ | A 12 H 15 un message est envoyé à l' | ||
+ | |||
+ | atq : liste des jobs en attente | ||
+ | |||
+ | cron | ||
+ | ---- | ||
+ | Voir le man, pour une fois presque clair (il y a des exemples) ! | ||
+ | http:// | ||
+ | |||
+ | Les tâches à exécuter sont stockées dans des fichiers texte ayant le nom de l' | ||
+ | / | ||
+ | A voir également : les répertoires / | ||
+ | |||
+ | ---- Pour programmer une tâche à répéter plusieurs fois : | ||
+ | Exemple : mise à l' | ||
+ | Ouvrir le fichier avec la commande crontab -e (ça ouvre le fichier de l' | ||
+ | 0 3 * * * / | ||
+ | Fermer : un message de mise à jour de la table s' | ||
+ | |||
+ | Les champs de gauche à droite : | ||
+ | minute (0-59) / heure (0-23) / jour (1-31) / mois (1-12 ou les 3 premières lettres du mois) / jour de la semaine (0-7) ou les 3 premières lettres du jour. | ||
+ | |||
+ | Listes permises, par exemple : | ||
+ | 1, | ||
+ | 1-5 idem | ||
+ | 0-4, | ||
+ | |||
+ | NB : | ||
+ | - Pour le jour de la semaine 07sun | ||
+ | - Bien indiquer le " | ||
+ | |||
+ | Les choses qu'il semble utile de mettre dans la crontab : | ||
+ | - mise à jour de l' | ||
+ | - mise à jour de la base slocate (updatedb) | ||
+ | - mise à jour des sources urpmi (urpmi.update --all, urpmi.update -a sous MDK10) | ||
+ | - mise à jour automatique du système (urpmi --auto-select) | ||
+ | |||
+ | ----- Pour changer l' | ||
+ | EDITOR (ou VISUAL) : | ||
+ | $ export EDITORnom_de_l' | ||
+ | |||
+ | |||
+ | Gestion des tâches | ||
+ | |||
+ | ps | ||
+ | |||
+ | Lister les " | ||
+ | |||
+ | top | ||
+ | Sous KDE : < | ||
+ | |||
+ | Impression | ||
+ | |||
+ | Liste des impressions en cours : | ||
+ | ------------------------------- | ||
+ | $ lpq | ||
+ | |||
+ | Supprimer une impression : | ||
+ | ------------------------ | ||
+ | $ lprm n°_de_job | ||
+ | |||
+ | Lancer une impression à partir de la ligne de commande : | ||
+ | -------------------------------------------------------- | ||
+ | $ lpr nom_du_fichier | ||
+ | |||
+ | Association (KDE) | ||
+ | |||
+ | K> System > Configuration > KDE > Components > File Associations | ||
+ | Les associations sont mémorisées dans : | ||
+ | |||
+ | Utilisation de la memoire (cache, swap) | ||
+ | |||
+ | free | ||
+ | |||
+ | Permissions | ||
+ | |||
+ | |||
+ | Droits | ||
+ | ------ | ||
+ | |||
+ | --- 0 No rights at all | ||
+ | --x 1 Execute only | ||
+ | r-- 4 Read only | ||
+ | r-x 5 Read and Execute | ||
+ | rw- 6 Read and Write | ||
+ | rwx 7 Read, Write, and Execute. | ||
+ | |||
+ | Exemples : | ||
+ | `````````` | ||
+ | # chmod 644 file.txt | ||
+ | ou bien : | ||
+ | # chmod u+rw-x, | ||
+ | # ls -l file.txt | ||
+ | -rw-r--r-- | ||
+ | |||
+ | Ne changer les droits que sur les répertoires ou les fichiers, exemples : | ||
+ | ````````````````````````````````````````````````````````````````````````` | ||
+ | find -type d -print0 |xargs -0 chmod 755 | ||
+ | ou bien | ||
+ | find . -type d -exec chmod 755 {} ";" | ||
+ | find -type f -print0 |xargs -0 chmod 644 | ||
+ | |||
+ | Utilisateur propriétaire du fichier | ||
+ | ----------- | ||
+ | chown [-R] nom_du_propriétaire: | ||
+ | -R récursif | ||
+ | |||
+ | chown root toto.txt | ||
+ | chown root:root toto.txt iti.sh | ||
+ | find / | ||
+ | trouve à partir du répertoire / | ||
+ | pour le remplacer par l' | ||
+ | |||
+ | Disques durs | ||
+ | |||
+ | Bios : | ||
+ | Cas d'un disque dur IDE seul sur sa nappe : | ||
+ | s'il est reconnu avec le cavalier sur CS, mais pas sur MA, essayer sans cavalier (cas des disques WD) | ||
+ | |||
+ | Test performances | ||
+ | ----------------- | ||
+ | hdparm -t /dev/drive | ||
+ | bonnie | ||
+ | |||
+ | Compression / décompression | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Compresser un fichier : | ||
+ | ----------------------- | ||
+ | gzip NomFichier.ext -> | ||
+ | Autre possibilité : bzip2 | ||
+ | |||
+ | Décompresser | ||
+ | ------------ | ||
+ | gunzip filename.ext.gz. | ||
+ | NB : le fichier compressé est supprimé : il est remplacé par le décompressé | ||
+ | |||
+ | Compresser plusieurs fichiers en une seule archive | ||
+ | -------------------------------------------------- | ||
+ | Archiver 2 fichiers dans un seul | ||
+ | tar cvf NomArchive.tar NomFichier1.ext NomFichier2.ext | ||
+ | |||
+ | Désarchiver ces fichiers | ||
+ | tar xvf NomArchive.tar | ||
+ | |||
+ | Pour en même temps archiver et compresser | ||
+ | tar cvfz NomArchive.tgz NomFichier1.ext NomFichier2.ext | ||
+ | Options : | ||
+ | c créer l' | ||
+ | v verbose | ||
+ | f dans un fichier archive | ||
+ | z compresser | ||
+ | |||
+ | Voir le contenu | ||
+ | tar tfz NomArchive.tgz | ||
+ | Option : | ||
+ | t " | ||
+ | |||
+ | Décompresser : | ||
+ | tar -xvfz NomArchive.tgz | ||
+ | x extrait les fichiers. | ||
+ | |||
+ | Fichiers .tar.Z | ||
+ | gunzip toto.tar.Z -> | ||
+ | tar xvf toto.tar -> | ||
+ | |||
+ | Fichiers .tar.gz : | ||
+ | tar -zxvf toto.tar.gz | ||
+ | (ou bien en 2 temps : | ||
+ | gunzip toto.tar.gz | ||
+ | tar -xvf toto.tar) | ||
+ | |||
+ | Fichiers bz2 | ||
+ | ------------ | ||
+ | En 2 temps : | ||
+ | bunzip2 NomFichier.bz2 -> | ||
+ | tar xvf NomFichier.tar | ||
+ | En 1 temps : | ||
+ | tar jxvf NomFichier.bz2 | ||
+ | |||
+ | Fichier zip | ||
+ | ----------- | ||
+ | Décompresser : | ||
+ | unzip fichier.zip | ||
+ | |||
+ | |||
+ | Copier, archiver, mettre à jour un disque, une partition, un répertoire | ||
+ | |||
+ | |||
+ | Avec cp | ||
+ | ------- | ||
+ | cp -a source destination | ||
+ | |||
+ | Avec dd | ||
+ | ------- | ||
+ | Copie de disque à disque (disques identiques, semble poser des problèmes si disques différents) | ||
+ | dd if/dev/hda of/dev/hdc | ||
+ | |||
+ | NB : la taille de block par défaut est très faible, d'où des temps de copie élevés : entrer une taille de | ||
+ | bloc élevée, par exemple : | ||
+ | dd if/dev/hda of/dev/hdc bs256k | ||
+ | |||
+ | Avec rsync | ||
+ | ---------- | ||
+ | cf.http:// | ||
+ | |||
+ | Créer un fichier d' | ||
+ | |||
+ | dir_exclus.lst : | ||
+ | ................... | ||
+ | /proc | ||
+ | /tmp | ||
+ | /mnt | ||
+ | /home | ||
+ | ................... | ||
+ | |||
+ | NB : il est important d' | ||
+ | |||
+ | # rsync -ravH --exclude-fromdir_exclus.lst / /mnt/copie | ||
+ | |||
+ | Avec mirrordir | ||
+ | -------------- | ||
+ | # mirrordir --exclude-from / | ||
+ | |||
+ | Programmation de tâches (cron) | ||
+ | |||
+ | kcron | ||
+ | / | ||
+ | |||
+ | MBR écrasé -> partitions disque perdues : comment les récupérer | ||
+ | |||
+ | Le mbr contient plusieurs informations essentielles pour le fontionnement de l' | ||
+ | Extrait du "Linux System Administrator' | ||
+ | The MBR, boot sectors and partition table | ||
+ | |||
+ | The information about how a hard disk has been partitioned is stored in its first sector (that is, the first sector of the first track on the first disk surface). The first sector is the master boot record (MBR) of the disk; this is the sector that the BIOS reads in and starts when the machine is first booted. The master boot record contains a small program that reads the partition table, checks which partition is active (that is, marked bootable), and reads the first sector of that partition, the partition' | ||
+ | |||
+ | Outils de récupération de la table de partition : | ||
+ | ----------------------------------------------- | ||
+ | gpart http:// | ||
+ | fixdisktable http:// | ||
+ | testdisk http:// | ||
+ | Testdisk semble le meilleur | ||
+ | |||
+ | |||
+ | Liens intéressants : | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | MBR écrasé : affectation lettre <-> partition perdue sous W2000 | ||
+ | |||
+ | Dans les OS Microsoft les partitions sont désignées par une lettre. | ||
+ | Sous Windows 2000 (et NT4 ?) l' | ||
+ | Si l'on écrase le mbr (sous DOS par fdisk /mbr, par exemple) cette information est perdue, d'où parfois impossibilité d' | ||
+ | Pour y rémédier, consulter les articles suivants de la knowledge base Microsoft | ||
+ | |||
+ | Unable to Log on if the Boot Partition Drive Letter Has Changed (article 249321) | ||
+ | HOW TO: Change the System/Boot Drive Letter in Windows (article 223188) | ||
+ | |||
+ | Telnet | ||
+ | |||
+ | Caractère d' | ||
+ | Escape character is ' | ||
+ | soit sur le clavier : | ||
+ | Ctrl + AltGr + " | ||
+ | " | ||
+ | |||
+ | |||
+ | SSH | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Démarrer / redémarrer ... | ||
+ | --------------------- | ||
+ | # service sshd status | ||
+ | start | ||
+ | restart | ||
+ | stop | ||
+ | |||
+ | Fichiers de configuration | ||
+ | ------------------------- | ||
+ | /etc/ssh | ||
+ | ~/.ssh | ||
+ | |||
+ | Vérifier si SSH tourne sur le PC distant et quelle est la version du programme: | ||
+ | ------------------------------------------------------------------------------ | ||
+ | telnet nom_ou_N°IP_PC_distant 22 | ||
+ | |||
+ | Se connecter au PC distant : | ||
+ | ---------------------------- | ||
+ | ssh nom_ou_N°IP_PC_distant | ||
+ | ou bien pour avec un autre utilisateur que celui qui est utilisé | ||
+ | ssh -l utilisateur nom_ou_N°IP_PC_distant | ||
+ | ssh utilisateur@nom_ou_N°IP_PC_distant | ||
+ | |||
+ | ConnectionTimeout : | ||
+ | En cas d' | ||
+ | Pour le raccourcir par exemple à 10 secondes : | ||
+ | ssh -o ConnectTimeout10 | ||
+ | (ConnectTimeout et non pas ConnectionTimeout comme indiqué dans la doc !) | ||
+ | |||
+ | |||
+ | Connection directe sous konqueror | ||
+ | --------------------------------- | ||
+ | fish:// | ||
+ | fish:// | ||
+ | fish:// | ||
+ | |||
+ | Attention : avant d' | ||
+ | |||
+ | fish ne fonctionne pas sous les autres browsers : "fish is not a registered protocole" | ||
+ | |||
+ | Connection directe sous konqueror (variante) | ||
+ | --------------------------------- | ||
+ | cf. http:// | ||
+ | idem fish, mais la commande est sftp : | ||
+ | |||
+ | sftp:// | ||
+ | sftp:// | ||
+ | sftp:// | ||
+ | |||
+ | sftp n'a rine à voir avec le protocole ftp : c'est en fait du ssh. | ||
+ | Ne fonctionne pas non plus sous les autres browsers : "fish is not a registered protocole" | ||
+ | |||
+ | Monter un répertoire Unix distant : shfs (Secure SHell FileSystem Linux kernel module) | ||
+ | ----------------------------------------------------------------------- | ||
+ | http:// | ||
+ | Installation et mode d' | ||
+ | |||
+ | shfsmount utilisateur@machine_distante / | ||
+ | ou mount -t shfs utilisateur@machine_distante / | ||
+ | |||
+ | Attention, contrairement à fish, pour indiquer un répertoire, | ||
+ | shfsmount utilisateur@machine_distante:/ | ||
+ | |||
+ | shfsmount -o rmode755 user@PC_distant:/ | ||
+ | |||
+ | cf man shfsmount | ||
+ | -o rmode755 pour permettre à un utilisateur autre que root d' | ||
+ | :/ | ||
+ | |||
+ | Attention : cas d'une machine W$+Cygwin protégée par firewall (kerio) | ||
+ | après un shfsmount -o rmode755 user@PC_distant:/ | ||
+ | si la commande ls / | ||
+ | |||
+ | Copie de fichiers | ||
+ | ----------------- | ||
+ | Copier un fichier local sur un pc distant: | ||
+ | $ 1 / | ||
+ | $ scp / | ||
+ | $ scp / | ||
+ | |||
+ | L' | ||
+ | $ scp utilisateur@pc_distant:/ | ||
+ | |||
+ | Pour les copies récursives, | ||
+ | $ scp -r utilisateur@pc_distant:/ | ||
+ | |||
+ | |||
+ | Pour éviter d' | ||
+ | --------------------------------------------------------------------- | ||
+ | 1 - générer une paire de clés privée/ | ||
+ | $ ssh-keygen -t rsa | ||
+ | Répondre à la question " | ||
+ | |||
+ | Les clés générées sont dans ~/.ssh : | ||
+ | id_rsa clé privée | ||
+ | id_rsa.pub clé publique | ||
+ | |||
+ | 2 - Copier la clé publique dans le fichier ~/ | ||
+ | $ scp ~/ | ||
+ | ou bien ajouter cette clé publique à un fichier ~/ | ||
+ | $ cat ~/ | ||
+ | |||
+ | |||
+ | 3 - Utiliser ssh-agent | ||
+ | |||
+ | Utilisation de ssh-agent | ||
+ | |||
+ | ssh-agent est un daemon dont le seul but est de garder en mémoire (de façon sécurisée) la " | ||
+ | La commande suivante crée la variable SSH_AUTH_SOCK qui contient le chemin d'un socket que ssh, scp (et autres commandes) vont utiliser pour dialoguer avec ssh-agent : | ||
+ | $ eval `ssh-agent` | ||
+ | |||
+ | Communiquer la clé privée et la phrase de passe à ssh-agent au moyen de ssh-add : | ||
+ | $ ssh-add ~/ | ||
+ | Enter passphrase for / | ||
+ | |||
+ | La clé privée est ainsi décryptée et stockée dans le cache de ssh-agent, prête à être utilisée | ||
+ | On peut maintenant utiliser ssh et scp sans avoir à entrer le mot de passe. | ||
+ | |||
+ | keychain | ||
+ | |||
+ | Récupérer la dernière version sur http:// | ||
+ | |||
+ | Permet d' | ||
+ | Keychain supprime les processus ssh-agent éventuellement en surnombre. Il mémorise les variables SSH_AUTH_SOCK et SSH_AGENT_PID dans ~/ | ||
+ | |||
+ | A partir d'une autre session, récupération de ces variables : | ||
+ | source ~/ | ||
+ | |||
+ | Pour automatiser, | ||
+ | # Keychain lance ssh-agent et stocke les variables SSH_AUTH_SOCK et SSH_AGENT_PID | ||
+ | # dans ~/ | ||
+ | # cf. http:// | ||
+ | |||
+ | / | ||
+ | source ~/ | ||
+ | |||
+ | Tunnel SSH | ||
+ | ---------- | ||
+ | Soit trois machines : | ||
+ | A locale | ||
+ | B intermédiaire par exemple une machine autorisée à se connecter sur C | ||
+ | C distante par exemple un firewall | ||
+ | |||
+ | | ||
+ | | ||
+ | A -----> B -----> C | ||
+ | ssh | ||
+ | |||
+ | Sur la machine locale : | ||
+ | ssh -L port_local_quelqconque: | ||
+ | |||
+ | Exemple : | ||
+ | ssh -L 4091:C:443 nom_login@B # | ||
+ | ou | ||
+ | ssh -L 4091:C:443 nom_login@B sleep 180 | ||
+ | ou encore passer en tâche de fond (< | ||
+ | |||
+ | Le serveur web du firewall est accessible par : | ||
+ | https:// | ||
+ | |||
+ | ***** | ||
+ | X | ||
+ | ***** | ||
+ | Configuration de X.org : | ||
+ | http:// | ||
+ | |||
+ | Configuration X (écran/ | ||
+ | --------------------------------------- | ||
+ | XFdrake | ||
+ | fonctionne aussi bien en mode graphique qu'en mode texte (pas besoin qque X soit lancé) | ||
+ | |||
+ | Login graphique | ||
+ | |||
+ | kdm | ||
+ | mdkkdm | ||
+ | |||
+ | Fichiers de configuration | ||
+ | ------------------------- | ||
+ | cf répertoires / | ||
+ | |||
+ | Sessions X multiples | ||
+ | |||
+ | Pour obtenir plusieurs sessions X : | ||
+ | |||
+ | Sous la session X de départ (display 0) | ||
+ | <Alt Ctrl Fn> | ||
+ | Fn est une des touches de fonction F1 à F6 pour accéder à la console texte à utiliser | ||
+ | |||
+ | Taper le login de l' | ||
+ | Taper le mot de passe | ||
+ | Taper : | ||
+ | startx -- :n | ||
+ | n étant le n° de console graphique virtuelle (0 est le n° de la première console graphhique crée par le système) | ||
+ | (NB : attention, espace indispensable entre -- et :n) | ||
+ | Pour passer d'une console à une autre : | ||
+ | <Ctrl Alt F7> pour la première console graphique | ||
+ | <Ctrl Alt F8> pour la 2°, etc. (F7 à F11 utilisables) | ||
+ | <Ctrl Alt F12> messages système | ||
+ | |||
+ | cf. http:// | ||
+ | |||
+ | Démarrer une interface graphique particulière : | ||
+ | startx / | ||
+ | startx / | ||
+ | startx / | ||
+ | startx / | ||
+ | startx / | ||
+ | startx / | ||
+ | startx / | ||
+ | startx / | ||
+ | |||
+ | Supprimer le démarrage automatique en mode graphique | ||
+ | ---------------------------------------------------- | ||
+ | Editer / | ||
+ | Mettre en commentaire (#) la ligne : | ||
+ | :0 local /bin/nice -n -10 / | ||
+ | |||
+ | Mode texte/mode graphique | ||
+ | ------------------------- | ||
+ | # init 3 > texte | ||
+ | # init 5 > graphique | ||
+ | |||
+ | |||
+ | Au boot avec Grub : | ||
+ | " | ||
+ | Pour booter en init 3, il suffit donc d' | ||
+ | Cette manip n' | ||
+ | |||
+ | |||
+ | Récupérer les messages d' | ||
+ | ------------------------------- | ||
+ | Exemple : | ||
+ | startx -- :3 > erreur 2>&1 | ||
+ | Le fichier " | ||
+ | |||
+ | XF86Config | ||
+ | |||
+ | Localisation : / | ||
+ | |||
+ | Souris | ||
+ | ------ | ||
+ | Exemples : | ||
+ | Section " | ||
+ | Identifier " | ||
+ | Driver " | ||
+ | Option " | ||
+ | Option " | ||
+ | Option " | ||
+ | EndSection | ||
+ | |||
+ | Section " | ||
+ | Identifier " | ||
+ | Driver " | ||
+ | Option " | ||
+ | Option " | ||
+ | EndSection | ||
+ | |||
+ | Pour que la souris série Logitech fonctionne, il faut renseigner la section : | ||
+ | Section " | ||
+ | Identifier " | ||
+ | InputDevice " | ||
+ | Screen " | ||
+ | EndSection | ||
+ | |||
+ | L' | ||
+ | Pour indiquer plus d'un pointeur utiliser l' | ||
+ | |||
+ | Quel répertoire ? | ||
+ | |||
+ | pwd | ||
+ | |||
+ | Gestion des disques | ||
+ | |||
+ | fdisk | ||
+ | cfdisk | ||
+ | |||
+ | Exemple : | ||
+ | fdisk /dev/hda | ||
+ | |||
+ | Monter une partition, une disquette, un cdrom | ||
+ | |||
+ | mount -t ext3 /dev/hdc2 /mnt/disk | ||
+ | mount -t auto /dev/hdc2 /mnt/disk | ||
+ | mount -t ext2 /dev/fd0 /mnt/floppy | ||
+ | mount -t iso9660 /dev/hda / | ||
+ | |||
+ | Démonter une partition récalcitrante (à voir) | ||
+ | |||
+ | $ fuser -k -TERM -v -m point_de_montage | ||
+ | ou, plus violent (SIGKILL) : | ||
+ | $ fuser -k -v -m point_de_montage | ||
+ | |||
+ | Trouver ce qui empêche de démonter la disquette (par exemple) | ||
+ | #umount /dev/fd0 | ||
+ | umount: / | ||
+ | |||
+ | # fuser -m /dev/fd0 | ||
+ | / | ||
+ | |||
+ | # ps aux | grep 1692 | ||
+ | root 1692 fam | ||
+ | |||
+ | # kill -9 1692 | ||
+ | |||
+ | # umount /dev/fd0 | ||
+ | |||
+ | # fam | ||
+ | |||
+ | |||
+ | |||
+ | NFS | ||
+ | |||
+ | - Indiquer dans : | ||
+ | / | ||
+ | les machines autorisées à se connecter (si vide, pas de connexion possible !). Voir également / | ||
+ | - Indiquer dans : | ||
+ | / | ||
+ | les répertoires partagés | ||
+ | - Relancer nfs | ||
+ | # service nfs restart | ||
+ | - Monter le répertoire partagé : | ||
+ | # mount NomMachine: | ||
+ | |||
+ | Mémoriser la configuration de Konqueror | ||
+ | |||
+ | Menu : Window/Save View Profile "File Management" | ||
+ | |||
+ | |||
+ | Changer de console | ||
+ | |||
+ | Sortir de l' | ||
+ | Alt Ctrl F9 | ||
+ | Console 1 | ||
+ | Alt F1 | ||
+ | Revenir à l' | ||
+ | Alt Ctrl F7 | ||
+ | |||
+ | Variables | ||
+ | |||
+ | Voir une liste de variables d' | ||
+ | ------------------------------------------------------- | ||
+ | env | ||
+ | |||
+ | Voir une variable particulière | ||
+ | ------------------------------ | ||
+ | exemple : | ||
+ | echo $SHELL | ||
+ | |||
+ | Supprimer une variable | ||
+ | ---------------------- | ||
+ | unset toto (et non pas $toto !) | ||
+ | |||
+ | Substitution de variables | ||
+ | °°°°°°°°°°°°°°°°°°°°°°°°° | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Affectation | ||
+ | ----------- | ||
+ | $ TUTU" | ||
+ | $ echo $TUTU | ||
+ | Le soleil brille | ||
+ | |||
+ | Valeur par défaut à utiliser en cas de variable inexistante | ||
+ | ----------------------------------------------------------- | ||
+ | NB : TITI est une variable inexistante | ||
+ | $echo TITI | ||
+ | |||
+ | $ echo ${TITI:-il pleut} | ||
+ | il pleut | ||
+ | $ echo ${TUTU:-il pleut} | ||
+ | Le soleil brille | ||
+ | $echo TITI | ||
+ | |||
+ | ce qui montre que la valeur de TITI est temporaire | ||
+ | |||
+ | Affectation d'une valeur en cas de variable inexistante | ||
+ | ------------------------------------------------------- | ||
+ | $ echo ${TITI: | ||
+ | coucou | ||
+ | $ echo TITI | ||
+ | coucou | ||
+ | |||
+ | Message à renvoyer en cas de variable inexistante | ||
+ | ------------------------------------------------- | ||
+ | $ unset TITI | ||
+ | $ echo ${TUTU:? | ||
+ | Le soleil brille | ||
+ | $ echo ${TITI:? | ||
+ | bash: TITI: Cette variable est vide | ||
+ | |||
+ | Message à renvoyer si la variable existe | ||
+ | ---------------------------------------- | ||
+ | $ echo ${TUTU: | ||
+ | Cette variable est initialisée | ||
+ | $ echo ${TITI: | ||
+ | |||
+ | Dans un bash utiliser plutôt un code, par exemple 0 pour TRUE | ||
+ | $ echo ${TUTU:+0} | ||
+ | 0 | ||
+ | |||
+ | Extraction d'une sous chaîne | ||
+ | ---------------------------- | ||
+ | ${variable: | ||
+ | |||
+ | $ echo $TUTU | ||
+ | Le soleil brille | ||
+ | $ echo ${TUTU:3:6} | ||
+ | soleil | ||
+ | |||
+ | La numérotation commence à 0 | ||
+ | La longueur de la chaîne soleil est 6 caractères | ||
+ | |||
+ | Nombre de caractères dans la variable : | ||
+ | ------------------------------------- | ||
+ | $ echo ${#TUTU} | ||
+ | 16 | ||
+ | $ LEN${#TUTU} | ||
+ | $ echo $LEN | ||
+ | 16 | ||
+ | |||
+ | Extractions | ||
+ | ----------- | ||
+ | $echo ${TUTU#Le} | ||
+ | soleil brille | ||
+ | $ echo ${TUTU%brille} | ||
+ | Le soleil | ||
+ | |||
+ | Voir égalemenent la signification de ## par rapport à # et %% par rapport à % | ||
+ | |||
+ | Remplacements | ||
+ | ------------- | ||
+ | $ echo ${TUTU/ | ||
+ | Le miroir brille | ||
+ | |||
+ | Voir également sed, ci-dessus | ||
+ | |||
+ | Remplacements multiples | ||
+ | ----------------------- | ||
+ | $ TUTU" | ||
+ | $ echo ${TUTU/ | ||
+ | Le loup hurle. Le chien s' | ||
+ | $ echo ${TUTU// | ||
+ | Le loup hurle. Le loup s' | ||
+ | |||
+ | Noter que la valeur de TUTU n'a pas changé | ||
+ | $ echo $TUTU | ||
+ | Le chien hurle. Le chien s' | ||
+ | |||
+ | Suppression(s) | ||
+ | -------------- | ||
+ | TUTU" | ||
+ | $ echo ${TUTU// | ||
+ | sept, huit, neuf | ||
+ | |||
+ | Opérations (additions, soustractions, | ||
+ | ------------------------------------- | ||
+ | $ r1 | ||
+ | $ echo $((r++)) | ||
+ | 1 | ||
+ | $ echo $r | ||
+ | 2 | ||
+ | > l' | ||
+ | |||
+ | $ r1 | ||
+ | $ echo $((++r)) | ||
+ | 2 | ||
+ | $ echo $r | ||
+ | 2 | ||
+ | > l' | ||
+ | |||
+ | $ r1 | ||
+ | $ a$((r +1)) | ||
+ | $ echo $a | ||
+ | 2 | ||
+ | $ echo $r | ||
+ | 2 | ||
+ | |||
+ | $ r1 | ||
+ | a$((r + 1)) | ||
+ | $ echo $a | ||
+ | 2 | ||
+ | $ echo $r | ||
+ | 1 | ||
+ | |||
+ | $ a2 | ||
+ | $ b10 | ||
+ | |||
+ | $ echo $(($b + $a)) | ||
+ | 12 | ||
+ | $ echo $(($b * $a)) | ||
+ | 20 | ||
+ | $ echo $(($b / $a)) | ||
+ | 5 | ||
+ | |||
+ | b11 | ||
+ | $ echo $(($b / $a)) | ||
+ | 5 | ||
+ | $ echo $(($b % $a)) # modulo (reste) | ||
+ | 1 | ||
+ | |||
+ | Affecter le résultat d'une commande à une variable | ||
+ | -------------------------------------------------- | ||
+ | $ r`ls / | ||
+ | $ r$(ls / | ||
+ | $ echo $r # affichage du résultat | ||
+ | bin/ GNUstep/ include/ lib/ man/ share/ | ||
+ | |||
+ | Affichage ligne à ligne de la variable r | ||
+ | ---------------------------------------- | ||
+ | $ for i in $r ; do echo $i; done # ou bien echo " | ||
+ | bin/ | ||
+ | GNUstep/ | ||
+ | include/ | ||
+ | lib/ | ||
+ | man/ | ||
+ | share/ | ||
+ | |||
+ | Tableaux : affectation, | ||
+ | |||
+ | |||
+ | Affecter des variables à un tableau | ||
+ | ----------------------------------- | ||
+ | $ t(bleu blanc rouge) | ||
+ | |||
+ | $ echo $t | ||
+ | bleu | ||
+ | $ echo ${t[0]} | ||
+ | bleu | ||
+ | $ echo ${t[1]} | ||
+ | blanc | ||
+ | $ echo ${t[*]} # ou echo ${t[@]} | ||
+ | bleu blanc rouge | ||
+ | $ echo ${# | ||
+ | 3 | ||
+ | |||
+ | $ t[1]vert | ||
+ | $ echo ${t[@]} | ||
+ | bleu vert rouge | ||
+ | |||
+ | Copie de tableau | ||
+ | $ a(${t[*]}) | ||
+ | $ echo ${a[*]} | ||
+ | bleu blanc rouge | ||
+ | |||
+ | ou bien d' | ||
+ | a" | ||
+ | $ echo ${a[*]} | ||
+ | bleu blanc rouge blanc rouge # !!! | ||
+ | |||
+ | Initialiser un tableau | ||
+ | ---------------------- | ||
+ | a() | ||
+ | $ echo ${# | ||
+ | 0 | ||
+ | |||
+ | Balayer un tableau | ||
+ | ------------------ | ||
+ | for (( i0 ; i< | ||
+ | i0 tbleu | ||
+ | i1 tblanc | ||
+ | i2 trouge | ||
+ | |||
+ | Rajouter un élément | ||
+ | ------------------- | ||
+ | $ t( ${t[*]} vert ) | ||
+ | $ echo ${t[*]} | ||
+ | bleu blanc rouge vert | ||
+ | |||
+ | $ vviolet | ||
+ | t(${t[*]} $v) | ||
+ | $ echo ${t[*]} | ||
+ | bleu blanc rouge vert violet | ||
+ | |||
+ | Tableau résultat d'une commande | ||
+ | ------------------------------- | ||
+ | t(`ls / | ||
+ | $ echo ${t[*]} | ||
+ | bin/ GNUstep/ include/ lib/ man/ share/ | ||
+ | $ echo ${t[3]} | ||
+ | lib/ | ||
+ | |||
+ | Nombre de variables dans un tableau de variables | ||
+ | ------------------------------------------------ | ||
+ | $ echo ${# | ||
+ | 6 | ||
+ | |||
+ | Longueurs | ||
+ | --------- | ||
+ | $ echo ${#t} # ou echo ${#t[0]} | ||
+ | 4 # nb de caractères dans le premier élément du tableau (/bin) | ||
+ | |||
+ | $ echo ${#t[2]} # nb de caractères dans le 3° élément du tableau (/include) | ||
+ | 5 | ||
+ | |||
+ | Additions, soustractions | ||
+ | ------------------------ | ||
+ | t(10 2 7) | ||
+ | $ echo `expr ${t[0]} + ${t[2]} - ${t[1]}` | ||
+ | 15 | ||
+ | |||
+ | Adressage indirect | ||
+ | ------------------ | ||
+ | $ médorchien | ||
+ | $ chiencanidé | ||
+ | $ echo $médor | ||
+ | chien | ||
+ | $ echo $chien | ||
+ | canidé | ||
+ | $ echo ${!médor} | ||
+ | canidé | ||
+ | |||
+ | Voir/ supprimer des processus | ||
+ | |||
+ | ps | ||
+ | |||
+ | Vignettes | ||
+ | |||
+ | Les images sont dans / | ||
+ | |||
+ | Grub | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | I - Créer une disquette grub | ||
+ | //////////////////////////// | ||
+ | |||
+ | 1 - Formater une disquette au format ext2fs : | ||
+ | # kfloppy | ||
+ | ou bien : | ||
+ | # mke2fs /dev/fd0 | ||
+ | |||
+ | 2 - Monter la disquette | ||
+ | |||
+ | 3 - Créer un répertoire boot. Dans ce répertoire créer un répertoire grub, | ||
+ | Dans /boot/grub, copier les fichiers | ||
+ | menu.lst | ||
+ | stage1 | ||
+ | stage2 | ||
+ | |||
+ | 3 - Démonter la disquette | ||
+ | |||
+ | 4 - Rendre la disquette bootable | ||
+ | La méthode décrite dans le "GRUB manual", | ||
+ | ne fonctionne pas. | ||
+ | Utiliser plutôt l'une ou l' | ||
+ | |||
+ | a) Methode simple (interactive) | ||
+ | # grub | ||
+ | grub> root (fd0) | ||
+ | grub> setup (fd0) | ||
+ | grub> quit | ||
+ | |||
+ | |||
+ | b) Méthode décrite dans la FAQ "4. How to create a GRUB boot floppy with the menu interface" | ||
+ | --------------------------------------------------------------------------------- | ||
+ | Lancer la commande batch suivante | ||
+ | # grub --batch --device-map/ | ||
+ | device (fd0) /dev/fd0 | ||
+ | root (fd0) | ||
+ | setup (fd0) | ||
+ | quit | ||
+ | EOF | ||
+ | |||
+ | Cette disquette permettra de démarrer pratiquement n' | ||
+ | d' | ||
+ | |||
+ | |||
+ | II - Installer grub sur le MBR d'un disque | ||
+ | |||
+ | Attention : éviter d' | ||
+ | Pour éviter cela, sauvegarder le MBR avec dd par exemple sur une disquette : | ||
+ | dd ifdevice of/ | ||
+ | remplacer device par le device du disque de boot (par exemple hda, sdb ...) | ||
+ | |||
+ | 1 - Lancer grub : | ||
+ | # grub | ||
+ | |||
+ | 2 - Vérifier que le "root device" | ||
+ | où l'on pense : en effet la dénomination des disques est différente sous linux | ||
+ | et sous grub: | ||
+ | |||
+ | grub> find / | ||
+ | (fd0) | ||
+ | | ||
+ | |||
+ | Le root device est donc ici en hd1,1, c'est à dire hdb2 en nomenclature Linux | ||
+ | |||
+ | 3 -Indiquer à grub l' | ||
+ | | ||
+ | | ||
+ | |||
+ | 4 - Installer GRUB dans le MBR | ||
+ | grub> setup (hd1) | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | succeeded | ||
+ | | ||
+ | / | ||
+ | Done. | ||
+ | |||
+ | 5 - Quitter grub | ||
+ | grub> quit | ||
+ | |||
+ | 6 - Copier le programme de boot que l'on vient de mettre dans le MBR du disque hdb. | ||
+ | La copie est mise dans un fichier (ici bootsect.grb) qui sera placé dans la racine de | ||
+ | la partition bootable, soit très généralement hda1. Si nécessaire vérifier à l'aide de | ||
+ | fdisk que cette partition a bien l' | ||
+ | Dans l' | ||
+ | |||
+ | # dd if/dev/hdb of/ | ||
+ | |||
+ | |||
+ | Configurer grub pour booter linux | ||
+ | -------------------------------------- | ||
+ | Taper sur la touche <c> pour passer en mode commande et rechercher où se trouve le(s) dossier(s) grub : | ||
+ | c'est dans ces dossiers que se trouve le fichier menu.lst à configurer : | ||
+ | grub> find / | ||
+ | (fd0) | ||
+ | | ||
+ | |||
+ | > dans ce cas il y a 2 dossiers grub | ||
+ | - sur disquette (fd0) | ||
+ | - sur la 2° partition du disque hd1 | ||
+ | |||
+ | Taper sur les touches <Esc> puis <e> pour éditer les lignes de commande | ||
+ | Corriger les valeurs et essayer de booter. | ||
+ | Dans le cas d'un déplacement de disque, fstab est probablement incorrect : booter avec un mini-linux sur disquette (tomsrtbt, puis utiliser vi) ou sur CD (Knoppix avec KDE ou le CD1 d' | ||
+ | |||
+ | NB : sous Knoppix les partitions sont par défaut "read only". En plus KDE est ouvert pour un utilisateur non root. Donc pas moyen d' | ||
+ | Pour pouvoir écrire, passer dans une console root (il n'y a pas de mot de passe) : | ||
+ | <Alt Ctrl F2> | ||
+ | Démmarrer KDE en root : | ||
+ | # startx -- :1 | ||
+ | - Sur le bureau, trouver l' | ||
+ | - Click droit sur l' | ||
+ | - A nouveau click droit et changer le mode en read/write | ||
+ | - passer dans le répertoire boot/grub/ | ||
+ | - clik droit sur l' | ||
+ | - idem pour /etc/fstab | ||
+ | |||
+ | Attention : Knoppix et Mandrake ne reconnaissent pas les disques sous le même nom : par exemple hdg sous knoppix peut devenir hdc sous Mandrake. Pour savoir comment mandrake identifie les disques, démarrer avec le CD d' | ||
+ | |||
+ | Rebooter. | ||
+ | S'il n'y a plus d' | ||
+ | |||
+ | Amélioration de l' | ||
+ | --------------------------------------------------------- | ||
+ | Remplacer vga788 par vga791 | ||
+ | dans le fichier / | ||
+ | |||
+ | Valeur du paramètre vga | ||
+ | cf. http:// | ||
+ | |||
+ | Résolution Nombre de couleurs paramètre vga | ||
+ | 640x480 256 769 | ||
+ | 32000 784 | ||
+ | 65000 785 | ||
+ | 16.7 Millions 786 | ||
+ | |||
+ | 800x600 256 771 | ||
+ | 32000 787 | ||
+ | 65000 788 | ||
+ | 16.7 Millions 789 | ||
+ | |||
+ | 1024x768 256 773 | ||
+ | 32000 790 | ||
+ | 65000 791 | ||
+ | 16.7 Millions 792 | ||
+ | |||
+ | 1280x1024 256 775 | ||
+ | 32000 793 | ||
+ | 65000 794 | ||
+ | 16.7 Millions 795 | ||
+ | |||
+ | On peut également utiliser : | ||
+ | vganormal | ||
+ | vgaask | ||
+ | |||
+ | |||
+ | Gestion des disques | ||
+ | |||
+ | diskdrake | ||
+ | |||
+ | Taux d' | ||
+ | |||
+ | df | ||
+ | df -h (h | ||
+ | |||
+ | Monter/ | ||
+ | |||
+ | kdf | ||
+ | |||
+ | Formatage d'une partition d'un disque dur | ||
+ | |||
+ | Formatage de la partition hdc2, par exemple : | ||
+ | mkfs -V -t ext3 -c /dev/hdc2 | ||
+ | Curieusement c' | ||
+ | tune2fs -j /dev/hdc2 | ||
+ | |||
+ | ou bien | ||
+ | mkfs.ext3 -c -v /dev/hdc2 | ||
+ | -v verbose | ||
+ | -c vérifie les blocs défectueux | ||
+ | |||
+ | Formatage rapide : | ||
+ | mkfs /dev/hdc2 | ||
+ | |||
+ | ext3 | ||
+ | ---- | ||
+ | Avec le noyau 2.6 les répertoires peuvent être indexés ce qui accélère l' | ||
+ | Par exemple pour ajouter l' | ||
+ | # tune2fs -O dir_index /dev/sda3 | ||
+ | |||
+ | Formater une disquette | ||
+ | |||
+ | kfloppy | ||
+ | |||
+ | Formatage ext2 (rapide) | ||
+ | mke2fs /dev/fd0 | ||
+ | |||
+ | Formatage ext2 avec contrôle en lecture/ | ||
+ | mke2fs -c -c /dev/fd0 | ||
+ | |||
+ | Localiser quelque chose | ||
+ | |||
+ | find | ||
+ | locate | ||
+ | which ou type | ||
+ | whereis | ||
+ | kfind | ||
+ | |||
+ | Rechercher à l' | ||
+ | ------------------------------------ | ||
+ | grep | ||
+ | rgrep | ||
+ | kfind | ||
+ | |||
+ | |||
+ | |||
+ | Copie de disquette (idem diskcopy sous DOS) | ||
+ | |||
+ | 1 - Copier le contenu de la disquette sur le disque dur | ||
+ | dd if/dev/fd0 offlop.tmp | ||
+ | 2 - Facultatif : formatter une disquette (voir ci-dessus) | ||
+ | Pas vraiment utile, car dd copie secteur à secteur. permet de vérifier l' | ||
+ | 3 - Copier le fichier flop sur cette disquette | ||
+ | dd ifflop of/dev/fd0 | ||
+ | 4 - Effacer le fichier temporaire flop.tmp | ||
+ | rm -i flop.tmp | ||
+ | |||
+ | Messagerie (mail) | ||
+ | |||
+ | Format de stockage des messages : 3 possibilités suivant les clients de messagerie utilisés : | ||
+ | 1 - Dans un répertoire : 1 fichier par message | ||
+ | 2 - tous les messages sont dans un seul fichier, éventuellement organisé en base de donnée | ||
+ | 3 - Solution intermédiaire | ||
+ | |||
+ | 1 maildir, format le plus sur | ||
+ | cf. http:// | ||
+ | http:// | ||
+ | |||
+ | Utilisé par Kmail, Postfix, etc. | ||
+ | |||
+ | Les messages d'un dossier du client de messagerie (par exemple inbox) sont mis dans un répertoire (inbox) subdivisé en trois sous-répertoires : cur, new et tmp | ||
+ | - new : les messages nouvellement arrivés, avec l' | ||
+ | - cur : idem new, mais messages lus | ||
+ | - tmp : pas clair, voir doc ci-dessus | ||
+ | |||
+ | 2 format le plus dangereux et le plus difficile à tranférer sous un autre format | ||
+ | Utilisé par Microsoft Outlook | ||
+ | |||
+ | 3 mbox, format tès courant | ||
+ | cf. http:// | ||
+ | http:// | ||
+ | Utilisé par exemple par Eudora | ||
+ | |||
+ | Kmail | ||
+ | |||
+ | Plante avec une message "The application Kmail crashed and caused signal 11 (SIGSEGV)" | ||
+ | Remède : supprimer le fichier de configuration de l' | ||
+ | Refaire la config de Kmail (menu " | ||
+ | |||
+ | Trash (poubelle) | ||
+ | --------------- | ||
+ | Menu : Settings/ | ||
+ | Onglet Receiving | ||
+ | Créer une BAL (ou bien choisir la BAL à modifier) | ||
+ | Onglet General, en bas de la fenêtre menu déroulant "Trash folder" | ||
+ | |||
+ | Carnet d' | ||
+ | ----------------- | ||
+ | ~/ | ||
+ | |||
+ | |||
+ | Envoyer un mail en ligne de commande (mail) | ||
+ | |||
+ | Exemples : | ||
+ | - Envoyer le résultat d'une commande : | ||
+ | $ date | mail -s "Voici la date et l' | ||
+ | (mettre le sujet entre "" | ||
+ | |||
+ | - Rédiger le mail à l'aide d'un éditeur de texte quelconque et l' | ||
+ | $ cat nom_fichier | mail -s sujet destinataire@serveur_mail | ||
+ | |||
+ | Transférer les messages du format mailbox au format maildir | ||
+ | |||
+ | Récupérer le programme perl mb2md sur http:// | ||
+ | Le dézipper (gunzip nom_programme) | ||
+ | Mettre les droits x | ||
+ | Utilisation : voir le mode d' | ||
+ | $ ./ | ||
+ | |||
+ | Si ça ne fonctionne pas vérifier que perl et perl-TimeDate soient bien installés. | ||
+ | |||
+ | |||
+ | |||
+ | Serveur ftp (proftpd) | ||
+ | |||
+ | Documentation : http:// | ||
+ | Fichier de configuration : / | ||
+ | Répertoire de départ (cf. directive < | ||
+ | |||
+ | Proftpd, symlinks et chroot | ||
+ | --------------------------- | ||
+ | cf. http:// | ||
+ | |||
+ | Pour faire apparaître un répertoire dans / | ||
+ | mount --bind / | ||
+ | |||
+ | Pour rendre accessible par ftp un partage samba : | ||
+ | mount -t smbfs -o usernametoto // | ||
+ | |||
+ | FTP sécurisé | ||
+ | |||
+ | sftp utilise le port 22 (SSH) | ||
+ | A partir de KDE/ | ||
+ | sftp:// | ||
+ | Puis entrer le login et le mot de passe de l' | ||
+ | |||
+ | A partir de W$ : | ||
+ | Pas de client sftp dans IE ou Mozilla :( | ||
+ | Mais possible avec filezilla : | ||
+ | remplir les champs Address, User et Password et taper retour chariot | ||
+ | on est alors à la racine du home de l' | ||
+ | |||
+ | Serveur http (apache) | ||
+ | |||
+ | - Documentation : http:// | ||
+ | - FAQ : http:// | ||
+ | - Fichiers de configuration principaux : | ||
+ | / | ||
+ | / | ||
+ | - Répertoire de départ (cf. DocumentRoot dans le fichier de configuration http2.conf) : / | ||
+ | - Fichier(s) à ouvrir par défaut : à voir ou définir dans commonhttpd.conf. | ||
+ | - Fichier de logs : / | ||
+ | - Fichier d' | ||
+ | - Version : httpd2 -V | ||
+ | |||
+ | Statut, démarrage / redémarrage, | ||
+ | ----------------------------- | ||
+ | # service httpd status | ||
+ | extendedstatus | ||
+ | start | ||
+ | restart | ||
+ | stop | ||
+ | ou bien | ||
+ | # / | ||
+ | |||
+ | Autoriser l' | ||
+ | --------------------------------------- | ||
+ | Mettre dans / | ||
+ | |||
+ | Alias /toto / | ||
+ | |||
+ | < | ||
+ | Options Indexes FollowSymLinks | ||
+ | < | ||
+ | Order deny,allow | ||
+ | Deny from all | ||
+ | Allow from 127.0.0.1 192.168.3.27 mabecane.fr | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | NB : localhost à la place de 127.0.0.1 ne marche pas | ||
+ | S'y connecter avec : | ||
+ | http:// | ||
+ | " | ||
+ | |||
+ | Sites supplémentaires (virtual hosts) | ||
+ | ------------------------------------- | ||
+ | Ajouter les sites dans / | ||
+ | |||
+ | |||
+ | ################# | ||
+ | NameVirtualHost 192.168.1.70 | ||
+ | < | ||
+ | ServerName mon_joli_site.fr | ||
+ | ServerAlias mon_joli_site | ||
+ | #ServerPath /domain | ||
+ | DocumentRoot / | ||
+ | </ | ||
+ | |||
+ | Ajouter les adresses dans / | ||
+ | Créer un fichier ifcfg-eth0: | ||
+ | DEVICEeth0: | ||
+ | BOOTPROTOstatic | ||
+ | IPADDR192.168.1.70 | ||
+ | NETMASK255.255.255.0 | ||
+ | NETWORK192.168.1.0 | ||
+ | BROADCAST192.168.1.254 | ||
+ | ONBOOTyes | ||
+ | |||
+ | NB : si le fichier est crée avec kwrite on a un mesage d' | ||
+ | |||
+ | Relancer eth0 : ifup eth0 | ||
+ | Vérifier (éventuellement) que les modifications ont été prises en compte : ifconfig (pas de eth0 après !) | ||
+ | |||
+ | Ne pas oublier de redémarrer le serveur : service httpd restart | ||
+ | |||
+ | Sécurité | ||
+ | -------- | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | How do I turn automatic directory listings on or off? | ||
+ | G. Authentication and Access Restrictions | ||
+ | Voir sécurisation plus loin | ||
+ | |||
+ | Limiter l' | ||
+ | ---------------------------- | ||
+ | http:// | ||
+ | http:// | ||
+ | NB : l' | ||
+ | |||
+ | Analyse des logs (awstats) | ||
+ | -------------------------- | ||
+ | Documentation : | ||
+ | / | ||
+ | http:// | ||
+ | Voir aussi le fichier de configuration / | ||
+ | |||
+ | |||
+ | Programme : / | ||
+ | Fichier de configuration : / | ||
+ | Remplacer dans ce fichier : | ||
+ | LogFile"/ | ||
+ | par : | ||
+ | |||
+ | Créer / mettre à jour les statistiques : | ||
+ | ./ | ||
+ | ./ | ||
+ | |||
+ | Analyse des logs (webalizer) | ||
+ | -------------------------- | ||
+ | Site : http:// | ||
+ | Documentation : il suffit de lire le fichier de configuration / | ||
+ | |||
+ | Sécurité | ||
+ | -------- | ||
+ | - Suprimer l' | ||
+ | / | ||
+ | |||
+ | - Sécurisation par login et mot de passe | ||
+ | voir plus loin sécurisation de PhpMyAdmin | ||
+ | |||
+ | Messagerie | ||
+ | |||
+ | MUA : Mail User Agent, | ||
+ | Exemple Kmail, thunderbird etc. | ||
+ | MTA : Mail Transfert Agent, pour l' | ||
+ | Exemple : Postfix, Sendmail | ||
+ | MDA : Mail Delivery Agent, pour délivrer les messages dans la(les) boîte(s) aux lettres du MUA | ||
+ | Exemple Procmail | ||
+ | |||
+ | |||
+ | Postfix | ||
+ | ******* | ||
+ | |||
+ | Liens utiles : | ||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | NB : pour un serveur autonome (qui ne va pas chercher les messages chez un FAI), fetchmail est inutile : il ne sert que si l'on a pas une connexion permanente. | ||
+ | |||
+ | Connaître la version de posfix installée : | ||
+ | # postconf mail_version | ||
+ | |||
+ | Lister les variables configurées : | ||
+ | # postconf -n | ||
+ | |||
+ | |||
+ | Démarrage ... | ||
+ | _____________ | ||
+ | Service postfix status | ||
+ | start | ||
+ | restart | ||
+ | stop | ||
+ | |||
+ | Recharge les paramètres de configuration : postfix reload | ||
+ | |||
+ | Relayage des messages | ||
+ | _____________________ | ||
+ | Postfix par défaut ne relaye pas les messages autres que celui du sous-réseau : cf documentation incluse dans le fichier de configuration main.cf. | ||
+ | Pour relayer les messages (déconseillé !) modifier mynetworks ou smtpd_recipient_restrictions | ||
+ | |||
+ | Configuration | ||
+ | _____________ | ||
+ | |||
+ | main.cf | ||
+ | ------- | ||
+ | Dans la version postfix-2.1.1-0.1.100mdk (et peut être d' | ||
+ | |||
+ | Ouvrir main.cf.dist | ||
+ | Copier les paramètres trouvés dans main.cf et les coller où il faut dans main.cf.dist | ||
+ | Renommer main.cf main.cf.mdk (par exemple) et main.cf.dist.main.cf | ||
+ | |||
+ | La configuration par défaut de MDK10 est un peu trop restrictive. Changer : | ||
+ | |||
+ | inet_interfaces | ||
+ | mynetworks_style | ||
+ | |||
+ | |||
+ | Gestion des adresses | ||
+ | -------------------- | ||
+ | Il faut définir la correspondance entre les adresses locales de type utilisateur@monserveur_de_mail et les adresses connues (ou communiquées) aux correspondants extérieurs du type Prénom.Nom@monserveur_de_mail : | ||
+ | |||
+ | Editer (si nécessaire créer) le fichier / | ||
+ | login_utilisateur Prénom.Nom@monserveur_de_mail | ||
+ | |||
+ | De même, compléter le fichier / | ||
+ | Prénom.Nom@monserveur_de_mail login_utilisateur | ||
+ | |||
+ | pour indiquer à postfix que Prénom.Nom@monserveur_de_mail est un utilisateur local | ||
+ | Générer les fichiers DB correspondants (cf. http:// | ||
+ | postmap / | ||
+ | postmap / | ||
+ | Vérifier la présence des lignes suivantes dans le fichier de configuration | ||
+ | sender_canonical_maps | ||
+ | recipient_canonical_maps | ||
+ | Terminer en relançant Postfix par la commande postfix reload. | ||
+ | |||
+ | |||
+ | Messages à root | ||
+ | --------------- | ||
+ | Root n'est pas censé recevoir des messages. | ||
+ | Solution : | ||
+ | | ||
+ | Changer la ligne | ||
+ | root: | ||
+ | en | ||
+ | root: | ||
+ | pour rediriger les messages vers la messagerie de cet utilisateur | ||
+ | Terminer en mettant à jour " | ||
+ | |||
+ | NB : avec root: | ||
+ | |||
+ | |||
+ | courier-imap (et imap-2002) | ||
+ | ************************* | ||
+ | NB : imap-2002 ne supporte pas le format maildir (http:// | ||
+ | Pour utiliser maildir, désintaller (s'il a été installé) imap-2002 et installer à la place courier-imap | ||
+ | |||
+ | Les fichiers de configuration sont dans / | ||
+ | |||
+ | Après installation, | ||
+ | # service courier-imap start | ||
+ | |||
+ | Horloge : mise à jour de la date et de l' | ||
+ | |||
+ | # ntpdate -u ntp1.tuxfamily.net | ||
+ | |||
+ | Tuer une session X | ||
+ | |||
+ | <Alt Crtl Backspace> | ||
+ | |||
+ | Test de la carte son | ||
+ | |||
+ | # lspcidrake -v | fgrep AUDIO -> | ||
+ | # grep sound-slot / | ||
+ | # / | ||
+ | # / | ||
+ | # / | ||
+ | list alsa | ||
+ | # aumix -q -> | ||
+ | # /sbin/fuser -v / | ||
+ | |||
+ | Bugs : | ||
+ | |||
+ | MDK10, carte MSI Neo FISR, le pilote installé (snd-intel8x0) est incorrect; le remplacer par celui que Knoppix, lui, autodétecte correctement, | ||
+ | # mcc > harware > Soundcard 82801EB AC'97 Audio > Run config tool > Driver | ||
+ | |||
+ | MDK9.1 charge un pilote incorrect pour la carte son de la carte mère DFI CA64/TC : utiliser mcc pour remplacer le pilote snd-via82xx par via82cxxx_audio | ||
+ | |||
+ | |||
+ | Interface réseau | ||
+ | |||
+ | http:// | ||
+ | |||
+ | Vérification - réglage de la carte réseau | ||
+ | ----------------------------------------- | ||
+ | mii-tool | ||
+ | |||
+ | Carte ethernet : si ethernet ne démarre pas, vérifier dans : | ||
+ | / | ||
+ | que ONBOOT soit à yes (et pas no) | ||
+ | |||
+ | Configuration | ||
+ | ------------- | ||
+ | netcardconfig (knoppix) | ||
+ | mcc (Mandrake) | ||
+ | |||
+ | Statut des interfaces actives | ||
+ | ----------------------------- | ||
+ | ifconfig eth0 -> statut de l' | ||
+ | ifconfig eth0 down -> arrêter l' | ||
+ | ifup eth0 -> redémarrer l' | ||
+ | |||
+ | Paramétrage temporaire (il disparaît au reboot de la machine) | ||
+ | ------------------------------------------------------------- | ||
+ | Attention : le paramétrage effectué avec ifconfig disparaît au reboot de la machine. | ||
+ | Pour un paramétrage persistant : | ||
+ | # drakconnect | ||
+ | ou bien encore mieux, voir / | ||
+ | |||
+ | Avec la commande ifconfig, entrer l' | ||
+ | # ifconfig eth0 < | ||
+ | |||
+ | Broadcast : idem adresse IP, mais se termine par 254 dans le cas d'un masque de sous réseau 255.255.255.0 (CIDR 24) ou 127 dans le cas d'un masque 255.255.255.128 (CIDR 25) | ||
+ | |||
+ | Routage | ||
+ | ------- | ||
+ | Configurer le routage vers la passerelle avec route - la machine passerelle permet de sortir sur internet (gateway) : | ||
+ | |||
+ | # route add default gw < | ||
+ | |||
+ | Pour un paramétrage permanent | ||
+ | ----------------------------- | ||
+ | Entrer les bons paramètres dans les fichiers qui se trouventt dans : | ||
+ | / | ||
+ | ifcfg-eth0 | ||
+ | ifcfg-eth0: | ||
+ | |||
+ | Entrer à la main les valeurs voulues : | ||
+ | DEVICEeth0 | ||
+ | BOOTPROTOstatic | ||
+ | IPADDR130.... | ||
+ | NETMASK255.255.255.128 (si masque de sous réseau255.255.255.128 cad CIDR25 par exemple) | ||
+ | NETWORK130. . .0 | ||
+ | BROADCAST130. . .127 (si masque de sous réseau255.255.255.128 cad CIDR25 par exemple) | ||
+ | GATEWAY130. . .126 (addresse de la passerelle de sortie) | ||
+ | ONBOOTyes | ||
+ | |||
+ | Puis arrêter (ifconfig eth0 down) et redémarrer (ifup eth0) | ||
+ | Enfin vérifier que les valeurs entrées ont été prises en compte (ifconfig). | ||
+ | |||
+ | 3 - Mettre l' | ||
+ | nameserver <IP du 1° DNS> | ||
+ | nameserver <IP du 2° DNS> | ||
+ | .... | ||
+ | e.g nameserver 192.168.1.25 | ||
+ | |||
+ | 4 - Nom de la machine : à mettre dans / | ||
+ | HOSTNAMEnom-machine | ||
+ | NETWORKINGyes | ||
+ | |||
+ | |||
+ | Affichage / modification des paramètres de l' | ||
+ | ------------------------------------------------------------- | ||
+ | ethtool | ||
+ | |||
+ | snmp (imprimantes en particulier) | ||
+ | ----------------- | ||
+ | snpm Simple Network Management Protocol | ||
+ | cf. http:// | ||
+ | snmpwalk query a network entity for a tree of information (cf. man snmp) | ||
+ | Exemple : pour voir les infos d'une imprimante : | ||
+ | $ snmpwalk -v 1 -c public nom_ou_IP_de_l' | ||
+ | |||
+ | Moniteur de réseau (network monitoring) | ||
+ | --------------------------------------- | ||
+ | - iptraf | ||
+ | Après installation, | ||
+ | |||
+ | net_applet | ||
+ | |||
+ | Affichage/ | ||
+ | ----------------------------------------------------------------- | ||
+ | # arp | ||
+ | Cette commande, non suivie d' | ||
+ | |||
+ | Bridge | ||
+ | |||
+ | Administration : brctl | ||
+ | # brctl showmacs liste les adresses mac connues | ||
+ | Pour voir si une machine est derrière le firewall : | ||
+ | # brctl showmacs br0 |grep -i adresse_mac | ||
+ | (adresse_mac aura auparavant été récupérée en faisant un ping sur la machine et en lançant arp ensuite). Attention arp retourne les adresse en majuscules, alors que brctl les donne en minuscules, d'où grep -i) | ||
+ | |||
+ | Changer de module | ||
+ | |||
+ | Exemple : dans le cas du module pilote de l' | ||
+ | remplacer dans / | ||
+ | (NB : noyau 2.4 > modules.conf | ||
+ | 2.6 > modprobe.conf) | ||
+ | la ligne : | ||
+ | alias eth0 driver1 | ||
+ | par | ||
+ | alias eth0 driver2 | ||
+ | |||
+ | ou, pour des tests rapides | ||
+ | # service network stop | ||
+ | # rmmod driver1 (supprime le driver1) | ||
+ | # modprobe driver2 (mettre à la place le driver2) | ||
+ | # service network restart | ||
+ | |||
+ | Modem | ||
+ | |||
+ | Installation réseau / modem | ||
+ | # | ||
+ | Configurer les accès réseau | ||
+ | Pour le modem : | ||
+ | lancer (ou installer si ce n'est déjà fait et lancer) kppp | ||
+ | |||
+ | |||
+ | Serveur web | ||
+ | |||
+ | Placer le fichier de départ (Fichier par défaut : index.html) dans : | ||
+ | / | ||
+ | |||
+ | Créer les utilisateurs et groupes | ||
+ | |||
+ | # userdrake | ||
+ | |||
+ | |||
+ | Mots de passe et infos utilisateur | ||
+ | |||
+ | cf. http:// | ||
+ | Voir / | ||
+ | Les mots de passe cryptés sont stockés dans /etc/shadow : | ||
+ | |||
+ | The ``/ | ||
+ | smithj: | ||
+ | As with the passwd file, each field in the shadow file is also separated with ":" | ||
+ | |||
+ | Username, | ||
+ | up to 8 characters. Case-sensitive, | ||
+ | |||
+ | Password, | ||
+ | 13 character encrypted. A blank entry (eg. ::) indicates a password is not required to log in (usually a bad idea), and a ``*'' | ||
+ | |||
+ | The number of days (since January 1, 1970) since the password was last changed. | ||
+ | |||
+ | The number of days before password may be changed (0 indicates it may be changed at any time) | ||
+ | |||
+ | The number of days after which password must be changed (99999 indicates user can keep his or her password unchanged for many, many years) | ||
+ | |||
+ | The number of days to warn user of an expiring password (7 for a full week) | ||
+ | |||
+ | The number of days after password expires that account is disabled | ||
+ | |||
+ | The number of days since January 1, 1970 that an account has been disabled | ||
+ | |||
+ | A reserved field for possible future use | ||
+ | |||
+ | |||
+ | Créér un nouvel utilisateur sous KDE | ||
+ | |||
+ | kuser | ||
+ | |||
+ | |||
+ | Connaître les utilisateurs connectés | ||
+ | |||
+ | w | ||
+ | |||
+ | Copie de fichiers | ||
+ | ----------------- | ||
+ | scp utilisateur@PCsource: | ||
+ | |||
+ | Possibilité de changer à la volée le type de codage : 3des (défaut), blowfish, des | ||
+ | En cas de machine ou réseau lent : | ||
+ | scp -c blowfish (la suite comme ci-dessus) | ||
+ | |||
+ | |||
+ | Infos système | ||
+ | |||
+ | uname -a | ||
+ | Retourne les infos système (kernel, machine, etc...) | ||
+ | |||
+ | Information sur les périphériques SCSI et USB : | ||
+ | ---------------------------------------------- | ||
+ | cat / | ||
+ | |||
+ | Périphériques USB (et autre ieee ?) | ||
+ | |||
+ | usbview | ||
+ | |||
+ | Hotplug est le service qui permet de connecter à chaud des périphériques et de les utiliser immédiatement (cf. http:// | ||
+ | Vérifier si le noyau est prévu avec hotplug : | ||
+ | $ cat / | ||
+ | / | ||
+ | |||
+ | En cas de problème, quelques contrôles | ||
+ | ------------------------------------- | ||
+ | http:// | ||
+ | |||
+ | - Voir si hotplug est installé | ||
+ | # cat / | ||
+ | / | ||
+ | |||
+ | - Voir s'il a fonctionné : il doit y avoir un répertoire usb dans / | ||
+ | # ls /proc/bus | ||
+ | input/ | ||
+ | (pas de répertoire usb !) | ||
+ | |||
+ | - Voir le statut du service hotplug | ||
+ | # / | ||
+ | USB Status for kernel: | ||
+ | usbfs is unavailable. | ||
+ | USB may be statically linked. | ||
+ | If khubd is running, that shows USB is available. | ||
+ | |||
+ | - Voir si khubd tourne : | ||
+ | # ps aux |grep khubd | ||
+ | root 7162 0.0 0.0 | ||
+ | |||
+ | - Voir les éventuels messages d' | ||
+ | # / | ||
+ | / | ||
+ | |||
+ | - Vérifier si le périphérique USB est détecté | ||
+ | Connecter/ | ||
+ | # dmesg | ||
+ | # tail -f / | ||
+ | (MDK : les mêmes messages apparaissent avec dmesg et tail | ||
+ | Knoppix : les messages ne sont visibles qu' | ||
+ | Exemple, dans le cas d'un USB qui fonctionne : | ||
+ | # dmesg | ||
+ | ..... | ||
+ | usb 1-1: new full speed USB device using address 2 | ||
+ | SCSI subsystem initialized | ||
+ | Initializing USB Mass Storage driver... | ||
+ | scsi0 : SCSI emulation for USB Mass Storage devices | ||
+ | Vendor: IC35L060 | ||
+ | Type: | ||
+ | USB Mass Storage device found at 2 | ||
+ | usbcore: registered new driver usb-storage | ||
+ | USB Mass Storage support registered. | ||
+ | SCSI device sda: 120103200 512-byte hdwr sectors (61493 MB) | ||
+ | sda: assuming drive cache: write through | ||
+ | / | ||
+ | Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 | ||
+ | |||
+ | - Si rien ne fonctionne : | ||
+ | Vérifier la présence (ou rajouter à la main) ces 2 lignes dans / | ||
+ | install usb-interface / | ||
+ | ehci-hcd; /bin/true | ||
+ | Créer ou éditer / | ||
+ | usb-storage | ||
+ | |||
+ | |||
+ | Trouver le device utilisé par un périphérique et monter ce périphérique | ||
+ | ------------------------------------------------------------------------ | ||
+ | cat / | ||
+ | Repérer dans le résultat de cette commande ce qui correspond au périphérique recherché, par exemple | ||
+ | Host: scsi1 Channel: 00 Id: 00 Lun: 00 | ||
+ | Vendor: PIONEER | ||
+ | Type: | ||
+ | Chercher avec Konqueror dans le répertoire /dev/scsi le device correspondant, | ||
+ | / | ||
+ | |||
+ | Monter le périphérique : | ||
+ | mount -t iso9660 / | ||
+ | |||
+ | Mettre dans /etc/fstab la commande ad hoc | ||
+ | |||
+ | USB avec diskdrake | ||
+ | -------------- | ||
+ | Lancer diskdrake | ||
+ | Un disque usb apparaît généralement comme disque sda, les partitions comme sda1, sda2, etc. | ||
+ | Monter le disque à partir de diskdrake, ou mieux créer à la main les entrées ad-hoc dans fstab | ||
+ | (diskdrake réorganise tout fstab et supprime les commentaires éventuels qui auraient pu y être écrits !) | ||
+ | |||
+ | Trouver le device utilisé par un périphérique | ||
+ | --------------------------------------------- | ||
+ | mcc > Hardware > hardware list | ||
+ | |||
+ | Voir et monter les disques | ||
+ | -------------------------- | ||
+ | A condition que fstab soit correct, kdf permet de monter/ | ||
+ | et voir le % d' | ||
+ | |||
+ | Mise à jour des menus | ||
+ | |||
+ | # update-menus | ||
+ | |||
+ | Spécifique debian | ||
+ | |||
+ | |||
+ | Installer un programme: | ||
+ | -------------------------- | ||
+ | dselect | ||
+ | |||
+ | |||
+ | Changement de résolution écran | ||
+ | |||
+ | Xdrakres | ||
+ | |||
+ | |||
+ | Samba | ||
+ | |||
+ | |||
+ | Version installée | ||
+ | ----------------- | ||
+ | $ net -V | ||
+ | ou | ||
+ | $ net --version | ||
+ | |||
+ | - " | ||
+ | -------------------- | ||
+ | $ findsmb | ||
+ | # findsmb | ||
+ | |||
+ | - Tester l' | ||
+ | -------------------------------- | ||
+ | # service smb status | ||
+ | smbd (pid 2114) is running... | ||
+ | nmbd (pid 2124) is running... | ||
+ | |||
+ | - Démarrer, redémarrer | ||
+ | ---------------------- | ||
+ | start, restart | ||
+ | # service smb restart | ||
+ | Shutting down SMB services: | ||
+ | Shutting down NMB services: | ||
+ | Starting SMB services: | ||
+ | Starting NMB services: | ||
+ | |||
+ | Autre possibilité : | ||
+ | # samba --help | ||
+ | Usage: / | ||
+ | |||
+ | |||
+ | - Monter un disque externe : | ||
+ | ---------------------------- | ||
+ | # mount -t smbfs -o usernametoto // | ||
+ | ou bien | ||
+ | smbmount // | ||
+ | |||
+ | ou si on préfères, dans fstab (ici avec le mot de passe en clair, beurk !) : | ||
+ | // | ||
+ | |||
+ | ou encore avec login et mot de passe dans un fichier accessible uniquement par root et contenant : | ||
+ | username | ||
+ | password | ||
+ | |||
+ | # mount -t smbfs -o credentials/ | ||
+ | |||
+ | idem pour fstab : | ||
+ | // | ||
+ | |||
+ | - Partager un répertoire (cad pouvoir accéder à un répertoire sur le PC linux à partir d'un PC Windows) | ||
+ | ------------------------ | ||
+ | Entrer le nom d' | ||
+ | # smbpasswd -a NomUtilisateur | ||
+ | et entrer (2 fois) le mot de passe | ||
+ | Verifier que le fichi1er de mots de passe est bien en lecture/ | ||
+ | $ ls -al / | ||
+ | -rw------- | ||
+ | Si ce n' | ||
+ | # chmod 600 / | ||
+ | |||
+ | Editer le fichier de configuration / | ||
+ | Verifier éventuellement s'il n'y a pas d' | ||
+ | # testparm | ||
+ | |||
+ | Relancer samba pour prendre en compte les modifications (# samba restart) | ||
+ | Se connecter à partir du PC windows. | ||
+ | Erreur " | ||
+ | |||
+ | Le partage peut également être fait à partir de Konqueror : pointer le fichier, click droit, propriétés, | ||
+ | |||
+ | Netatalk | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | Paramétrage et utilisation de netatalk | ||
+ | ____________________________ | ||
+ | |||
+ | Démarrer/ | ||
+ | service atalk start | ||
+ | restart | ||
+ | stop | ||
+ | status | ||
+ | |||
+ | Pour savoir si netatalk fonctionne et avoir la liste des MACS accessibles : | ||
+ | nbplkup | ||
+ | |||
+ | Le service est très long à démarrer (~ 30 secondes). Pour éviter d' | ||
+ | ATALK_BGROUNDno en ATALK_BGROUNDyes | ||
+ | |||
+ | Les services : | ||
+ | papd: | ||
+ | atalk: | ||
+ | atalkd - AppleTalk RTMP, NBP, ZIP and AEP manager | ||
+ | RTMP - Routing Table Maintenance Protocol | ||
+ | NBP - Name Binding Protocol | ||
+ | ZIP - Zone Information Protocol | ||
+ | AEP - AppleTalk Echo Protocol | ||
+ | afpd: | ||
+ | |||
+ | Configuration | ||
+ | ______________ | ||
+ | Fichiers de configuration dans / | ||
+ | |||
+ | Autoriser l' | ||
+ | --------------------------------- | ||
+ | / | ||
+ | |||
+ | Créer sur le serveur un/des volume(s) accessibles par les Mac -> ajouter dans le fichier / | ||
+ | #Nom du partage sur le serveur Nom du partage présenté au Mac login des utilisateurs et/ou groupes | ||
+ | / | ||
+ | |||
+ | Autoriser la connexion en "guest (invité) | ||
+ | ----------------------------------------- | ||
+ | / | ||
+ | |||
+ | | ||
+ | -uamlist uams_guest.so | ||
+ | dans le fichier de configuration / | ||
+ | |||
+ | Autoriser l' | ||
+ | -------------------------------------------- | ||
+ | Créer (ou utiliser le login d') un utilisateur Linux (# userdrake) | ||
+ | Le mot de passe pour netatalk est celui de cet utilisateur | ||
+ | |||
+ | NB : dans l' | ||
+ | - -transall -uamlist uams_dhx.so -nosavepassword | ||
+ | désactive le mot de passe en clair ce qui fait que sans ajout sur les Macs des outils ad-hoc de cryptage il est impossible de se connecter. | ||
+ | |||
+ | Pas très sécurisé, mais acceptable derrière un firewall : mettre en commentaire la ligne | ||
+ | (les valeurs par défaut : | ||
+ | - -transall -uamlist uams_clrtxt.so, | ||
+ | sont alors utilisées) | ||
+ | |||
+ | Droits d' | ||
+ | -------------- | ||
+ | Ne pas oublier d' | ||
+ | -> mettre les droits ad-hoc sur le(s) volume(s) partagé(s) | ||
+ | |||
+ | Interdire l' | ||
+ | ----------------------------------- | ||
+ | / | ||
+ | |||
+ | Dans AppleVolumes.default, | ||
+ | |||
+ | Ports utilisés par AppleTalk | ||
+ | ---------------------------- | ||
+ | cat / | ||
+ | at-rtmp | ||
+ | at-nbp | ||
+ | at-echo | ||
+ | at-zis | ||
+ | echo 4/ddp # AppleTalk Echo Protocol | ||
+ | |||
+ | |||
+ | Installation de netatalk (netatalk-2.0.1) sur MDK 9.1 (et autres versions de MDK ?) | ||
+ | ______________________________________________________________________ | ||
+ | - Télécharger la dernière version de netatalk (en l' | ||
+ | http:// | ||
+ | |||
+ | - Décompresser : | ||
+ | tar -jxvf netatalk-2.0.1.tar.bz2 | ||
+ | |||
+ | Le mode d' | ||
+ | |||
+ | - Installer Berkeley DB | ||
+ | Comme indiqué dans la doc de netatalk Berkeley DB version 4.1.25 ou 4.2.52 doivent être présents. Si ce n'est pas le cas, récupérer les sources (db-4.2.52.tar.gz) sur le site http:// | ||
+ | Décompresser. | ||
+ | Lire la doc : son installation est très bien expliquée et ne pose aucun problème. | ||
+ | NB : j'ai essayé la dernière version Berkeley DB (4.3) : netatalk-2.0.1 la refuse à la compilation. | ||
+ | |||
+ | - Installer netatalk : | ||
+ | # ./configure --with-bdb/ | ||
+ | |||
+ | * Avec --with_bdb il faut passer le path du répertoire contenant db.h (sinon on obtient un message d' | ||
+ | * Configurer avec --enable-redhat ce qui permet une installation des scripts de démarrage au bon endroit (/ | ||
+ | |||
+ | Puis | ||
+ | # make | ||
+ | # make install | ||
+ | |||
+ | Le login et le mot de passe sur Apple sont ceux d' | ||
+ | Ne pas oublier de mettre les bons droits d' | ||
+ | |||
+ | Les fichiers de configuration sont dans / | ||
+ | |||
+ | Configurer les fichiers AppleVolumes.default et afpd.conf à sa convenance : | ||
+ | - afpd.conf | ||
+ | On peut laisser tout en commentaires comme ci-dessous ou modifier la dernière ligne à sa convenance : | ||
+ | # default: | ||
+ | # - -transall -uamlist uams_clrtxt.so, | ||
+ | |||
+ | - netatalk.conf | ||
+ | Pas grand chose à modifier non plus, si ce n'est supprimer éventuellement des services inutiles et mettre : | ||
+ | # Control whether the daemons are started in the background | ||
+ | ATALK_BGROUNDyes | ||
+ | pour éviter l' | ||
+ | |||
+ | - AppleVolumes.default | ||
+ | Y déclarer les volumes à partager (1 ligne unique par volume) de la façon suivante : | ||
+ | / | ||
+ | |||
+ | * / | ||
+ | * " | ||
+ | * allow:toto, groupe_truc : utilisateurs et groupes autorisés | ||
+ | * dbpath:/ | ||
+ | |||
+ | |||
+ | ATTENTION !!! | ||
+ | Pour une raison incompréhensible il existe déjà un répertoire .AppleDB à cet endroit (avec les droits rw pour les utilisateurs déclarés) qui bloque la connexion à / | ||
+ | Ma solution : renommer .AppleDB en n' | ||
+ | |||
+ | (Re)lancer netatak : | ||
+ | # service atalk restart | ||
+ | |||
+ | Gravure de CD et images iso | ||
+ | |||
+ | |||
+ | Visualiser le contenu d'une image iso | ||
+ | ------------------------------------- | ||
+ | mount -t iso9660 -o ro, | ||
+ | |||
+ | Créer une image iso | ||
+ | ------------------- | ||
+ | mkisofs -o NomDuFichier.iso -v -R -J -force-rr -iso-level 4 NomDuRepertoireàTraiter | ||
+ | -v verbose | ||
+ | -R extension rockridge | ||
+ | -J extension Joliet | ||
+ | -force-rr pour que Nero veuille bien graver l' | ||
+ | -iso-label 4 : moins de limitations (cf man mkisofs) | ||
+ | |||
+ | Attention : les caratères que mkisofs ne sait pas interpéter (é par exemple) dans les noms de fichiers ou répertoires sont remplacés par _ ! Voir le man mkisofs à charset | ||
+ | |||
+ | Graver une image iso | ||
+ | -------------------- | ||
+ | Pour afficher le(s) périphériques de gravure SCSI (inscrire la valeur retournée dans dev ci-dessous) : | ||
+ | cdrecord -scanbus | ||
+ | dans le cas d'un graveur ATA : | ||
+ | cdrecord devATA -scanbus | ||
+ | |||
+ | Effacer un CDRW (attention à la vitesse !) : | ||
+ | cdrecord -v speed4 dev0, | ||
+ | cas d'un graveur ATA : | ||
+ | cdrecord -v speed4 devATA: | ||
+ | |||
+ | Graver une image iso (cd_image) | ||
+ | cdrecord -v speed4 dev0, | ||
+ | cas d'un graveur ATA : | ||
+ | cdrecord -v speed4 devATA: | ||
+ | |||
+ | Contrôler l' | ||
+ | ------------------------ | ||
+ | Monter l' | ||
+ | mount -t iso9660 -o ro, | ||
+ | mount -t iso9660 /dev/hda /mnt/cdrom | ||
+ | Contrôler avec diff ou kdiff : | ||
+ | diff /mnt/disk /mnt/cdrom & | ||
+ | kdiff3 /mnt/disk /mnt/cdrom & | ||
+ | |||
+ | Contrôler une image iso téléchargée | ||
+ | ----------------------------------- | ||
+ | md5sum -c NomDuFichierContenantLaSommeDeControle | ||
+ | |||
+ | Créer une somme de contrôle d'un fichier | ||
+ | ---------------------------------------- | ||
+ | md5sum NomDuFichier > NomDuFichierContenantLaSommeDeControle | ||
+ | |||
+ | Logiciel graphique de gravure | ||
+ | ----------------------------- | ||
+ | k3b | ||
+ | |||
+ | Créer un DVD à partir de plusieurs images iso | ||
+ | |||
+ | cf. http:// | ||
+ | |||
+ | |||
+ | Installation/ | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | rpm, urpm* | ||
+ | |||
+ | urpmi | ||
+ | ----- | ||
+ | |||
+ | Configurer les sources : plusieurs méthodes : | ||
+ | - http:// | ||
+ | - K -> Configuration -> Packaging -> Software source manager | ||
+ | Par exemple menu remove medium pour retirer un CD | ||
+ | - urpmi.setup : | ||
+ | Pour recharger un CD : | ||
+ | urpmi.addmedia CD1_MK9 removable:// | ||
+ | cf. # | ||
+ | |||
+ | Pour ajouter une source ftp (ou http) | ||
+ | urpmi.addmedia contrib ftp:// | ||
+ | |||
+ | Pour mettre à jour la base des sources | ||
+ | # urpmi.update --all (urpmi.update -a sous MDK10) | ||
+ | |||
+ | Pour installer un paquetage | ||
+ | --------------------------- | ||
+ | Exemple | ||
+ | #urpmi kdenet | ||
+ | (recherche les paquets qui contiennent " | ||
+ | The following packages contain kdenet: kdenetwork-devel kdenetwork kdenetwork-kppp | ||
+ | #urpmi kdenetwork | ||
+ | et répondre aux questions | ||
+ | |||
+ | Pour installer automatiquement les mises à jour | ||
+ | ----------------------------------------------- | ||
+ | # urpmi --auto-select | ||
+ | |||
+ | Pour contrôler si l' | ||
+ | --------------------------------------------------- | ||
+ | # less / | ||
+ | |||
+ | |||
+ | Faire une base locale de mises à jour | ||
+ | ------------------------------------- | ||
+ | Le but est double : | ||
+ | 1 - pouvoir faire les mises à jour sur des PCs non connectés au réseau | ||
+ | ou avec une connection trop lente pour être utilisable | ||
+ | |||
+ | 2 - pouvoir, lors d'une installation de machine, charger les | ||
+ | mises à jour de sécurité avant de la connecter au réseau : ça permet | ||
+ | d' | ||
+ | |||
+ | Les étapes : | ||
+ | 1 - récupérer le répertopire ad hoc (actuellement / | ||
+ | à l'aide de wget directement sur un support amovible (ou sur un disque dur, puis graver un CD) | ||
+ | 2 - Démonter le support amovible, le monter sur la machine à mettre à jour | ||
+ | 3 - Mettre à jour la base urpmi avec urpmi.update | ||
+ | 4 - Faire les mises à jour des logiciels avec urpmi --auto-select | ||
+ | |||
+ | En détail | ||
+ | |||
+ | 1 - Récupérer sur l'un des nombreux serveurs disponibles les rpms des mises à | ||
+ | jour à l'aide de wget : | ||
+ | $ wget -mirror -P /mnt/disk -nH --cut-dirs3 ftp:// | ||
+ | |||
+ | avec : | ||
+ | -mirror pour créer localement un " | ||
+ | Avantage : si on lance à nouveau cette commande, seuls les fichiers nouveaux | ||
+ | ou modifiés sont transférés | ||
+ | -P /mnt/disk pour écrire à un endroit donné (ici un support amovible monté en /mnt/disk) | ||
+ | -nH et --cut-dirs options facultatives : | ||
+ | -nH pour effacer le nom du serveur de l' | ||
+ | --cut-dirs3 pour effacer / | ||
+ | |||
+ | Dans cet exemple l' | ||
+ | / | ||
+ | au lieu de : | ||
+ | / | ||
+ | |||
+ | 2 - Démonter le disque amovible et le monter sur la machine à mettre à jour de façon à avoir (par | ||
+ | exemple) les rpms dans : | ||
+ | / | ||
+ | |||
+ | 3 - Ajouter le répertoire contenant les rmps à la base urpmi | ||
+ | Ca peut se faire soit en mode graphique, soit en ligne de commande : | ||
+ | Mode graphique : | ||
+ | K -> Configuration -> Packaging -> Software Sources Manager | ||
+ | et ajouter le répertoire contenant les rpms dans les sources à utiliser, dans cet exemple : | ||
+ | / | ||
+ | Mode ligne de commande : | ||
+ | # urpmi.addmedia updates file:/ | ||
+ | Puis mettre à jour la base : | ||
+ | # urpmi.update updates | ||
+ | |||
+ | 4 - Faire toutes les mises à jour en mode automatique : | ||
+ | # urpmi --auto-select | ||
+ | |||
+ | |||
+ | Les fichiers " | ||
+ | Ceci dit, on peut les récupérer sur le serveur dans /9.1/base. Dans ce cas les | ||
+ | ajouter (ici hdlist.cz) : | ||
+ | # urpmi.addmedia updates file:/ | ||
+ | |||
+ | Sinon on peut les créer, avec la commande : | ||
+ | $ genhdlist nom_du_répertoire | ||
+ | Attention : les hdlists vont dans le répertoire contenant les rpms. | ||
+ | Il ne semble pas y avoir d' | ||
+ | dans un répertoire " | ||
+ | |||
+ | Dans les messages urpmi | ||
+ | ----------------------- | ||
+ | ETA Estimated Time of Arrival | ||
+ | |||
+ | |||
+ | Vérifier qu'un paquetage est bien installé | ||
+ | |||
+ | rpm -V NomDuPaquet | ||
+ | |||
+ | |||
+ | Rechercher et desinstaller un package | ||
+ | ------------------------------------- | ||
+ | > rpm -qa |grep nuke | ||
+ | PHP-nuke-6.0-1mdk | ||
+ | |||
+ | > rpm -e foo <- désinstalle le package foo-x.y.rpm | ||
+ | |||
+ | Remplacer, mettre à jour une package | ||
+ | ------------------------------------ | ||
+ | rpm -Uvh foo <- installe ou remplace | ||
+ | rpm -Fvh foo <- remplace (mise à jour d'une version préexistante) | ||
+ | |||
+ | Remet une package plus ancien : | ||
+ | rpm -Uvh --replacepkgs --nodeps --oldpackage foo.rpm | ||
+ | |||
+ | Installation de programmes à partir des sources | ||
+ | |||
+ | |||
+ | Ne jamais installer de programme à partir des sources dans /usr (destiné aux programmes de la distribution). les installer dans /usr/local | ||
+ | |||
+ | |||
+ | |||
+ | Cygwin | ||
+ | |||
+ | |||
+ | Récupération/ | ||
+ | ----------------------------------- | ||
+ | Cf. http:// | ||
+ | |||
+ | Cygwin disponible sur de nombreux sites, par exemple : | ||
+ | http:// | ||
+ | http:// | ||
+ | |||
+ | En bref : | ||
+ | |||
+ | Cliquer sur l' | ||
+ | L' | ||
+ | Passer la 1° page puis sélectionner " | ||
+ | Page suivante sélectionner le répertoire d' | ||
+ | Page suivante sélectionnez le répertoire dans lequel seront écrits les fichiers téléchargés. | ||
+ | Deux pages plus loin, sélectionner un miroir dans la liste. | ||
+ | La liste des packages disponibles s' | ||
+ | - Default | ||
+ | - Install | ||
+ | - Reinstall | ||
+ | - Uninstall | ||
+ | Au début tout est à " | ||
+ | < | ||
+ | |||
+ | Installation/ | ||
+ | ----------------------------------------- | ||
+ | cf. http:// | ||
+ | |||
+ | Nb : il faut avoir sélectionné et installé net/ssh, cf. ci-dessus | ||
+ | |||
+ | - Ajouter à W$ une variable d' | ||
+ | Clic droit sur My Computer, puis Properties/ | ||
+ | User ou System variables/ | ||
+ | User ou System variables/ | ||
+ | Cà permet de lancer une commande UNIX directement à partir d'une fenêtre dos (et non pas seulement à partir de la fenêtre cygwin) | ||
+ | - Lancer ssh-host-config et répondre de la façon suivante aux questions : | ||
+ | privilege separation > yes | ||
+ | local user > yes | ||
+ | install sshd as a service > | ||
+ | CYGWIN > | ||
+ | |||
+ | - Lancer le daemon sshd : | ||
+ | net start sshd | ||
+ | ou | ||
+ | cygrunsrv | ||
+ | |||
+ | - Stopper le daemon sshd | ||
+ | net stop sshd | ||
+ | ou | ||
+ | cygrunsrv | ||
+ | |||
+ | - Tester le fonctionnement de sshd | ||
+ | telnet 127.0.0.1 22 | ||
+ | ou | ||
+ | ssh $USERNAME@127.0.0.1 | ||
+ | à partir d'une machine distante : | ||
+ | telnet adresse_PC_W$ 22 | ||
+ | ou | ||
+ | ssh utilisateur@adresse_PC_W$ | ||
+ | |||
+ | Si ça ne fonctionne pas, voir si ce n'est pas un problème de firewall. | ||
+ | Dans le cas de Kerio : | ||
+ | Network Security/ | ||
+ | |||
+ | - ssh-user-config | ||
+ | Cette commande permet de générer facilement le couple clé privée/ | ||
+ | |||
+ | Alias | ||
+ | ----- | ||
+ | Le fichier ~.bashrc contient un ensemble d' | ||
+ | Editer le fichier et mettre les alias de son choix (alias rm'rm -i' en particulier !) | ||
+ | |||
+ | Version de cygwin installée | ||
+ | ---------------------------- | ||
+ | uname | ||
+ | cygcheck | ||
+ | |||
+ | Lancer le mode graphique | ||
+ | ------------------------ | ||
+ | - Un serveur X windows nu, avec juste une console texte | ||
+ | $ xinit & | ||
+ | Lancer ensuite le gestionnaire de fenêtres de son choix : | ||
+ | $ twm & | ||
+ | ou wmaker & | ||
+ | |||
+ | - Ou bien un serveur X windows avec un gestionnaire de fenêtres (twm est lancé par défaut) : | ||
+ | $ startx & | ||
+ | Et éventuellement une autre session X-Windows : | ||
+ | $ startx -- :1 | ||
+ | |||
+ | Changer d' | ||
+ | --------------------------------- | ||
+ | Lancer le mode graphique (twm est installé par défaut) : startx & | ||
+ | Editeur en mode graphique : nedit | ||
+ | Pour lancer windowmaker à la place de twm : | ||
+ | $ nedit / | ||
+ | faire une sauvegarde de xinitrc en xinitrc.twm | ||
+ | remplacer twm par wmaker | ||
+ | enregistrer sous le nom xinitrc | ||
+ | Relancer le mode graphique par startx. | ||
+ | |||
+ | Se connecter à un UNIX distant en mode sécurisé (texte uniquement) | ||
+ | ----------------------------- | ||
+ | $ ssh -l utilisateur nom_ou_n°IP_machine | ||
+ | ou bien : | ||
+ | $ ssh utilisateur@nom_ou_n°IP_machine | ||
+ | |||
+ | Se connecter en mode graphique sécurisé à un UNIX distant | ||
+ | ----------------------------- | ||
+ | $ ssh -X -l utilisateur nom_ou_n°IP_machine | ||
+ | ou bien : | ||
+ | $ ssh -X utilisateur@nom_ou_n°IP_machine | ||
+ | |||
+ | A partir de là, si KDE est installé sur l'Unix distant (Linux Mandrake dans mon cas) | ||
+ | on peut lancer différents programmes, par exemple : | ||
+ | $ kwrite & | ||
+ | $ konqueror & | ||
+ | $ kmail & | ||
+ | |||
+ | Toutes les étapes pour avoir en local un KDE distant | ||
+ | ---------------------------------------------------- | ||
+ | Démarrer cygwin, puis : | ||
+ | $ xinit & | ||
+ | $ ssh -X utilisateur@machine_distante & | ||
+ | $ / | ||
+ | |||
+ | Clipboard | ||
+ | --------- | ||
+ | Pour des copies entre windows et unix et vice-versa : | ||
+ | $ xwinclip & | ||
+ | Existe aussi en paramètre à passer à XWin.exe, cf. doc cygwin-xfree-ug | ||
+ | |||
+ | Configuration de la session root de KDE pour qu' | ||
+ | |||
+ | Configuration/ | ||
+ | Configuration/ | ||
+ | Configuration/ | ||
+ | |||
+ | Browsers | ||
+ | |||
+ | |||
+ | Mozilla, Thunderbird | ||
+ | |||
+ | Taper dans la ligne d' | ||
+ | about: | ||
+ | about: | ||
+ | about: | ||
+ | |||
+ | Installation/ | ||
+ | |||
+ | |||
+ | Firefox | ||
+ | ------- | ||
+ | Aucune indication incluse dans le fichier téléchargé > voir la doc sur http:// | ||
+ | |||
+ | Installation : | ||
+ | tar -xzvf firefox-1.0.installer.tar.gz | ||
+ | cd firefox-installer | ||
+ | ./ | ||
+ | et suivre les instructions qui s' | ||
+ | Pratique : mettre firefox dans la barre de tâches (drag& | ||
+ | |||
+ | Désinstallation : | ||
+ | Pas d' | ||
+ | Le profil utilisateur peut être gardé ou effacé au choix : il est dans ~/ | ||
+ | |||
+ | |||
+ | Thunderbird | ||
+ | ----------- | ||
+ | Pas d' | ||
+ | Sous root, lancer konqueror, cliquer sur le tarball (thunderbird-xxx.tar.gz) | ||
+ | Copier le répertoire thunderbird qui apparaît | ||
+ | Le coller dans (par exemple) /opt | ||
+ | Comme pour firefox ci-dessus mettre thunderbird dans la barre de tâches. | ||
+ | L' | ||
+ | |||
+ | Configuration : | ||
+ | tous les dossiers distants n' | ||
+ | |||
+ | Mozilla | ||
+ | ------- | ||
+ | cf http:// | ||
+ | Récupérer Mozilla (actuellement mozilla-i686-pc-linux-gnu-1.7.6-installer.tar.gz) | ||
+ | tar -xzvf mozilla-i686-pc-linux-gnu-1.7.6-installer.tar.gz | ||
+ | cd mozilla-isntaller | ||
+ | ./ | ||
+ | et suivre les instructions | ||
+ | |||
+ | Désinstallation : | ||
+ | Supprimer le répertoire où est installé Mozilla (par oexemple / | ||
+ | Supprimer éventuellemnt ~/.mozilla directory (profil utilisateur) | ||
+ | |||
+ | Plugins | ||
+ | |||
+ | |||
+ | Plugin java | ||
+ | ------------ | ||
+ | Télécharger le plugin sur http:// | ||
+ | L' | ||
+ | Déplacer ce répertoire dans un endroit qui convient (/opt/java/ par exemple) | ||
+ | |||
+ | Implémentations "open source" | ||
+ | ------------------------------------- | ||
+ | kaffe, japhar | ||
+ | cf. http:// | ||
+ | blackdown ? | ||
+ | |||
+ | Activation de java dans mozilla et firefox | ||
+ | ------------------------------------------ | ||
+ | D' | ||
+ | |||
+ | 1 - créer un lien soft vers le plugin ; dans le cas de jre1.5.0_02, | ||
+ | (mozilla/ | ||
+ | firefox/ | ||
+ | ~/ | ||
+ | ln -s / | ||
+ | |||
+ | 2 -Vérifier que dans la config de ces logiciels java soit autorisé : | ||
+ | Firefox : Edit/ | ||
+ | Mozilla : Edit/ | ||
+ | |||
+ | 3 - tester si ça fontionne sur : | ||
+ | http:// | ||
+ | |||
+ | NB : | ||
+ | 1 - les docs précisent qu'il faut impérativement créer un lien et non mettre une copie du plugin dans le répertoire plugins. | ||
+ | 2 - la création d'un lien par drag'n drop sous konqueror ne fonctionne pas : mozilla et firefox ne veulent plus se lancer. | ||
+ | 3 - utiliser le plugin qui se trouve dans i386/ns7 et non pas dans i386/ | ||
+ | Pour connaître la version de gcc utilisée pour compiler ces browsers, taper about: | ||
+ | 4 - La procédure ci-dessus ne fonctionne pas à tous les coups : il semble que mozilla et/ou firefox ne trouvent pas le path vers l' | ||
+ | |||
+ | |||
+ | Activation de java dans konqueror | ||
+ | --------------------------------- | ||
+ | Plus simple et plus logique que pour mozilla/ | ||
+ | |||
+ | - Settings/ | ||
+ | En bas de fenêtre, dans "Path to java executable, or ' | ||
+ | |||
+ | - Settings/ | ||
+ | indiquer le(s) répertoire(s) à scanner pour trouver le plugin java .so ad-hoc (par exemple / | ||
+ | |||
+ | |||
+ | java | ||
+ | |||
+ | Les exécutables java ne fonctionnent pas | ||
+ | ------------------------------------ | ||
+ | Définir dans ~/ | ||
+ | #JAVA | ||
+ | JAVA_HOME/ | ||
+ | export JAVA_HOME | ||
+ | PATH$PATH: | ||
+ | export PATH | ||
+ | |||
+ | Puis exécuter | ||
+ | source ~/.bashrc | ||
+ | pour que les modifications soient prises en compte. | ||
+ | |||
+ | Pour ajouter le même PATH à tous les utilisateurs | ||
+ | ---------------------------------------------- | ||
+ | / | ||
+ | / | ||
+ | Donc créer dans ce dernier les 2 scripts (rwxr-x-r root root) suivants : | ||
+ | |||
+ | jre-1.5.sh : | ||
+ | #!/bin/bash | ||
+ | JAVA_HOME"/ | ||
+ | export JAVA_HOME | ||
+ | export PATH" | ||
+ | |||
+ | jre-1-5.csh : | ||
+ | setenv JAVA_HOME "/ | ||
+ | setenv PATH " | ||
+ | |||
+ | Affecter à ces 2 fichiers les bons droits et propriétaires : | ||
+ | chmod 755 jre-1.5.* | ||
+ | chown root:root jre-1.5.* | ||
+ | |||
+ | et mettre à jour : | ||
+ | source / | ||
+ | ou ouvrir une autre session | ||
+ | |||
+ | Tester le fonctionnement des applets java : | ||
+ | ----------------------------------------- | ||
+ | http:// | ||
+ | |||
+ | Installation du SDK (j2sdk-1_4_2_07-nb-4_0-bin-linux.bin) | ||
+ | --------------------------------------------------------- | ||
+ | http:// | ||
+ | |||
+ | Exécuter : | ||
+ | ./ | ||
+ | Répondre aux questions | ||
+ | |||
+ | Ca se termine par : | ||
+ | JSE Developpement kit 1.4.2_07 installation location | ||
+ | / | ||
+ | |||
+ | To run IDE lanch: | ||
+ | / | ||
+ | |||
+ | To uninstall the IDE lanch: | ||
+ | / | ||
+ | |||
+ | To uninstall the J2SE Development Kit 1.4.2_07 launch: | ||
+ | / | ||
+ | |||
+ | Installation du SDK (j2eesdk-1_4_01_2005Q1-linux.bin) | ||
+ | ----------------------------------------------------- | ||
+ | Exécuter : | ||
+ | ./ | ||
+ | En cas de message d' | ||
+ | |||
+ | L' | ||
+ | |||
+ | -Access the About Application Server PE 8 welcome page at: | ||
+ | SUNWappserver/ | ||
+ | |||
+ | - Start the Application Server by executing: | ||
+ | SUNWappserver/ | ||
+ | |||
+ | - Start the Admin Console: | ||
+ | http:// | ||
+ | |||
+ | - Access sample applications: | ||
+ | http:// | ||
+ | |||
+ | |||
+ | PHP | ||
+ | |||
+ | |||
+ | Affichage des infos | ||
+ | ------------------- | ||
+ | PHP étant installé, l' | ||
+ | <?php phpinfo(); ?> | ||
+ | > | ||
+ | 1 - voir ci-dessus Apache " | ||
+ | 2 - mettre dans ce répertoire (ou un sous-répertoire à condition d' | ||
+ | <?php phpinfo(); ?> | ||
+ | 3 - http:// | ||
+ | et cliquer sur InfosPHP.php | ||
+ | |||
+ | |||
+ | |||
+ | Bases de données | ||
+ | //////////////// | ||
+ | |||
+ | Mysql | ||
+ | |||
+ | Doc : http:// | ||
+ | http:// | ||
+ | |||
+ | Se connecter | ||
+ | ************ | ||
+ | $ mysql -h localhost -u joe -p | ||
+ | $ mysql -p | ||
+ | NB : -h localhost et -u joe sont facultatifs : en leur absence c'est localhost et l' | ||
+ | - p pour qu'au démarrage de mysql le mot de passe soit demandé | ||
+ | |||
+ | Version, aide en ligne | ||
+ | ********************** | ||
+ | Lancer simplement mysql : | ||
+ | $ mysql | ||
+ | Welcome to the MySQL monitor. | ||
+ | Your MySQL connection id is 1 to server version: 4.1.5-gamma | ||
+ | |||
+ | Type ' | ||
+ | |||
+ | mysql> SHOW DATABASES; | ||
+ | $ mysqlshow -u root -p " | ||
+ | mysql> SHOW TABLES FROM toto; | ||
+ | |||
+ | mysql> SELECT DATABASE(); | ||
+ | mysql> USE toto Sélectionne la DB toto | ||
+ | |||
+ | mysql> CREATE DATABASE toto; | ||
+ | mysql> DESCRIBE toto; | ||
+ | mysql> DROP DATABASE toto; | ||
+ | |||
+ | Sécurité | ||
+ | ******** | ||
+ | Afficher les utilisateurs : | ||
+ | --------------------------- | ||
+ | mysql> SELECT Host, User FROM mysql.user; | ||
+ | +-----------+------+ | ||
+ | | Host | User | | ||
+ | +-----------+------+ | ||
+ | | localhost | | | ||
+ | | localhost | root | | ||
+ | +-----------+------+ | ||
+ | La ligne où user est vide correspond à un accès anonyme avec les pleins droits ! | ||
+ | > supprimer le compte anonyme : | ||
+ | -------------------------------- | ||
+ | mysql> DELETE FROM mysql.user WHERE User ''; | ||
+ | mysql> FLUSH PRIVILEGES; | ||
+ | |||
+ | Assigner un mot de passe chiffré : | ||
+ | ---------------------------------- | ||
+ | Plusieurs commandes possibles : | ||
+ | SET PASSWORD | ||
+ | mysql> | ||
+ | mysqladmin | ||
+ | $ mysqladmin -u root password " | ||
+ | $ mysqladmin -u root -h nom_ou_IP_machine password " | ||
+ | UPDATE | ||
+ | mysql> UPDATE mysql.user SET Password | ||
+ | -> WHERE User ' | ||
+ | mysql> FLUSH PRIVILEGES; | ||
+ | |||
+ | Vérifier la mise en place du mot de passe | ||
+ | ----------------------------------------- | ||
+ | mysql> SELECT Host, User, password FROM mysql.user; | ||
+ | |||
+ | Se connecter apès avoir mis un mdp | ||
+ | ---------------------------------- | ||
+ | $ mysql -h host -u user -p Se connecter apès avoir mis un mdp | ||
+ | Enter password: | ||
+ | |||
+ | Ajouter un utilisateur | ||
+ | ---------------------- | ||
+ | Utilisateur pouvant se connecter à partir de localhost avec tous les droits : | ||
+ | mysql> GRANT ALL PRIVILEGES ON *.* TO ' | ||
+ | -> | ||
+ | |||
+ | Utilisateur pouvant se connecter à partir de n' | ||
+ | remplacer TO ' | ||
+ | |||
+ | Installation de phpMyAdmin | ||
+ | |||
+ | |||
+ | Voir documentation phpMyAdmin | ||
+ | |||
+ | - Récupérer la dernière version sur le site http:// | ||
+ | - Décompresser : | ||
+ | tar zxvf phpMyAdmin_x.x.x.tar.gz | ||
+ | - Mettre le dossier dans (sous) la racine du serveur web (/ | ||
+ | - Configurer (fichier config.inc.php) | ||
+ | compléter: | ||
+ | $cfg[' | ||
+ | $cfg[' | ||
+ | $cfg[' | ||
+ | |||
+ | Sécurisation | ||
+ | ------------ | ||
+ | Pour qu' | ||
+ | |||
+ | 1 - fichier config.inc.php : remplacer config par http: | ||
+ | $cfg[' | ||
+ | |||
+ | 2 - Créer un fichier de mots de passe utilisable par apache : | ||
+ | cf. documentation apache : file:/ | ||
+ | Créer le fichier de mots de passe n' | ||
+ | # mkdir / | ||
+ | Puis créer (-c) avec l' | ||
+ | # htpasswd -c / | ||
+ | répondre par le mot de passe à utiliser pour root | ||
+ | (NB : pour que le nouvel utilisateur soit pris en compte par apache il est nécessaire de redémarrer apache (service httpd restart). Ici ce n'est pas utile : il sera redémarré au point 4 | ||
+ | Pour ajouter un nouvel utilisateur, | ||
+ | |||
+ | 3 - Indiquer à apache où se trouve ce fichier de mots de passe : | ||
+ | Dans le fichier de configuration d' | ||
+ | |||
+ | # Each directory to which Apache has access, can be configured with respect | ||
+ | # to which services and features are allowed and/or disabled in that | ||
+ | # directory (and its subdirectories). | ||
+ | |||
+ | et sous : | ||
+ | |||
+ | #< | ||
+ | # Options -Indexes FollowSymLinks | ||
+ | # AllowOverride None | ||
+ | #</ | ||
+ | |||
+ | les directives suivantes : | ||
+ | |||
+ | < | ||
+ | AuthType Basic | ||
+ | AuthName " | ||
+ | AuthUserFile / | ||
+ | Require user root | ||
+ | </ | ||
+ | |||
+ | Explication : | ||
+ | < | ||
+ | qui contient phpMyAdmin) | ||
+ | AuthType Basic type d' | ||
+ | Basic : le mot de passe circule en clair | ||
+ | Digest : le mot de passe est transmis crypté : n'est | ||
+ | supporté que par les clients web les plus récents | ||
+ | OK avec konqueror | ||
+ | Ne fonctionne pas avec Mozilla 1.7.2 et Firefor 0.9.3 | ||
+ | AuthName " | ||
+ | AuthUserFile / | ||
+ | Require user root utilisateur autorisé | ||
+ | </ | ||
+ | |||
+ | 4 - Relancer apache (service httpd restart) pour que les nouvelles directives soient prises en compte | ||
+ | |||
+ | 5 - Si on veut indiquer non plus un utilisateur, | ||
+ | < | ||
+ | AuthType Digest | ||
+ | AuthName " | ||
+ | AuthUserFile / | ||
+ | AuthGroupFile / | ||
+ | Require group Nom_du_groupe | ||
+ | </ | ||
+ | |||
+ | Explication : | ||
+ | AuthGroupFile / | ||
+ | où sont définis un (ou des) groupe(s) | ||
+ | |||
+ | Dans le fichier texte " | ||
+ | Nom_du_groupe: | ||
+ | |||
+ | Pour d' | ||
+ | |||
+ | Installation/ | ||
+ | |||
+ | http:// | ||
+ | http:// | ||
+ | Groupes de discussion : | ||
+ | http:// | ||
+ | |||
+ | Installer le rpm MDK | ||
+ | ******************** | ||
+ | Lors de l' | ||
+ | User: postgres | ||
+ | Home directory: / | ||
+ | Default shell: /bin/bash | ||
+ | Lui assigner un mot de passe avec les commandes sous root : | ||
+ | # userdrake | ||
+ | (si postgres n' | ||
+ | ou | ||
+ | # passwd postgres | ||
+ | |||
+ | Lancer postgresql, vérifier si postgresql est lancé : | ||
+ | ----------------------------------------------------- | ||
+ | # service postgresql status | ||
+ | postmaster (pid 4037 4036 4032) is running... | ||
+ | |||
+ | Lancer (start) ou relancer (restart) | ||
+ | # service postgresql restart | ||
+ | [ OK ] | ||
+ | Starting postgresql service: | ||
+ | |||
+ | Ou bien : | ||
+ | # / | ||
+ | |||
+ | Autre possibilité (cf. pg_ctl --help) | ||
+ | pg_ctl start -D / | ||
+ | |||
+ | NB : pour autoriser l' | ||
+ | - mettre tcpip_socket | ||
+ | - ou bien rajouter l' | ||
+ | |||
+ | Sécuriser le compte | ||
+ | ----------------------------- | ||
+ | Par défaut postgres n'a pas de mot de passe non plus au niveau de la base. Pour créer ce mot de passe : | ||
+ | # psql template1 postgres | ||
+ | ... | ||
+ | template1# SELECT * from pg_shadow ; | ||
+ | ... | ||
+ | template1# UPDATE pg_shadow SET passwd | ||
+ | |||
+ | Pour voir si le mdp a bien été entré : | ||
+ | template1# select * from pg_shadow; | ||
+ | | ||
+ | ----------+----------+-------------+----------+-----------+---------+----------+----------- | ||
+ | | ||
+ | | ||
+ | |||
+ | Attention : cette commande met tous les mots de passe à la même valeur ! | ||
+ | Utiliser plutôt : | ||
+ | template1# ALTER USER toto WITH PASSWORD ' | ||
+ | et vérifier : | ||
+ | template1# SELECT * from pg_shadow WHERE usename | ||
+ | |||
+ | Pour que le mot de passe soit inséré (et apparaisse) crypté et non pas en clair, ouvrir / | ||
+ | # - Security & Authentication - | ||
+ | mettre : | ||
+ | password_encryption | ||
+ | puis relancer postgresql | ||
+ | |||
+ | Aide en ligne psql : | ||
+ | \h | ||
+ | \h commande | ||
+ | |||
+ | Pour quitter psql : | ||
+ | template1# \q; | ||
+ | |||
+ | Créer un utilisateur | ||
+ | -------------------- | ||
+ | su postgres | ||
+ | createuser MonNom | ||
+ | Attention : le mot de passe demandé est celui de postgres dans la BD et non pas le mot de passe de l' | ||
+ | createuser ne permet pas non plus d' | ||
+ | $ psql template1 -U postgres | ||
+ | template1# ALTER USER MonNom WITH PASSWORD ' | ||
+ | et pour vérifier : | ||
+ | template1# SELECT USER MonNomU from pg_shadow ; | ||
+ | |||
+ | Vérifier où MDK a installé les fichiers de configuration de postgresql | ||
+ | ---------------------------------------------------------------------- | ||
+ | # find / -name pg_hba.* | ||
+ | / | ||
+ | / | ||
+ | |||
+ | > les fichiers de configuration sont dans / | ||
+ | |||
+ | Ou bien installer Posgresql à partir des sources | ||
+ | ************************************************ | ||
+ | Récupérer les sources sur http:// | ||
+ | Les décompresser : | ||
+ | # tar -zxvf postgresql-xxx.tar.gz | ||
+ | Les possesseurs et groupes des fichiers sont rpc:rpc !? | ||
+ | # chown -Rv root:root postgresql-xxx.tar.gz | ||
+ | |||
+ | L' | ||
+ | ./configure | ||
+ | gmake | ||
+ | su | ||
+ | gmake install | ||
+ | adduser postgres | ||
+ | mkdir / | ||
+ | chown postgres / | ||
+ | su - postgres | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Ici le programme s' | ||
+ | / | ||
+ | / | ||
+ | |||
+ | Pour pouvoir démarrer et stopper le serveur avec la commande " | ||
+ | |||
+ | Configurer postgresql | ||
+ | ********************* | ||
+ | |||
+ | Fichier / | ||
+ | -------------------------------------------------------------------------------- | ||
+ | cf.http:// | ||
+ | Pour commencer mettre des autorisations assez permissives, | ||
+ | # TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD | ||
+ | local all all trust | ||
+ | host all all 127.0.0.1 255.255.255.255 trust | ||
+ | |||
+ | ce qui signifie : | ||
+ | accès : local (à partir du PC) ou host (à partir du réseau, y compris localhost) | ||
+ | bases de données : all accès à toutes les bases de données | ||
+ | utilisateurs : all tous | ||
+ | méthode d' | ||
+ | trust : accepte tout utilisateur sans mot de passe | ||
+ | |||
+ | Puis limiter l' | ||
+ | local all truc, | ||
+ | host all truc, | ||
+ | |||
+ | soit accès permis seulement aux utilisateurs " | ||
+ | |||
+ | Fichier / | ||
+ | ------------------------------------------- | ||
+ | tcpip_socket | ||
+ | port 5432 (ou un autre port de son choix) | ||
+ | |||
+ | Après ces changements de configuration, | ||
+ | postgresql start (ou restart) | ||
+ | Ou bien : | ||
+ | pg_ctl reload | ||
+ | ou en cas d' | ||
+ | pg_ctl -D / | ||
+ | |||
+ | Quelques commandes | ||
+ | ****************** | ||
+ | Trouver le n° de version | ||
+ | ------------------------ | ||
+ | $ psql --version | ||
+ | |||
+ | Créer une base de données " | ||
+ | -------------------------------- | ||
+ | $ createdb test | ||
+ | |||
+ | Lister les BD disponibles | ||
+ | ------------------------- | ||
+ | $ psql -U NomUtilisateur -l | ||
+ | |||
+ | Installation de phpPgAdmin | ||
+ | |||
+ | Installer le rpm fourni par Mandrake est sans intérêt : préférer la dernière version disponible sur : | ||
+ | http:// | ||
+ | actuellement : phpPgAdmin-3.5.1.tar.bz2 | ||
+ | |||
+ | Décompresser : | ||
+ | $ tar -jxvf phpPgAdmin-3.5.1.tar.bz2 | ||
+ | Déplacer le répertoire créé (phpPgAdmin) vers un endroit acceptable quelconque : par exemple le rpm Mandrake installe phpPgAdmin dans la racine du serveur apache : | ||
+ | / | ||
+ | Si on l'a installé de cette façon, on le lancera donc par : | ||
+ | http:// | ||
+ | |||
+ | Dans le cas où on l'a installé "à la main" par exemple dans / | ||
+ | |||
+ | Alias /toto / | ||
+ | |||
+ | < | ||
+ | Options Indexes FollowSymLinks | ||
+ | < | ||
+ | Order deny,allow | ||
+ | Deny from all | ||
+ | Allow from localhost | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | S'y connecter avec : | ||
+ | http:// | ||
+ | Rajouter si nécessaire après "Allow from" les machines autorisées à se connecter en plus de localhost : | ||
+ | Allow from localhost 192.168.1.23 monpc.fr | ||
+ | |||
+ | knoda | ||
+ | |||
+ | www.knoda.org | ||
+ | |||
+ | 2 packages à installer : | ||
+ | - hk_classes | ||
+ | - knoda | ||
+ | Télécharger et décompresser chaque package | ||
+ | |||
+ | Installer en premier hk_classes | ||
+ | Pour que les BD postgresql, mysql, sqlite et ODBC soient reconnues il faut que les packages -devel correspondants aient été installés au préalable (avant hk_classes) | ||
+ | |||
+ | xmms | ||
+ | |||
+ | Pour accéder au menu : click droit | ||
+ | |||
+ | Le skin par défaut (noir avec boutons bleu foncé) est illisible/ | ||
+ | |||
+ | La liste des url (radios à écouter) se trouve à la fin du fichier ~/ | ||
+ | url_history_length2 | ||
+ | url_history1http:// | ||
+ | url_history2http:// | ||
+ | |||
+ | Sauvegardes | ||
+ | |||
+ | rsync | ||
+ | ----- | ||
+ | rsync -Cvaub | ||
+ | ou | ||
+ | rsync -Cvau --exclude-fromdir_exclus.lst / / | ||
+ | |||
+ | avec un fichier texte dir_exclus.lst contenant par exemple : | ||
+ | ................... | ||
+ | /proc | ||
+ | /tmp | ||
+ | /mnt | ||
+ | ................... | ||
+ | |||
+ | -C évite les fichiers inutile (*~, *.bak,core ...) | ||
+ | -a sert à passer en mode archive (conservation des droits, des liens ...) | ||
+ | -u pour transférer uniquement les fichiers nouveaux ou modifiés | ||
+ | -b fait une copies des fichiers modifiés (avec un ~, option pas toujours utile). | ||
+ | -v verbose | ||
+ | |||
+ | rsync Via SSH : | ||
+ | rsync -e ' | ||
+ | |||
+ | --delete efface les fichiers sur la destination qui ne sont pas présents sur le source | ||
+ | |||
+ | tar | ||
+ | --- | ||
+ | |||
+ | A voir : | ||
+ | - backuponcd | ||
+ | - cdbackup | ||
+ | - rsnapshot | ||
+ | - BackupPC | ||
+ | - storeBackup | ||
+ | http:// | ||
+ | - dar | ||
+ | http:// | ||
+ | - et KDar | ||
+ | http:// | ||
+ | - DrakBackup | ||
+ | - rdiff-backup | ||
+ | - bacula | ||
+ | - amanda | ||
+ | - Rsync: le meilleur des systèmes de sauvegarde | ||
+ | http:// | ||
+ | - rsync examples | ||
+ | http:// | ||
+ | - Easy Automated Snapshot-Style Backups with Linux and Rsync | ||
+ | http:// | ||
+ | Excellent ! Contient aussi des explications très claires sur le fonctionnement de | ||
+ | rsync, cron, hard links, cp | ||
+ | - dirvish | ||
+ | - La Sauvegarde sous GNU/Linux | ||
+ | http:// | ||
+ | |||
+ | - Mise en oeuvre d'un solution de clonage sur disque dur IDE externe | ||
+ | http:// | ||
+ | - Linux Backups mini-FAQ | ||
+ | http:// | ||
+ | - Backup and Restore Procedures | ||
+ | http:// | ||
+ | - The Linux System Administrator' | ||
+ | http:// | ||
+ | - Backing Up Windows Machines to a Linux Host | ||
+ | http:// | ||
+ | - Linux Complete Backup and Recovery HOWTO | ||
+ | http:// | ||
+ | - EVMS User Guide-Chapter 11. Creating snapshots | ||
+ | http:// | ||
+ | |||
+ | BUGS | ||
+ | |||
+ | |||
+ | kwrite sous MDK10 | ||
+ | ----------------- | ||
+ | Quand les utilisateurs veulent imprimer sous kwrite ils n'ont pas d' | ||
+ | Solution : modifier le fichier de configuration de kwrite (~.kde/ | ||
+ | |||
+ | KDE : "Could not find mime type application/ | ||
+ | --------------------------------------------------------- | ||
+ | Solution : supprimer le fichier octet-stream.desktop qui se trouve dans le répertoire ~/ | ||
+ | |||
+ | KDE : No write access to $HOME directory | ||
+ | KDE is unable to start | ||
+ | ---------------------------- | ||
+ | Passer en root et essayer : | ||
+ | # chown nom_utilisateur: |