web-dev-qa-db-ja.com

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)
45
user87142

まず最初に、あなたが本当に興味を持っているのは次の行です。

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

解決策3:実行時にPATH変数をSudoに渡してみます。

Sudo呼び出しの前にPATH変数の再定義を付けるだけです。

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Sudo apt-get ...
62
John WH Smith

どういうわけか私は同じ問題を抱えていました。

エラーメッセージを注意深く読んでください。解決策が見つかります。言うメモがあります:

注:通常、ルートのPATHには/ usr/local/sbin、/ usr/sbinおよび/ sbinが含まれている必要があります。

次に、パスを確認したところ、どういうわけかパスに/ sbinがありませんでした。

エコー$ PATH

その後、私は追加し、問題はなくなりました。 :)

pATH = "$ PATH:/ sbin"をエクスポートします

チャラム!

3
Danilo Souza

今日この問題があり、行をコメント化することで解決しました(#を使用)

Defaults    exempt_group=Sudo

/ etc/sudoersファイルから次を使用して

# visudo

ルートとして

この変更により、Sudoは同じファイルに設定されているデフォルトのsecure_path変数を使用します。

1
Cabub

質問に説明がないため、この状況で正確な問題を特定するのは困難ですが、最近同じ問題に直面しました。

user@debian:su
Password: 
root@debian:/home/user/Downloads# dpkg -i [Some package]
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

解決策はsu -の代わりにsu(これは この質問への回答 で説明されているように、通常はより優れています):

user@debian:su -
Password: 
root@debian:~# cd /home/user/Downloads/
root@debian:/home/user/Downloads# dpkg -i [Some package]
1
Clément