sudo cmake install
または、コマンドを使用してDebian(Buster)システムにプロジェクトをインストールすると、sudo make install
バイナリが内部に配置されますが、/usr/local/bin
PATH変数が正しく設定されているにもかかわらず、bashまたはFishはバイナリファイルコマンドを再起動した後もこの方法でインストールされたファイルを見つけることができません。
cmake
これまでこのようなことが起こりましたnvim
。たとえば、nvim
ソースからビルドする方法の指示に従いました。
- Gitを使用してリポジトリを複製します。
- CMAKE_BUILD_TYPE=RELEASEに設定
- sudoのインストール
これで実行するとnvim
コマンドが見つかりませんが、実行するとsudo nvim
バイナリが正しく起動します。
sudo権限なしで完全に実行される内部バイナリのファイル権限を比較しましたが、/usr/bin
内部バイナリとまったく同じです/usr/local/bin
。
-rwxr-xr-x 1 root root
。
私が何を間違っているのでしょうか?/usr/bin
実行ファイルのバイナリにsudoがなく、ソースからインストールされたファイルにsudoがないのはなぜですか/usr/local/bin
?
これは私のパス変数です。
/usr/local/bin:/usr/bin:/bin:/usr/games
追加情報:実行すると、/usr/local/bin/nvim
以下が出力されます。
fish: The file “/usr/local/bin/nvim” is not executable by this user
実行すると、type -a nvim
出力は次のようになります。
type: Could not find 'nvim'
実行すると、sudo ./pathlld /usr/local/bin/nvim
次の結果が表示されます。
drwxr-xr-x 19 root root 4096 Dec 22 12:17 /
/dev/nvme0n1p2 on / type ext4 (rw,relatime)
drwxr-xr-x 14 root root 4096 May 5 13:19 /usr
drwxr-xr-x 7 root root 4096 Mar 24 15:51 /usr/local
drwx------ 2 root root 4096 May 5 14:21 /usr/local/bin
-rwxr-xr-x 1 root root 10319072 May 5 14:21 /usr/local/bin/nvim
私は「Siemens Industrial Operating System」と呼ばれるSiemensのカスタムオペレーティングシステムを実行しています。デフォルトでは、ライブパッチを含むDebian Busterです。
答え1
問題はこれである:
drwx------ 2 root root 4096 May 5 14:21 /usr/local/bin
グループおよび他のグループには実行および読み取り権限がありません/usr/local/bin
。ルートとして実行:
chmod 755 /usr/local/bin
このディレクトリの標準権限を復元します。