AWS Configを有効にしてみる
.gitkeepファイルをすべてのディレクトリに作成する
Gitでコードを管理する場合、空ディレクトリが存在すると、管理対象になりません。
こんなときは、find コマンドの -exec オプションを使って、.gitkeepファイルを
全てのディレクトリにとりあえず作ってしまうのが楽です。
たとえば、Chefで新しいcookbookを作ったとき。
$ knife cookbook create mycookbook -o . WARNING: No knife configuration file found ** Creating cookbook mycookbook ** Creating README for cookbook: mycookbook ** Creating CHANGELOG for cookbook: mycookbook ** Creating metadata for cookbook: mycookbook $ ls -laR mycookbook/ mycookbook/: 合計 52 drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 .. -rw-r--r--. 1 myuser myuser 467 3月 15 15:28 2015 CHANGELOG.md -rw-r--r--. 1 myuser myuser 1480 3月 15 15:28 2015 README.md drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 attributes drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 definitions drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 files drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 libraries -rw-r--r--. 1 myuser myuser 284 3月 15 15:28 2015 metadata.rb drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 providers drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 recipes drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 resources drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 templates mycookbook/attributes: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. mycookbook/definitions: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. mycookbook/files: 合計 12 drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 default mycookbook/files/default: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 .. mycookbook/libraries: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. mycookbook/providers: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. mycookbook/recipes: 合計 12 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. -rw-r--r--. 1 myuser myuser 136 3月 15 15:28 2015 default.rb mycookbook/resources: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. mycookbook/templates: 合計 12 drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:28 2015 .. drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 default mycookbook/templates/default: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:28 2015 . drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 ..
こんな感じでfindコマンドを使うと、楽です。
$ find mycookbook -type d -exec touch {}/.gitkeep \; $ ls -laR mycookbook/ mycookbook/: 合計 52 drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:28 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep -rw-r--r--. 1 myuser myuser 467 3月 15 15:28 2015 CHANGELOG.md -rw-r--r--. 1 myuser myuser 1480 3月 15 15:28 2015 README.md drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 attributes drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 definitions drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:35 2015 files drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 libraries -rw-r--r--. 1 myuser myuser 284 3月 15 15:28 2015 metadata.rb drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 providers drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 recipes drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 resources drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:35 2015 templates mycookbook/attributes: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep mycookbook/definitions: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep mycookbook/files: 合計 12 drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 default mycookbook/files/default: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep mycookbook/libraries: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep mycookbook/providers: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep mycookbook/recipes: 合計 12 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep -rw-r--r--. 1 myuser myuser 136 3月 15 15:28 2015 default.rb mycookbook/resources: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep mycookbook/templates: 合計 12 drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 10 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 default mycookbook/templates/default: 合計 8 drwxr-xr-x. 2 myuser myuser 4096 3月 15 15:35 2015 . drwxr-xr-x. 3 myuser myuser 4096 3月 15 15:35 2015 .. -rw-r--r--. 1 myuser myuser 0 3月 15 15:35 2015 .gitkeep
今日はこんなところで。
Oracle JDKをCLIで直接ダウンロードする方法
今日はTIPSをメモ。
Oracle JDKをLinuxで使う場合、直接RPMファイル等をダウンロードしたい場合があります。
wgetで「--no-check-certificate」「--no-cookies」「--header」オプションをつけるとうまくいく模様。
本日時点で最新版のJava SE Development Kit 8u40で試してみました。
$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm --2015-03-15 13:17:10-- http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm download.oracle.com をDNSに問いあわせています... 42.127.234.73, 42.127.234.88 download.oracle.com|42.127.234.73|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Moved Temporarily 場所: https://edelivery.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm [続く] --2015-03-15 13:17:10-- https://edelivery.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm edelivery.oracle.com をDNSに問いあわせています... 23.37.150.140 edelivery.oracle.com|23.37.150.140|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Moved Temporarily 場所: http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm?AuthParam=1426393151_62f6eb3f2a8ce42c742574ab302a7510 [続く] --2015-03-15 13:17:11-- http://download.oracle.com/otn-pub/java/jdk/8u40-b26/jdk-8u40-linux-x64.rpm?AuthParam=1426393151_62f6eb3f2a8ce42c742574ab302a7510 download.oracle.com:80 への接続を再利用します。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 152185219 (145M) [application/x-redhat-package-manager] `jdk-8u40-linux-x64.rpm' に保存中 100%[=============================================================================================================================================================================================================================>] 152,185,219 3.69M/s 時間 52s 2015-03-15 13:18:03 (2.81 MB/s) - `jdk-8u40-linux-x64.rpm' へ保存完了 [152185219/152185219]
うまくやれば、自動インストールができますね。
Chefに組み込んでみよう。
今日はこんなところで。