Memo Check-List Reseau IP

 Memo  Commentaires fermés
mar 082006
 

Un problème réseau ? pas ce connexion ? Voici les commandes de diagnostics à utiliser, dans l’ordre avant de porter plainte

$ ping yahoo.com
teste la connexion Internet

$ traceroute yahoo.com
trace les paquets IP

$ ifconfig
affiche la configuration de la machine

$ route -n
affiche la configuration de routage

$ dig [@dns-server.com] host.dom [{a|mx|any}] |less
affiche les enregistrements DNS de host.dom
sur dns-server.com pour un enregistrement a|mx|any

$ ichains -L -n |less
affiche le filtre de paquets (noyau linux 2.2)

$ iptables -L -n |less
affiche le filtre de paquets (noyau linux 2.4)

$ netstat -a
recherche tous les ports ouverts

$ netstat -l --inet
recherche tous les ports en écoute

$ netstat -ln --tcp
recherche tous les ports tcp en écoute (affichage numérique)

Mirroir dépot Debian

 Technologic  Commentaires fermés
déc 142005
 

J’ai une gros serveur avec 1.5To pour jouer, j’ai des lames IBM bladecenter à mettre à jour régulièrement. J’ai donc besoin de créé un déport debian interne à mon réseau.

Sur mon gros serveur

En premier installer debmirror


apt-get install debmirror

Puis adapter ce script a votre serveur. Le répertoire /space/debmirror/debian étant ou je stock le mirroir. Attention 10Go de donnée.


#Miroir principal
debmirror --progress -m --passive -h ftp.fr.debian.org -e http -d sarge --nosource --getcontents --ignore-release-gpg /space/debmirror/debian

#Miroir non-US
debmirror /space/debmirror/debian-non-US/ -m --passive -e ftp --progress --nosource -h ftp.fr.debian.org --root=debian-non-US -d sarge/non-US --getcontents --ignore-release-gpg --section=main,contrib,non-free

#Miroir Security
debmirror --progress -m -h security.debian.org -e http -d sarge/updates --root=debian-security --section=main,contrib,non-free --nosource --ignore-release-gpg /space/debmirror/debian-security/

Pour utiliser l’accès HTTP au miroir Debian local, il faut installer un serveur Web et créer un lien symbolique vers le répertoire local où vous avez placé le miroir, le répertoire /space/debmirror/debian étant ou je stock le mirroir :


apt-get install apache2
ln -s /space/debmirror /var/www/debmirror

Sur les serveurs clients

Puis changer votre /etc/apt/source.list] de vos serveurs à partir de l’exemple suivant :


deb http://gros-serveur/debmirror/debian sarge main contrib non-free
deb http://gros-serveur/debmirror/debian-non-US sarge/non-US main contrib non-free
deb http://gros-serveur/debmirror/debian-security sarge/updates main contrib non-free

Et voila.

Backup avec Unison et ssh

 Technologic  Commentaires fermés
août 082005
 

Unison

A la rechercher d’un solution souple et adaptable pour éffectuer des sauvegardes de donnée de station de travail et de serveur sur un gros serveur de fichier distant avec une grappe raid6 de 1,2 To (8 disques)

Et d’un coup d’apt-get j’ai trouvé : UNISON

Le man unison donne cette brève description :

« a file-synchronization tool for Unix and Windows »

Toutes mes informations sont sur le site web de unisons : cliquez ici Il y a entre autre le User Manual and Reference qu’il est indispensable de lire. Il debute par quelque exercises facile pour comprend le principe de base. Faite vos test dans un coin pour mieux appréhender l’outil.

Installation Linux Debian

L’installation sous debian est toujours aussi facile :

apt-get install unison

Installation sous Windows XP

Il y a different binaire disponible sur le site de UNISON en dowload mais je recommande de prendre la version stable en ligne de commande, facile à installer et a utliser en batch avec l’ordonateur de tache.

Comme cette version porte le nom de unison.win32-textui.exe je vous recommende de le renomer en unison.exe et de placer dans c :/windows/system32/ afin qu’il soit disponible dans le path.

Installation sous Aix

Unison est disponible sous IBM Aix également, vous pouvez le télécharger sur la page bullfreeware.com. Les intructions d’installation via smitty sont disponible sur le même site ici .

