O Linux tem algum link simbólico por padrão? [fechadas]

0

Eu escrevi um programa que realiza verificações de saúde em servidores. Uma de suas funções é que ele pode verificar se existe ou não um symlink. Atualmente, estou no processo de escrever testes de unidade (para uso com o Travis CI) e estou pensando se há algum link simbólico no qual eu possa depender de estar em qualquer sistema Linux.

Por exemplo, atualmente eu teste unidade com /bin/sh , que geralmente é um link simbólico para algo como /bin/bash .

O Linux tem um conjunto de links simbólicos que estão lá por padrão?

    
por Langston 17.07.2015 / 16:47

1 resposta

3

Não, porque não há distribuição padrão do Linux. O Linux é apenas um kernel e não especifica nada sobre o espaço do usuário, incluindo o layout do arquivo. Se você quiser restringir isso a um subconjunto de distribuições Linux, você pode encontrar algo (com, como você nota, /bin/sh como um bom candidato)

No entanto, o kernel em si tem alguns sistemas de arquivos especiais, notadamente / proc e / sys, que são parte do kernel diretamente e contêm symlinks. Portanto, por exemplo:

$ file /proc/$$/exe
/proc/7622/exe: symbolic link to '/usr/bin/bash'

No entanto, não tenho certeza se eu confiaria nisto para seus testes, porque a) proc pode não estar disponível em todos os sistemas de teste, e b) já que não é um sistema de arquivos real, parece um pouco desonesto. Por que não criar seu próprio link simbólico como parte do seu teste?

    
por 17.07.2015 / 16:56