2012-11-19

sudoでaptitudeするとパスが通ってないよの対処法メモ

squeezeからwheezyにdist-upgradeした環境で、sudoでaptitudeを実行するとエラーが発生。


Extracting templates from packages: 100%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)

A package failed to install.  Trying to recover:

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でスーパーユーザになっているときはエラーは起きないので、sudoの設定が怪しい。

ということで、/etc/sudoersを見てみたところ、こんな感じになっています。

# /etc/sudoers#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

確かに、sbin 系のパスが通っていない模様。
パスを通すために、このファイル(/etc/sudoers)に下記の2行を追記する。

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

追加した後はこんな感じ。

# /etc/sudoers#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

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

どうも、dist-upgradeした時に上書きしたメンテナバージョンがよろしくなかったみたい。
使っている環境がWheezyだから、まだリリース前だし仕方なし。

なお、現在のインストーラでインストールするとこの問題は発生しない模様。

0 件のコメント:

コメントを投稿