apt がソフトウェアを PATH に追加しないのはなぜですか?

apt がソフトウェアを PATH に追加しないのはなぜですか?

snapインストール方法を比較していましたapt。まずは以下を試しましたsnap:

  1. sudo apt update- スナップを使用するときにリポジトリを更新してアップグレードする意味があるかどうかはわかりませんが、とにかくそうしました
  2. sudo apt upgrade
  3. sudo snap find kdenlive- 確実に、正しいスナップがあります
  4. sudo snap install kdenlive
  5. kdenlive- アプリケーションを起動します
  6. GUIからアプリケーションを閉じる
  7. sudo snap remove kdenlive
  8. sudo apt autoremove- これをスナップで使用するかどうかはわかりませんが、とにかく使用しました

次にapt関数を進めます:

  1. sudo apt update
  2. sudo apt upgrade
  3. sudo apt list kdenlive- kdenliveパックを探すのですが、ここでの出力が理解できませんでした
  4. sudo apt install kdenlive
  5. kdenlive- エラーが発生します ( bash: /snap/bin/kdenlive: No such file or directory)
  6. ./kdenlive- 同じエラーが発生し、GUIからのみアプリケーションを実行できます
  7. 上記と同じ方法でアンインストールします

では、なぜこのようなことが起こるのでしょうか?

答え1

シェル(bash)はパス検索のメモリキャッシュを保持します。kdenlive一度実行して解決されると/snap/bin/kdenlive、その特定のシェルプロセスは直接/snap/bin/kdenlive$PATH の内容に関係なく、その時点から移動します。

プログラムが 1 つの場所から別の場所に移動された場合、hash -r変更を反映するにはシェルを実行または再起動する必要があります。

関連情報