Como encontrar e corrigir links simbólicos quebrados no Linux
Quer saber mais sobre como excluir links simbólicos quebrados em seu sistema? Talvez alguém tenha lhe contado como links simbólicos inativos ocupam espaço em seu dispositivo de armazenamento e agora você deseja se livrar deles para sempre.
Felizmente, existem vários utilitários disponíveis que você pode baixar em seu computador Linux para gerenciar links simbólicos. Essas ferramentas também o ajudarão a encontrar links de software quebrados e consertá-los permanentemente.
Aqui, discutiremos como você pode relatar e corrigir links simbólicos quebrados em seu sistema usando links simbólicos e o comando find .
O que são links simbólicos e como faço para criar um?
Geralmente, todo sistema de computador tem dois tipos de links — links físicos e links físicos. Links físicos são entradas de diretório que vinculam um nome específico a um arquivo presente em seu sistema. Esses são os arquivos originais armazenados em um endereço específico em seu armazenamento.
Por outro lado, os links virtuais são strings de texto que ligam dois diretórios ou arquivos entre si. Os atalhos do programa são um ótimo exemplo de links simbólicos. Suponha que o arquivo A tenha um link simbólico com o arquivo B. Isso significa que o arquivo A armazenará o caminho absoluto ou relativo para o arquivo B.
Para criar um link simbólico:
- Inicie o terminal pressionando Ctrl + Alt + T no teclado.
- Crie um novo arquivo de texto denominado text.txt .
touch text.txt
- Vincule outro arquivo de texto ( outro.txt ) ao arquivo que você acabou de criar ( text.txt ).
ln -s text.txt another.txt
Você acabou de vincular dois arquivos de texto diferentes usando um link simbólico. O comando ln é a maneira padrão de criar links simbólicos em um sistema operacional baseado em Linux. O -s no comando mencionado acima representa links simbólicos.
O principal problema com links simbólicos é que, se você excluir ou mover o arquivo de destino, o link simbólico não será removido automaticamente. Em vez disso, o link agora aponta para um arquivo que nem mesmo está presente em seu sistema. Esses links são conhecidos como links pendentes, quebrados, órfãos ou inativos.
Encontrar e corrigir links simbólicos quebrados
Primeiro, você precisa confirmar se existe um link simbólico no sistema. Você pode fazer isso facilmente usando os comandos ll e grep .
ll | grep txt
O comando acima listará todos os links simbólicos associados aos arquivos de texto em seu diretório de trabalho atual.
Agora, se formos quebrar o link simbólico que criamos acima, excluindo o arquivo de texto pai ( text.txt ):
rm text.txt
O link simbólico será interrompido e não será removido do seu sistema. Você pode confirmar isso digitando ll | grep txt comando em seu terminal novamente.
Embora alguns links simbólicos quebrados não façam nenhum dano ao seu computador, isso pode gradualmente se tornar mil em nenhum momento. É por isso que é necessário monitorar links pendentes em seu sistema.
A única maneira de consertar esses links simbólicos quebrados é excluindo-os. Seu sistema contém centenas de links pendentes e ninguém tem tempo para verificar esses links manualmente. Nesses casos, as ferramentas e comandos do Linux são realmente úteis.
Usando links simbólicos
Symlinks é um utilitário poderoso que fornece todas as ferramentas de que você precisa para gerenciar e corrigir links simbólicos corrompidos em seu sistema. Como não é instalado na maioria das distribuições Linux por padrão, você terá que instalá-lo manualmente.
Você pode usar o Pacman para instalar o pacote no Arch Linux :
sudo pacman -S symlinks
No Fedora:
sudo dnf install symlinks
No CentOS:
sudo yum install symlinks
Em distribuições baseadas em Debian:
sudo apt-get install symlinks
Se você estiver executando o Ubuntu, antes de instalar o pacote de links simbólicos, você terá que adicionar o repositório universe à lista de repositórios do seu sistema.
sudo add-apt-repository universe
Depois de instalar os links simbólicos com sucesso, você precisa verificar se há links órfãos em seu sistema. Para fazer isso, digite:
symlinks .
A. O caractere (ponto) refere-se ao diretório de trabalho atual. Se você deseja relatar links simbólicos quebrados em seu diretório / home , você pode fazer isso digitando:
symlinks /home
Se um link quebrado estiver presente em seu sistema, você receberá uma saída parecida com esta.
dangling: /home/sharmadeepesh/another.txt -> test.txt
Para excluir rapidamente o link simbólico relatado, você pode usar o sinalizador -d com o comando padrão.
symlinks -d .
Para excluir links simbólicos pendentes no diretório / home , digite:
symlinks -d /home
Desta vez, a saída não apenas listará o link quebrado, mas também relatará que o link foi excluído.
dangling: /home/sharmadeepesh/another.txt -> test.txt
deleted: /home/sharmadeepesh/another.txt -> test.txt
Para relatar e excluir links simbólicos quebrados em um determinado diretório recursivamente, use o sinalizador -dr com o comando padrão, onde d significa delete er significa recursive.
symlinks -dr .
Usando o comando Find
O comando find vem pré-instalado em todos os sistemas Linux. Como o nome sugere, você pode pesquisar pastas e arquivos usando este comando. O comando find permite que você relate e exclua links virtuais mortos em seu sistema facilmente.
Para listar links simbólicos quebrados em seu diretório de trabalho atual, digite:
find . -xtype l
Para localizar links quebrados presentes em qualquer outro diretório em seu sistema, basta substituir o . (ponto) caractere com o caminho do diretório. O seguinte comando irá procurar links quebrados no diretório / home .
find /home -xtype l
Você também pode listar os links simbólicos quebrados que não são usados pelo seu sistema.
find . -xtype l ! -exec test -e {} ; -print
Para verificar para onde apontam esses links quebrados, use:
find . -xtype l -exec ls -l {} +
Dependendo da quantidade de links simbólicos quebrados em seu sistema, você obterá uma saída semelhante a esta.
lrwxrwxrwx 1 root root 19 Feb 21 11:53 /home/sharmadeepesh/another.txt -> /home/sharmadeepesh/text.txt
Além disso, você pode excluir links simbólicos quebrados de uma vez com o seguinte comando.
sudo find . -xtype l -delete
Também existe uma maneira alternativa de excluir links inativos:
sudo find . -xtype l ! -exec test -e {} ; -delete
Gerenciando links simbólicos no Linux
Links simbólicos são importantes para um sistema Linux, pois facilitam o processo de resolução e gerenciamento de caminhos em seu computador. Mas se não for cuidado, os links simbólicos quebrados podem ocupar uma grande parte do armazenamento do sistema e você nem saberá sobre isso. Em tais situações, utilitários como links simbólicos e find entram em jogo.
Se você é um iniciante e deseja aprimorar seus conhecimentos em Linux, aprender novos comandos de vez em quando é a abordagem perfeita a seguir. Os usuários devem saber de qual comando precisam para resolver uma determinada situação de forma eficiente.