Première utilisation

Simple comme bonjour si vous avez au moins regardé le User Manual and Reference qu’il est indispensable de lire.

unison dir1 dir2

Par defaut unison travail en mode interactif. Il va donc prépater une liste des fichier et repertoire présent dans dir1 avec leur attribues (date, taille). Puis vous demander pour chacun des differences avec dir2 vous demander la marche a suivre.

Par exemple pour recopier le fichier file-exemple de dir1 a dir2 voici le dialogue :


/dir1 /dir2
new file-exemple ----> / [f] f

la commande f pour flush indique de procéder

A la suite de cela il vous demander de valider la globalité de la synchronisation, repondez y.


Proceed with propagating updates? []

NOTE : Danger Attention a l’ordre de présentation de repertoire à synchroniser ! Présenter dir2 avant dir1 implique que c’est le repertoire dir2 qui est le référent. si celuis ci est vide, unison supprimera tout de dir1.

Regarde bien avant de valider.


/dir2 /dir1
----> delete file-exemple / [f] f

Methode : De disque a disque

Le plus facile est de faire une synchronisation de disque a disque sur un même machine. Il est possible de le faire au travers d’un montage nfs également.

Voici deux exemples de script à placer dans la crontab ou dans l’ordonateur de tache.

Sous linux avec NFS


#!/bin/sh

/usr/bin/unison /var/lib -path=mysql /mnt/serveur/host/ -batch -force /var/lib
/usr/bin/unison /var -path=www /mnt/serveur/host/ -batch

Ici en deux lignes je sauvegarde :
- mes bases de données présente dans /var/lib/mysql
- mon site web dans /var/lib/www

Attention j’ai pris sois de monter un partage nfs du serveur serveur dans /mnt/serveur. Pour cela ajouter la ligne suivante à /etc/fstab et lancer la commande commande mount -a :

serveur.karlesnine.com:/partagenfs /mnt/serveur nfs defaults 0 0

Les options utilisées :
- -patch=mysql pour le prendre en compte qu’un repertoire ou fichier dans un racine pouvant en présenter plusieur comme dans le cas de /var/lib.
- -force /var/lib oblige unison a synchroniser dans un seul sens. ici ne prenant en compte que les modifications local force /var/lib et les imposant sur le partage nfs.
- -batch mode batch, toute les modifications sont valider par defaut il n’y a donc plus de question.

Sous windows

Sous winwows il est possible de faire de même via un partage de fichier smb / samba préalablement activé. Je ne detaille pas ici cette manipulation propre a windows.


unison "C:\Documents and Settings\Nat\Bureau" "Z:\Nat\Bureau" -batch -force "C:\Documents and Settings\Nat\Bureau"

unison "C:\Documents and Settings\Nat\Mes documents" "Z:\Nat\Mes documents" -batch -force "C:\Documents and Settings\Nat\Mes documents"

unison "C:\Documents and Settings\Nat\Application Data\Thunderbird" "Z:\Nat\Thunderbird" -batch -force "C:\Documents and Settings\Nat\Application Data\Thunderbird"

Sous windows la syntaxe reste la même seul change la présentation des chemins de répertoire.
Cependant faire attention aux doubles cotes.

Une doc sur unison et windows

http://demas.free.fr/HowTo/unison/#_Toc32303312

Et avec ssh ?

Sauvegarder via un connexion ssh offre l’avantage de ne pas utiliser de nfs et donc d’administrer des montages non sécurisés et donc l’utilisation d’un tunnel crypté avec identification par clef.

Pas de NFS pour eviter :
- les access root sur un fileserveur distant
- les problèmes de montage
- la simple indication donner parla présence ou le parcoure d’une arborescence
- Palier à la faible sécurité de nfs V3.

Ssh pour :
- Avoir des connexions ponctuelles, automatisées et masquées
- Limite les droits de connexion
- Crypter les tunnels de connexion.
- Avoir une compression minimum du transfert de donnée
- Pouvoir révoquer les droits de connexion de façon centralisé

Unison pour :
- La synchronisation bi-directionnel
- Le filtrage sur les noms de fichiers
- L’intégration avec ssh

