dpkgはPATH変数にldconfig / start-stop-daemonを見つけることができません。

dpkgはPATH変数にldconfig / start-stop-daemonを見つけることができません。

インストールされたパッケージのユーティリティをインストールしようとしていますが、bsd-mailxエラーについて疑問に思います。

私が得るエラーは次のとおりです。

Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

ベストアンサー1

まず、実際に興味のある行は次のとおりです。

dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.

DebianとUbuntuのユーザーはこれらのバグを何度も報告しました(詳細は実際にはGoogleで確認できます)。PATHユーザーがコマンドを実行しようとすると、変数が正しく設定されていないようです。sudoこれはおそらくあなたが望むものです。

解決策1:デフォルトのsudoセキュリティパスの設定

/etc/sudoers端末で実行してファイルを開き、visudoファイルに次の行が含まれていることを確認してください。

Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

この問題に関する追加情報を見つけることができます。ここ(問題とヒント> PATHが設定されていません)

オプション2:rootアカウントを直接使用する

を使用せずにコマンド実行sudoに切り替えます。rootこれを行うには、次のいずれかのコマンドを実行します。

$ sudo -i
$ su 

rootとしてログインしたら、次のapt-getコマンドを再実行してください。

# apt-get ...

ただし、まずルートを設定する必要がありますPATH。編集し/root/.bashrc(もちろんroot権限が必要)、次の行を追加します。

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PATH解決策3:実行時に変数を渡してみてください。sudo

sudo呼び出し前に変数オーバーライドを追加するだけですPATH

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin sudo apt-get ...

おすすめ記事