先日、Japan Vulnerability Notesで、GNU Wget にシンボリックリンクの扱いに関する問題が掲載されていました。他のサイトでも取りざたされてますね。
対策は、wgetのバージョンを1.16にすることです。今まで自分が使っていたバージョンは1.12だったので、バージョンアップにチャレンジしてみました(Linux環境はCentOS6.5)。
この方法が正しいかどうかは分かりませんが、このページを見ていただいた方の、何かの参考になれば幸いです。
目次
wgetのバージョンアップと確認
先に結論をまとめておきます。バージョンアップとその確認のためのコマンドです。
wgetのバージョンアップ
$sudo wget http://ftp.gnu.org/gnu/wget/wget-1.16.tar.gz $sudo tar zxfv wget-1.16.tar.gz $cd wget-1.16 $sudo chmod +x ./configure $sudo yum install gnutls gnutls-devel $sudo ./configure $sudo make $sudo make install
バージョンアップの確認
$cd /usr/local/bin $ls wget $wget --version GNU Wget 1.16 built on linux-gnu.
参考サイトとコマンドの解説
各コマンドに関する解説と参考したサイトを紹介していきます。
$sudo wget http://ftp.gnu.org/gnu/wget/wget-1.16.tar.gz
wgetの使い方について。
$sudo zxfv wget-1.16.tar.gz
拡張子.tarのファイルを書庫化・展開します。
$wget-1.16
カレントディレクトリをwget-1.16にします。
$sudo chmod +x ./configure
そのまま./configureにすると、Permission deniedと表示されるので、./configureに関する権限を変更します。
$sudo yum install gnutls gnutls-devel
configure: error: --with-ssl=gnutls was given, but GNUTLS is not available.
./configureの権限を変更してもエラーが出るので、gnutls-develをインストールします。
$sudo ./configure
./configureが完了すると、結果表示の最後に上記のような画面が出ます。
$sudo make
configureで作成されたMakefileを基にしてソースコードをコンパイルします。
$sudo make
makeで生成されたバイナリファイルなどを規定のディレクトリにコピー(インストール)を行います。
$wget –version
カレントディレクトリを/usr/local/binにした上でバージョン確認すると、バージョンが1.16にアップされていることが分かります。
〔参考サイト〕