Sous Linux via SSH

Serveur de fichier

Sur le serveur de fichier copier la cléf ssh publique créé spécialement pour cette connexion de backup en ajoutant l’option no-pty dans le fichier $HOME/.ssh/authorized_keys du compte choisi pour recevoir la connexion . Ceci pour bloquer l’ouverture d’un shell (apportant un petit plus de sécurité) comme dans cette exemple :


no-pty ssh-dss AAAAB3NzaC...../ /...qxX/27ZZ9X5vAVA== backup

Attention a bien choisir le compte utilisé et a configurer les droit d’écriture sur l’arborescence de destination choisie.
Dans mon architecture j’ai pris le compte admin qui n’est qu’un simple compte utilisateur lamba.

Serveur client

Ajouter dans le répertoire .ssh du compte servant à faire le backup, ici root pour parcourir l’arborescence quelque soit le propriétaire des répertoires, le fichier de configuration particulier nommé config suivant


Host backup
Compression yes
ForwardAgent no
Cipher blowfish
User admin
IdentityFile ~/.ssh/backup
HostName serveur.karlesnine.com

Ce fichier apporte l’utilisation d’un alias backup pour un ensemble de paramètres. En voici l’explication dans l’ordre :
- La compression
- Le blocage du forward de clé
- Une cryptographie legère blowfish
- Le compte utilisateur cible.
- la définition de la clé
- Le serveur de destination

Je ne peux que vous conseillé de vous reporter au site offichier Openssh pour plus de documentation.

Unison

La configuration de unison ce fait avec un fichier default.prf placé dans le répertoire $HOME/.unison du compte servant à faire le backup.


# Unison preferences file
ignore = Name {core,*.pyc,*.dat,*.xcu, *.dvi, *.log, *.pid, *.out, unison.log}
ignore = Path .unison
ignore = Name toto
ignore = Name tutu
ignore = Name tmp
ignore = Name temp
logfile = /var/log/unison.log

Ce fichier de configuration apporte le filtrage sur différent nom de fichier qu’il est trop difficile à sauvegarder ou inutile.
- ignore = Name pour exclure de la synchronisation des fichiers trop souvent modifiés ou volumineux.
- ignore = Path .unison pour le pas synchroniser le repertoire de unison présent dans le compte utilisateur qui lance la synchorisation. En effet unison stock ici ces tables de mise à jour qu’il modifie durant chaque synchronisation.
- Logfile Pour que unison sauvegarde les log ailleur que dans l’environement utilisateur.

Shell script linux de backup

Un petit shell script pour effectuer le backup


#!/bin/sh
#
# Backup avec Unison
# http://www.cis.upenn.edu/~bcpierce/unison/
# Charles-Christian CROIX
# 15/01/2005
# 15/07/2005

UNISON="/usr/bin/unison
MYSQLDUMP="/usr/bin/mysqldump"

$UNISON /etc ssh://backup//home/backupbyhost/$HOSTNAME/etc -silent -backups -maxbackups 3 -batch -force /etc
$UNISON /root ssh://backup//home/backupbyhost/$HOSTNAME/root -silent -backups -maxbackups 3 -batch -force /root

$MYSQLDUMP -u root --all-databases | gzip > /var/lib/mysql/dump/FullDatabasesBackup_$HOSTNAME.sql.gz
$UNISON /var/lib/mysql/dump ssh://backup//home/backupbyhost/$HOSTNAME/var/lib/mysql/dump/ -silent -batch -force /var/lib/mysql/dump

cat /var/log/unison.log | mail admin@votredomaine.fr -s "[$HOSTNAME] Backup"
cat /dev/null > /var/log/unison.log

Option de unison :
- ssh ://backup//home/backupbyhost/$HOSTNAME/etc dans cette ligne nous voyons l’alias ssh backup d’utilisé.
- -silent pour eviter que le cron utiliser pour lancer ce script ne vous spam
- -batch pour eviter l’interactivité
- -force pour forcer la mise à jour du serveur de backup même si celuis ci semble être plus récent.
- -backups pour demander de sauvegarder la version précédente d’un fichier devant être synchronisé avant son écrasement. Sur le serveur distant un fichier test.txt sera ainsi recopier en .test.txt.0.unison.bak avant que la nouvelle version de test.txt ne soit écrite.
- -maxbackups 3 Nombre machimum de sauvegarde avec l’option -backups. Ici trois version comme dans cette exemple : .test.txt.0.unison.bak .test.txt.1.unison.bak .test.txt.2.unison.bak

