Informatique

[Linux  -  Toutes distributions]



        Scripts shell Bash

          

Scripts : 'Monter' une partition et 'Chrooter' dessus  (I)


Scripts : Chasser les 'Liens-Morts' sur le site dont on est le webmestre  (II)



I.     MONTER et CHROOTER     -    Version : 3.1.2.1 Site 'ERMAIA Copie libre (sous licence GNU)


Les deux scripts MONTER et CHROOTER (cf. ci-après) interfacent les commandes MOUNT et CHROOT, en mode graphique (terminal virtuel) ou sur une console texte.

Ils sont écrits avec AWK et DIALOG ; FSARCHIVER est utilisé pour lister les disques durs et les partitions.
[ Un troisième script est nécessaire ('montreFST.sh')]


1. Script MONTER :            [ Script et capture d'écran, ici ]

1.1. Les partitions sont montées sur '/mnt/' le nom de la partition est /dev/['partition'] (exemple : '/mnt/sda3'.
Si le point de montage n'existe pas, il est créé.

Les versions  > 3.00 sont capables de monter les partitions qui sont au format UFS (lecture seule).

1.2. Options :


2. Script CHROOTER :        [ Script et captures d'écran, ici ]

2.1. Le script CHROOTER est appelé habituellement par le script MONTER [option : '--chroot'].

Il peut être exécuté seul, dès lors que la partition à travailler est déjà montée sur /mnt/ et que l'on a utilisé comme nom de montage l'identifiant /dev/['partition'] : ('/mnt/sda1', par exemple)

Le script lie (mount –bind) les répertoires :

Le script permet d’accéder à Internet et de faire tourner des applications graphiques.
Le script sort du chroot, proprement, en démontant tous les répertoires :    umount -v --recursive /mnt/$Partition


2.2.
Option unique :


3. Script 'montreFST.sh' :            [ Script, ici ]

Script appelé par le script MONTER (n'a pas vocation à être exécuté seul).



4.
Implantation :

4.1. Ces scripts sont à copier/coller dans le répertoire /usr/bin/ d’une distribution Linux (tournant avec ou sans interface graphique).

4.2. Ces scripts pourraient aussi trouver une certaine utilité pour qui utiliserait la boîte à outils « SYSTEMRESCUE » qui tourne sur une clef USB, ou sur l’une des partitions du disque dur d’un ordinateur.

En ce cas, GRUB amorce directement l’ISO de SYSTEMRESCUE avec la séquence suivante :

{

load_video

insmod gzio

insmod part_gpt

insmod part_msdos

insmod ext2

rmmod tpm

set iso_path="/ISOS/systemrescue.iso"

search --no-floppy --set=root --file $iso_path

loopback loop $iso_path

echo "Je sonde ..."

probe -u $root --set=iso_disk

echo "Chargement du noyau ..."

linux (loop)/sysresccd/boot/x86_64/vmlinuz img_dev=/dev/disk/by-uuid/$iso_disk img_loop=$iso_path archisobasedir=sysresccd copytoram setkmap=fr-latin9 index=off metacopy=off cow_label=Stockage cow_directory=Modifs_SystemRescue

echo "Chargement de initramfs ..."

initrd (loop)/sysresccd/boot/x86_64/sysresccd.img

}

En considérant que SystemRescue se trouve dans le répertoire /ISOS/ d’une partition nommée « Stockage » ; le répertoire dans lequel SystemRescue écrit et conserve ses données est appelé, ici : « Modifs_SystemRescue »  (à créer vide).


5. Documentation sur le shell Bash :

Introduction aux scripts shell, aide-mémoire et liens utiles

Guide avancé d'écriture des scripts Bash

Manuel complet d'écriture d'un script Awk



II.     LIENS-MORTS     -    Version : 1.0.     Site 'ERMAIA Copie libre (sous licence GNU)

                    "Faire la chasse aux liens morts" (sur le site dont on est le webmestre)
       

    [ Script et captures d'écran, ici ]

  
       
    1. Dépendances :               

  1. /usr/bin/dialog - (omission fatale : le script utilise des fenêtres 'dialog')
  2. /usr/bin/wget - (omission fatale : le script utilise 'WGET --spider' pour identifier les 'liens morts')
  3. /usr/bin/trash-put - (nécessaire dans la seule mesure où l'on souhaite mettre à la corbeille un fichier 'log', au lieu de devoir le supprimer définitivement.
  4. /usr/bin/beep - (nécessaire si l'on souhaite signaler par un bip sonore les liens  morts qui seraient trouvés).  Le bip sonore est désactivable dans le fichier 'config' du script.

      

               
    2. Fichier généré :           

                                    Un fichier 'log', qui récapitule les 'liens morts' qui auraient été trouvés.


   
    3. Fonctionnement :          

                                    Le script lit un fichier de configuration dans lequel on a copié/collé les chemins des pages de son site (qui peuvent ou non
                                    contenir des hyperliens, qui pointent sur des sites externes).
                                    Le script extrait les hyperliens de chaque page ('AWK' et 'GREP') et appelle 'WGET --spider', en "mode verbeux". Les 'liens morts'                                     sont affichés à l'écran et récapitulés dans un fichier 'log'.

     Fonctionne indifféremment en console texte ou en mode graphique.


 
    4. Options :
                                    --help                 =    Aide succincte et quitter ;
                                    -l --log                =    Voir le fichier 'log' et quitter ; options : 'conserver' /  'mettre à la poubelle' / 'supprimer';
                                    -c --edcfg           =    Editer le fichier 'conf' et quitter ;

    

                  

    5. Documentation sur le shell Bash :

Introduction aux scripts shell, aide-mémoire et liens utiles

Guide avancé d'écriture des scripts Bash

Manuel complet d'écriture d'un script Awk