インストールされたパッケージのユーティリティをインストールしようとしていますが、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 ...