Concernant l’utilisation de mysqldump :
Dans cette exemple j’ai fait le choix d’extraire l’intégralité des informations des bases de données (data et structure) dans un fichier .sql que le gzip par la suite. C’est ce fichier qui est placé dans un répertoire devant être synchronisé.

Plus facilement il est possible de sauvegarder l’arborescence de mysql en entier afin de disposer des fichiers base par base et table par table. Attention de stoper mysql si besoin pour acceder au fichier en dehors de toute écriture.

Shell script aix de backup

voici le même script que précédement mais adapté a l’environnement Aix qui ne comporte pas les mêmes variables d’environement ($HOSTNAME) ni les même emplacements pour unison. En outre la commande Mail ne répond pas à la même syntaxe.


#!/bin/sh
#
# Backup avec Unison
# http://www.cis.upenn.edu/~bcpierce/unison/
# Charles-Christian CROIX
# 15/01/2005
# 15/07/2005
# 04/08/2005 Aix version

HOSTNAME="aix3"
UNISON="/usr/local/bin/unison"

cat /dev/null > /root/.unison/unison.log
date > /root/.unison/unison.log

for I in `ls -l /home | grep ^d | grep -v lost+found | awk '{print $9}'`;
do /usr/local/bin/unison /home/$I ssh://backup//home/backupbyhost/$HOSTNAME/home/$I -silent -backups -maxbackups 2 -batch -force /home/$I;
done;

$UNISON /etc ssh://backup//home/backupbyhost/$HOSTNAME/etc -silent -backups -maxbackups 3 -batch -force /etc
$UNISON /root ssh://backup//home/backupbyhost/$HOSTNAME/root -silent -backups -maxbackups 3 -batch -force /root

mail -s "[Aix3] Backup" admin@votredomaine.fr < /root/.unison/unison.log

La bouche for en shell est destiné a optenir la liste des seul répertoires présent dans /home (donc a l’exclusion des fichiers) et a filtré ceux ci par un grep -V partern en fonction de l’environnement particulié de chaque machine aix. Puis pour chaque élément de cette liste réalisé une synchronisation.

Debian init & update-rc.d

 Technologic  Commentaires fermés
juin 152005
 

Table of Contents

  1. Table of Contents
  2. Introduction
  3. Comment sont lancés les services au démarrage et à l’arrêt de votre système
  4. Création d’un script de démarrage
  5. Installation de liens vers les scripts de démarrage
  6. Désinstallation de liens vers les scripts de démarrage
  7. Pour en savoir plus

Introduction

A la différence des distributions telles que RedHat ou Mandrake, la distribution Debian n’utilise pas de fichier rc.local permettant de faire des liens vers des scripts de démarrage. La commande update-rc.d provenant du paquet sysv-rc est spécifique à Debian et remplace avantageusement ce script. En lisant la page de manuel de update-rc.d qui décrit assez bien la fonction de cet utilitaire : update-rc.d met à jour automatiquement les liens vers les scripts d’initialisation de type System-V. Pour le néophyte cela signifie que cette commande permet de gérer les liens vers les scripts de démarrage, si cela vous paraît un peu confus, c’est normal à ce stade, la suite de cet article devrait éclaircir cette explication.

Comment sont lancés les services au démarrage et à l’arrêt de votre système

Init a pour rôle de démarrer vos services par l’intermédiaire du fichier de configuration /etc/inittab qui contient les scripts à démarrer. Ce fichier permet de définir un runlevel (ou niveau de démarrage) qui permettra seulement l’exécution d’un groupe de services. Il existe par convention 6 runlevels. Les runlevels 0 et 6 sont réservés respectivement à l’arrêt et au redémarrage du système, le niveau 1 permet de démarrer le mode utilisateur unique.

