Collegamento simbolico: nessun file o directory


18

Ho creato un collegamento simbolico da un file in "/ opt / bladir / bla" a "bla". Quindi "bla" è ora in "/ usr / bin / bla". Ma se voglio chiamare "bla" al terminale, non viene visualizzato l'errore di file o directory. Ho cercato "/ usr / bin / bla" e il file si collega correttamente a "/ opt / bladir / bla".

Quale può essere l'errore?

PS ecco la mia "voce" terminale: sudo ln -s /opt/bladir/bla bla

Grazie!

€: Problema risolto. Secondo l'elenco delle funzionalità, 12.04 dovrebbe avere il supporto Multiarch ... 'dovrebbe'. Ho ottenuto le librerie ia32 da synaptic e ora il programma va bene. A quanto pare, i miei collegamenti simbolici erano corretti.

Grazie per tutte le risposte!

Risposte:


13

EDIT: la soluzione seguente non funziona. È evidente che il collegamento simbolico è interrotto, perché file -Lnon è possibile aprire il collegamento simbolico / usr / bin / bla. In questo caso, procedi come segue:

sudo ln -sf /opt/bladir/bla /usr/bin/bla

usando percorsi completi (-f è per forzare la sovrascrittura del collegamento simbolico precedente, se ce n'è uno).

Hm. Penso che il programma "bla" stia cercando cose che sono installate in / opt / bladir e non le trova. Ad esempio, può essere un wrapper di script shell attorno a un eseguibile Java, con percorso relativo alla directory corrente: ma la directory corrente è / usr / bin / e non / opt / bladir /.

Se il seguente funziona

file -L /usr/bin/bla

... allora sicuramente non è un problema con il tuo link simbolico.

Controlla se "bla" è uno script di shell che puoi modificare, dai un'occhiata all'interno - forse troverai il problema. Forse, aggiungere / opt / bladir al tuo PERCORSO sarebbe una soluzione migliore.


Il comando dato dice: ERRORE: impossibile aprire `/ usr / bin / bla '. Non posso dare un'occhiata all'interno di "bla", è un programma, non solo uno script di shell.
Guarda il

OK, ripetere il collegamento simbolico con percorsi completi, per favore.
Gennaio

Sono arrivato a quell'idea prima da solo. Anche con rm i vecchi link e crearne di nuovi, l'errore appare ancora. -sf inoltre non ha funzionato.
Guarda il

OK. Si prega di eseguire ls -l /usr/bin/blae ls -l /opt/bladir/blariportare l'output esatto di questi comandi.
Gennaio

@Gennaio quale linea di condotta consiglieresti se file -L non funzionasse?
dbliss,

0

Spesso viene visualizzato questo tipo di messaggio di errore, se non è abilitato il bit di esecuzione. Controlla se al file principale e al link viene concessa l'autorizzazione all'esecuzione.

Sospetto che il tuo /optpossa essere montato da una partizione separata e non sia montato con l' execopzione mount


Il bit di esecuzione è impostato e / opt / non è su una partizione separata: /
Sehe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.