このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/17 12:29
名前: ぴくみんぱぱ
URL:
CentOS6をインストールし、このサイトを参考にファイヤーオールを構築しています。

毎日cronを利用してIPリストの更新確認を行っています。そのcronから下記エラーメールが通知されてきます。
gzip: cidr.txt.gz: invalid compressed data--length error

また、iplist_check.shから以下のメッセージが通知されてきます。
cidr.txt was read from the backup!

このメッセージから、iptables_functionsを確認し、cidr.txt.gzがダウンロード出来ていないのかと思い、ファイルが無い場合のエラー出力を確認した所、gunzipからは”ファイルが無い”という違うエラーメッセージが出力されました。
また、sshから"wget"、"gunzip"を個別に実行すると問題なく解凍が行えます。

発生している現象としては、iplist_check.sh時にcidrが適切に解凍出来ていない事が原因で、バックアップのcidr.txtを利用しているのではないかと思います。

sshから単体命令で解凍が行えるのに、cronが実行するとエラーとなるのはなぜなんでしょうか?
または何か違う原因が考えられるのでしょうか?
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/18 07:42
名前: stranger
URL: http://ja.528p.com/
cat -v iplist_check.sh
で行末に^Mがついていませんか
あと、半角スペースが全角スペースになっているとか
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/18 12:21
名前: ぴくみんぱぱ
URL:
>cat -v iplist_check.sh
>で行末に^Mがついていませんか
>あと、半角スペースが全角スペースになっているとか

回答ありがとうございます。

スクリプトが書かれている行または行末などに^Mなどは見つかりませんでした。
念の為、iptables_functionsもみましたが^Mは見つかりませんでした。
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/19 10:36
名前: マリアン
URL:
本題と関係ないので恐縮ですが、間違って覚えてるようなので…
「ファイヤーオール」は「ファイアウォール」です。
オールじゃなくてウォール(壁)。firewallで元来は「防火壁」の意味です。
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/21 18:06
名前: ペングイン
URL: http://blog.trippyboy.com
ぴくみんぱぱさん

gunzip cidr.txtの前に、
ls -la cidr.txt | mail root として見て、ls結果がどうなるか見てみてはいかがでしょう。
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/23 06:01
名前: ぴくみんぱぱ
URL:
ペングインさん

確認してみました。
ファイルサイズ、日付に差がある事に気が付きました。この差はなぜ発生するのでしょうか?

cronが実行した時
-rw-r--r--. 1 root root 265316 Dec 28 03:16 cidr.txt.gz

sshでwgetした時
-rw-r--r-- 1 root root 266803 1月 22 03:16 2012 cidr.txt.gz

> ぴくみんぱぱさん
>
>gunzip cidr.txtの前に、
>ls -la cidr.txt | mail root として見て、ls結果がどうなるか見てみてはいかがでしょう。
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/23 07:44
名前: マリアン
URL:
>gzip: cidr.txt.gz: invalid compressed data--length error

まずcidr.txt.gzが壊れている可能性が大だと思うわ。

ここのサイトのスクリプトだと
> # http://nami.jp/ipv4bycc/から最新版IPアドレスリストを取得する
> wget -q http://nami.jp/ipv4bycc/cidr.txt.gz
> gunzip cidr.txt.gz
となっているから、通常だったら元ファイル(cidr.txt.gz)は残らないはずね。
もし壊れたcidr.txt.gzが残っているとすると、いくらwgetしても上書きされない。
(添え字が付いて別ファイル名で保存される。cidr.txt.gz.1のような感じね)
壊れたcidr.txt.gzを毎回展開しようとするのでエラーになる。
そんな感じじゃないかしら?
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/23 09:11
名前: ぴくみんぱぱ
URL:
マリアンさん

別名ファイルのコメントが気になってTripwireの結果を確認た所、以下のログが残っていました。

Added:
"/cidr.txt.gz.14"
"/cidr.txt.gz.15"

今までwgetしたcidr.txt.gz.xx(xxは数字)がルートディレクトリーに保存されていました。

iptables.sh、iptebles_functionsともルートのホームディレクトリーにあります。
なぜ、wgetで取得したファイルがルートに保存されてしまうのでしょうか?

iptables.shスクリプトの書き方に問題があるためにルートディレクトリーに保存されてしまうのでしょうか?

取りあえず、wget -q -P /root -q http://nami.jp/ipv4bycc/cidr.txt.gzと強制的にルートのホームディレクトリーに保存するように変更してみました。

>>gzip: cidr.txt.gz: invalid compressed data--length error
>
>まずcidr.txt.gzが壊れている可能性が大だと思うわ。
>
>ここのサイトのスクリプトだと
>> # http://nami.jp/ipv4bycc/から最新版IPアドレスリストを取得する
>> wget -q http://nami.jp/ipv4bycc/cidr.txt.gz
>> gunzip cidr.txt.gz
>となっているから、通常だったら元ファイル(cidr.txt.gz)は残らないはずね。
>もし壊れたcidr.txt.gzが残っているとすると、いくらwgetしても上書きされない。
>(添え字が付いて別ファイル名で保存される。cidr.txt.gz.1のような感じね)
>壊れたcidr.txt.gzを毎回展開しようとするのでエラーになる。
>そんな感じじゃないかしら?
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/23 13:05
名前: マリアン
URL:
>iptables.sh、iptebles_functionsともルートのホームディレクトリーにあります。
>なぜ、wgetで取得したファイルがルートに保存されてしまうのでしょうか?

cron実行したときのカレントディレクトリがルートだからだと思います。
展開など一時的に使うディレクトリですから読み書き等ができればどこでも問題ないと思います。

>取りあえず、wget -q -P /root -q http://nami.jp/ipv4bycc/cidr.txt.gzと強制的にルートのホームディレクトリーに保存するように変更してみました。
わざわざやる意味が私には理解できません。

追記
単純にcidr.txt.gzやcidr.txt.gz.xxなどを消せばエラーが無くなるのでは?と申し上げております。
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/23 18:47
名前: ぴくみんぱぱ
URL:
マリアンさん

ルートのホームにないと動作しないと勘違いしていました。
どこのディレクトリーでも良いのですね。ルートにあるファイルを削除して今夜動作を確認してみます。

>>iptables.sh、iptebles_functionsともルートのホームディレクトリーにあります。
>>なぜ、wgetで取得したファイルがルートに保存されてしまうのでしょうか?
>
>cron実行したときのカレントディレクトリがルートだからだと思います。
>展開など一時的に使うディレクトリですから読み書き等ができればどこでも問題ないと思います。
>
>>取りあえず、wget -q -P /root -q http://nami.jp/ipv4bycc/cidr.txt.gzと強制的にルートのホームディレクトリーに保存するように変更してみました。
>わざわざやる意味が私には理解できません。
>
>追記
>単純にcidr.txt.gzやcidr.txt.gz.xxなどを消せばエラーが無くなるのでは?と申し上げております。
>
記事編集 編集
Re: ”cidr.txt.gz”が解凍出来ない? このメッセージに返信する
日時: 2012/01/24 13:03
名前: ぴくみんぱぱ
URL:
問題は解決致しました。

マリアンさんのアドバイス通りでした。
ありがとう御座いました。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -