Archives pour la catégorie Aide mémoire

Spectrum, une passerelle multi-protocoles pour ejabberd

Depuis un moment, je testais quelques passerelles pour lier mon compte jabber perso aux différents protocoles existants sans trouver mon bonheur.

Je suis recement tombé sur spectrum, et j’en suis satisfait. Il gère quelques protocoles usuels et plus ! De plus sa configuration est assez simple ; voyez vous même la page wiki.

Page wiki du projet

Tags:

Gestion des scripts de démarrage init.d

Sous Debian ou Ubuntu par exemple, init gère aussi les scripts de demarrage et d’arret de vos services placés dans /etc/init.d

Un runlevel ?
Votre système évolue sur des runlevel allant de 0 à 6.
0 = Système arreté
1 à 2 = Système en mode single
3 à 5 = Système en mode multi-utilisateur (3 atteint par défaut chez debian)
6 = redemarrage du système

Les scripts ?
Ceux si sont généralement placés dans /etc/init.d/ .
Suivant le runlevel, les scripts (Qui sont des liens vers /etc/init.d/) du répertoire /etc/rcX.d/ sont appelés suivant un ordre conventionnel :
MNNnnnnn où M vaut S ou K pour start et kill si le passage du runlevel se fait en descendant ou en montant, NN est la priorité du script, 01 sera executé avant 02.. nnnn est le nom que l’on retrouve dans /etc/init.d/

exemple
/etc/rc3.d/S30mpd sera executé lorsque l’on passera du runlevel 2 à 3 après tous les autres script de priorité inférieur à 30 de ce repertoire.
/etc/rc1.d/K14mpd sera executé au passage du runlevel 2 à 1.

Comment ajouter un script toto
Placez votre script toto dans /etc/init.d/
Pour ajouter les liens afin qu’il démarre : update-rc.d toto defaults
Pour retirer les liens : update-rc.d toto remove

Tags: , ,

Split

Vous voulez découper le plus simplement possible un fichier ? Dans mon cas, il s’agit de fait passer un fichier de 16Go sur une partition FAT32.

Et bien utilisez juste split pour le découpage et cat pour l’assemblage :

split 2GB FichierADecouper.iso FichierDecoupe.part.
cat FichierDecoupe.part.* > FichierADecouper.iso

Ici split va découper le fichier FichierADecouper.iso en fichiers de 2Mo nommés FichierDecoupe.part.** où ** va de aa à zz. (Utilisé l’option -d pour avoir de 00 à 99).

Tags: , , ,

Utiliser un OS sans le démarrer

Il arrive parfois où l’on a besoin de booter sur un GNU/linux sans pouvoir le démarrer. (grub cassé, kernel panic, fichiers de boot blocants…)

Voici comment contourner ce problème si vous pouvez booter sur une autre distribution (même un live-cd). Dans la cas suivant sda1 est la partition boot et sda2 est la partition systeme du système que l’on souhaite utiliser.

  • mkdir /media/distribCassee
  • mount /dev/sda2 /media/distribCassee
  • mount /dev/sda1 /media/distribCassee/boot
  • mount -t proc /proc /media/distribCassee/proc
  • mount -o bind /dev /media/distribCassee/dev
  • mount -o bind /sys /media/distribCassee/sys
  • chroot /media/distribCassee

Et voilà ! Vous êtes dans votre système cassé. Vous pouvez lancer vos applications ou réparer ce que vous voulez.

Comme par exemple réinstaller le grub après l’installation d’un os monopilsateur :

install-grub /dev/sda

A noter que les points de montage /dev /boot et /proc ne sont pas toujours nécéssaires.

Monter une image ISO

Très simple :

mount -o loop /home/user/moniso.iso /mnt/cdrom

Tags:

Partage de connexion sous GNU/Linux

Voici un memo pour partager votre connexion internet sur votre PC.

Ici eth0 est l’interface accedant à internet, eth1 est l’interface du réseau local qui doit acceder à internet via eth0. On va utiliser l’ip forwarding, très simple…

Prérequis : Vous avez un serveur DHCP sur eth1 ou êtes déjà en ip statiques.

Activer l’ip forwarding

Prise en compte instantannée :

echo 1 > /proc/sys/net/ipv4/ip_forward

Pour que cela soit actif à chaque boot :

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

Activez le partage

Prise en compte instantannée:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Pour que cela soit permanant :

echo "iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE" >> /etc/network/if-up.d/ip-forward
chmod 755 /etc/network/if-up.d/ip-forward

Voilà ;)

Tags: , ,

Synthèse d’information IPV4

