Outils pour utilisateurs

Outils du site


tips_informatiques:linux:shell:systeme:systeme

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: Drivers Ati pour Ubuntu et 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
tips_informatiques/linux/shell/systeme/systeme.txt · Dernière modification: 2016/09/05 16:13 par nico