Auteur/autrice : starmate

15 décembre 2017 /

MT sert à contrôler le lecteur de bandes magnétiques à un assez bas niveau. Cette application permet d’ajouter des tags sur la bande, éjecter la bande, rebobiner la bande et se déplacer par rapport aux tags.

Les commandes de bases

Voir les informations de la bande:

mt -f /dev/st0 status

Rembobiner la bande:

mt -f /dev/st0 rewind

Voir le contenu (compressé) de la bande:

tar -tzf /dev/st0

Si vous avez ce message d’erreur:

tar (child): /dev/st0 : read impossible: Ne peut allouer de la mémoire
tar (child): Début de la cartouche atteinte ; arrêt du programme.
tar (child): Error is not recoverable: exiting now
gzip: stdin: unexpected end of file
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Cela est probablement dû à l’option -z de tar, les données sur la bande ne sont pas compressées:

Voir le contenu (non compressé) de la bande:

tar -tf /dev/st0

Si vous avez ce message:

tar: /dev/st0 : read impossible: Ne peut allouer de la mémoire
tar: Début de la cartouche atteinte ; arrêt du programme.
tar: Error is not recoverable: exiting now

Cela est probablement dû à la taille de block (512 par default) qui a été spécifie lors de la création de l’archive.
En effet, tar ne détermine pas automatiquement la taille des blocs, Il faudra donc le spécifier lors de la restauration.
Pour cela, il faut connaitre la taille de block qui a été spécifié lors de la création:

stat -f /dev/st0

Fichier : « /dev/st0 »
Identif. : 0 Longueur du nom : 255 Type : tmpfs
Taille de bloc : 4096 Taille de bloc fondamentale : 4096
Blocs : total : 2560 libre : 2560 disponible : 2560
Inœuds : total : 2042000 libre : 2041603

On peut maintenant voir le contenu de la bande dans le lecteur:

tar -b 4096 -tf /dev/st0

Si il y a beaucoup de fichiers sur la bande:

tar -b 4096 -tf /dev/st0 > liste_fichier_bande.txt

Pour éjecter la bande:

mt -f /dev/st0 eject

Rembobiner et éjecter la bande:

mt -f /dev/st0 offline

Effacer la bande:

mt -f /dev/st0 erase

Connaître sa position (block) sur la bande:

mt -f /dev/st0 tell

Se déplacer à la fin des données sur la bande :

mt -f /dev/nst0 eod

Pour se positionner devant un bloc:

mt -f /dev/nst0 seek n°_de_block

Se déplacer à l’enregistrement précédent:

mt -f /dev/nst0 bsfm 1

Se déplacer à l’enregistrement suivant:

mt -f /dev/nst0 fsf 1

Faire une sauvegarde du dossier /etc et /home avec compression:

tar -czf /dev/st0 /etc /home

Restaurer tous les fichiers de la bande vers /home:

mt -f /dev/st0 rewind
tar -xzf /dev/st0 /home

Sauvegarder sur plusieurs bandes le dossier /home:

tar -clpMzvf /dev/st0 /home

Restaurer à partir de plusieurs bande le dossier /home:

tar -xlpMzvf /dev/st0 /home

Comparer la sauvegarde sur bande au dossier /home:

tar -dlpMzvf /dev/st0 /home

Remarque:

-d : trouve les différences entre l'archive et le repertoire
-x : extraire des fichiers d'une archive
-l : lister le contenu d'une archive
-p : ignore le umask lors de l'extraction
-M : créer / lister / extraire des archives multi-volumes (plusieurs bandes)
-z : compression avec Gzip
-v : mode verbial

Aller plus loin:

Voici un petit script qui affiche la liste des fichiers sauvegardés (avec tar) sur une bande avec en préambule de chaque sauvegarde le numéro du bloc à partir duquel démarre la sauvegarde:

#!/bin/sh
# Script affichant le contenu d'une bande en spécifiant le numero de block
#
#
BANDE=/dev/st0
COMPRESS=Y
#
# On rembobine
echo "Lecteur $BANDE - Compression $COMPRESS"
echo -n "Rembobinage "
MSG=$(mt -f $BANDE rewind 2>&1)
if [ $? -ne 0 ] ; then
echo "Erreur : " $MSG
exit 1;
fi
echo ": OK"
echo "Liste des fichiers"
mt -f $BANDE tell
if [ "$COMPRESS" == "Y" ] ; then
CMD=tzvf
else
CMD=tvf
fi
LOOP=0
while [ $LOOP -eq 0 ] ; do
tar -$CMD $BANDE 2> /dev/null
LOOP=$?
if [ $LOOP -eq 0 ] ; then mt -f $BANDE tell
fi
done
echo "Pour se positionner devant un bloc, avant restauration, faire mt -f $BANDE seek n"
mt -f $BANDE rewind

Exemple d’utilisation :

./liste_bande.sh

