シンボルでリンクされた実行可能ファイルが依存関係を見つけることができません。

シンボルでリンクされた実行可能ファイルが依存関係を見つけることができません。

オペレーティングシステム:Ubuntu22.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 $@

またはエイリアスを追加してください。

おすすめ記事