Utiliser sfs_load du 2e niveau de /mnt/home.

Post Reply
Message
Author
musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

Utiliser sfs_load du 2e niveau de /mnt/home.

#1 Post by musher0 »

Bonsoir.

Pour l'instant je dois lancer le puduan-7 que je remastérise depuis le
lecteur DVD, et c'est embêtant, parce que, dans cette situation, Puppy
doit prendre ses fichiers principal et zdrv au 1er niveau de /mnt/home
(c.-à-d. au sommet).

Pour ne pas encombrer ce 1er niveau (parce que j'ai déjà pas mal de
fichiers à cet endroit), j'ai placé divers sfs au 2e niveau de /mnt/home.
Or, sfs_load n'accepte de les charger qu'une fois si on ne copie pas ces
sfs au 1er niveau de /mnt/home.

Pour me tirer d'affaire, J'ai donc dû composer le script que je vous
communique ci-dessous.

Dans l'espoir qu'il sera utile à quelqu'un.

Tout retour constructif ou commentaire apprécié.

À plus tard.

~~~~~~~~~~~~~~~~

Code: Select all

#!/bin/ash
# ~/Startup/aa.sfs_lst_load.sh # (Script commenté.)
#
# Objectif : charger fois après fois des sfs qui ne sont pas dans
# ---------- le /mnt/home du Puppy. Si on doit procéder comme ça,
# ---------- bien évidemment.
#
# (c) Christian L'Écuyer, Gatineau (Qc), Canada, le 3 avril 2019. GPL3.
# (alias musher0 dans le forum Puppy) ## Révision : aucune encore.
####

ReP="/mnt/home/puduan-700a22"
cd $ReP  # On se place dans le répertoire désiré.
# (Pas trop loin de /mnt/home, quand même.)

ls -1 --file-type *.sfs | grep -E -v "Adrv|UsrShareFTID" > $ReP/sfs.lst1
# On établit la liste des sfs qu'on veut charger.
# J'ai même un « garage » de sfs à ce niveau. Je laisse au « garage »
# ceux que je ne veux pas charger.

sfs_load -i | awk -F"." '$1 !~ /UsrShareFTID|debug/' > sfs.lst2
# On demande à < sfs_load > de nous fournir la liste des sfs qu'il a déjà
# chargés en mémoire. On enlève à l'aide de < awk > les lignes inutiles :
# -- les lignes avec « debug » sont produites par sfs_load à ses fins;
# -- la ligne USRShareFTID est ma façon de gérer les Fontes, Thèmes,
# -- Images et Documents séparément du sfs principal du Puppy. Cela
# -- me donne plus de souplesse dans la remastérisation.

comm --check-order -3 sfs.lst1 sfs.lst2 > sfs.lst
# Commande intéressante, ce < comm >. Abstraite, mais quand on l'a comprise,
# « Wow ! »  Elle est plus précise que < diff > dans certaines situations.
#
# < comm -3 > supprime les lignes apparaissant dans les deux fichiers;
# < comm --check-order > fait un tri avant.
#
# Donc, < comm --check-order -3 > permet d'aisément enregistrer la compa-
# raison des listes dans une nouvelle liste que sfs_load utilisera ci-dessous.

[ "`wc -l < sfs.lst`" -ne "0" ] && sfs_load -q -c -a --list=$ReP/sfs.lst 2>/dev/null
# S'il y a au moins un élément dans la liste sfs.lst, on le charge.
# Sinon on passe.
# 
# La logique en étant :
# -- au premier lancement, sfs_load n'a rien chargé, la liste 2 est donc vide.
# < comm -3 > ramasse donc tout ce qu'il y a dans sfs.lst1;
# -- aux lancements ultérieurs pendant la session, si on veut changer de gest.
# de fenêtres ou quoi, < comm -3 > ne ramasse rien parce que les deux 
# listes ont un contenu identique.

cd - # On retourne là d'où on est venu.
Attachments
aaa-sfs_lst_load.sh.zip
Le même script, zippé.
(1.34 KiB) Downloaded 196 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
fabrice_035
Posts: 765
Joined: Mon 28 Apr 2014, 17:54
Location: Bretagne / France

#2 Post by fabrice_035 »

Salut,
J'avoue que je n'ai rien compris à ce que tu proposes. :oops:

Cdt
Bionicpup64-8.0 _ Kernel 5.4.27-64oz _ Asus Rog GL752

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#3 Post by musher0 »

Pas grave, « Confédération Des Travailleurs ».
Moi non plus, comme tu vois. ;)
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Post Reply