J'ai créé un lien symbolique à partir d'un fichier dans "/ opt/bladir/bla" vers "bla". Donc "bla" est maintenant dans "/ usr/bin/bla". Mais si je veux appeler "bla" au terminal, il n’ya pas d’erreur de fichier ou de répertoire. J'ai levé les yeux sur "/ usr/bin/bla" et le fichier liait correctement à "/ opt/bladir/bla".
Quelle peut être l'erreur?
P.S. voici mon terminal "entry": Sudo ln -s /opt/bladir/bla bla
Merci!
€: Problème résolu. Selon la liste des fonctionnalités, 12.04 devrait avoir le support de Multiarch ... "devrait". J'ai eu le ia32-libs de synaptic et maintenant le programme va très bien. En apparence, mes liens symboliques étaient corrects.
Merci pour toutes les réponses!
EDIT: la solution ci-dessous ne fonctionne pas. Il est évident que le lien symbolique est rompu, car file -L
ne peut pas ouvrir le lien symbolique/usr/bin/bla. Dans ce cas, procédez comme suit:
Sudo ln -sf /opt/bladir/bla /usr/bin/bla
utiliser des chemins complets (-f consiste à forcer le remplacement du lien symbolique précédent, le cas échéant).
Hm. Je pense que le programme "bla" recherche peut-être des éléments installés dans/opt/bladir et ne les trouve pas. Par exemple, il peut s'agir d'un wrapper de script Shell autour d'un exécutable Java, avec un chemin relatif au répertoire en cours: mais votre répertoire en cours est/usr/bin/et non/opt/bladir /.
Si les travaux suivants
file -L /usr/bin/bla
... alors c'est définitivement pas un problème avec votre lien symbolique.
Vérifiez si "bla" est un script Shell que vous pouvez modifier, jetez un coup d'oeil à l'intérieur - vous trouverez peut-être le problème. Peut-être, ajouter/opt/bladir à votre PATH serait une meilleure solution.
Ce type de message d'erreur est souvent affiché si le bit d'exécution n'est pas activé. Vérifiez si le fichier principal ainsi que le lien bénéficient d'une autorisation d'exécution.
Je soupçonne que votre /opt
peut être monté à partir d'une partition distincte et qu'il n'est pas monté avec l'option de montage exec