今日学んだこと

読書感想文とか、勉強した内容とか

Ansibleからubuntuにaptでインストールを試みた際に、404エラーが出る際の対応方法

Ansibleに限らず、apt installでも同じ問題が発生するのですが・・・

emacsをインストールしようとしたところ以下の様なエラーが出てハマりました

ネットで「apt install 404」とかで検索しても、出て来る情報は「古いubuntu使ってると発生するエラーです」という話しか載ってなく、最新版を使ってる身としては困り果てた次第です。

・・・
Get:98 http://archive.ubuntu.com/ubuntu/ trusty/main librsvg2-common i386 2.40.2-1 [4962 B] Fetched 45.9 MB in 2min 23s (320 kB/s) msg: 'apt-get install 'emacs24' ' failed: E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/c/cups/libcups2_1.7.2-0ubuntu1.1_i386.deb 404 Not Found [IP: 91.189.88.149 80]

 対応方法

Ansibleであれば、aptのインストールタスクの前に

- name: package list update
  sudo: yes
  apt: update_cache=yes

 を呼んであげればOK。Ansibleじゃなくて普通のapt installもしくはapt-getでもエラーになるんだけど・・・という場合は、

apt-get update

 でOK。このコマンド、いつも使ってるCentOSyum updateの印象に引っ張られてアプリケーションの最新化だと思ってたら違って、リポジトリのアプリケーションリストの最新化でした。

普通にubuntuを使っている人には常識的な話かもしれないけど、初心者な僕はどはまりした というお話でした。