Ansible souceコマンドを実行するならshellモジュールで

Ansibleで環境変数を追加するタスクを実行した後に反映したくて、
source ~/.bash_profileを実行するタスクを実施したらエラーとなってしまった。

TASK: [setup/ruby | reflect .bash_profile] ************************************
failed: [awshost] => {"cmd": "source /root/.bash_profile", "failed": true, "rc":                     2}
msg: [Errno 2] No such file or directory

FATAL: all hosts have already failed -- aborting

調べたところsourceはshellのビルドインモジュールらしいので、shellモジュールで実施せよとのことであった。
以下のように記述したら問題なかった。

基本的にOSコマンドをAnsibleで実施したい場合は、Commandモジュールを使うのがよいのだが、今回のsourceコマンドのみならず、Shellモジュールじゃないとできないこと(パイプやリダイレクト)も多いので注意である。

- name: reflect .bash_profile
  shell: source ~/.bash_profile
カテゴリー: Ansible | コメントする

インターネットカフェ比較 快活クラブ ギガ回線超速ダウンロード!

快活クラブは首都圏というよりは車でくる人を対象にしているので郊外を中心に店舗拡大中のネットカフェ

ギガ回線というその名の通り光回線の速さを売りにしている店舗があるらしいので、MSDNのダウンロードのために調査訪問。

日曜の午後8時過ぎにしては、それなりに人はいた。
今回マッサージチェアを初めて選んでみたが、こちらは残りひとつぐらいで空席は少なかった模様。

快活クラブの良いところは完全分煙であることで、ほかのネットカフェのように喫煙席の煙が流れ込んでくるなんちゃって禁煙エリアではない!きちんと区切られているので、逆に喫煙ルームはすごいことになっているが!

さて調査対象のダウンロード速度だが、
ギガ回線となうっているだけあって、とにかくダウンロードが早い!
一秒10Mバイト越えも珍しくなく。

おそらく全部合わせて30Gぐらいを20分ぐらいでダウンロード完了!
(ダウンロードしすぎてUSBメモリに入りきらなかったぐらい!)

今回は備え付けの端末でダウンロードしたのだが、
WIFIも端末が対応していればそのぐらいの速度は出るはずである。

El Capitanのダウンロードはここでおこなおう!

カテゴリー: 無料WIFI | コメントする

Ansible クラウド上でAnsibleを実行 Deplow

10月7日にAnsible勉強会に参加してきたが、その中でDeplowというサービスが紹介されていた。

要はAnsibleの実行をこの会社のサーバーから行うということで、ブラウザ経由でも実行できるということだ。

自分の場合はコマンドでやったほうが早いと思うのだが、あまりコマンドに慣れていない人がAnsibleに慣れるにはよい環境かもしれない。

無料でつかえるのでそのうちトライしてみるつもり!

カテゴリー: Ansible | コメントする

freetel priori2 64gb microSD認識成功

購入したのは以下のシリコンパワーのmicroSD。64GBで約2700円!
この値段ならpriori2で認識失敗してもPCで使えばよいと思って購入。

SP シリコンパワー Elite microSDXCカード 64GB UHS-1対応【最大読込85MB/s】防水 防塵 耐X線 永久保証 (アダプタ付) SP064GB

パッケージから取り出してそのまま突っ込んだが、このマイクロSDは認識できません的なメッセージの後にフォーマットのオプションが出るので素直に従うと無事64GBの認識成功!

カテゴリー: Android | タグ: , | 1件のコメント

Freetel priori2 MicroSD認識しなくなる問題発生

Android機種はMicroSDにて記憶領域を拡張できるのがメリットでもあり、不安定な要素を作り出す原因でもある。

実際問題MicroSDには相性問題があり、他の機種で問題なく使えていても、特定の機種だと認識しないやすぐ認識しなくなるという事例があった。

今priori2で利用しているのはtranscendの32Gであるが、以前のスマートフォンからの使い回し。
しかし今週に入ってから突然認識しなくなる問題が発生した。これは購入以来初の現象なので嫌な予感。

翌日も朝充電完了後にMicroSDがアンマウントされていた。どうも充電完了後におかしくなるらしい。
認識されていないといってもスロットには入っているので、設定画面から再認識させればよいかと思いきや、できなかった。
電源を切って再起動すれば再認識する。

3回も同じ現象が続いたので、MicroSDの交換タイミングかと思って64GBのMicroSDを発注した。
公式では32GBまでだが、ネット上では64GBが使えるとの噂!

PS:シリコンパワーのMicroSDの64GBを試したところ、無事認識しました。

freetel priori2 64gb microSD認識成功

カテゴリー: priori2 | タグ: , | コメントする

Let’s note 2015秋冬新モデル 注目の CF-SZ5 秋葉原電気街口改札にて実物を見てきた!

モックアップしか触ってなかったが、今日明日行われているレッツノート タッチ&トライ イベントに行ってきた。

場所は秋葉原電気街改札内部。結構な広いスペースに20台近くのLet’s noteが展示されていた。
やはりプラットフォームが一新されたCF-SZ5が注目の的のようで、一番の台数が展示されていた。
CF-RZ5が次点かな。CF-SZ5以外はマイナーチェンジとなる。

気になる重さだが、現在利用しているのが1.3キロのCF-S10なので
929gのCF-SZ5を持っていみると、はっきりと違いのわかる軽さ。

Sサイズのバッテリーでも14.5時間もつようになったという。
Lサイズのバッテリーにしても100g程度の増加。

以前レポートした通りメモリの増設ができなくなってしまったので、このモデルを購入するときは8GB以上のモデルを選ぶべきだろう。

