Commandes usuelles sous Linux: mes notes

Temps de lecture approximatif : 12 minutes

+>>>>>>>>>>>>>>>>>>>>>+
| GESTION DES PAQUETS |
+>>>>>>>>>>>>>>>>>>>>>+

Commande: « DPKG »
************************

1. Trouver dans quel paquet se situe une commande

root@stratus:/data/common# dpkg -S smbmount
smbfs: /usr/share/man/man8/smbmount.8.gz
smbfs: /usr/bin/smbmount
samba-doc: /usr/share/doc/samba-doc/htmldocs/manpages/smbmount.8.html
root@stratus:/data/common#

 

Commande: « APT »
*********************

1. Reinstaller un paquage:

apt-get install --reinstall nom_paquet

 

Commande: « RPM »
*********************

1. Lister les paquets installes:

rpm -qa
         ou
rpm -qa |grep as    ;recherchera tous ce qui contient "as"

 

Désinstaller un paquet sans supprimer les fichiers de conf
***************************************************************

#apt-get remove nom_paquet

 

Désinstaller et supprimer les fichiers de conf d’un paquet.
***************************************************************

#dpkg --purge nom_paquet

Exemple:

root@intern:/etc/nagios-plugins/config# dpkg --purge nagios-nrpe-plugin nagios-nrpe-server nagios-plugins-basic nagios-plugins-standard
 (Reading database ... 26616 files and directories currently installed.)
 Removing nagios-nrpe-plugin ...
 Purging configuration files for nagios-nrpe-plugin ...
 Removing nagios-nrpe-server ...
 Purging configuration files for nagios-nrpe-server ...
 dpkg - warning: while removing nagios-nrpe-server, directory `/etc/nagios' not empty so not removed.
 Removing nagios-plugins-basic ...
 Purging configuration files for nagios-plugins-basic ...
 Removing nagios-plugins-standard ...
 Purging configuration files for nagios-plugins-standard ...
 root@intern:/etc/nagios-plugins/config#

 

Backuper et restaurer ses paquets Debian:
***********************************************

Si vous avez besoin de réinstaller votre distribution Debian / Ubuntu, de la dupliquer sur un autre poste, ou tout
simplement de sauvegarder la liste des paquets que vous avez savamment installés, voici une methode rapide et propre :

— sur la machine source, tapez :

#dpkg --get-selections > packages.txt

Votre fichier « packages.txt » contient désormais la liste des paquets installés sur votre systeme,
transférez le fichier sur votre machine cible.

— sur la machine cible, tapez :

#cat packages.txt | dpkg --set-selections

Puis mettez à niveau les packages de la machine cible :

#apt-get -u dselect-upgrade

 

Chercher un paquet sur les dépots (voir fichier « sources.list »)
*******************************************************************

# apt-cache search nom_paquet

 

Cette commande va plus loin que la commande « aptitude search » car elle permet de chercher aussi dans les descriptions.

 

Reconfiguration d’un paquet
********************************

#dpkg -reconfigure nom_du_paquet

 

Installation d’un paquet après avoir téléchargé les sources.
*****************************************************************

– Telecharger le paquet : —–>#wget adresse_source_paquet
– Décompresser le paquet : —–>#tar zxvf nom_paquet
– Se mettre dans le dossier décompressé:
– Lire la documentation accompagnant le paquet : ( INSTALL,etc…)
– Expli de certaines commandes « classiques »:

./configure = prépare le paquet en fonction de l’environement (permet de détecter les erreurs de dépendances,etc…)
Le fichier « configure » exécuté nous indique ce qu’il fait ! Après la configuration un fichier « configure.log » est créé dans le dossier.

./make = compile les éléments du paquet afin de le rendre utilisable par le systeme (création du binaire, etc).

./make install = Copie des éléments composants le paquet sur le systeme.
Pour ces deux derniers éléments, le fichier « Makefile » indique ce qui va être fait et les options que l’on peut donner à la commande « make » pour l’installation du paquet.

 

+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+
| ETAPE DE DEMARRAGE DE LA MACHINE |
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+

Le fichier /etc/rc.local:
*************************

Ce fichier est utilisé pour lancer des programmmes au démarrage du serveur, juste après les runlevels !
exemple de fichier:

# --- Lancement de mon firewall...
/etc/init.d/my_iptables_rules start
# --- Lancement de mediatomb...
/etc/init.d/mediatomb start
# --- Montage du module nfs...
modprobe nfs
exit 0

 

Les runlevels:
***************

Exemple:

1. Ajouter apache2 au runlevel par défaut:

update-rc.d apache2 defaults

 

2. Enlever:

srvhome:~# update-rc.d -f mediatomb remove
Removing any system startup links for /etc/init.d/mediatomb ...
/etc/rc0.d/K20mediatomb
/etc/rc1.d/K20mediatomb
/etc/rc2.d/S20mediatomb
/etc/rc3.d/S20mediatomb
/etc/rc4.d/S20mediatomb
/etc/rc5.d/S20mediatomb
/etc/rc6.d/K20mediatomb
srvhome:~#

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

La suite à la page suivante 😉

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+>>>>>>>>>>>>>>>>>>>>>+
| GESTION DES MODULES |
+>>>>>>>>>>>>>>>>>>>>>+

1. Pour lister les modules activés

#lsmod

 

2. Pour les désactiver

#rmmod nom_module

 

3. Pour les réactiver

#modprob nom_module

 

+>>>>>>>>>>>>>>>>>+
| TACHES DIVERSES |
+>>>>>>>>>>>>>>>>>+

Exécuter et surveiller le résultat d’une commande tous les « x » temps
**************************************************************************

# watch -n 10 top

-n = valeur exprime en seconde

 

Envoyer du mail en ligne de commande:
*******************************************

1. Avec la commande mail:
Envoi d’un mail avec le contenu d’un fichier comme corps du mail:

mail -s "test from ica" moi@mon-entreprise.com < /etc/ssmtp/revaliases

 

2. Avec la commande Mutt:

echo "Bonjour, Je souhaiterai intervenir demain matin vers 9h00 sur le poste de Paolo. Merci de me confimer que le poste sera bien disponible. Cordiales salutations" | /usr/bin/mutt -s "intervention demain par Mon-Entreprise..." -x toto.dupont@mondomaine.com

 

Pour un paramétrage plus minutieux, il faut editer le « .muttrc » comme ci-dessous (sous le profil de l’utilisateur ): Ex dans /home/claude/.muttrc :

set imap_user="claude"
set imap_pass="XXXXXXXXXX"
set mail_check=90
set timeout=15
# source ~/.muttrc.local
#source ~/.muttrc.cb
set signature="~/.signature"
set print_command="muttprint"
set pager_index_lines=10
set reply_regexp="^(re([\[0-9\]+])*|aw|tr|r)[ \t]*:[ \t]*"
set move=no
unmy_hdr Reply-To
my_hdr From: Claude Personne <claude@mon-entreprise.com>
my_hdr Organization: Mon-Entreprise Sarl - Professionels du Logiciel Libre
set signature="~/.signature.mon-entreprise"
set pgp_sign_as="claude@mon-entreprise.com"
set spoolfile=imap://kenny.lan.mon-entreprise.com/
set folder=imap://kenny.lan.mon-entreprise.com/

 

Gestion d’images et videos:
*******************************

1. Convertir des images en « .gif »:

convert -delay 300 -loop 0 openfire_screenshot_* anim_openfire.gif

2. Enregistrer une video de tout ce qui ce passe à l’écran

monuser@monposte:/home/moi# apt-get install byzanz
monuser@monposte:/home/moi# byzanz-record --duration=60 /home/moi/Desktop/capture_terminaux.gif

 

Autre solution: Si l’on souhaite enregistrer qu’une seul fenêtre de notre écran:

1) Repérer l’ID de la fenêtre:

monuser@monposte:~/Desktop$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x4000046 "VNC: WKS001"
Absolute upper-left X:  213
Absolute upper-left Y:  84
Relative upper-left X:  0
Relative upper-left Y:  0
Width: 1024
Height: 768
Depth: 24
Visual: 0x21
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: no
Corners:  +213+84  -203+84  -203-48  +213-48
-geometry 1024x768+207-42

2) Lancer l’enregistrement de la fenêtre…

monuser@monposte:~/Desktop$ recordmydesktop --windowid 0x4000046

 

Autre commande:

monuser@monposte:~$ byzanz-record --duration=300 --width=1024 --height=768 --x=213 --y=84 --delay=3 /home/monuser/Desktop/capture_pldeploy_1.gif

 

Afficher un logo lors de l’ouverture d’un shell:
***************************************************

— Afficher un magnifique logo quand vous vous connectez a votre machine avec Linuxlogo:

apt-get install linuxlogo

— Paramétrer ensuite le logo voulu : Pour les essayer taper cette commande:

linux_logo -L 1

« 1 » indique le numero du logo (de base il y en a 4 !)

— Dés que nous avons fais notre choix: éditer le fichier « /etc/linux_logo.conf » et mettre le logo souhaité:

Exemple de fichier:

-L 1
# /etc/linux_logo.conf
#
# This conf file controls linux_logo. Place your command-line options
# for linux_logo on the first line of this file. Users may use a
# ~/.linux_logo file which will over-ride this file.
#
# The following logos are compiled in to the Debian version of linux_logo:
#
#       Num     Type    Ascii   Description
#       1       Banner  Yes     The Default Banner Logos
#       2       Classic Yes     The Classic Logos
#       3       Banner  Yes     Debian Banner (white)
#       4       Classic Yes     Debian Swirl Logos
#
# See the man page or the output of linux_logo -h for a complete
# list a command-line options.

 

— Ensuite il faut indiquer de prendre en compte linuxlogo au demarrage du shell suivant le
profil de l’utilisateur: editer le fichier « /etc/profile »:
Exemple de fichier:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ "`id -u`" -eq 0 ]; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"
fi
if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ '
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
export PATH
umask 022
linux_logo

Ne pas oublier ensuite de redémarrer le shell !

 

Généré un mot de passe:
****************************

pwgen

 

Se connecter en ssh sur port different
******************************************

moi@monserveur:~$ ssh monuser@monserveur.mondomain.fr -p 7420
The authenticity of host '[monserveur.mondomain.fr]:7420 ([176.112.232.251]:7420)' can't be established.
ECDSA key fingerprint is 7b:24:de:21:22:0d:28:07:5e:8e:fd:5f:0i:2b:c5:14.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[monserveur.mondomain.fr]:7420,[176.112.232.251]:7420' (ECDSA) to the list of known hosts.
monuser@monserveur.mondomain.fr's password:
Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.2.0-40-generic x86_64) * Documentation:  https://help.ubuntu.com/ 45 packages can be updated.
25 updates are security updates. *** /dev/sda1 will be checked for errors at next reboot *** Last login: Wed Dec  4 23:53:00 2013 from estaque.local
monuser@monbuntu:~$

 

Utiliser un tunel ssh entre 4 machines:
*******************************************
Exemple:

PC_local-----L1-----> serveur_1 (monserveur) -----L2-----> serveur_2 (serveur mail) -----L3-----> PC_distant (nommé bleu)
 |                                                       |
 |(--------------->----------VNC--------------->---------|

L1-L2 (à taper depuis PC_local) = ssh -L 9500:mail.monentreprise.com:5900 root@monserveur

L2-L3 (à taper depuis monserveur) = ssh -R 5900:bleu.lan.monentreprise.com:5900 root@mail.monentreprise.com

VNC (à taper depuis PC_local) = xvncviewer localhost:9500

 

Désinstaller un paquet compilé manuellement:
***************************************************

make uninstall ; à faire à l’endroit où se trouve les sources du paquet !

 

Connaître les programmes à l’écoute:
*****************************************

root@bali:/var/log/today/bali# netstat -pln 
                    ou
root@bali:/var/log/today/bali# netstat -lp
Active Internet connections (only servers)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
 tcp        0      0 bali.monclient.c:imaps *:*                     LISTEN     2737/inetd
 tcp        0      0 bali.monclient.ch:ldap *:*                     LISTEN     8261/slapd
 tcp        0      0 bali.monclient.c:10024 *:*                     LISTEN     2623/amavisd (maste
 tcp        0      0 bali.monclient.c:10025 *:*                     LISTEN     22159/perl
 tcp        0      0 bali.monclient.c:10026 *:*                     LISTEN     28195/master
 tcp        0      0 bali.monclient.c:mysql *:*                     LISTEN     15815/mysqld
 ...
 ...
 Active UNIX domain sockets (only servers)
 Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path
 unix  2      [ ACC ]     STREAM     LISTENING     83551599 28195/master        public/cleanup
 unix  2      [ ACC ]     STREAM     LISTENING     83551606 28195/master        private/rewrite
 unix  2      [ ACC ]     STREAM     LISTENING     83551610 28195/master        private/bounce
 unix  2      [ ACC ]     STREAM     LISTENING     83551614 28195/master        private/defer
 unix  2      [ ACC ]     STREAM     LISTENING     83551618 28195/master        private/trace
 ...
 ...

 

— Infos sur les connexions internet:

netstat -vatnp

-t = sur les ports « tcp »

 

Connaître le chemin d’une commande
******************************************

#which nom_commande
           Exemple:
root@hulk:~# which mail
/usr/bin/mail

 

Exécuter une commande en regardant ce qui ce passe:
***********************************************************

#bash -x /etc/init.d/snmpd start

 

Démarrer une machine a distance
*************************************

Exemple:

ruche1 [SECOND]:~# etherwake -D -i ethlan 00:0E:A6:1F:15:D0
The target station address is 0:e:a6:1f:15:d0.
Packet is  00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 08 42 ff ff ff ff ff ff 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0 00 0e a6 1f 15 d0.
Sendto worked ! 116.
ruche1 [SECOND]:~#

 

Copier une table de partition d’un disque sur un autre
***********************************************************

Depuis la machine source:
———————————

glycine [PRIM]:~# sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start=       63, size= 20482812, Id=fd, bootable
/dev/sda2 : start= 20482875, size=292093830, Id=fd
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0
glycine [PRIM]:~#

Sur la machine cible
————————-

monserveur [SEC]:~# cat glycine_sda_partition_table.out | sfdisk /dev/sda
monserveur [SEC]:~#

 

Copier le contenu exacte d’un disque (copie bloc-a-bloc) sur un autre
***************************************************************************

root@mon-PC-TOSH:/home/moi# dd if=/dev/sdb | pv | dd of=/dev/sdc bs=16M
7,62GO 0:34:02 [3,82MB/s]
[
<=>                        ]15974400+0 enregistrements lus
15974400+0 enregistrements écrits
8178892800 octets (8,2 GB) copiés, 2042,13 s, 4,0 MB/s
0+161461 enregistrements lus
0+161461 enregistrements écrits
8178892800 octets (8,2 GB) copiés, 2060,9 s, 4,0 MB/s root@mon-PC-TOSH:/home/moi#

 

Commande Shell (boucle for) pour operations sur fichiers ou dossiers
********************************************************************

1. Connaitre la taille du Trash des utilisateurs:

cd /data/export/home/; for user in *; do echo $user; du -sh /data/export/home/$user/.local/share/Trash/ >> /tmp/cmd.out; done

 

2. Supprimer les fichiers du Trash des utilisateurs:

cd /data/export/archives/old_home/; for user in *; do echo $user; du -sh /data/export/archives/old_home/$user/.local/share/Trash/ >> /tmp/cmd.out; rm -rf /data/export/archives/old_home/$user/.local/share/Trash/files/*; rm -rf /data/export/archives/old_home/$user/.local/share/Trash/info/*; du -sh /data/export/archives/old_home/$user/.local/share/Trash/ >> /tmp/cmd.out; done

 

3. Recherche d’un fichier dans chaque dossier présent dans un répertoire:

for name in $(ls); do find /home/$name/.mozilla/firefox/ -name .parentlock >> /tmp/essai2.txt; done

 

4. Montage d’un périphérique via l’USB :

Lorsque l’on insert un périphérique dans le port USB,le montage s’effectue par le HAL et se fait dans /media/.
On peut voir les périphériques montés par HAL dans « /media/.hal-mtab »

 

Modification du prompt
***************************

Exemple d’édition du « .bashrc »

DRBD=`egrep 1: /proc/drbd | awk -F : '{print $4}' | awk -F / '{print $1}'`
if [ "$DRBD" == "Primary" ];
then
DRBD="PRIM"
else
DRBD="SECOND"
fi
export PS1='\h [$DRBD]:\w\$ '

 

Borne internet Linux
************************

Modification du réglage de Firefox
——————————————–

Editer /var/cache/home/kiosk/.mozilla/firefox/5thu03fj.default/prefs.js et modifier la ligne

...
user_pref("browser.startup.homepage", "http://intranet.monentreprise.com/intranet | http://www.google.com");

 

Configuration d’un routeur en mode « routing » chez le provider VTX (Exemple du Zyxel Prestige 600)
*************************************************************************************************

Paramètre WAN

- Name: MyISP
- Mode: Routing
- Encapsulation = PPPoE
- Multiplex = LLC
- Virtual Circuit ID
VPI = 8
VCI = 35
- ATM QOS Type = CBR
- Service name = VTX
- User name = <le nom utilisateur fourni par le FAI>
- Password = <Le mot de passe fourni par le FAI>
Configuration d'un routeur en mode "Bridge" (connexion au FAI fait par le service PPPoE du Firewall)
chez le provider VTX (Exemple du Zyxel Prestige 600)

Paramètre WAN

- Encapsulation = RFC 1483
- Multiplex = LLC
- Virtual Circuit ID
VPI = 8
VCI = 35

 

Imprimer un fichier en mode « brochure » en ligne de commande
********************************************************************

a2ps summary_fh_only

 

+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+
| Erreurs liees a l’execution de commandes |
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>+

Erreur « passwd »
*******************

— Erreur:

root@nimbo:~# passwd root
New password:
Re-enter new password:
LDAP password information update failed: Unknown error
attribute 'userPassword' not allowed
passwd : Permission denied
passwd: password unchanged
root@nimbo:~#

Une erreur lié à LDAP survient !

— Solutions:

Editer le fichier « /etc/pam.d/common-password » et commenter la ligne:

....
#password   sufficient   pam_ldap.so

 

Si cela ne suffit pas, commenter aussi dans les fichiers « /etc/libnss-ldap.conf » et « /etc/nsswitch.conf ».

 

Erreur lors d’une prise en main a distance avec xvncviewer:
*****************************************************************

— Erreur « Rect too big »:

moi@estaque:~$ xvncviewer localhost:9500
VNC Viewer Free Edition 4.1.1 for X - built Apr  9 2010 15:52:37
 Copyright (C) 2002-2005 RealVNC Ltd.
 See http://www.realvnc.com for information on VNC.
Wed Jun 22 11:24:09 2011
 CConn:       connected to host localhost port 9500
 CConnection: Server supports RFB protocol version 3.8
 CConnection: Using RFB protocol version 3.8
 TXImage:     Using default colormap and visual, TrueColor, depth 24.
 CConn:       Using pixel format depth 6 (8bpp) rgb222
 CConn:       Using ZRLE encoding
Wed Jun 22 11:24:29 2011
 CConn:       Throughput 1020 kbit/s - changing to full colour
 CConn:       Using pixel format depth 24 (32bpp) little-endian rgb888
 Rect too big: 12330x16640 at 45056,16320 exceeds 1024x768
 main:        Rect too big

 

— Solutions:

moi@estaque:~$ xvncviewer localhost:9500 -AutoSelect=0

 


“La connaissance a plus de valeur et s’accroît rapidement lorsqu’elle est partagée et accessible librement…”

Ce document est publié sous licence Creative Commons
Attribution, Partage à l’identique, Contexte non commercial 3.0 : http://creativecommons.org/licenses/by-nc/3.0/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.