Un système de fichiers fusionnel pas compliqué

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

Un système de fichiers fusionnel pas compliqué

#1 Post by musher0 »

Salut, tous, toutes.

Modification :
C'étaitlà-bas.
Fin de la modif.

C'est maintenant ici.

Je l'avais mis dans la section « Projects » du côté anglophone, mais
« project » en anglais a perdu son sens d'ébauche, de proposition soumise
pour critique et correction -- qu'il avait il y a à peine 40 ans, j'ai des dicos
pour le prouver. En anglais, « project » désigne désormais des trucs plus
gros qu'un script, une distro, par ex., ou une partie de distro.

Ou encore un gros-gros machin dans le monde physique, comme un
chantier de construction pour un hospice de vieux ?! (Où est l'icône «
humour grinçant » ? Merci d'avance.)

Donc, c'est comme suit..

Code: Select all

#!/bin/ash
# /root/my-applications/bin/PoorMansMergerFs.sh # :)
# (Trad. fr. : « Le système de fichiers fusionnel du pauvre » :)
#
# Goal: The user will easily access the material on the
# ----- pseudo-ramdrive from the ramdrive. /
# Objectif : Que l'utilisateur accède facilement au
# ---------- matériel sur le pseudo-RAMdisque depuis
# ---------- le RAMdisque.
#
# Please read the notes and the license at bottom. /
# S.v.p. lire les notes et la licence sous le script.
#
# © Christian L'Écuyer,Gatineau (Qc), Canada, 19 janv. 2019. GPL3.
# (Alias musher0 [forum Puppy].) # Rév. : aucune encore | none yet.
####
cd /mnt/ram1
ls -1r --file-type /mnt/PseuDV | grep -Ev "l[io]st" > /mnt/PseuDV/liste
while read rep;do
     [ -d $rep ] || ln -s /mnt/PseuDV/$rep .
   # We want to this do this only once! /
   # On veut ne faire ça qu'une fois !

done < /mnt/PseuDV/liste
cd -
exit

# ~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~
Note(s) -- EN
1) To learn about the real mergerfs ;) , please visit
-=> https://github.com/trapexit/mergerfs <=-

2) Benefits --
2.1) On Puppies with little RAM (2 or 3 Gb's), or
those with a non-PAE or 4G kernel, this trick adds
the size of the pseudo-RAMdisk to that of the RAMdisk.

E.g., you create a 1.4 Gb zram-type ramdisk. Say you
have also prepared a 1,9 Gb pseudo-RAMdisk. Combining
them with this script, you get a storage capacity of
3.3 Gb on a computer that has perhaps only 3 Gb RAM.

You can of course give any size to your pseudo-ramdisk
when you create it.

2.2) If the hard disk on which the pseudo-RAMdrive
is locatedis of SSD type, there will be no speed
problem since recent SSD's are as fast as RAM, or
more. (If you have an SSD disk, compare with hdparm
the speeds on the SSD and on /initrd/pup_z, and you
will observe that the speed difference is negligible.

2.3) Additionnally, this "Poor Man's Merger FS" reduces
the annoyance of having to save, on a permanent-type
disk, the volatile content of the RAM disk every 10
minutes, by hand ou through a script.

In short, it's all good!

TWYL

# ~~~~~~~~~~~~~~~~~~~~~~~~
Note(s) -- FR
1) Pour apprendre ce qu'est le vrai mergerfs ;) ,
s.v.p. visiter
-=> https://github.com/trapexit/mergerfs <=-

2) Avantages --
2.1) Sur les Puppys avec peu de RAM (2 ou 3 Go), ou
encore ceux qui ont un noyau non-PAE ou 4G, cette
astuce ajoute la taille du pseudo-RAMdisque à celle
du RAMdisque.

Par ex., vous vous créez un RAMdisque de type zram
de 1,4 Go et vous vous êtes préparé un pseudo-
RAMdisque de 1,9 Go. En les combinant au moyen du
présent script, vous obtenez une capacité de stockage
de 3,3 Go sur un ordi qui n'a peut-être que 3 Go de MEV.