カテゴリー: Let's note | タグ: | コメントする

Linux rpmコマンド Tips rpmのファイルリスト・rpmのファイル取出し・rpm削除

いまどきrpmを使うことは少ないかもしれないが、いざ使う時になるとちょっと必要になったTIPを3連発。

■rpmでインストールされるファイル一覧を出力

rpm -qlp rpmファイル名
rpm -qlp td-agent-1.1.20-0.i386.rpm

■rpmのファイルを取り出す(いったんディレクトリいかに展開する)

mkdir test
cd test/
rpm2cpio ../td-agent-1.1.20-0.i386.rpm  | cpio -id

testディレクトリ以下に、インストールされるファイルが解凍される。

■rpmの削除

rpm -e rpmパッケージ名

rpm -e td-agent-1.1.20
カテゴリー: Linux, サーバ管理 | タグ: | コメントする

td-agent 古いバージョンをrpmインストールする

本番機と環境を合わせるためにRedHat5の32bitにtd-agentの1.1.20をインストールする。

バージョンを古いものでインストールしたいのでrpmを直接インストールする。
ビルドする必要があるとの情報もあったが、公式サイトにはまだrpmが残っていた!
これを利用すればよい。

td-agentバージョン1系の保存場所

td-agentとtd-libyamlの二つをダウンロードする。
rpmインストールしようとしたら、libxsltが必要といわれたが、こちらは普通にyum install libxsltでOK。

# rpm -ivh td-agent-1.1.20-0.i386.rpm td-libyaml-0.1.4-1.i386.rpm
警告: td-agent-1.1.20-0.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID a12e206f
エラー: 依存性の欠如:
        libexslt.so.0 は td-agent-1.1.20-0.i386 に必要とされています
        libxslt は td-agent-1.1.20-0.i386 に必要とされています
        libxslt.so.1 は td-agent-1.1.20-0.i386 に必要とされています
# yum search libxslt
Loaded plugins: amazon-id, fastestmirror, rhui-lb, security
Loading mirror speeds from cached hostfile
 * rhui-REGION-client-config-server-5: rhui2-cds01.ap-northeast-1.aws.ce.redhat.com
 * rhui-REGION-rhel-server: rhui2-cds01.ap-northeast-1.aws.ce.redhat.com
Excluding Packages from Red Hat Enterprise Linux Server 5 (RPMs)
Finished
=================================================== Matched: libxslt ====================================================
libxslt.i386 : Library providing the Gnome XSLT engine
libxslt-devel.i386 : Libraries, includes, etc. to embed the Gnome XSLT engine
libxslt-python.i386 : Python bindings for the libxslt library
python-lxml.i386 : ElementTree-like Python bindings for libxml2 and libxslt
# yum install libxslt.i386
カテゴリー: Bigdata | タグ: | コメントする

Ansible Shellモジュールで複数行記述

モジュール化されていない場合はCommandかShellモジュールで実行するOSコマンドを記述する。

基本的にはCommandを利用するように推奨されているが、パイプやらリダイレクトやらがある場合はShellモジュールを利用する。

複数行記述するにはどうするか?
下記のように;で区切って並べるとよい。
;を入れないと続きとみなされるので注意。

- name: git clone and rbenv
  shell: >
    git clone https://github.com/sstephenson/rbenv.git ~/.rbenv;
    git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build;
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile;
    echo 'eval "$(rbenv init -)"' >> ~/.bash_profile;
  tags: ruby

複数行実施した場合、どこでこけたかがわかりずらい。
面倒でなければ一つずつタスクを切るのがお勧めである。

カテゴリー: Ansible | コメントする

トラブルシューティング mavenでdependencyのjarが落ちてこない

とあるモジュールをバージョンアップしたタイミングでpom.xmlに記述されているjarが落ちてこないという問題が発生。
実行時にNoClassDefFoundErrorが発生して発覚。

もちろん以前からさんざん取り上げている通りNoClassDefFoundErrorの原因はそのクラスがないことなのでjarがないことを確認した。

落ちてこないjarは依存モジュールがさらに間接的に依存しているjarである。
そしてそのモジュール単体のpom.xmlには依存関係が記載されており、
mvn dependency:treeを実行すると該当のjarが表示される。

ただしプロジェクト全体のpom.xmlを読み込ませてdependency:treeを実施すると該当のjarが表示されない。
よくよく見てみると以下のメッセージが出力されており、なにやら問題ありそうだ。

[WARNING] POM for ‘xx.xx.xx:pom:1.0.xx:compile’ is invalid.

このメッセージが出ていると、該当jarの依存関係を無視してビルドを進めるため、ビルドが成功しているように見えて、
必要なjarがないという危険な状態でビルドが終わる。

根本原因はpom.xmlのアップロード時に変換されて、dependencyが落ちていたことである。
サードパーティライブラリなので手動でmvnコマンドをたたいたのだが、勝手にオリジナル違うpom.xmlを生成する凶悪なデフォルトのふるまいである。手元にあるpom.xmlを指定しているのに、それをアップロードしてくれないという・・・

この凶悪なふるまいを変更するには-DgeneratePom=falseを付与して、mvnコマンドを実施すること。

mvn deploy:deploy-file -Dfile=parent.pom  -Durl=http://www.rutake.com/nexus/ -DrepositoryId=myrepo  -DgroupId=com.rutake.common -DartifactId=common -Dversion=1.0.99 -Dpackaging=pom -DgeneratePom=false
カテゴリー: Java | タグ: | コメントする