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/