Bonjour à toutes et à tous.
Et en cette fin de semaine, bonne Fête des Pères à tous les papas !
Voici un script qui combine les archives système ?drv*.sfs (sauf le zdrv) en l'archive fdrv*.sfs, si on souhaite libérer le adrv*.sfs
pour transformer son GROS pupsave en adrv*.sfs.
Je veux remercier jplt d'avoir soulevé le problème relativement au BionicPup de peebee. Ce script est conçu pour le BionicPup, mais devrait pouvoir s'utiliser pour tout Puppy présentant la même situation.
Veuillez prendre la peine de lire les commentaires offerts dans le script avant de l'utiliser, y compris les notes en bas du script. Merci.
J'ai testé sur un BionicPup n'ayant que le fdrv*.sfs, après utilisation du combineur ci-joint. Tout va sur des roulettes, sauf... vous devrez éditer le fichier defaultbrowser à /usr/local/bin comme suit :
#!/bin/sh
exec /usr/local/lib/light/light "$@"
# light "$@"
pour appeler le navigateur U_Light directement.
Alors voilà. Je crois que tout y est. Ce script est aussi publié en anglais à
http://www.murga-linux.com/puppy/viewtopic.php?p=996146&sort=lastpost#996146
Je crois avoir bien testé, mais ce serait gentil de me rapporter tout pépin.
Note finale : ce script est seulement destiné aux utilisateurs qui voudraient transformer un GROS pupsave en adrv*.sfs, en tant que solution de rechange à la remastérisation habituelle.
À la bonne vôtre !
#!/bin/bash
# combine-drvs.sh
#
# Save this script under / Enregistrer ce script sous
# /opt/local/bin OR/OU /root/my-applications/bin
# and make executable. / et rendre exécutable.
###
# Goal : reduce the number of ?drv*.sfs archives to one
# in a Puppy that has a full complement of them. /
#
# Objectif : réduire le nombre d'archives ?drv*.sfs à une
# dans un Puppy | Toutou qui les a toutes.
###
# Usage -- Important : utiliser ce script d'un autre Puppy | Toutou que BionicPup.
# ........ Ouvrir une console dans le répertoire de BionicPup et lancer ce script.
# ........ Quand le script est terminé, redémarrer BionicPup. /
#
# Usage -- Important : run this script from another Pup than the BionicPup. <=-
# ........ Open a console in BionicPup's directory and run this script.
# ........ When done, restart BionicPup.
###
# -=> Please read the notes at bottom. / Veuillez lire les notes au bas de ce script. <=-
####
# © Christian L'Écuyer (alias musher0), Gatineau (Qc), Canada, 2018-06-16. GPL3.
# GPL3 licence in English: https://opensource.org/licenses/GPL-3.0
##########
# Ce programme est libre : vous pouvez le redistribuer ou modifier selon les termes de la
# Licence Publique Générale GNU publiée par la Free Software Foundation (v. 3 ou toute
# version ultérieure choisie par vous).
# Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE
# GARANTIE, ni explicite ni implicite, y compris des garanties de commercialisation ou
# d'adaptation à un but spécifique. Pour plus de détails, veuillez vous reporter au
# texte de cette licence à https://opensource.org/licenses/GPL-3.0 pour le texte officiel, à
# http://www.linux-france.org/article/these/gpl.html pour une traduction et à
# https://fr.wikipedia.org/wiki/Licence_publique_générale_GNU pour une explication en français.
################
####
for archive in `ls -1 ?drv* | grep -v zdrv`;do
unsquashfs -d "${archive:0:4}" "$archive"
wait
mv -f $archive $archive.bckp
wait
done
cd fdrv
for combine in adrv ydrv;do
rsync -avzm ../$combine/* .
wait
done
cd ..
mksquashfs fdrv fdrv_upupbb_18.05.sfs -noappend -all-root -b 1048576 -comp xz -Xdict-size 100%
wait
for ReP in adrv fdrv ydrv;do
rm -rdf $ReP/*
rmdir --ignore-fail-on-non-empty $ReP
done
exit
### Notes ###
EN -- Back-ups of the ?srv*.sfs archives are made: do not erase them.
This script has been tested. But should something go wrong, in console, type
mv -f ?drv_upupbb_18.05.sfs.bckp ?drv_upupbb_18.05.sfs
(Replace the ? with the letters a, f and y.)
FR -- Des sauvegardes des archives ?srv*.sfs sont faites : ne les effacez pas.
Ce script a été testé. Si quelque chose n'allait pas, en console, taper
mv -f ?drv_upupbb_18.05.sfs.bckp ?drv_upupbb_18.05.sfs
(Remplacer le ? par les lettres a, f et y.)
##################