Vous pouvez bien sûr vous créer un pseudo-RAMdisque de
la taille que vous voulez.

2.2) Si le disque dur où est situé le pseudo-RAMdisque
est de type SSD, aucun problème de vitesse puisque les
SSD récents sont aussi et même plus rapides que la MEV.
(Si vous avez un disque SSD, faites un test de vitesse
au moyen de hdparm sur le SSD et sur /initrd/pup_z, et
vous constaterez que la différence de vitess est
négligeable.

2.3) De plus, ce « système de fichiers fusionnel du
pauvre » réduit l'enquiquinage de devoir enregistrer
sur sur un disque permanent le contenu volatile du
RAMdisque toutes les dix minutes, à la main ou par
l'intermédiaire d'un script.

En résumé, c'est tout bon !

À+
# ~~~~~~~~~~~~~~~~~~~~~~~~

#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~
#~~~ License  -- <https://opensource.org/licenses/GPL-3.0>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, version 3 of the License or (at your option) any later version.
     This program is distributed in the hope that it will be useful, but
WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. Please see the GNU General Public License
for more details.
     You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.

#~~~ Licence
Ce programme est libre : vous pouvez le redistribuer ou le modifier selon les
termes de la Licence Publique Générale GNU publiée par la Free Software
Foundation, version 3 ou ultérieure, à votre choix.
    Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS
GARANTIE explicite ni implicite, dont celles de commercialisation ou
adaptation à un but précis. Pour plus de détails, se reporter au texte
officiel à <http://www.gnu.org/licenses/>, à sa traduction à
<http://www.linux-france.org/article/these/gpl.html> et, pour une explication
en français, à <https://fr.wikipedia.org/wiki/Licence_publique_générale_GNU>.
#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~
La moitié des commentaires dans le script sont en français, bilinguisme et
politesse obligent (sur ce forum international en tout cas).

Prenez la peine de les lire ? Cela m'évitera de me répéter. Merci.
Ajout :
(Repris ci-dessous, d'ailleurs.)
Fin de l'ajout


Je suis à votre disposition pour discuter du sujet complexe des RAMdisques
et du montage de fichiers structurés en système de fichiers.

À bientôt, j'espère.
Last edited by musher0 on Fri 01 Feb 2019, 10:39, edited 4 times in total.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

#2 Post by musher0 »

Allô !

Alors que personne n'a encore répondu dans son fil, ça fait beaucoup « j'me parle tout
seul » de mentionner qu.on vient de modifier son message initial,

Je le mentionne quand même, des fois que quelqu'un, par hasard ou par exprès, aurait lu
ce miniscule bout de fil sur un obscur sujet linuxien. Par acquit de conscience (je me roule
par terre de rire, là; à moins que ce soit par tristesse. ) :cry:

À+
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

#3 Post by musher0 »

Ok, ça n'intéresse personne.

Qu'importe ! Faut pas se couper l'inspiration pour si peu ! :lol:

Pour créer un fichier pseudoRAMdisque à fusionner à de la vraie MÉV
(alias RAM), il faut d'abord en avoir un ! (C'est pas M. de La Palisse qui
a dit ça ?)

Dans le script qui suit j'ai pris la taille d'un DVD comme modèle. Ce qui
nous donne un fichier système -- genre pupsave, mais il est formaté en
udf -- de 4,5 Go (ou 4,8 Go métriques).

La suite d'utilitaires udf est jointe.

Pour le créer ET le monter -- Prenez garde de le créer sur une partition où
vous avez plein d'espace; PAS DANS VOTRE PUPSAVE.

Code: Select all

