Ogni giorno scarichiamo, creiamo e modifichiamo vari tipi di file nel nostro sistema operativo, in questo caso specifico stiamo parlando di Linux, e uno dei guasti più comuni è che spesso possiamo avere diversi file duplicati che, non solo occupano un extra spazio nel disco rigido, ma può diventare un fattore di confusione durante l'apertura e la modifica dei file.
In molte occasioni abbiamo sui nostri desktop o server vari file, indipendentemente dal loro formato, duplicati e non lo sappiamo. Questo genera occupare spazio inutilmente e essere in grado di lavorare con un file sbagliato poiché possiamo modificarne uno e quindi aprire l'altro, ecc. Un modo pratico per organizzare al meglio il nostro ambiente di lavoro è rilevare ed eliminare questi file duplicati in modo che in questo modo sia possibile utilizzare un singolo file.
Vale la pena fare questo compito non solo per poter cancellare i duplicati, ma anche per effettuare ricerche in cui possiamo eliminare ed eliminare i file che non vogliamo più ma che abbiamo ripetuto da diverse parti del sistema operativo Linux. Non importa la versione in quanto può essere in Fedora, Ubuntu, Debian, CentOS tra molti altri.
Abbiamo già visto ai suoi tempi come trovare file duplicati in Windows, qui ci concentriamo sugli ambienti Linux, dove abbiamo strumenti sia a livello grafico che a riga di comando, che ci aiuteranno a trovare questi file ed eliminare quelli che consideriamo inutile.
Solvetic spiegherà come rilevare ed eliminare i file duplicati in Linux in modo semplice ma funzionale.
Cos'è l'utilità Rdfind?Rdfind è uno strumento da riga di comando che è stato sviluppato per rilevare i file duplicati nella directory. Il suo utilizzo può essere applicato per comprimere directory di backup o per trovare file duplicati in modo semplice, questa utility confronta i file in base al loro contenuto, ma non ai nomi dei file poiché si basa sul checksum. Rdfind utilizza un algoritmo per classificare i file e quindi rilevare quale dei duplicati è l'originale e quindi considerare il resto come duplicato. Le regole per l'utilizzo di Rdfind sono:
- Se A è stato trovato durante la scansione di un argomento di input prima di B, A è classificato più in alto.
- Se A è stato trovato a una profondità inferiore a B, A è classificato più in alto.
- Se A è stato trovato prima di B, A è classificato più in alto.
Cos'è l'algoritmo di Rdfind?Rdfind, come abbiamo detto, fa uso del seguente algoritmo dove N è il numero di file da cercare e lo sforzo richiesto è O (Nlog (N)). Rdfind ordina i file in inode prima di leggerli dal disco, quindi questo processo è veloce e legge i dati dal disco solo quando richiesto. L'algoritmo gestisce le seguenti sequenze:
- Viene creato un ciclo su ogni argomento sulla riga di comando, a ogni argomento viene assegnato un numero di priorità, in ordine crescente.
- Per ogni argomento, il contenuto della directory viene elencato in modo ricorsivo e mappato all'elenco dei file.
- Rdfind assegna un numero di profondità della directory, a partire da 0 per ogni argomento.
- Se l'argomento di input è un file, verrà aggiunto all'elenco dei file.
- L'elenco viene quindi attraversato e vengono scoperte le dimensioni di tutti i file.
- Se il flag “-removeidentinode” è vero, gli elementi della lista che sono già stati aggiunti vengono rimossi, secondo la combinazione di numero di dispositivo e inode.
- I file vengono ordinati per dimensione, quindi i file vengono rimossi dall'elenco, che hanno dimensioni univoche.
- È ordinato per dispositivo e inode che velocizza la lettura dei file).
- I file nell'elenco che hanno la stessa dimensione, ma i primi byte diversi vengono rimossi.
- Il checksum viene eseguito per ogni file.
- Vengono mantenuti solo i file nell'elenco con le stesse dimensioni e checksum. Questi sono i duplicati.
- L'elenco è ordinato per dimensione, numero di priorità e profondità. Il primo file in ogni set di duplicati è considerato l'originale per impostazione predefinita.
- Se selezioni "-makeresultsfile true", il file dei risultati viene stampato (impostazione predefinita).
- Se il flag è "-deleteduplicates true", i file duplicati verranno eliminati.
- Se il flag è "-makesymlinks true", i duplicati vengono sostituiti con un collegamento simbolico all'originale.
- Se il risultato è "-makehardlinks true", procediamo a sostituire i duplicati con un collegamento all'originale.
1. Trova file duplicati con l'utilità Rdfind su Linux
Passo 1
Per installare Rdfind in Linux possiamo eseguire uno dei seguenti comandi:
sudo apt install rdfind (Debian / Ubuntu / Mint) sudo yum install epel-release && $ sudo yum install rdfind (CentOS / RHEL) sudo dnf install rdfind (Fedora)
Passo 2
Una volta scaricato e installato Rdfind, lo eseguiremo in una semplice directory come segue:
rdfind / home / Solvetic
Passaggio 3
Lì possiamo vedere che il numero di file in detta directory viene rilevato e indica se i file duplicati sono stati eliminati o meno. L'utilità Rdfind salverà i risultati in un file results.txt situato nella stessa directory da cui è stato eseguito il programma, possiamo vedere il suo contenuto usando cat:
risultati di gatto.txt
Passaggio 4
Un'attività aggiuntiva da utilizzare con rdfind è utilizzare il parametro "-dryrun" che fornirà un elenco di duplicati senza intraprendere alcuna azione su di essi:
rdfind -dryrun true / home / Solvetic
Passaggio 5
In caso di rilevamento di duplicati, è possibile sostituirli con hardlink come questo.
rdfind -makehardlinks true / home / utentePassaggio 6
Per eliminare i duplicati dobbiamo eseguire quanto segue:
rdfind -deletedupplicates true / home / utentePassaggio 7
Per accedere all'aiuto di Rdfind utilizzeremo il seguente comando:
uomo trovato
2. Trova file duplicati con l'utility Fdupes su Linux
Un'altra opzione che abbiamo in Linux per convalidare i file duplicati è Fdupes. È uno strumento da riga di comando che ci consente di osservare in dettaglio quali file abbiamo duplicati sul sistema. Fdupes è un programma che è stato sviluppato per identificare o eliminare file duplicati ospitati in directory specifiche in Linux, è open source e gratuito ed è scritto in C.
Caratteristiche di FdupesFdupes utilizza i seguenti metodi per determinare i file duplicati nelle directory:
- Confronto di firme md5sum parziali.
- Confrontando tutte le firme di md5sum.
- Controllo del confronto byte per byte.
Quando si utilizza Fdupes avremo opzioni per l'uso come:
- Ricerca ricorsiva.
- Escludi file vuoti.
- Visualizza la dimensione dei file duplicati.
- Rimuovi immediatamente i duplicati.
- Escludi file con proprietari diversi.
Passo 1
Per impostazione predefinita, questo strumento non è installato, quindi dobbiamo inserire il seguente comando per installarlo. Per installare Fdupes eseguiremo il seguente comando:
sudo apt install fdupes
Passo 2
Una volta scaricato, possiamo eseguire la seguente riga per una semplice ricerca. Lì verranno visualizzati i file duplicati.
fdupes / percorso da cercare
Passaggio 3
Per eseguire una ricerca ricorsiva utilizzeremo la seguente riga:
fdupes -r / percorso da cercare
Passaggio 4
Sarà possibile specificare più directory e specificare una directory per la ricerca ricorsiva come segue:
fdupes -rPassaggio 5
Se vogliamo che Fdupes calcoli la dimensione dei file duplicati, useremo l'opzione -S:
fdupes -S
Passaggio 6
Per raccogliere informazioni di riepilogo sui file trovati utilizzeremo l'opzione -m:
fdupes -m
Passaggio 7
Nel caso in cui desideri eliminare tutti i duplicati, eseguiremo quanto segue:
fdupes -dPassaggio 8
Se vogliamo accedere all'aiuto dell'utility eseguiamo:
fdupes -helpPassaggio 9
Alcune delle opzioni di utilizzo generali sono:
Per ogni directory selezionata, accedi alle sue sottodirectory
-r -ricorrenza
Attiva la ricerca ricorsiva
-R --ricorrenza
Crea collegamenti simbolici
-s -link simbolici
Quando due o più file puntano alla stessa destinazione, vengono trattati come non duplicati
-H -collegamenti reali
Escludi file di lunghezza zero
-n -noempty
Escludi file nascosti
-A -non nascosto
Mostra la dimensione del file duplicato
-S -taglia
Elimina i file selezionati
-d -elimina
Nascondi il -q -quiet
-q -quiet
Seleziona l'ordinamento per l'output e l'eliminazione per file
-o - ***** = BY
Opzioni di eliminazione dei file di registro in LOGFILE
-l --log = LOGFILE
Distribuisci la versione Fdupes
-v -versione
Visualizza il messaggio di aiuto
-h - aiuto
3. Trova file duplicati con l'utility FSlint su Linux
Un altro che useremo è FSlint, che viene fornito di default nelle varie ditro Linux come Ubuntu, Debian, Fedora, ecc. Per saperne di più su FSlint possiamo visitare il seguente link:
Passo 1
Possiamo cercare FSlint dal menu Attività da usare.
INGRANDIRE
Passo 2
Una volta aperto è necessario che installiamo l'applicazione, per farlo basta cliccare sul pulsante Installa e partirà il processo di installazione dell'utility.
INGRANDIRE
Passaggio 3
Una volta installato lo strumento, procediamo alla sua esecuzione e vedremo il seguente ambiente:
Passaggio 4
Per avviare il processo di ricerca di tutti i file duplicati, premi il pulsante "Cerca" che si trova in basso e il risultato sarà simile a questo. Lì possiamo selezionare quei file che non sono necessari ed eliminarli premendo il pulsante Elimina. Lo strumento FSlint può essere utilizzato anche dal terminale in Ubuntu 16.
Passaggio 5
Se vogliamo installare lo strumento da terminale inseriremo il comando:
sudo apt-get install fslint
Passaggio 6
Una volta installato FSlint, inseriremo i seguenti comandi per utilizzare FSlint. Possiamo vedere che vengono visualizzati tutti i file che abbiamo duplicati nel sistema.
cd / usr / share / fslint / fslint (Questo è il percorso predefinito in Ubuntu) ./fslint / Percorso per trovare i file
Nota importanteNessuno di questi strumenti cancella i file duplicati, ci mostra solo cosa sono e dobbiamo eseguire questa operazione manualmente.
Possiamo vedere che abbiamo due opzioni pratiche per rilevare ed eliminare i file duplicati in ambienti Linux e quindi gestire meglio lo spazio e i file da utilizzare.