No próximo artigo, vamos dar uma olhada em como encontrar e remover links simbólicos quebrados no Ubuntu. Links simbólicos são uma forma de simplificar o gerenciamento de um sistema Gnu / Linux. Eles são usados em servidores e estações de trabalho, onde a vinculação de um diretório a outro é usada para aplicativos para enviar informações para outro lugar na árvore de diretórios.
Un link simbólico em sistemas Unix ou Gnu / Linux, indica um acesso a um diretório ou arquivo existente que está em um lugar diferente dentro da estrutura de diretório. Uma modificação feita usando este link será refletida no original, mas ao contrário, se o link for removido, o arquivo ou diretório a que se refere não será removido. Outra opção menos comum é usar um link físico (link rígido) Nesse caso, a exclusão do link causa a exclusão do arquivo ou diretório, se for o último link físico para o arquivo.
Uma vantagem do link simbólico sobre links físicos é que é possível fazer links simbólicos que apontam para objetos em sistemas de arquivos encontrados em outros dispositivos, ou para partições dentro do mesmo dispositivo. O comando normalmente usado para gerenciar links (severo e simbólico) é ln.
Symlinks, uma ferramenta para gerenciar links simbólicos
Existe um aplicativo chamado links simbólicos na maioria dos repositórios Gnu / Linux. Este é um utilitário de linha de comando simples, que irá fornecer resultados úteis e opções para gerenciar links simbólicos. Para poder instale esta ferramenta no Ubuntu, só teremos que abrir um terminal (Ctrl + Alt + T) e executar o comando:
sudo apt install symlinks
Com links simbólicos podemos usar diferentes opções para trabalhar com links simbólicos. Dentre eles podemos destacar a opção -d, o que removerá os links que ficaram pendurados. Outro interessante de saber é a opção -r, que fará recursivamente através dos subdiretórios qualquer opção que especificarmos para esta ferramenta.
Um exemplo básico
Para começar com este exemplo, vamos primeiro criar um link simbólico. Podemos fazer isso tomando um arquivo existente e usando o comando ln para vinculá-lo a um arquivo que ainda não existe. Os comandos para criar este exemplo seriam os seguintes:
touch archivo-ejemplo.txt ln -s archivo-ejemplo.txt link-archivo-ejemplo.txt
Então vamos usar o comando ls para verificar se o link que acabamos de criar já existe em nosso sistema.
A próxima coisa que faremos é quebrar o link simbólico que acabamos de criar.
rm archivo-ejemplo.txt
Mesmo que tenhamos apenas excluído o arquivo original, como você pode ver na imagem anterior, o comando ls -l ainda relata que o link ainda está lá. É aí que reside o problema, pois este link ficaria preso em um arquivo que não existe mais. Os arquivos neste exemplo também podem estar em diretórios diferentes, o que pode tornar mais difícil verificar se o arquivo original ainda está lá.
Encontre e repare links simbólicos quebrados
A maneira de consertar links simbólicos quebrados é simplesmente removê-los. É impossível recuperá-los, então só precisaremos exclua-os da árvore de diretórios.
Pára verifique se há links simbólicos quebrados, vamos usar a ferramenta de links simbólicos. Teremos apenas que usar o seguinte comando:
symlinks .
É importante prestar atenção ao ponto (.) no final do comando, pois indica o diretório de trabalho atual. Isso pode ser alterado com qualquer caminho para indicar um diretório no qual estamos tentando pesquisar. O comando anterior nos mostrará uma saída como a seguinte:
Indica que 'link-arquivo-exemplo.txt'está pendurado e que o link simbólico está quebrado. Para eliminá-lo teremos apenas que usar o mesmo comando de antes, adicionando a opção -d:
symlinks -d .
A saída que o terminal irá retornar mostrará algo semelhante à última vez, mas desta vez, também incluirá a linha 'excluído'.
Continuando com o exemplo anterior, se não tivéssemos usado o último comando, para pesquisar links simbólicos quebrados, também poderíamos usar find como segue:
find . -xtype l
Tal como acontece com a ferramenta de links simbólicos, o ponto (.) representa o diretório de trabalho atual. Pra remova os links simbólicos quebrados, só teremos que adicionar a opção -excluir como é mostrado a seguir:
find . -xtype l -delete
Este comando não mostrará nenhum resultado, mas se o executarmos novamente sem a opção -excluir, não veremos nada na tela. Isso será uma indicação de que os links simbólicos quebrados foram removidos.
Desinstalar
Desinstalar links simbólicos é tão simples quanto instalá-lo. Só precisaremos abrir um terminal (Ctrl + Alt + T) e executar o comando:
sudo apt remove symlinks
Com essas etapas simples, todos os usuários podem encontre facilmente links simbólicos quebrados e remova-os antes que possam causar problemas.