Ainsi les liens vers les scripts de démarrage se trouvent dans rcX.d où X représente le niveau de démarrage (runlevel) tandis que les scripts proprement dit se situent dans /etc/init.d. Les 7 niveaux de démarrage sont donc :

- 0 – arrêt du système (halt)
- 1 – mode utilisateur unique (single user). Ce mode est utilisé généralement si vous rencontrez des problèmes avec certains services lancés au démarrage car le minimum de services sont démarrés et vous pouvez seulement vous identifier en tant qu’utilisateur root.
- 2 à 5 – mode multi-utilisateur car sous Debian tous ces niveaux sont identiques. Ce mode vous permet de vous identifier en n’importe quel utilisateur.
- 6 – redémarrage (reboot)

Le changement du niveau de démarrage peut être effectué par root avec la commande init en tapant par exemple : # init 1. Ce niveau de démarrage est défini dans le fichier /etc/inittab par une ligne comme celle-ci où 2 représente le niveau de démarrage actuel :


id:2:initdefault:

Maintenant que nous avons défini les différents niveaux de démarrage et leur rôle, nous allons désormais expliquer de quelle manière se lancent les services. Pour qu’un service, que nous appellerons exemple, se lance au niveau de démarrage 0, 2 et 6 sans passer par la commande update-rc.d, il faut faire des liens symboliques vers le script de démarrage se trouvant dans /etc/init.d :


# ln -s /etc/init.d/exemple /etc/rc1.d/S20exemple
# ln -s /etc/init.d/exemple /etc/rc2.d/S20exemple

Nous pouvons également démarrer et arrêter manuellement un service en tapant respectivement :


# /etc/init.d/exemple start
# /etc/init.d/exemple stop

Ces liens sont nommés selon une méthode précise : une lettre (K ou S suivant le niveau de démarrage) suivi d’un chiffre (20 dans cet exemple) et enfin du nom de votre script (exemple ici). Le S signifie que le script doit être lancé (argument passé au script : start) alors que le K signifie que le script doit être arrêté (argument passé au script : stop). Enfin le chiffre définit l’ordre de lancement et d’arrêt des scripts, ainsi S20exemple sera démarré avant S10syslogkd, cependant K20exemple sera arrêté après K10syslogkd.

Passons désormais à la pratique en écrivant un script de démarrage et en précisant le fonctionnement de la commande update-rc.d afin d’éviter la création des liens assez fastidieuse.

Création d’un script de démarrage

L’écriture d’un script de démarrage se révèle en fait plus simple que vous ne le pensez. Vous devez néanmoins posséder quelques bases en programmation shell. Pour obtenir plus d’informations consultez la page de manuel de votre shell (pour bash qui est le shell par défaut sur Debian : # man bash).

Voici un exemple commenté de script de démarrage possible :


#!/bin/sh

## Script basique donné à titre d'exemple et destiné à montrer comment fonctionne un
## script de démarrage.
## On pourrait utiliser la commande start-stop-daemon comme dans le script initial
## d'apache mais cela sortirait du cadre de cet article ;) .
## On précise tout d'abord que c'est un script écrit en shell avec la ligne ci-dessus

## /etc/init.d/apache_exemple: démarre et arrête le service apache

## On définit la valeur de quelques variables avant de commencer le script proprement dit.
# Répertoires contenant de nombreux programmes exécutables
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# Chemin vers le programme qui démarrera Apache
DAEMON=/usr/sbin/apache
# Optionnel : définit le nom et la description qui s'afficheront lors du démarrage ou de
# l'arrêt du script
NAME=apache
DESC="Webserver"

## Début du script proprement dit
# On vérifie tout d'abord que le programme apachectl est exécutable, sinon fin du script
test -x $DAEMON || exit 0

# Suivant l'argument que l'on va ajouter après le nom du script, on va définir différentes
# possibilités aux script grâce à l'instruction case
case "$1" in
# si on tape # /etc/init.d/apache_exemple start, les instructions qui suivent vont être
# exécutées
start)
# Affiche : « Starting Webserver: apache »
# $DESC et $NAME sont bien entendu les variables que l'on a défini plus haut
echo -n "Starting $DESC: $NAME"
# Lance le serveur web Apache
apache & >& /dev/null
echo "."
;;
# Fin des instructions si on met l'argument start après le nom du script
# si on tape # /etc/init.d/apache_exemple stop, les instructions suivantes vont être
# exécutées
stop)
# Affiche : « Stopping Webserver: apache »
echo -n "Stopping $DESC: $NAME"
# Tue tous les processus portant le nom « apache » sauvagement (« -9 ») et n'affiche
# pas le résultat (« /dev/null »)
killall -9 apache >& /dev/null
echo "."
;;
# Fin des instructions si on met l'argument stop après le nom du script
# si on tape /etc/init.d/apache_exemple restart, les instructions suivantes vont être
# exécutées
restart)
# Affiche : « Restarting Webserver: apache»
echo -n "Restarting $DESC: $NAME"
# Vérifie si le processus apache est déjà lancé ou non
if [ -z "$(ps ax | egrep apache)" ]; then
# Si il n'est pas lancé alors on affiche : « Apache isn't running, so not killed »
echo " Apache isn't running, so not killed" ;
else
# Sinon on tue tous les processus portant le nom apache comme décrit précédemment
killall -9 apache >& /dev/null ;
fi
# Attente d'une seconde avant de continuer le script
sleep 1
# Enfin on démarre le serveur apache
apache >& /dev/null
echo "."
;;
# Si on tape # /etc/init.d/apache alors le script affichera les différents arguments que
# l'on peut donner au script
*)
echo "Usage: /etc/init.d/$NAME start|stop|restart" >&2
exit 1
;;
esac