#!/bin/ash
MBINS=/root/my-applications/bin
# $MBINS/Cree-pseudoRAMdisque.sh
#
# Objectif : créer un fichier portatif sembable à un RAMdisque
# ------------ ou à un DVD-RAM.
#
# Condition : partition Linux offrant assez d'espace libre.
#
# Requiert : dd, mkdir, mount (déjà dans le Puppy);
# ------------- mkudffs (du paquet udftools, à installer au besoin).
#
# (c) musher0, 28 janv. 2019. GPL3.
####
# Création d'un fichier système de 4,8 GM (4,5 Go) #
dd if=/dev/zero of=pseudoRAMdisk bs=1MB count=4800 status=progress conv=excl
# « if » = point de départ 	# « of » = nom du fichier à créer
# « conv=excl » empêche l'écrasement d'un fichier existant.
# « 1MB » = 1 mégaoctet « métrique ». 	# « count » = taille souhaitée.
# « status=progress » = ligne d'info sur l'opération en cours.
# pourrait être nommé « pseudoDVD »
if [ $? -gt 0 ];then
	exit # Si erreur, on s'arrête. #

else # Sinon, on continue. #
    mkudffs --utf8 -b 512 --closed pseudoRAMdisk
# Formatage au format udf #
# --utf9 = caractères internationaux
# -b 512 = taille des segments en bytes
# --closed = fixe seulement la taille. # N'entrave aucunement l'écriture.

# Création du point de montage #
    mkdir -p /mnt/pseudoDVD # « -p », précaution nécessaire.

# Montage #
    mount -t udf pseudoRAMdisk /mnt/pseudoDVD/
# Utiliser ces deux dernières commandes au
# démarrage dans ~/Startup si on veut. # Voir NOTES, s.v.p.
fi
exit

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTES
1) -- Sur un autre Puppy, j'ai dû utiliser « -t ext2 »
au lieu de « -t udf » pour le montage.

2) Pour le transport, il est très avantageux de
comprimer ce « pseudoDVD » avec zip ou autre.

Exemple avec zip ;
Z=pseudoRAMdisk;zip -9 -dd $Z.zip $Z
Z=pseudoRAMdisk.zip;zip -9 -dd $Z.zip $Z

S'il n'y a pas grand'chose dedans, on obtiendra
un gain d'espace de jusqu'à ~ 99 %.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# - 30 - #
Pour le MONTER SEULEMENT, c.-à-d. pour le monter une fois créé.

Code: Select all

#!/bin/ash
MBINS=/root/my-applications/bin
# $MBINS/Monte-pseudoRAMdisque.sh
# Objectif : monter un fichier portatif sembable à un RAMdisque
# ------------ ou à un DVD-RAM.
#
# Condition : partition Linux offrant assez d'espace libre.
#
# Requiert : mkdir, mount (déjà dans le Puppy).
#
# Usage : on peut passer le nom de la partition où se trouve
# ---------- le fichier udf pseudoRAMdisk en variable de 1ère
# ---------- position (« $1 »). Voir lignes 22-23. Si on n'indique
# ---------- rien, la partition par défaut est sda6.
#
# Exemple : Monte-pseudoRAMdisque.sh sda4
#
# (c) musher0, 29 janv. 2019. GPL3.
####
# Création du point de montage #
mkdir -p /mnt/pseudoDVD # « -p », précaution nécessaire.
# Montage #
A="$1"
[ "$A" = "" ] && A=sda6
mount -t udf /mnt/$A/pseudoRAMdisk /mnt/pseudoDVD/
exit
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTES
1) -- Sur un autre Puppy, j'ai dû utiliser « -t ext2 »
au lieu de « -t udf » pour le montage.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# - 30 - #
Ensuite on utilisera le script de jonction que j'ai présenté dans le 1er
message du présent fil pour créer un assemblage fusionné au RAMdisque.

Espérant que ces scripts seront utiles.

À+
Attachments
udftools_1.0.0b3-14.2ubuntu1_i386.pet
(Pour Puppys 32-bits)
(58.53 KiB) Downloaded 161 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#4 Post by Argolance »

