Nel prossimo articolo daremo uno sguardo a come trovare e rimuovere collegamenti simbolici interrotti in Ubuntu. I collegamenti simbolici sono un modo per semplificare la gestione di un sistema Gnu / Linux. Questi vengono utilizzati sia sui server che sulle workstation, dove il collegamento da una directory a un'altra viene utilizzato per le applicazioni per inviare informazioni altrove nella struttura della directory.
Un collegamento simbolico su sistemi Unix o Gnu / Linux, indica un accesso a una directory oa un file esistente che si trova in una posizione diversa all'interno della struttura della directory. Una modifica effettuata utilizzando questo collegamento si rifletterà nell'originale, ma al contrario, se il collegamento viene rimosso, il file o la directory a cui si riferisce non verrà rimosso. Un'altra opzione meno comune è usare un hard link (collegamento reale). In questo caso, l'eliminazione del collegamento provoca l'eliminazione del file o della directory, se era l'ultimo collegamento reale al file.
Un vantaggio del collegamento simbolico rispetto agli hard link è che è possibile creare collegamenti simbolici che puntano a oggetti nei file system trovati su altri dispositivi o alle partizioni all'interno dello stesso dispositivo. Il comando normalmente utilizzato per gestire i collegamenti (sia aspro che simbolico) E ' ln.
Collegamenti simbolici, uno strumento per gestire i collegamenti simbolici
C'è un'applicazione chiamata collegamenti simbolici nella maggior parte dei repository Gnu / Linux. Questa è una semplice utility della riga di comando, che fornirà risultati e opzioni utili per gestire i collegamenti simbolici. Per installa questo strumento su Ubuntu, dovremo solo aprire un terminale (Ctrl + Alt + T) ed eseguire il comando:
sudo apt install symlinks
Con i collegamenti simbolici possiamo utilizzare diverse opzioni per lavorare con i collegamenti simbolici. Tra questi possiamo evidenziare l'opzione -d, che rimuoverà i collegamenti rimasti in sospeso. Un altro interessante da sapere è l'opzione -r, che ricorsivamente attraverso le sottodirectory qualunque opzione specifichiamo per questo strumento.
Un semplice esempio
Per iniziare con questo esempio, creiamo prima un collegamento simbolico. Possiamo farlo prendendo un file esistente e utilizzando il comando ln per collegarlo a un file che non esiste ancora. I comandi per creare questo esempio sarebbero i seguenti:
touch archivo-ejemplo.txt ln -s archivo-ejemplo.txt link-archivo-ejemplo.txt
Quindi useremo il comando ls per verificare che il collegamento che abbiamo appena creato esista già nel nostro sistema.
La prossima cosa che faremo è rompere il collegamento simbolico che abbiamo appena creato.
rm archivo-ejemplo.txt
Anche se abbiamo appena cancellato il file originale, come puoi vedere nello screenshot precedente, il comando ls -l segnala ancora che il collegamento è ancora lì. È qui che risiede il problema, poiché questo collegamento verrebbe lasciato sospeso da un file che non esiste più. I file in questo esempio potrebbero anche trovarsi in directory diverse, il che potrebbe rendere più difficile controllare se il file originale è ancora lì.
Trova e ripara i collegamenti simbolici interrotti
Il modo per correggere i collegamenti simbolici interrotti è semplicemente rimuoverli. È impossibile recuperarli, quindi avremo solo bisogno eliminarli dall'albero delle directory.
a verificare la presenza di collegamenti simbolici interrotti usiamo lo strumento collegamenti simbolici. Dovremo solo usare il seguente comando:
symlinks .
È importante prestare attenzione al punto (.) alla fine del comando, poiché indica la directory di lavoro corrente. Questo può essere modificato con qualsiasi percorso per indicare una directory in cui stiamo cercando di cercare. Il comando precedente ci mostrerà un output come il seguente:
Indica che 'link-file-esempio.txt'è sospeso e che il collegamento simbolico è interrotto. Per eliminarlo dovremo solo usare lo stesso comando di prima, aggiungendo l'opzione -d:
symlinks -d .
L'output che il terminale restituirà mostrerà qualcosa di simile all'ultima volta, ma questa volta includerà anche la riga 'cancellato'.
Continuando con l'esempio precedente, se non avessimo utilizzato l'ultimo comando, per cercare collegamenti simbolici interrotti potremmo anche usare find come segue:
find . -xtype l
Come con lo strumento link simbolici, il punto (.) rappresenta la directory di lavoro corrente. Per rimuovere i collegamenti simbolici interrotti, dovremo solo aggiungere l'opzione -delete come mostrato di seguito:
find . -xtype l -delete
Questo comando non mostrerà alcun risultato, ma se lo eseguiamo di nuovo senza l'opzione -Elimina, non vedremo nulla sullo schermo. Ciò indicherà che i collegamenti simbolici interrotti sono stati rimossi.
disinstallazione
Disinstalla i collegamenti simbolici è semplice come installarlo. Avremo solo bisogno di aprire un terminale (Ctrl + Alt + T) ed eseguire il comando:
sudo apt remove symlinks
Con questi semplici passaggi, tutti gli utenti possono trova facilmente collegamenti simbolici interrotti e rimuovili prima che possano causare problemi.