====== Enumérer les extensions et leurs softs associés ====== __OS:__ Mandrake 10.0 __Commande:__ kcmshell filetypes __Action:__ ouvre une boîte de dialogue avec les extensions existantes reconnues par KDE ====== Enumérer le matériel PCI reconnnu par Linux ====== __OS:__ Mandrake 10.0 __Commande:__ lspci -v ====== Ajouter une commande dans le path ====== __OS:__ Mandrake 10.0 __Problème:__ Certaines applis s'installent sans se rajouter dans le path et ne peuvent donc être lancées en ligne de commande que depuis le dossier dans lequel elles sont physiquement. C'est le cas de firefox ou de realplayer par exemple. __Solution:__ Créer un lien virtuel dans un dossier inclus dans le path. Pour connaître ces dossier: echo $PATH ====== Afficher les quantités de mémoire vive et swap utilsées ====== __OS:__ Mandrake 10.0 __Commande:__ free -m -m affiche les valeurs en méga-octets ====== Installer un paquet téléchargé sous Ubuntu ====== __OS:__ Ubuntu (Debian) __Problème:__ Comment installer un paquet téléchargé sur le disque sous un système basé sur Debian ? __Solution:__ dpkg -i ./monPaquet En fait, apt-get est un frontend pour dpkg et ne peut pas être utilisé dans ce cas. ====== Setter les variables d'environnement (Ubuntu) ====== __OS:__ Ubuntu Warty Sous Mandrake par exemple, les variables d'environnement pour bash peuvent se setter dans le fichier ~/.bash_profile. Sous Ubuntu, les choses sont un peu différentes: ce fichier n'est pas pris en considération du tout ! On peut setter des variables dans différents endroits comme: Pour un utilisateur: ~/.bashrc De manière globale: /etc/bash.bashrc A noter que dans les deux cas, il n'est pas nécessaire d'exporter les variables avec la commande export. D'une manière générale: Les fichiers ~/.bash_profile /etc/profile sont lus lors du login. C.à.d. lorsqu'un user doit rentrer son mot de passe. Les fichiers ~/.bashrc /etc/bash.bashrc sont lus au démarrage d'une console comme Gnome-Terminal ou Konsole. (donc sans devoir rentrer un mot de passe, les fichiers profile ne sont pas pris en compte) ====== Déterminer quel process utilise (bloque) un fichier ====== __OS:__ Mandrake 10.1 __Problème:__ En voulant "démonter" ma clé USB, j'obtiens parfois le message d'erreur suivant: # umount /mnt/cleusb/ umount: /mnt/cleusb: périphérique occupé umount: /mnt/cleusb: périphérique occupé Voici comment faire pour déterminer quel process utilise encore le point de montage: __Commande:__ [root@alaxoscom.yourwebhostingmysql.com mnt]# fuser /mnt/cleusb/ /mnt/cleusb/: 4830 [root@alaxoscom.yourwebhostingmysql.com mnt]# ps -e |grep 4830 4830 ? 00:02:26 famd Le processus est donc famd (File Alteration Monitor (FAM) daemon). Il semble que cela soit un bug lié à Nautilus, famd ne libérant pas certains dossiers. ====== Déterminer quel process utilise (bloque) un port ====== __OS:__ Ubuntu 16.04 __Problème:__ Impossible de lancer un Tomcat, le port 8080 étant déjà utilisé. Mais je n'arrivais pas déterminer quel process l'occupait. Les commandes suivantes ne donnaient rien: $ lsof -i | grep 8080 $ $ ps -ef | grep java $ rodn 4682 899 0 16:09 pts/1 00:00:00 grep --color=auto java $ $ ps -ef | grep tomcat $ rodn 4699 899 0 16:09 pts/1 00:00:00 grep --color=auto tomcat $ $ sudo netstat -ap | grep 8080 $ La commande netstat suivante indiquait pourtant bien qu'un process écoutait sur le port 8080, mais n'indique pas lequel. $ netstat -tapn | grep 8080 (Tous les processus ne peuvent être identifiés, les infos sur les processus non possédés ne seront pas affichées, vous devez être root pour les voir toutes.) tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN - __Commande:__ Finalement, en lançant la même commande en root le pid du process est enfin montré: sudo netstat -tapn | grep 8080 tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 16588/VBoxHeadless ====== Créer une tâche automatique (cron) ====== __OS:__ Debian Sarge __But:__ Créer une tâche automatique, qui se répète à intervalles réguliers __Solution:__ L'outil utilisé sous Linux en général pour ceci s'appelle cron. La commande crontab -l liste les tâches cron existantes pour le user qui lance la commande. Root peut voir les tâches des autres avec: crontab -u userX -l Pour créer une nouvelle tâche, on utilise la commande: crontab -e Cette commande ouvre le fichier de config cron du user avec l'éditeur par défaut. Pour rajouter une tâche, le format est le suivant: * * * * * Command to be executed - - - - - | | | | | | | | | +----- Day of week (1-7) | | | +------- Month (1 - 12) | | +--------- Day of month (1 - 31) | +----------- Hour (0 - 23) +------------- Min (0 - 59) Donc par exemple: * 12 * * * /opt/(...)/siterefresh.sh s'éxecutera tous les jours à 12h00 (midi). __Note spécifique à Debian (et Ubuntu):__ Les tâches systèmes sont créées dans des dossiers spéciaux /etc/cron.d /etc/cron.daily /etc/cron.hourly /etc/cron.monthly /etc/cron.weekly gérés par /etc/crontab Les scripts placés dans ces dossier s'exécutent aux intervalles donnés dans ce dernier fichier. Attention: les fichiers dans ces dossiers sont lancés par run-parts qui ne prend en compte que les fichiers contenant les caractères alphanumériques, les tirets et les underscores. Un fichier contenant un '.' par exemple ne sera pas exécuté. (cf man run-parts) ====== Problème de clavier lors de la migration Ubuntu ====== __OS:__ Migration de Ubuntu Hoary vers Breezy Lors de cette migration, le clavier suisse-romand pose problème. Il n'est pas complètement reconnu, et les touches avec accents sont inversées au niveau du Shift. __Solution:__ Aller modifier directement le fichier: gedit /etc/X11/xorg.conf et remplacer Option "XkbLayout" "ch" Option "XkbOptions" "fr" par Option "XkbLayout" "ch" Option "XkbVariant" "fr" ====== Afficher la taille des partitions et leur utilisation ====== __OS:__ Linux __Commande:__ df -h -h affiche les valeurs dans un format lisible, en utilisant des unités comme MB ou GB ====== Rajouter une clé pour un dépos apt ====== __OS:__ Debian Etch __Problème:__ aptitude vérifie que les paquets sont bien issus du bon dépot au moyen de la clé publique du dépot. Dans certains cas, lors de l'ajout d'un dépot dans les sources, il est nécessaire de rajouter la clé de manière manuelle. __Solution:__ Pour cela, il faut utiliser la commande suivante: wget http://secure-testing-master.debian.net/ziyi-2005-7.asc apt-key add ziyi-2005-7.asc ====== Reconnaissance de carte graphique ATI ====== __OS:__ Ubuntu Breezy __Problème:__ Lors de la réception d'une nouvelle machine, la carte graphique ATI X600 n'était pas reconnue par Ubuntu. Gnome ne pouvait pas démarrer. __Solution:__ Les drivers pour les cartes ATI récentes ne sont pas installés de base, mais sont disponibles dans les dépots standards de Ubuntu Breezy. Pour installer les paquêts nécessaires et configurer X: apt-get install xorg-driver-fglrx apt-get install linux-restricted-modules-$(uname -r) (uname -r donne la version de son kernel) dpkg-reconfigure xserver-xorg ou aller remplacer "ati" par "fglrx" dans /etc/X11/xorg.conf Voir aussi: [[http://linuxfacile.neuf.fr/astuces/ServeurX/Driver%20Ati%20Ubuntu.htm|Drivers Ati pour Ubuntu]] et [[http://doc.ubuntu-fr.org/materiel/ati|ubuntu-fr.org]] ====== Afficher les infos du CPU ====== __OS:__ Linux __Commande:__ cat /proc/cpuinfo __Note:__ Dans le cas d'un CPU dualcore, les infos de deux CPU sont affichées. A noter que pour que cela soit le cas, le noyau doit supporter le SMP (Symetric Multi-Processors) ====== Maintenir l'heure précise grâce à NTP ====== __OS:__ Debian Etch __Problème:__ Comment maintenir l'heure de sa machine à l'heure exacte donnée par des serveurs NTP (Network Time Protocol) __Solution:__ Sous Debian Etch, les paquets nécessaires sont: aptitude install ntp-simple ntpdate ====== Afficher l'heure d'un fuseau horaire en particulier ====== __OS:__ Ubuntu / Debian __Problème:__ Comment afficher l'heure d'un autre fuseau horaire que celui de la machine ? __Solution:__ $ TZ=America/Montreal date jeudi 27 mars 2014, 10:19:53 (UTC-0400) $ __Remarque:__ Cette commande sette une variable contenant le timezone, mais uniquement pour cette commande en particulier ====== Lancer un script au boot de la machine ====== __OS:__ Debian Etch __Problème:__ Comment démarrer un script automatiquement lorsque la machine démarre ? __Solution:__ Placer son script dans: /etc/init.d/ Puis lancer la commande: update-rc.d monscript defaults update-rc.d ... defaults crée des liens symboliques dans les dossiers * /etc/rc0.d/ * /etc/rc1.d/ * /etc/rc6.d/ * /etc/rc2.d/ * /etc/rc3.d/ * /etc/rc4.d/ * /etc/rc5.d/ Ces liens sont lus au démarrage ou à l'arrêt de la machine, en fonction du niveau de boot. Si le script contient des sections start et stop, celles-ci sont lancées lors du boot et de l'extinction de la machine respectivement. Ex: case "$1" in start) echo "Starting script blah " echo "Could do more here" ;; stop) echo "Stopping script blah" echo "Could do more here" ;; *) echo "Usage: /etc/init.d/blah {start|stop}" exit 1 ;; esac