Bonjour,
Ok, ça n'intéresse personne
Si je peux me permettre :roll:...
je pense que les commentaires expliquant quelles sont la raison d'être de ton script et la façon de s'en servir auraient mieux leur place dans le corps même de ton message plutôt que dans celui de ton script. Les écritures en vert sont bonnes pour le code mais pas engageantes pour la lecture, que ce soit en Français ou en Anglais! :wink:

Cordialement.

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

#5 Post by musher0 »

Merci de ton accueil, Argolance.

Sympathique comme tout. Merci énormément.

Tout commentaire est bon pour tenter d'« assassiner Mozart » ? Ou c'est le
coup, comme dans le proverbe chinois, de l'imbécile qui fait exprès de
regarder le doigt quand le sage lui montre la lune ?

Quoi qu'il en soit, avec ces scripts, quand tu les télécharges, t'as tout, le
script ET l'explication. Une fois que t'as le script, t'as pas besoin de
revenir en ligne pour savoir comment ça marche, t'as qu'à lire les
commentaires qui sont dedans.

Selon moi, c'est comme ça que les script devraient être présentés.
Autrement je ne les écrirais pas comme ça. Il y a déjà trop de scripts qu'on
envoie en travers de la tronche de l'utilisateur fret-net-sec. Genre : voilà
mon script, sans explication, et tant pis pour toi, l'utilisateur, si tu ne
comprends rien.

Et puis tiens, j'aime le vert. C'est la couleur de l'espoir.

Enfin, des fois que cela s'appliquerait, pour augmenter la taille du texte,
dans la plupart des navigateurs, les touches à utiliser sur son clavier
sont Ctrl-+.

Salut.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#6 Post by Argolance »

musher0 wrote:[...]
:shock: :roll: >>> PM!

oui

#7 Post by oui »

en fait, vous avez tort tous les deux: ce sont des connaissances qui sont du ressort d'un wiki (où les langues sont bien distinctes) en bonne et due forme et non pas ni d'un script, ni d'un message de forum, où, 8 jours plus tard, on aura du mal à le retrouver, ou seulement caché au beau milieu de 500 à 900 autres messages...

puppy a un très beau wiki...
...inutilisé, après que le premier ait été détruit!

mais rien n'empêche de le mettre en action:

on souligne (lien) dans le forum, que l'on a pondu un message édifiant pour la communauté dans le wiki, que chacun a le droit de modifier, si erreur ou besoin de plus de détails (que l'on aurait soi-même)!

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

#8 Post by musher0 »

Salut, oui.

Merci de ton intervention respectueuse.

À propos du wiki Puppy, saurais-tu si...
-- c'est en anglais seulement ?
-- il faut une permission du webmestre ou du modérateur du forum pour
y ajouter un article ?

Tu crois que ça serait une bonne idée qud j'aie mon propre wiki pour
renseigner les gens sur mes scripts ?

Merci d'avance de tes réponses.

~~~~~~~~~~~

@tous :

Plus généralement, je suis déçu des réactions de part et d'autre de la
frontière linguistique de ce forum ces dernieres temps.

Je mets énormément de temps et de soin à composer mes scripts. Je les
fais en pensant non seulement à ma situation sur mon Puppy, mais aussi
j'essaie d'imaginer des situations sur les ordis d'autres utilisateurs. De
plus, Je les teste et reteste le plus rigoureusement que je peux.

Alors je trouve blessant qu'on les rejette du revers de la main, pour une
ou des raisons qui n'ont somme toute rien à voir avec l'objectif ou le code
du script.

Je comprendrais si on me disait : « à telle ligne de ton script, il y a telle
erreur. » Ou encore : « tu t'y prends mal; on fait plutôt ce que tu tentes
de faire de cette autre façon. »

On a le droit, bien sûr, de ne pas aimer ce que je fais. Et alors qu'on se
taise et qu'on passe au fil suivant dans le forum.

