投稿

8月, 2017の投稿を表示しています

Timezoneを設定するPlaybook

マシンのTimezoneの設定もPlaybbook化してみる。
CentOS7では、timedatectlというコマンド経由で設定出来るので、それを利用する。

Chronyをインストールする時のPlaybook

Chronyをインストールする箇所もPlaybook化。
基本的に初期設定のままなので、何もいじらず書けばいい。



今のところ複雑なプレイブック書いてないので、NTPサーバーを指定して、テンプレートを展開するようなタスクを追加してみようかなと思ったり。

CentOSのAMI一覧

CentOS公式のAMIの一覧のメモ。
ここに載ってる。

ファイルの中身をコピーする時に、pbcopyが打つのが面倒

ファイルの中身をコピーする時に、毎回cat file | pbcopyって打つのが面倒だったので、zshrcに関数を定義しました。



柔軟性はないけど、とりあえずはこれで十分かな。

tmux上のCtrl-a・Ctrl-eが動かない

Tmux2.5上でCtrl-a・Ctrl-eが効かなくなりました。
shellは、zshを使っています。

解決策はよく分からないのですが、superuserで転がっていた質問の対応で、期待通りの動きをするようにしました。
https://superuser.com/questions/523564/emacs-keybindings-in-zsh-not-working-ctrl-a-ctrl-e

bindkey -eをzshrcに追加しただけです。

Emacsモードのキーバインドだけっか...

Ansibleでgem installする時の注意

Ansibleでgem installしても、参照出来なくて困った時の話。

Playbookとりあえず、Playbookを貼ります。。



余りキレイな書き方ではないのですが、

ホームディレクトリ配下にrbenvをインストールruby-buildを追加rbenv周りの環境変数を.bashrcに追記Rubyのインストールbundlerのインストールrailsのインストール
をしているだけです。
このPlaybookを実行しても、bundleやrailsが見つかりません。
が、gem listにはあったのです。

まさか...

--user-installgem listにあるということは、どこかにインストールはされているわけです。
今の設定で、参照出来なくてインストールされているとなると、可能性が高いのは、--user-installオプションをつけてインストールしているときです。

AnsibleのgemモジュールのOptionsを見てみます。

--user-installに該当するオプションがありますね。
user_installです。
どうやら、デフォルト値がtrueになっているようです。

ということは、これをfalseで指定してあげればいいですね。



これで期待するところにインストールされるようになりました。
一安心一安心

VirtualBox Guest AdditionsをインストールするPlaybook

VirtualBox Guest AdditionsをCentOS公式のBoxにインストールするで書いた手順をPlaybook化。
もう少しマシな方法があるんだろうけど、とりあえずはこれで。

Macにdirenvを導入する

仕事では1案件だけ集中して作業することもなく、複数の案件を同時に作業することもあると思います。(私はそう)
そういう時にディレクトリごとに、環境変数を切り替えたいっていう時が多くあると思うのですが、direnv使いましょう。

direnvのインストールHomebrewユーザーなので、brew installするだけです。



これだけです。
他のインストール方法は、READMEのInstallセクションを読んで下さい。

環境設定READMEのSetupセクションを見て、必要な設定をしてください。
私の場合は、zshを使っており、direnvがインストールされていない環境でも使用する時が時々あるため、以下のコードを.zshrcに追記します。



direnv edit .というコマンドを使って環境変数を設定するために、.zhsrcにEDITORを変数する。



Gitリポジトリの設定direnvを使って環境変数を設定すると、.envrcというファイルが作成されます。
が、このファイルをリポジトリにコミットするわけにはいかないので、除外しときます。


zshでfunction definition file not foundの続き

前回の記事なんですが、恐らく解決した。

zshrc内で、compinitを呼び出しているところを書き換えた。







-dをつけただけですね。
具体的にコードの説明したいけど、そこまで理解が追いついていない。
見たい人は、このあたりを読むといいと思います。

ひとまずこれで。

PowerlineFontのインストール

私も例に漏れず、Powerlineを使っています。
新しいPCにPowerlineFontをインストールするのが面倒だったのですが、シェルを実行するだけでインストール出来るようです。

powerline/fontsというリポジトリがありまして、そこのREADMEに書いてました。

便利な世の中になったもんだ。

zshでfunction definition file not found

新しいPCを渡されたので、それのセットアップ時に出たエラー。



antigenインストール後に起きたっぽい。
ここを参考にすると、zcomp系のファイルを削除してzshを起動すればいいらしい。



後はexec zshを実行するか、iTerm2を再起動するとか。
それぐらい。

と思っていたが、さらにその後zshを起動し直すと同じエラーが発生する。
ふむ。
困ったもんだ

健康診断が終わった