Voici une synthèse d’informations sur l’adressage réseau qui peut être parfois utile lorsque l’on ne manipule pas assez. Cela concerne l’IPV4.

On associe sur une machine, une ip au masque qui sert à déterminer dans quelle plage cette dernière est placée. Exemple : ip 192.168.0.1 masque 255.255.255.0 (ou 192.168.0.1/24).

C’est dans le réseau 192.168.0.0 à 192.168.0.255 (où 192.168.0.0 est l’adresse réseau et 192.168.0.255 est l’adresse broadcast).

Pour comprendre les masques, vous pouvez vous des opérations logiques de façon plus visuel !

IP Décimale 192.168.0.1 = binaire 1100000.10101000.00000000.00000001

MASQUE décimale 255.255.255.0 = binaire 11111111.11111111.11111111.00000000 = /24 bits de poids forts à 1

Ici le masque autorise donc à communiquer en changeant les 8 derniers bits de l’IP. (8bits = 255 IP possibles)

Le masque détermine quels bits de l’IP peut changer, si vous ne laissiez seulement un 0 qu’à la fin du masque en binaire, cela vous ferait seulement 2 adresses possibles. ( Mais unitilisables puisques la premiere et la dernière seraient réservées au réseau et au broadcast).

Les classes de réseau

Les classes réseau sont des plages d’ip séparrant toute les adresses possibles en 5 parties, de la classe A à E.

Les classes A, B et C ont chacun dans leur plage d’ip, un plage d’ip privées qui ne sont jamais routées sur internet, et donc utilisables sur des réseaux locaux. Pour cela je vous renvoie à la page wikipedia.

Il faut juste retenir la plupart du temps les plages suivantes :

Plage privée de la classe A : 10.0.0.0 à 10.255.255.255

Plage privée de la classe B : 172.16.255.0 à 172.31.255.255

Plage privée de la classe C : 192.168.0.0 à 192.168.255.255

Plage de multicast de la classe D 224.0.0.0 à 239.255.255.255

Plage interne : 127.0.0.0 à 127.255.255.255 (Souvent utilisé pour locahost ou 127.0.0.1)

Tags: , , , ,

Crontab si facile !

Crontab

Cron est à GNU ce que at est à MS Windows, il s’agit du système de programmation des tâches de base fournit par l’OS.

Chaque utilisateur peut modifier ses propres tâches en tapant crontab -e. Les tâches exécutées sont bien évidement lancées sous l’utilisateur du cron.

La visualisation

crontab -l permet simplement de visualiser la liste des tâches pour l’utilisateur.

La purge

crontab -r permet vider les tâches de l’utilisateur.

L’édition

En tapant crontab -e , vous tomberez sur l’édition du fichier correspondant à votre cron. La syntaxe est assez simple.

Voici la première ligne que l’on peut trouver.
#m h dom mon dow command
nous pouvons par déduction découvrir sa signification.
m comme Minute
h comme Hour
dom comme Day Of Month
mon comme Month
dow comme Day Of Week (0 = dimanche)

Des exemples

Lancer une commande :

Tous les jours à 14h30
#m h dom mon dow command
30 14 * * * ~/commande.shTout les Lundi à minuit
#m h dom mon dow command
0 0 * * 1 ~/commande.sh

Tous les 1ers de chaque mois à minuit
#m h dom mon dow command
0 0 1 * * ~/commande.sh

Tous les 3 minutes
#m h dom mon dow command
*/3 0 * * * ~/commande.sh

A 6h et 18h
#m h dom mon dow command
* 6,18 * * * ~/commande.sh

Toutes les minutes de 19h à 20h le vendredi
#m h dom mon dow command
* 19-20 * * 5 ~/commande.sh

Allons plus loin

La présence du fichier /etc/cron.allow donnera la liste des utilisateurs autorisés à utiliser cron, dans le cas ou ce fichier n’existe pas, tout le monde peut y acceder. Le fichier /etc/cron.deny à l’inverse, interdira les utilisateurs souhaités.

Vous pouvez aussi utiliser les parametres spéciaux :

@reboot exécution au démarrage du système
@yearly exécution une fois par an (ou @annually)
@monthly exécution une fois par mois
@weekly exécution une fois par semaine
@daily exécution une fois par jour (ou @midnight)
@hourly execution une fois par heure

Envoyer la sortie standard vers une adresse email

~/commande.sh | mail -s « sujet du mail » email@dom.tld

Vous pouvez bien sûr utiliser la redirection standard et d’erreur dans votre commande.

Bonne programmation !

Tags: , ,