Mais qu'on me dise, dans le fil, qu'on rejette mon travail pour des
superficialités, ou même par étourderie, je trouve pas ça correct.

Voilà.

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

Pour revenir au sujet de ce fil --

1) les scripts de création et de montage du « pseudoDVD » ou « pseudo-
RAMdisque » ci-dessus, peuvent servir à des utilisateurs dont l'ordi a peu
de MÉV (alias RAM). Je les ai partagés ici parce que j'ai pensé qu'ils
pourraient être intéressants pour eux autant que pour moi.

~~~~~~~~

2) Découverte potentiellement importante --
On peut compiler du code Linux sur un disque formaté en UDF. Sur le
« pseudoDVD » expliqué ci-dessus, hier soir j'ai compilé la version 2.18
du navigateur links ainsi que ses dépendances. Tout s'est très bien passé.

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

À+
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

#9 Post by musher0 »

R-allô !

Voici autre chose qu'on peut faire avec ce « pseudoDVD » :

-- transférer le dossier Mes-Documents dessus et le conserver de Puppy en
Puppy. Ainsi, qu'on change de Puppy ou même de distro, on aura toujours à
portée de main le même ensemble de documents qu'on s'est constitué.

Il suffira de créer un lien symbolique depuis
/mnt/pseudoDVD/Mes-Documents à /root/my-documents.

Meilleures salutations.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
Argolance
Posts: 3767
Joined: Sun 06 Jan 2008, 22:57
Location: PORT-BRILLET (Mayenne - France)
Contact:

#10 Post by Argolance »

Bonjour,
oui wrote:En fait, vous avez tort tous les deux:
Comme j'ai horreur des malentendus, je précise que mon soucis n'était pas d'énoncer une opinion me donnant ou raison... ou tort.
Désolé si ma formulation a pu le laisser entendre.
Et d'ailleurs, j'avoue après relecture que j'aurais peut-être mieux fait de suggérer à musher0, qui déplore le manque d'intérêt que suscite son fil, de plutôt donner la raison d'être de ses scripts et la façon de s'en servir dans le corps même de son message plutôt que d'y copier/coller le contenu des scripts en mode code. Le mélange de lignes de commandes et de commentaires diésés n'est pas forcément explicite pour tout le monde et, me mettant à la place d'un puppiste lambda de passage, à qui pourtant ces scripts pourraient être utiles (car mon but n'a été d'en contester ni l'utilité ni la valeur), j'ai pensé qu'il risquait de passer à coté. Quant aux scripts (sans rien changer de leur contenu), un fichier compressé, n'aurait-il pas pu faire l'affaire?

Merci musher0 de ne pas me prêter des intentions qui ne sont nullement les miennes.

Santé.

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

#11 Post by musher0 »

C'est bon. T'en fais pas, Argolance.

Du point de vue du nouveau puppyiste, tu as raison.

Je vais voir si je ne peux pas créer un script de lecture qui distinguerait,
extrairait et afficherait l'info d'un script lourdement commenté au profit
des nouveaux.

Genre, afficher au moyen de less ou more, ou dans un éditeur de texte,
tout ce qui est à droite d'un dièze dans un script. Ainsi que tout ce qui
serait sous la commande < exit >.

En ce qui concerne l'affichage de tout le script dans un message, il me
sembe que c'est une tradition, même presque une obligation, des
codeurs d'open source de faire comme ça. Non ?

J'ai vu ça souvent. Même MochiMoppei et BarryK le font, il me semble.

À moins d'afficher le code sur un site tel pastebin ou un de ses cousins,
avec référence dans le message. Privatebin est très bien fait; entre
autres caractéristiques, en plus de son souci de protection du droit
d'auteur, on peut y ouvrir un fil de forum pour ouvrir une
discussion sur son script, Mais l'utiliser c'est peut-être se compliquer
inutilement la vie puisque le forum ici a la fonction inverse.