昨日、健康診断をしてきた。
特に問題はなかったけど、やっぱり体重が増えると身長も大きくなる。
不思議ではある。

問題がないことを祈るだけ。

VirtualBox Guest AdditionsをCentOS公式のBoxにインストールする

CentOS公式のBox(Vagrant)だと、Guest Additionsがインストールされていません。
これがインストールされてないと、VirtualBoxの共有フォルダーでマウントすることができません。
今日は、そんな時にどうやってインストールすればいいのかっていう話を。

Guest Additionsをインストールする
Guest Additionsのインストールは、以下の手順に従って行えば良いです。

1. GuestAdditionのisoデータをダウンロードこのページから、適切なバージョンのGuest AdditionsのisoのURLをコピーしてください。
後は、それをwgetやらなんやらでダウンロードします。



2. isoをマウントisoの中身をみるため、マウントしましょう。



3. Guest Additionsをインストールする後はインストール。



終わったらアンマウントを忘れないこと。
不要になったisoファイルも削除。

Confluence CloudでカスタムCSSが使えない

イメージ
個人で利用しているわけではないのですが、Confluence CloudではカスタムCSSが制限機能になっています。
参考) https://ja.confluence.atlassian.com/confcloud/restricted-functions-in-confluence-cloud-734070955.html

カスタムCSSだけでなく、他の多くの機能も制限されていますね。
デフォルトのテーマConfluence Cloudデフォルトのテーマだと、h2,h3などの違いが非常に分かり辛いことを知っていますか?



これがデフォルトのテーマなんですが、非常に見づらいですよね。
他のドキュメントを漁ると、テーマをインストールすればいいんだよとか書いてるんですが、Confluence Cloudではインストールする方法が利用者側にないです。
本当に悲しい。
それでもレイアウトは変えたいそれでもレイアウトは変えたいですよね。
俺は変えたいです。
だって見づらいもん。

ちょっと冗長になるかもしれないですが、一番簡単な方法は、各ページにStyleマクロを埋め込んでCSSを書いていくことです。



後は、このStyleマクロを埋め込んだテンプレートを用意しておくのがベターでしょう。

カスタムCSS制限するなら、もう少し見やすいテーマにしてほしい。

/vagrantにマウントしない時のやり方と注意

CentOS公式のBoxを使い、/vagrantに現在のディレクトリをマウントしない時のVagrantfileについてのメモ。
/vagrantではなく他のディレクトリにマウントする/vagrantではなく他のディレクトリに、現在のディレクトリをマウントする時は、2つやることがある。
/appにマウントする想定で話を進める。
/vagrantへマウントしないようにするsynced_folderを定義する/appへマウントするsynced_folderを定義する/vagrantへマウントしないようにするsynced_folderを定義する前者についてだが、明示的に/vagrantへのsynced_folderを定義しなくても、勝手にマウントしようとする。
これが非常に厄介だ。
そうさせないために、/vagrantへマウントしないsynced_folderを定義する必要がある。



最後のdisabled: trueがミソである。
こう書くことで、/vagrantへマウントしなくなる。
/appへマウントするsynced_folderを定義するこれは簡単。



これで/appにマウントされる。
ansible_localで構成管理するansible_localで構成管理する時で、/vagrantへマウントさせないとエラーを吐く。
ansible_localを指定した時は、/vagrantをカレントディレクトリとしてplaybookに指定されたファイルを探しに行く。
以下のような場合は、/vagrant/playbooks/ruby.ymlを探しに行ってしまう。



んじゃ、どうしたらカレントディレクトリを変更できるか。
Vagrantのドキュメントにあるprovisioning_pathに、そのディレクトリを指定すれば良い。



/vagrantにマウントしない時なんてそうそうないんだけど、そういうことがあれば注意していきたい。
最後に他にも注意点はあると思うけど、今日ハマったことはこんなところなので、とりあえずこんなもんで。

早い話、provisionで/vagrantを/appにリンクさせればいいんだけどね。

Mac miniを使ってみて

そんな書くことはないんだけど、Mac miniを使って1年ぐらい経つと思うので、感想を。
あんまり参考になるようなことは特に書いてないと思います。

スペックMac mini(late 2014)でディスク以外を最上位にした。
詳細は覚えてない。

使用感仮想マシンを1つ立ち上げて開発しつつ、Chrome50タブぐらいは割りと余裕。
ただ複数の仮想マシンを立ち上げるとなると、コア数が少ないから気になる。
コア数気になるなら、Mac Proでも買っとけばいいと思う。
Macである必要がないなら、BTOか自作した方が絶対いいけど。

最後に普段開発する分には特に問題ない。
Mac mini買うぐらいなら、Macbook Pro買った方がいいと思う。
持ち運べるし。
Mac miniも持ち運べるけど...ね?