Help us understand the problem. What is going on with this article?

Werckerでapt-get updateするとInReleaseファイルの有効期限が切れていると怒られる

More than 1 year has passed since last update.

概要

  • Wercker上で apt-get update する設定をしていたら、あるとき突然エラーを吐くようになりました。。
  • そのとき調べたことを忘れないようにメモしておきます。(大した内容じゃないけどね)

設定内容

  • Wercker上でテストコードを実行するためにpostgresql-clientをインストールする必要があり、以下のような感じでリポジトリを登録する処理を行っていました。
    - script:
        name: add repository
        code: |
          echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
          wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
          sudo apt-get update

エラー内容

  • 上記の設定で問題なく実行されていたのがあるときエラーを吐くように。。
Reading package lists...
E: Release file for http://security.debian.org/debian-security/dists/stretch/updates/InRelease is expired (invalid since 3d 4h 46min 32s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian/dists/stretch-updates/InRelease is expired (invalid since 6d 6h 49min 58s). Updates for this repository will not be applied.
  • expired ってあるのでInReleaseファイルを確認しましたが、Valid-Untilは有効期限内でした。
  • サーバタイムがおかしいのか?と思いdateコマンドで出力するように確認しましたが、正しい時刻でした。

とりあえず対応

  • 面倒だったのでとりあえず以下のようにオプション指定して対応しちゃいました。
sudo apt-get -o Acquire::Check-Valid-Until=false update
  • これでちゃんと動くようになります。

気になったのでちゃんと確認した

  • そもそもちゃんと動いていたものが突然動かなくなるのは?。。。 キャッシュ
    • はい。そうでした。。。

Wercker上のCache

  • 以下に記載がありますが、インストール時間短縮などの目的でダウンロードしたファイルなどをWercker側でキャッシュしているようです。(14日間もしくは1GBを超えない範囲で)
  • WerckerのOptions画面からクリア出来ます。
  • image.png
  • image.png

まとめ

  • 上記のようなエラーが出たらcacheをクリアしましょう。
  • Werckerのページにあるようにキャッシュされていたら削除するとかスクリプトで実装しても良いかもですが、それならいっそ Check-Valid-Until=false の設定で良いかもしれない。。
  • 単純に勉強不足でした。。
  • (そろそろWerckerやめたいなー。。)

参考

myoshioka
フリーランスとしてソフトウェアエンジニアをやっています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away