(Ajout en soirée :)
Privatebin dit « Affiche d'abord ton script, puis initie un fil de discussion. »
Le forum Puppy ici dit « Initie d'abord un fil de discussion, puis affiche
ton script. » C'est « bonnet blanc, blanc bonnet, » on dirait.
(Fin de l'ajout)


À+
Last edited by musher0 on Fri 01 Feb 2019, 10:52, edited 1 time in total.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

#12 Post by musher0 »

Rebonjour.

Voilà qui est fait !

Maintenant si je fais lire mon script PoorMansMergerFs.sh dans le 1er
message par mon script de lecture, voici ce que ça donne :
[4;1;33mEn-tête du script :[0m

#!/bin/ash
# /root/my-applications/bin/PoorMansMergerFs.sh # :)
# (Trad. fr. : « Le système de fichiers fusionnel du pauvre » :)
#
# Goal: The user will easily access the material on the
# ----- pseudo-ramdrive from the ramdrive. /
# Objectif : Que l'utilisateur accède facilement au
# ---------- matériel sur le pseudo-RAMdisque depuis
# ---------- le RAMdisque.
#
# Please read the notes and the license at bottom. /
# S.v.p. lire les notes et la licence sous le script.
#
# © Christian L'Écuyer,Gatineau (Qc), Canada, 19 janv. 2019. GPL3.
# (Alias musher0 [forum Puppy].) # Rév. : aucune encore | none yet.
####

[4;1;33mNotes à la fin du script :[0m

exit

# ~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~
Note(s) -- EN
1) To learn about the real mergerfs ;) , please visit
-=> https://github.com/trapexit/mergerfs <=-

2) Benefits --
2.1) On Puppies with little RAM (2 or 3 Gb's), or
those with a non-PAE or 4G kernel, this trick adds
the size of the pseudo-RAMdisk to that of the RAMdisk.

E.g., you create a 1.4 Gb zram-type ramdisk. Say you
have also prepared a 1,9 Gb pseudo-RAMdisk. Combining
them with this script, you get a storage capacity of
3.3 Gb on a computer that has perhaps only 3 Gb RAM.

You can of course give any size to your pseudo-ramdisk
when you create it.

2.2) If the hard disk on which the pseudo-RAMdrive
is locatedis of SSD type, there will be no speed
problem since recent SSD's are as fast as RAM, or
more. (If you have an SSD disk, compare with hdparm
the speeds on the SSD and on /initrd/pup_z, and you
will observe that the speed difference is negligible.

2.3) Additionnally, this "Poor Man's Merger FS" reduces
the annoyance of having to save, on a permanent-type
disk, the volatile content of the RAM disk every 10
minutes, by hand ou through a script.

In short, it's all good!

TWYL

# ~~~~~~~~~~~~~~~~~~~~~~~~
Note(s) -- FR
1) Pour apprendre ce qu'est le vrai mergerfs ;) ,
s.v.p. visiter
-=> https://github.com/trapexit/mergerfs <=-

2) Avantages --
2.1) Sur les Puppys avec peu de RAM (2 ou 3 Go), ou
encore ceux qui ont un noyau non-PAE ou 4G, cette
astuce ajoute la taille du pseudo-RAMdisque à celle
du RAMdisque.

Par ex., vous vous créez un RAMdisque de type zram
de 1,4 Go et vous vous êtes préparé un pseudo-
RAMdisque de 1,9 Go. En les combinant au moyen du
présent script, vous obtenez une capacité de stockage
de 3,3 Go sur un ordi qui n'a peut-être que 3 Go de MEV.

Vous pouvez bien sûr vous créer un pseudo-RAMdisque de
la taille que vous voulez.