exit 0
# Fin du script !

Une fois que vous avez enregistré ce fichier dans le répertoire /etc/init.d sous le nom apache_exemple, il ne vous reste plus qu’à le rendre exécutable. Pour cela, vous pouvez procéder de deux manières qui aboutissent exactement au même résultat dans ce cas-là :


# chmod +x /etc/init.d/apache_exemple

Ou


# chmod 755 /etc/init.d/apache_exemple

Vous pouvez désormais vérifier que votre script fonctionne avec les commandes suivantes :


# /etc/init.d/apache_exemple start
# /etc/init.d/apache_exemple stop

Nous allons ensuite décrire le fonctionnement de la commande update-rc.d pour que votre script soit lancé lors du démarrage ou de l’arrêt du système.

Installation de liens vers les scripts de démarrage

Imaginons que vous vouliez exécuter notre script apache_exemple au démarrage dans un runlevel particulier tel que décrit plus haut.

Commençons par un exemple simple qui devrait convenir à la plupart des utilisateurs :


# update-rc.d apache_exemple defaults 20
Adding system startup for /etc/init.d/apache_exemple ...
/etc/rc0.d/K19apache_exemple -> ../init.d/apache_exemple
/etc/rc1.d/K19apache_exemple -> ../init.d/apache_exemple
/etc/rc6.d/K19apache_exemple -> ../init.d/apache_exemple
/etc/rc2.d/S19apache_exemple -> ../init.d/apache_exemple
/etc/rc3.d/S19apache_exemple -> ../init.d/apache_exemple
/etc/rc4.d/S19apache_exemple -> ../init.d/apache_exemple
/etc/rc5.d/S19apache_exemple -> ../init.d/apache_exemple

De cette façon les liens sont tous créés avec la lettre S pour les niveaux de démarrage standard du système et K pour les autres, ainsi qu’avec le chiffre 20 quelque soit le niveau de démarrage.

Un autre exemple d’utilisation, cette fois-ci un peu plus poussé :


# update-rc.d apache_exemple start 20 5 . stop 40 6 .
Adding system startup for /etc/init.d/apache_exemple ...
/etc/rc6.d/K40apache_exemple -> ../init.d/apache_exemple
/etc/rc5.d/S10apache_exemple -> ../init.d/apache_exemple

De cette autre façon les liens sont créés uniquement pour les niveaux 5 et 6 de démarrage. De plus on a assigné des numéros différents suivant le runlevel. Le point à la fin de ligne est très important car il marque la fin de votre commande. Le stop est en position 40 et uniquement pour le runlevel 6 (et pas 0)

Enfin un dernier exemple dans lequel le script apache_exemple ne sera pas lier dans les répertoires destiné à l’arrêt du système (notez le point à la fin de la commande) :


