기호로 연결된 실행 파일이 종속성을 찾을 수 없습니다.

기호로 연결된 실행 파일이 종속성을 찾을 수 없습니다.

운영 체제:우분투22.04

상상하다

Home 폴더 안에 bin. 이 폴더에서 필요한 GitHub 저장소를 복제했습니다.

예를 들어 복제했습니다.이 골랭 저장소내 bin 폴더에 있습니다(bin 폴더는 홈에 있음).

저장소 위치:/홈/포커스/빈/dontgo403/

  1. 어디서나 사용할 수 있도록 check403이라는 심볼릭 링크를 만들었습니다.

    CD /usr/로컬/빈

    sudo ln -s ~/bin/dontgo403/dontgo403 check403

심볼릭 링크가 올바르게 생성되었는지 확인하세요.

readlink check403

/home/focus/bin/dontgo403/dontgo403
  1. 홈 폴더로 이동하여 (~)프로그램이 설치된 위치와 다른 위치에서 프로그램을 시작했습니다.
    cd ~    
    check403 -u example.com

산출:

2023/01/01 13:38:43 open payloads/httpmethods: no such file or directory (This folder and these files are its dependencies located in the folder where it is installed > `~/bin/dontgo403`).
  1. 프로그램 설명(저장소)에 따르면 매개변수를 사용하면 -f(위치 지정) 모든 것이 예상대로 작동합니다.
check403 -f ~/bin/dontgo403/payloads -u example.com

내 질문은 다음과 같습니다종속성 위치를 항상 지정하지 않고 프로그램을 실행하는 방법(예: check403 -u example.com (매번 지정할 필요 없음:) -f ~/bin/dontgo403/payloads)

이 경우 -f 매개변수를 사용할 수 있지만 위치 매개변수를 선언하지 않는 다른 스크립트/프로그램을 발견했기 때문에 항상 설치 위치에서 실행해야 합니다.

답변1

여기서 달성하려는 것이 명확하지 않습니다. 하위 폴더에 있더라도 ~/bin에 직접 배포합니다. 이는 단일 사용자만 실행한다는 의미입니다. 그러나 /usr/local/bin에 심볼릭 링크를 생성하여 모든 사용자에게 공개합니다. ~/bin에 대한 액세스

종속성 경로는 실행 파일을 기준으로 / LD_PATH에서 / 구성 파일의 설정에서 / 미리 정의된 위치에서... 다양한 언어로 다양한 방식으로 식별됩니다.

실행 파일을 노출하기 위해 심볼릭 링크를 생성하는 대신 /usr/local/bin 또는 ~/bin의 간단한 쉘 스크립트로 래핑하십시오.

#!/bin/bash

~/bin/dontgo403/dontgo403 $@

또는 별칭을 추가하세요.

관련 정보