Scientific Linuxだと以下のようになってfluentd(というかtd-agent)が入らなかった件についてです。
[vagrant@localhost ~]$ curl -L https://td-toolbelt.herokuapp.com/sh/install-redhat-td-agent2.sh | sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 110 662 110 662 0 0 103 0 0:00:06 0:00:06 --:--:-- 2805 This script requires superuser access to install rpm packages. You will be prompted for your password by sudo. Loaded plugins: security http://packages.treasuredata.com/2/redhat/6.5/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: treasuredata. Please verify its path and try again Loaded plugins: security http://packages.treasuredata.com/2/redhat/6.5/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: treasuredata. Please verify its path and try again
実行されるshellスクリプトは以下のようになっています。
[vagrant@localhost ~]$ curl -L https://td-toolbelt.herokuapp.com/sh/install-redhat-td-agent2.sh echo "This script requires superuser access to install rpm packages." echo "You will be prompted for your password by sudo." # clear any previous sudo permission sudo -k # run inside sudo sudo sh <<SCRIPT # add GPG key rpm --import https://packages.treasuredata.com/GPG-KEY-td-agent # add treasure data repository to yum cat >/etc/yum.repos.d/td.repo <<'EOF'; [treasuredata] name=TreasureData baseurl=http://packages.treasuredata.com/2/redhat/\$releasever/\$basearch gpgcheck=1 gpgkey=https://packages.treasuredata.com/GPG-KEY-td-agent EOF # update your sources yum check-update # install the toolbelt yes | yum install -y td-agent SCRIPT
エラーメッセージと比較すると
http://packages.treasuredata.com/2/redhat/\$releasever/\$basearch
の部分が
http://packages.treasuredata.com/2/redhat/6.5/x86_64/repodata/repomd.xml
になっていて
これが404 not foundになっているようです。
td agent install is giving problems. please help - Googleグループによると、$releasever
は6.5
といったマイナーバージョン込みの値ではなく6
のようなメジャーバージョンのみが値として入っていて欲しいようです。
yumの$releaseverについて - こしごぇ(B)を参考にしながら$releasever
を調べてみると
[vagrant@localhost ~]$ yum whatprovides redhat-release Loaded plugins: security sl-release-6.5-1.x86_64 : Scientific Linux release file Repo : sl Matched from: Other : redhat-release sl-release-6.6-1.x86_64 : Scientific Linux release file Repo : sl6x Matched from: Other : redhat-release sl-release-6.5-1.x86_64 : Scientific Linux release file Repo : installed Matched from: Other : Provides-match: redhat-release [vagrant@localhost ~]$ yum info sl-release Loaded plugins: security Installed Packages Name : sl-release Arch : x86_64 Version : 6.5 Release : 1 Size : 47 k Repo : installed From repo : anaconda-ScientificLinux-201303180938.x86_64 Summary : Scientific Linux release file License : GPLv2 Description : Scientific Linux release files Available Packages Name : sl-release Arch : x86_64 Version : 6.6 Release : 1 Size : 35 k Repo : sl6x Summary : Scientific Linux release file License : GPLv2 Description : Scientific Linux release files
とのことなので、versionは6.5のようです。
どうすればいいのか困ったのですが、以下のどれかで解決できました。
- '--releasever'オプションを使って、
sudo yum --releasever=6 install -y td-agent
を実行する。 - 6をハードコードしたtd.repoを用意して
/etc/yum.repos.d/td.repo
に配置する。その後、sudo yum install -y td-agent
を実行する。