2.2) Si le disque dur où est situé le pseudo-RAMdisque
est de type SSD, aucun problème de vitesse puisque les
SSD récents sont aussi et même plus rapides que la MEV.
(Si vous avez un disque SSD, faites un test de vitesse
au moyen de hdparm sur le SSD et sur /initrd/pup_z, et
vous constaterez que la différence de vitess est
négligeable.

2.3) De plus, ce « système de fichiers fusionnel du
pauvre » réduit l'enquiquinage de devoir enregistrer
sur sur un disque permanent le contenu volatile du
RAMdisque toutes les dix minutes, à la main ou par
l'intermédiaire d'un script.

En résumé, c'est tout bon !

À+
#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~
#~~~ License -- <https://opensource.org/licenses/GPL-3.0>
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, version 3 of the License or (at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. Please see the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.

#~~~ Licence
Ce programme est libre : vous pouvez le redistribuer ou le modifier selon les
termes de la Licence Publique Générale GNU publiée par la Free Software
Foundation, version 3 ou ultérieure, à votre choix.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS
GARANTIE explicite ni implicite, dont celles de commercialisation ou
adaptation à un but précis. Pour plus de détails, se reporter au texte
officiel à <http://www.gnu.org/licenses/>, à sa traduction à
<http://www.linux-france.org/article/these/gpl.html> et, pour une explication
en français, à <https://fr.wikipedia.org/wiki/Licence_p ... érale_GNU>.

#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~~~~~~~~~#~~~~~
Y a-t-il des questions ?

À+
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

#13 Post by musher0 »

Quant au script de création et montage d'une pseudoRAM
ci-dessus, la doc est la suivante :
[4;1;33mEn-tête du script :[0m

#!/bin/ash
# $MBINS/Cree-pseudoRAMdisque.sh
#
# Objectif : créer un fichier portatif sembable à un RAMdisque
# ------------ ou à un DVD-RAM.
#
# Condition : partition Linux offrant assez d'espace libre.
#
# Requiert : dd, mkdir, mount (déjà dans le Puppy);
# ------------- mkudffs (du paquet udftools, à installer au besoin).
#
# (c) musher0, 28 janv. 2019. GPL3.
####

[4;1;33mNotes à la fin du script :[0m

exit

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTES
1) -- Sur un autre Puppy, j'ai dû utiliser « -t ext2 »
au lieu de « -t udf » pour le montage.

2) Pour le transport, il est très avantageux de
comprimer ce « pseudoDVD » avec zip ou autre.

Exemple avec zip ;
Z=pseudoRAMdisk;zip -9 -dd $Z.zip $Z
Z=pseudoRAMdisk.zip;zip -9 -dd $Z.zip $Z

S'il n'y a pas grand'chose dedans, on obtiendra
un gain d'espace de jusqu'à ~ 99 %.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# - 30 - #
Y a-t-il des questions ?

À+
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

#14 Post by musher0 »

R-allô !

Quand je dis ci-dessus « compacté à 99 % », c'est pas de la blague !

Ci-joint, en 14 Ko, un fichier-système-de-fichiers vierge de 4,8 GM
(gigaoctets métriques) formaté en UDF. Il est en tous points semblable à
celui proposé dans mon 2e script, sauf pour son nom, qui est en français.

Servez-vous ! :D

Pour s'en servir, on le télécharge sur une partition où on a plus de 5 Go
de libres. On le déballe deux fois avec unzip.

Code: Select all

unzip pseudoRAMdisque.zip.zip
ensuite

Code: Select all

unzip pseudoRAMdisque.zip
Puis on lui crée le point de montage « pseudoDVD » sur /mnt :

Code: Select all

cd /mnt
mkdir pseudoDVD
Enfin on le monte.

Code: Select all

mount -t udf /mnt/partition-où-vous-l'avez-dézippé/pseudoRAMdisque /mnt/pseudoDVD
Voilà ! Vous avez maintenant un conteneur où mettre vos documents
personnels, ou les fruits de vos recherches sur Internet, votre collection de
fichiers musicaux, ou ce que vous voulez. Grand avantage : ce fichier-
archive est zippable puis portable sur tout autre Puppy ou distro. Et
comme ce conteneur est formaté en udf, il offre 200-300 Mo d'espace
de plus que son équivalent en ext3.

Attention cependant ! Ne pas y stocker d'icônes ou de scripts lancés ou
référencés au démarrage (c.-à-d. présents dans /root/Startup).

Vous vous mettriez dans un joli pétrin. (J'ai dit « joli », pas « fatal » !!!) Si
cela vous arrive, vous dépêtrer de cette situation fera faire à vos
linuxiennes méninges de l'excellent exercice ! :D

À+
Attachments
pseudoRAMdisque.zip.zip
(13.52 KiB) Downloaded 119 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

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

#15 Post by musher0 »

Rebonjour.

Voici un exemple d'utilisation du pseudoDVD pour se créer « un système
de fichiers fusionnel pas compliqué ». (Ce qui est le titre de ce fil.)

Pour des raisons historiques, ma collection de musique est sur deux
partitions : /mnt/sda1/Musique et /mnt/sdb5/Musique_classique.

Dans /mnt/sda1/Musique, j'ai des chansons, du jazz, de la musique pop.
Dans l'autre, comme le nom du répertoire l'indique.

J'étais fatigué à la longue de devoir cliquer et recliquer dans rox pour
passer d'une section à l'autre, d'une partition à l'autre.

Alors voici ce que j'ai fait :
-- je me suis créé un pseudoDVD comme expliqué ci-dessus.

-- j'ai déménagé le répertoire /root/my-documents à
/mnt/pseudoDVD/my-documents

-- dans mon nouveau répertoire my-documents, je crée d'un coup un
répertoire Musique ainsi qu'un sous-répertoire Chanson-Pop_Jazz au
moyen de :

Code: Select all

cd /mnt/pseudoDVD/my-documents
mkdir -p Musique/Chanson-Pop-Jazz
-- j'entre dans le sous-répertoire Chanson-Pop-Jazz pour utiliser la
commande de création de liens < ln >:

Code: Select all

cd Musique/Chanson-Pop-Jazz
ln -s /mnt/sda1/Musique/* .
Remarquez l'astérisque et le point. Cela signifie que je veux des liens de
ce qu'il y a SOUS /mnt/sda1/Musique/ ICI.

Les liens symboliques sont maintenant créés. Ma collection de chansons,
de jazz et de musique pop est maintenant à disposition sous le répertoire
général Musique.

-- je remonte d'un cran au répertoire général Musique par

Code: Select all

cd -
-- je crée un autre lien symbolique pour ma collection de musique
classique :

Code: Select all

ln -s /mnt/sdb5/Musique_classique .
S.v.p. noter qu'il n'y a pas d'astésique dans cette commande-ci, en
comparaison de la précédente. Cela signifie que je NE veux PAS de liens
vers ce qu'il y a DEDANS /mnt/sdb5/Musique_classique, mais un lien
direct, DE MÊME NIVEAU, à /mnt/sdb5/Musique_classique.

-- enfin, je voulais avoir mon répertoire de Radios-Internet au même
niveau que Chanson-Pop-Jazz et Musique_classique, alors j'ai tapé, étant
encore dans /mnt/pseudoDVD/my-documents/Musique :

Code: Select all

mv Chanson-Pop-Jazz/Radios-Internet .
Comme quoi la commande < mv > peut aussi déplacer uniquement des
liens symboliques et pas seulement leur référence (aussi appelée « cible »).

Voilà. J'ai maintenant accès à toute ma collection de musique à partir
d'un seul endroit.

Une illustration du résultat est jointe.

Si vous avez des questions, n'hésitez pas à les poser.

Dans l'espoir d'être utile.

À+
Attachments
un-mergerfs-maison.jpg
Il semble y avoir deux « pièces », mais c'est le même endroit. Il s'agit
plutôt de deux « portes » donnant sur la même pièce. La magie de Linux !
(156.17 KiB) Downloaded 92 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Post Reply