Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0001223Vine Linux1 バグ公開2011-10-12 16:002011-11-29 13:34
anonymous 
 
不明 
完了不明 
6.0 
 
x86
slocate
0001223: slocateパッケージの不具合
slocateパッケージに含まれる /usr/bin/updatedb を /etc/cron.daily/slocate.cron 中で実行時に何もしないで(呼び出されるが実質処理をスルー)終了してしまうようです。
/etc/cron.daily/slocate.cron を見ると、

nodevs=$(< /proc/filesystems awk 'BEGIN { f = 1; }
       $1 == "nodev" { if (!f) printf (","); f = 0; printf $2; }')

となっている部分がありますが、これだと $nodevs に期待した形式で値をセットされないようで、これが原因ではないでしょうか。
CentOS5の /etc/cron.daily/mlocate.cron 中では、

nodevs=$(< /proc/filesystems awk '$1 == "nodev" { print $2 }')

の様になっており、同じ様に修正してみた所 /usr/bin/updatedb の処理は正常にされるようです。
設定されていません。
課題の履歴
2011-10-12 16:00anonymous新規課題
2011-11-29 13:34iwaim状態新規 => 完了
2011-11-29 13:34iwaimコメント追加: 0000683

コメント
(0000683)
iwaim   
2011-11-29 13:34   
<BTS:1176>と同じ問題なので、こちらは重複として閉じます。状態は「完了」となります。

> slocateパッケージに含まれる /usr/bin/updatedb を
> /etc/cron.daily/slocate.cron 中で実行時に何もしないで(呼び出されるが実質
> 処理をスルー)終了してしまうようです。
> /etc/cron.daily/slocate.cron を見ると、
>
> nodevs=$(< /proc/filesystems awk 'BEGIN { f = 1; }
> $1 == "nodev" { if (!f) printf (","); f = 0; printf $2; }')
>
> となっている部分がありますが、これだと $nodevs に期待した形式で値をセット
> されないようで、これが原因ではないでしょうか。
> CentOS5の /etc/cron.daily/mlocate.cron 中では、
>
> nodevs=$(< /proc/filesystems awk '$1 == "nodev" { print $2 }')
>
> の様になっており、同じ様に修正してみた所 /usr/bin/updatedb の処理は正常に
> されるようです。

CentOS 5ではmloacteを使っていますが、Vine Linux 6.0ではslocateです。
(mlocateの実装は私は知りませんが)slocateでは

/usr/bin/updatedb -h

を実行するとわかりますが、「,」区切りで渡すため、その修正では(slocateが期待した形式にならないため)あらゆる環境で動くようにはならないと考えています。
ただし、その対処で問題ない環境もあるはずなので、それで問題ないならまずは手元でそのような修正をお願いします。