unzipでneed PK compat. v4.5 (can do v2.1)のエラー

GUIでUbuntuをさわりたかったので
仮想ハードディスクイメージのダウンロード | Ubuntu Japanese Team
から仮想のイメージを落としてきて

$ unzip ubuntu-ja-14.04-desktop-amd64-vhd.zip

Archive:  ubuntu-ja-14.04-desktop-amd64-vhd.zip
   skipping: ubuntu-ja-14.04-desktop-amd64/ubuntu-ja-14.04-desktop-amd64.vhd  need PK compat. v4.5 (can do v2.1)

あれ、解凍できない
PKZIP formatとかいうのらしいので、対応しているので解凍

$ p7 e ubuntu-ja-14.04-desktop-amd64-vhd.zip

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: ubuntu-ja-14.04-desktop-amd64-vhd.zip

Extracting  ubuntu-ja-14.04-desktop-amd64/ubuntu-ja-14.04-desktop-amd64.vhd

Everything is Ok

これでできました
e は extract ですね

curlをつかってHTTPヘッダーを変えてアクセスしてみる

サーバーへのあやしいアクセス対策後、テストするため
curlをつかって特定のHTTPヘッダーをはじくか確認してみました
※アクセス先はダミーです

特定のUser-agentを防ぐ場合

まずは正常なもの

$ curl --user-agent 'OK-agent' --head http://sample.com
HTTP/1.1 200 OK
Date: Fri, 26 Jun 2015 12:27:20 GMT
Server: Apache
Last-Modified: Wed, 21 Jan 2015 16:10:10 GMT
ETag: "413ee-2fd-50d2bca2d5ba6"
Accept-Ranges: bytes
Content-Length: 765
Connection: close
Content-Type: text/html; charset=UTF-8

200で正常です

次にGoogle App Engineからのアクセスを弾く想定(プロキシとか)

$ curl --user-agent 'AppEngine-Google' --head http://sample.com                                                                                                                     
HTTP/1.1 403 Forbidden
Date: Fri, 26 Jun 2015 12:27:45 GMT
Server: Apache
Accept-Ranges: bytes
Content-Length: 4954
Connection: close
Content-Type: text/html; charset=UTF-8

403で弾かれてます
できてそうです

GithubとかFacebookがレインボーに

GithubとかFacebookの写真がレインボーになってたりしてびっくり

github-rainbowicon

なにかと思ったらアメリカで同性婚が合法化したからのお祝いみたいです
Facebookが、米国同性婚合法化を祝してレインボープロフィール画像機能をリリース : ギズモード・ジャパン

bitbucketにgit pushしたときが一番びっくりしました

git-rainbow

日本であんまり話題になってないんですかね

bashのヒアドキュメントでコマンドを実行する

bashのヒアドキュメントでコマンドを実行させるのに手間取ったのでメモ

‘EOT’のようにシングルクオート(やダブルクオート)をつけると変数が展開されません

/home/user/shell
で実行しました

こう書けばできました

#!/bin/bash

x=`pwd`

cat <<EOT
${x}
$(dirname $x)
EOT
# /home/user/shell
# /home/user/

cat <<'EOT'
${x}
$(dirname $x)
EOT
# ${x}
# $(dirname $x)

cat <<"EOT"
${x}
$(dirname $x)
EOT
# ${x}
# $(dirname $x)

コマンドの下にコメントアウトで結果を表示してます