# update-rc.d apache_exemple start 20 2 3 4 5 .
Adding system startup for /etc/init.d/apache_exemple ...
/etc/rc2.d/S20apache_exemple -> ../init.d/apache_exemple
/etc/rc3.d/S20apache_exemple -> ../init.d/apache_exemple
/etc/rc4.d/S20apache_exemple -> ../init.d/apache_exemple
/etc/rc5.d/S20apache_exemple -> ../init.d/apache_exemple

Vérifiez bien que les liens sont bien placés et grâce à cette magnifique commande qu’est update-rc.d votre script sera lancé au prochain redémarrage.

ATTENTION

Configurer n’oubliez pas de bien inclure le stop de votre script de démarrage pour les runlevel 6 et 0 !


# update-rc.d apache_exemple start 20 5 . stop 40 6 0.
Adding system startup for /etc/init.d/apache_exemple ...
/etc/rc0.d/K40apache_exemple -> ../init.d/apache_exemple
/etc/rc6.d/K40apache_exemple -> ../init.d/apache_exemple
/etc/rc5.d/S10apache_exemple -> ../init.d/apache_exemple

Désinstallation de liens vers les scripts de démarrage

Imaginons maintenant que vous voulez désinstaller le script précédent afin qu’il ne soit plus lancé au démarrage. Deux cas de figure se présentent à vous :

- Vous n’avez plus besoin du script donc vous supprimez le script du répertoire /etc/init.d.
- Sinon vous gardez ce script afin de pouvoir éventuellement le réutiliser plus tard.

Dans le premier cas, il vous suffit de taper :


# rm /etc/init.d/apache_exemple
# update-rc.d apache_exemple remove

Dans le second cas vous taperez alors :


# update-rc.d apache_exemple remove

Pour en savoir plus

Si vous voulez en apprendre davantage sur la commande update-rc.d et sur le système init, les pages de manuel sont très utiles surtout si vous les installez en français (apt-get install manpages-fr) :


# man update-rc.d
# man init

Debian logo acssi art

 Technologic  Commentaires fermés
nov 182004
 

Voici quelque logos debian avec la fameuse spiral en ascii. Copier le dans le fichier /etc/motd pour changer le message de bienvenue à chaque connexion console pour tout les utilisateurs.

Pour une utilisation plus personnelle vous pouver l’incule dans votre .profile ou .bashrc via un script d’affichage.

Logo N/B N°1


_,met$$$$$gg.
,g$$$$$$$$$$$$$$$P.
,g$$P"" """Y$$.".
,$$P' `$$$.
',$$P ,ggs. `$$b:
`d$$' ,$P"' . $$$
$$P d$' , $$P
$$: $$. - ,d$$'
$$; Y$b._ _,d$P'
Y$$. `.`"Y$$$$P"'
`$$b "-.__
`Y$$b
`Y$$.
`$$b.
`Y$$b.
`"Y$b._
`""""

