Creare file shareddir.dat con cartelle condivise per amuled e amuleGUI

Salve a tutti.
Le cartelle condivise su amule sono scritte nel file shareddir.dat.
La scelta delle cartelle da condividere però si può effettuare solo dalla versione grafica di amule.
Se usate amuled o amuleGUI, l’unico modo è modificare il file a mano (con amule NON avviato) e bisogna tenere conto che le directory indicate nel file NON vengono lette ricorsivamente, quindi, se vogliamo condividere anche delle sottocartelle, vanno indicate una per una.

Cosa succede però se sul nostro hard disk abbiamo molteplici sottocartelle da condividere perchè, per esempio, abbiamo musica o serie tv o altro, organizzati in sotto cartelle?

Per evitare di scrivere tutto a mano, ho creato uno script che fa il lavoro per noi.
Innanzitutto lo script crea dei file txt delle cartelle e sottocartelle da condividere, specificando semplicemente quella “generale”.
Ne crea uno per ogni cartella “generale” indicata.
Tramite lo script indico di non considerare le cartelle che si chiamano “.@__thumb” (me le crea il mio player). Ovviamente potete modificarlo per eliminare altri tipi di cartelle o togliere completamente quella riga.
Lo script poi cancella il vecchio file shareddir.dat e lo ricrea con il contenuto di tutti i file txt creati.
Per questione di ordine io ho creato una sotto cartella “liste” dentro la directory /home/pi/.aMuleAdunanzA

Lo script è il seguente. Create un file chiamato shared_create.sh, dentro la cartella liste precedentemente creata, con il seguente contenuto.
Ovviamente vanno modificati i percorsi con i vostri. Anche i nomi dei file .txt possono essere scelti a vostro piacimento.

#!/bin/sh

find  /media/Download/Download -type f -not -empty -printf "%h\n" \
  | uniq \
  | grep -v /.@__thumb \
  | sort -u \
  > /home/pi/.aMuleAdunanzA/liste/Amule_Download.txt

find  /media/WiredLive/VideoMusicali -type f -not -empty -printf "%h\n" \
  | uniq \
  | grep -v /.@__thumb \
  | sort -u \
  > /home/pi/.aMuleAdunanzA/liste/WiredLive_VideoMusicali.txt

find  /media/MyAria/Multimedia/SerieTV -type f -not -empty -printf "%h\n" \
  | uniq \
  | grep -v /.@__thumb \
  | sort -u \
  > /home/pi/.aMuleAdunanzA/liste/MyAria_SerieTV.txt

find  /media/WiredLive/Musica -type f -not -empty -printf "%h\n" \
  | uniq \
  | grep -v /.@__thumb \
  | sort -u \
  > /home/pi/.aMuleAdunanzA/liste/WiredLive_Musica.txt

rm -f /home/pi/.aMuleAdunanzA/shareddir.dat

cat /home/pi/.aMuleAdunanzA/liste/*.txt >> /home/pi/.aMuleAdunanzA/shareddir.dat

Per avviarlo basta eseguire il comando:

sh /home/pi/.aMuleAdunanzA/liste/shared_create.sh

5 Mi Piace

Magari conviene cambiare il titolo con “Creare file shareddir.dat con cartelle condivise per amuled e amuleGUI” (ricorda che le guide sono sempre dirette a chi è poco o per nulla esperto)
Ottima guida, grazie.

Titolo cambiato!

1 Mi Piace

Resuscito questo post (comunque sempre valido) per segnalare un
#N.B.

Ogni volta che si modifica il file shareddir.dat (a mulo spento) al riavvio il demone ri fa l’hash di tutti i file. CPU al 100% per un bel po’ di tempo.

Siete stati avvisati.

1 Mi Piace

Salve a tutti, purtroppo per me il file di Microchip è arabo per cui mi va benissimo editare il file shareddir.dat cartella per cartelle.
Anche così facendo però vedo che non condivide i file nei percorsi indicati, ad esempio

/share/my passport/amule/complete/apps/

dove “my passport” è un HD esterno collegato a un NAS (QNAP TS 130) via USB

Grazie per ogni aiuto!

Ciao, non so se posso esserti d’aiuto don questa mia semplice rispost.

Ho provato a condividere una semplice chiavetta usb dalla normale Gui di AmuleAdunanza e la sintassi che vedo creata nel file Shareddir.dat è la seguente
/media/goku/Penna USB/La Freccia Nera 1968
mentre quella di una cartella di un HD interno al mio pc è la seguente
/mnt/6694B77094B7417B/Tsunami
Ovviamente il nome della directory cambia e non ho idea del nome che il tuo pc assegna al tuo nas quando lo monta.
Questo è il mio File System, se può esserti in qualche modo utile.

Ciao e grazie mille per la risposta.

Dalle proprietà di un video che sta su un HD esterno USB, vedo che il percorso è

/My Passport/Emule/Complete/Movies

mi aspetterei quindi di vedere la cartella “movies” in share

Effettivamente io ho provato a fare come hai descritto tu:
sono entrato nelle proprietà della cartella, ho copiato la posizione, creato una nuova riga nel file shareddir ed con Posizione + /Nome Cartella.
Ho salvato e chiuso il file.
Acceso il mulo mi ha immediatamente condiviso il contenuto della cartella (senza neppure rifare l’hashing di tutti i file condivisi). Tutto questo però su un normale pc con Linux Mint.
Se nel tuo caso non c’è un errore di sintassi non ho idea di quale possa essere il motivo :old_boh:

Io sono su un NAS QNAP con Ubuntu