심볼릭 링크 : 해당 파일 또는 디렉토리가 없음


17

"/ opt / bladir / bla"의 파일에서 "bla"로의 심볼릭 링크를 만들었습니다. "bla"는 이제 "/ usr / bin / bla"에 있습니다. 그러나 터미널에서 "bla"을 호출하려는 경우 해당 파일 또는 디렉토리 오류가 없습니다. "/ usr / bin / bla"를보고 파일이 "/ opt / bladir / bla"에서 올바르게 연결되어 있습니다.

무엇이 오류가 될 수 있습니까?

추신 : 여기 내 터미널 "항목"입니다 : sudo ln -s /opt/bladir/bla bla

감사!

€ : 문제가 해결되었습니다. 기능 목록에 따르면 12.04는 Multiarch를 지원해야합니다. 'should'. 시냅틱에서 ia32-libs를 얻었으므로 이제 프로그램이 정상적으로 작동했습니다. 보이는 것처럼 내 심볼릭 링크가 올바른 곳입니다.

모든 답변에 감사드립니다!

답변:


13

편집 : 아래 솔루션이 작동하지 않습니다. file -L심볼릭 링크 / usr / bin / bla를 열 수 없기 때문에 심볼릭 링크가 끊어진 것 같습니다 . 이 경우 다음을 수행하십시오.

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

전체 경로 사용 (-f는 이전 심볼릭 링크가있는 경우 강제로 덮어 쓰는 것입니다).

흠. "bla"프로그램이 / opt / bladir에 설치되어 찾을 수없는 것을 찾고 있다고 생각합니다. 예를 들어, 현재 디렉토리에 상대적인 경로가있는 Java 실행 파일 주위의 쉘 스크립트 랩퍼 일 수 있지만 현재 디렉토리는 / opt / bladir /이 아니라 / usr / bin /입니다.

다음과 같은 경우

file -L /usr/bin/bla

... 다음은 확실히 당신의 기호 연결에 문제가 없습니다.

"bla"이 수정 가능한 셸 스크립트인지 확인하고 내부를 살펴보십시오. 문제가있을 수 있습니다. 아마도 PATH에 / opt / bladir을 추가하는 것이 더 나은 솔루션 일 것입니다.


주어진 명령 : ERROR :`/ usr / bin / bla '을 열 수 없습니다. "bla"을 들여다 볼 수는 없습니다. 쉘 스크립트뿐만 아니라 프로그램이기도합니다.
Sehe

좋아, 전체 경로로 심볼릭 링크를 다시 실행하십시오.
1 월

나는 그 아이디어를 나 자신에게 일찍왔다. 이전 링크를 rm으로 작성하고 새 링크를 작성하더라도 오류가 계속 나타납니다. -sf도 작동하지 않았습니다.
Sehe

확인. Plese 는 이러한 명령의 정확한 결과를 실행 ls -l /usr/bin/bla하고 ls -l /opt/bladir/bla보고합니다.
1 월

@January 작동 file -L 하지 않는 경우 어떤 행동 강좌를 추천 하시겠습니까?
dbliss

0

실행 비트가 활성화되어 있지 않은 경우 종종 이러한 유형의 오류 메시지가 표시됩니다. 기본 파일과 링크에 실행 권한이 있는지 확인하십시오.

귀하의 /opt파티션이 별도의 파티션에서 exec마운트 되어 있고 마운트 옵션 으로 마운트 되지 않았을 것으로 의심 됩니다


실행 비트가 설정되고 / opt /가 별도의 파티션에 없습니다 : /
Sehe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.