Lecteur /dev/st0 - Compression Y
Rembobinage : OK
Liste des fichiers
At block 0.
-rw------- 1 romain romain 23415 déc. 15 09:07 .bash_history
-rw-r--r-- 1 romain romain 220 nov. 2 14:53 .bash_logout
-rw-r--r-- 1 romain romain 3526 nov. 2 14:53 .bashrc
At block 2.
-rw------- 1 romain romain 10549 déc. 5 11:14 .viminfo
-rw------- 1 romain romain 51 déc. 7 19:35 .Xauthority
-rw------- 1 romain romain 358 déc. 15 09:03 .xsession-errors
At block 4.

Pour se positionner devant un bloc, avant restauration:

mt -f /dev/nst0 seek n°_de_block

Par exemple, pour restaurer le fichier « .bashrc » situé au block 4 :

mt -f /dev/st0 rewind
mt -f /dev/st0 seek 2
tar -xzvf /dev/st0 .bashrc

Remarque :
Si un utilisateur autre que root doit accéder au lecteur de bande, il faudra l’ajouter dans le groupe tape pour qu’il ait les droits d’accès aux périphérique /dev/nst0 et /dev/st0

 

15 décembre 2017 /

Pour cela, il faut éditer son .bashrc:

vi ~/.bashrc

Et y ajouter cela:

export LESS_TERMCAP_mb=$'\e[1;32m'
export LESS_TERMCAP_md=$'\e[1;32m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[01;33m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;4;31m'

Il ne nous reste plus qu’a sourcer notre .bashrc:

reset

ou

source ~/.bashrc

15 décembre 2017 /

Pour tuer tous les processus d’un utilisateur:

pkill -u login

2 décembre 2017 /

Sauvegarde sur un serveur FTP

On se met en mode administrateur:

enable

On passe en mode configuration:

conf t

On renseigne les informations de connexion au serveur FTP:

ip ftp username login_utilisateur
ip ftp password mot_de_passe

On sort du mode configuration:

end

Puis on lance la sauvegarde:

copy running-config ftp:

Il nous demandera alors l’adresse ip du serveur FTP, et le nom que l’on souhaite donner au fichier contenant la configuration.

Dans le fichier récupérer il faudra supprimez toute ligne débutant par « AAA » car cela peut bloquer sa restauration.

Pour restaurer depuis un serveur FTP

On passe en mode configuration sur le nouveau Cisco:

conf t

On renseigne les informations de connexion au serveur FTP:

ip ftp username login_utilisateur
ip ftp password mot_de_passe

On sort du mode configuration:

end

Puis on lance la sauvegarde:

copy ftp: running-config

Il nous demandera alors l’adresse ip du serveur FTP puis une fois connecté, le fichier qui contient la configuration à restaurer.

Sauvegarde en local via Minicom

On passe en mode administrateur sur le Cisco:

enable

On désactive le « –more– » pour afficher d’un coup la configuration:

terminal length 0

On accède au menu de Minicom pour lancer la capture de la sortie standard dans un fichier texte:

Ctrl+A puis Z puis L

On affiche la configuration actuelle pour la capturer dans notre fichier:

show running-config

Une fois la configuration affichée, on arrête la capture de log:

Ctrl+A puis Z puis L

On va maintenant sauvegarder la configuration de démarrage:

Ctrl+A puis Z puis L

On affiche la configuration de démarrage pour qu’elle soit capturée:

show startup-config

Une fois la configuration affichée, on arrête la capture de log

Ctrl+A puis Z puis L

Restauration en local via minicom

On lance Minicom et on se met en mode administrateur sur le Cisco:

enable

On passe en mode configuration:

conf t

Puis on affiche les options de minicom:
Ctrl+A puis Z puis Y

On sélectionne le fichier de configuration que l’on a en local pour que Minicom colle le contenu du fichier dans l’entrée standard.

On peut vérifier que la configuration s’est bien reportée:

show running-config

On oublie pas de sauvegarder la configuration une fois restaurer:

copy running-config startup-config
wr

13 novembre 2017 /

On commence par se brancher au port console en USB

On se connecte au port console (voir dmesg pour le nom du terminal):

minicom -D /dev/ttyACM0

Une fois connecté, nous allons lister les vlan présent et les ports qui y sont associés:

show vlan

Maintenant que nous voyons la configuration actuelle, nous élevons nos droits  pour pouvoir éditer la configuration:

enable

Password:

On passe en mode configuration:

conf t

On sélectionne le port que nous souhaitons déplacer, ici le n°29:

interface gi1/0/29

ou alors une plage de port, ici du n°29 au n°39:

interface range gi1/0/29-39

On définit le port sélectionné en tant que port d’accès:

switchport mode access

On affecte maintenant le port d’accés au vlan voulu, ici le 202:

switch port access vlan 202

On vérifie que notre port à bien été déplacé de vlan:

do show vlan

Si tout est bon, on sort du mode configuration:

end

Et bien sur, on sauvegarde la configuration:

wr
copy running-config startup-config