_, _, ,'`.
`$$' `$$' `. ,'
$$ $$ `'
$$ $$ _, _
,d$$$g$$ ,d$$$b. $$,d$$$b.`$$' g$$$$$b.`$$,d$$b.
,$P' `$$ ,$P' `Y$. $$$' `$$ $$ "' `$$ $$$' `$$
$$' $$ $$' `$$ $$' $$ $$ ,ggggg$$ $$' $$
$$ $$ $$ggggg$$ $$ $$ $$ ,$P" $$ $$ $$
$$ ,$$ $$. $$ ,$P $$ $$' ,$$ $$ $$
`$g. ,$$$ `$$._ _., $$ _,g$P' $$ `$b. ,$$$ $$ $$
`Y$$P'$$. `Y$$$$P',$$$$P"' ,$$. `Y$$P'$$.$$. ,$$.

logo N/B N°2


_,met$$$$$gg.
,g$$$$$$$$$$$$$$$P.
,g$$P"" """Y$$.".
,$$P' `$$$.
',$$P ,ggs. `$$b:
`d$$' ,$P"' . $$$
$$P d$' , $$P
$$: $$. - ,d$$'
$$; Y$b._ _,d$P' _, _, ,'`.
Y$$. `.`"Y$$$$P"' `$$' `$$' `. ,'
`$$b "-.__ $$ $$ `'
`Y$$b $$ $$ _, _
`Y$$. ,d$$$g$$ ,d$$$b. $$,d$$$b.`$$' g$$$$$b.`$$,d$$b.
`$$b. ,$P' `$$ ,$P' `Y$. $$$' `$$ $$ "' `$$ $$$' `$$
`Y$$b. $$' $$ $$' `$$ $$' $$ $$ ,ggggg$$ $$' $$
`"Y$b._ $$ $$ $$ggggg$$ $$ $$ $$ ,$P" $$ $$ $$
`"""" $$ ,$$ $$. $$ ,$P $$ $$' ,$$ $$ $$
`$g. ,$$$ `$$._ _., $$ _,g$P' $$ `$b. ,$$$ $$ $$
`Y$$P'$$. `Y$$$$P',$$$$P"' ,$$. `Y$$P'$$.$$. ,$$.

logo couleur

copier / coller dans un fichier, rendez le executable, executer dans une console ou un xterm (pas gnome-terminal ou Eterm) pour afficher le logo.


cat <<__EOF__
-[31m_,met\$\$\$\$\$gg.-[0m
-[31m,g\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$P.-[0m
-[31m,g\$\$P""-[0m -[31m"""Y\$\$.".-[0m
-[31m,\$\$P'-[0m -[31m\`\$\$\$.-[0m
-[31m',\$\$P-[0m -[31m,ggs.-[0m -[31m\`\$\$b:-[0m
-[31m\`d\$\$'-[0m -[31m,\$P"'-[0m -[31m.-[0m -[31m\$\$\$-[0m
-[31m\$\$P-[0m -[31md\$'-[0m -[31m,-[0m -[31m\$\$P-[0m
-[31m\$\$:-[0m -[31m\$\$.-[0m -[31m--[0m -[31m,d\$\$'-[0m
-[31m\$\$;-[0m -[31mY\$b._-[0m -[31m_,d\$P'-[0m _, _, -[31m,'\`.-[0m
-[31mY\$\$.-[0m -[31m\`.\`"Y\$\$\$\$P"'-[0m \`\$\$' \`\$\$' -[31m\`. ,'-[0m
-[31m\`\$\$b-[0m -[31m"-.__-[0m \$\$ \$\$ -[31m\`'-[0m
-[31m\`Y\$\$b-[0m \$\$ \$\$ _, _-[0m
-[31m\`Y\$\$.-[0m ,d\$\$\$g\$\$ ,d\$\$\$b. \$\$,d\$\$\$b.\`\$\$' g\$\$\$\$\$b.\`\$\$,d\$\$b.
-[31m\`\$\$b.-[0m ,\$P' \`\$\$ ,\$P' \`Y\$. \$\$\$' \`\$\$ \$\$ "' \`\$\$ \$\$\$' \`\$\$
-[31m\`Y\$\$b.-[0m \$\$' \$\$ \$\$' \`\$\$ \$\$' \$\$ \$\$ ,ggggg\$\$ \$\$' \$\$
-[31m\`"Y\$b._-[0m \$\$ \$\$ \$\$ggggg\$\$ \$\$ \$\$ \$\$ ,\$P" \$\$ \$\$ \$\$
-[31m\`""""-[0m \$\$ ,\$\$ \$\$. \$\$ ,\$P \$\$ \$\$' ,\$\$ \$\$ \$\$
\`\$g. ,\$\$\$ \`\$\$._ _., \$\$ _,g\$P' \$\$ \`\$b. ,\$\$\$ \$\$ \$\$
\`Y\$\$P'\$\$. \`Y\$\$\$\$P',\$\$\$\$P"' ,\$\$. \`Y\$\$P'\$\$.\$\$. ,\$\$.

-[36mDebian GNU/Linux-[0m (testing/unstable)

Plus facile encore télécharger le fichier suivant, changer l’extention .txt par .sh rendez le executable puis faire en root la commande suivante pour modifier votre motd : $ logo.sh >> /etc/motd

texte - 1.6 ko

Resultat

Sympa non ?

© 2012 Karlesnine Suffusion theme by Sayontan Sinha