weblog of key_amb

主にIT関連の技術メモ

YAML の少しだけアドバンストな書き方のメモ

複数行の文字列 いくつか書き方があります。 text1:| hoge fuga piyo 基本はこんな感じで、":" の後に "|" を書きます。 ここで、各行の改行は保持されます。最終行の改行を取り除きたい場合は "|-" を、逆に保持したい場合は "|+" を付けます。 改行要らな…

メモ - Unbound と BIND の比較

仕事で最近 Unbound を触る機会が増えてきました。 DNSサーバといえば一昔前は BIND 一択だった気がするのですが、最近台頭してきている(?) Unbound の立ち位置ってどんなところなんだろう、BIND は度々脆弱性が報じられる印象があるのですが、Unbound って…

Vim メモ - ホームディレクトリ以外の場所の.vimrcや.vimを使う

下の参考記事の通りです: ホームディレクトリ以外の場所の.vimrcや.vimを使う - だるろぐ 1) .vimrc の場所を指定する vim 実行時に -u オプションで指定します。 alias vi="vim -u /path/to/myhome/.vimrc" 2) vim の runtimepath をいじる .vimrc で runti…

Vim メモ - 行番号表示に関する設定

以下は .vimrc に記述する場合です。 " 行番号表示したい場合 set number " 行番号表示 set numberwidth=3 " 行番号の最小表示幅を3桁に設定 " 行番号表示したくない set nonumber " 行番号非表示 参考 options - vimdoc-ja

シェルスクリプトを書くとき覚えておくこと一選

元ネタ: シェルスクリプトを書く時覚えておくこと一選! - rrreeeyyy.com 内容 set -euo pipefail 解説 Man ページから抜粋します。 $ man set : set [--abefhkmnptuvxBCEHPT] [-o option] [arg ...] set [+abefhkmnptuvxBCEHPT] [+o option] [arg ...] : -e…

Ansible メモ - シェル環境変数の参照

playbook 上で例えば $HOME のような値を参照する場合、少なくとも2通りのやり方があります。 (1) lookup plugin を使う Frequently Asked Questions — Ansible Documentation playbook に次のように書きます。 vars: local_home: "{{ lookup('env', 'HOME')…

Ansible メモ - ログを吐く設定

設定ファイルで出来ます。 ansible を実行するディレクトリに ansible.cfg を置くか、~/.ansible.cfg で設定すればよいでしょう。 いずれかの設定ファイルに次のように記述すればいいです。 [defaults] log_path=/path/to/logfile 参考 The Ansible Configur…

Ansible でローカルPC(Mac) の環境構築

Ansible を使って作業PCのセットアップをかんたんに行えるといいな、と思って、取っ掛かりのところまでをやりました。 sshd が上がっていないローカルマシンに対しても ansible を実行することができます。 下の記事が参考になりました。 Ansibleをローカル…

Vim でファイルの種類ごとにインデントを変える(メモ)

結論から言えばここに書いてある通りでした。 Vim documentation: usr_43 Unix 以外だと runtimepath を確認するように記述がありますが、Mac でも Linux でも ~/.vim 以下に ftplugin ディレクトリを作成すれば問題なさそうです。 例えば yaml のインデント…

CentOS 6.2 における crond と anacron の関係(メモ)

あるときとあるサーバで logrotate が動いてないことに気づき、CentOS 6 の cron の起動シーケンスを調べた時のメモです。 以下の流れで crond から anacron が1時間ごとに実行されているようです。 /etc/cron.d/0hourly から1時間毎に /etc/cron.hourly/ 配…

bash/zsh で source されたスクリプト自身の絶対パスを取得する方法

以下のどちらでも行けました。 いずれも $BASH_SOURCE (zsh の場合は $0) を使います。 DIR=$(cd $(dirname ${BASH_SOURCE:-$0}); pwd) DIR=$(dirname $(readlink -f ${BASH_SOURCE:-$0})) 参考 bash/zshでsourceされたスクリプト内で、ファイル自身の絶対パ…

git gc/prune で unreachable loose objects を掃除する(メモ)

Git

ある日 working tree で作業していると以下のような警告を目にした。 warning: There are too many unreachable loose objects; run 'git prune' to remove them. みなさんにもこんな経験はないだろうか。 こんなときはメッセージに従って git prune または …

Mac に pyenv + pip で Ansible 用 python を作る

pyenv の install ここでは virtualenv を使うために pyenv-virtualenv をインストールします。 pyenv も一緒にインストールされます。 brew update brew install pyenv-virtualenv 以下で ~/.pyenv/shims に $PATH を通します。 $ eval "$(pyenv init -)" …

Ansible チュートリアル by Vagrant の環境構築時のトラブルシュート

Ansible チュートリアル | Ansible Tutorial in Japanese を参考に Vagrant で Ansible する環境を構築していたときにハマったことのメモ。 いろいろ足りない、xbuild 動かず 結論から言うと xbuild は動かなかったので諦めました。 素の OpsCode の CentOS …

Linux で起動時に fsck を行う

# touch /forcefsck # reboot 参考 起動時にfsckする方法 - bose999の試験管の中の話 Linux Force fsck on the Next Reboot or Boot Sequence

sudo コマンド使い方メモ

オプション オプション 意味 -E 環境変数を引き継ぐ 使用例 $ sudo -E ls -la ${HOME}/ 参考 sudoで環境変数を引き継ぎたい|ざる魂

(メモ) upstart 経由のジョブ操作

# 一覧 initctl list # 起動/停止/再起動/設定ファイル再読み込み/状態確認 initctl [start|stop|restart|reload|status] <ジョブ名> 例 # svscan (daemontools) の再起動 initctl restart svscan 参考 Upstart の動きを理解する - いますぐ実践! Linuxシス…

GitHub でコミット・ブランチ・タグ間の diff を Compare view を使う

参考: Githubでコミットやブランチやタグ間のdiffを見る、Compare viewを使う - kanonjiの日記 結論から言えば、下記のようなURLを入力することで Compare view でリビジョン間のdiffを見れます。 リポジトリURL/compare/{リビジョン}...{リビジョン} この「…

Linux OS バージョンを調べるコマンド

どのディストリビューションでも使える標準的なコマンドとして、以下が挙げられます。 $ cat /etc/`ls /etc -F | grep "release$\|version$"` これは LinuxサーバーのバージョンやOS名を調べるコマンド(Linux) で紹介されており、Linux であれば、/etc/ 配下…

OpenStack のセミナーに行ってきた。

はじめに きっかけは会社の上司から「興味がある人はどうぞ」と案内があったので。 参加前は世の中には OpenStack と CloudStack ってやつがあって、それを使うとプライベートクラウド環境が構築できるらしい、というぐらいの理解しかありませんでした。 CA…

Chrome でタブ整理用の拡張機能を使う

Chrome のタブ管理どうしようかと最近いろいろ試したけど、TooManyTabs と TabJump に落ち着きそう。 Chrome用TooManyTabs - Chrome ウェブストア TabJump - 洗練されたタブナビゲーター - Chrome ウェブストア Web上で調べ物とかしてるとタブ数が爆発するん…

思考実験: eメールの問題点とその代替手段の検討

eメールってインターネット始まった初期の頃からあると思うけど、そろそろ時代遅れなんじゃないか、と思うことがたびたびあった。 ので、問題点を上げつつ、代替案を考えるというのをやってみる。 問題点 スレッドに自分の意思で参加/退出できない メールの…

DisplayPort x 1 の MacBookAir でトリプルディスプレイ

MBA 11インチには DisplayPort が1つしかないので、通常デュアルディスプレイまでしかできませんが、ここに書いてある方法でトリプルディスプレイまで行けます。 ※手元の環境で動いたというだけなので、100%の動作保証をするものではないです。実施は自己責…

(メモ) Linux DFS について考える

とりあえず togetter にまとめたやつを貼っておく。 https://togetter.com/li/650283 tgtr.ListWidget({id:'650283',url:'https://togetter.com/',width:'480px',height:'480px'}); 6/10 追記 DRBD というやつがある。 これはネットワーク上で RAID を組むよ…

Google 検索オプションについてのメモ

Google検索のオプションを使いこなすと、知りたい情報をもっと効率よく探せることがあるでしょう。 下のページからさまざまなカスタム検索をすることができます。 https://www.google.co.jp/advanced_search 直接検索ボックスにクエリ(キーワード+α)を入力す…

Vim で日本語を扱うときに必要な設定

Vim で日本語ファイルを開くと文字化けしてしまうことがあります。 UTF-8 なサーバ or ターミナルで色んなエンコードの日本語ファイルを読むには、以下の様に .vimrc に設定が必要です。 " Handle Japanese Encodings set encoding=utf-8 set fileencodings=…

cpanfile で perl module を管理する

ちょっと前から plenv を使っていますが、作業環境が変わったときに毎回モジュールを入れ直すのが面倒なので、cpanfile を管理することにしました。 https://github.com/key-amb/my-perlenv cpanm --installdeps オプションで、cpanfile の記述を元にモジュ…

Perl CLI フレームワーク

Perlで使えるCLIフレームワークの個人的調査メモ。 インフラ運用などをやっていると、CLIをさくっと作りたいニーズが出てくる。 毎回一から書くより、既存のフレームワークに乗っかった方が楽なこともあるだろう。 というわけで、ちょっと調べてみた。 CPAN …

オンラインブックマークサービスの比較

タイトルは大げさですが、実際にはGoogleブックマークとはてなブックマークしか比べてません。 ソーシャルブックマークサービスとしては他に https://delicious.com/ や Yahoo!ブックマークなどもありますね。 togetter でまとめを作りました。 オンラインブ…

CentOS 6 で bash-completion を試してみた。

やり方としては、bash-completionでserviceコマンドなどの補完を強化しよう - インフラエンジニアway - Powered by HEARTBEATSの通り、epelのリポジトリを yum repo に追加して、yum install bash-completion しただけ。 参考記事にあるように、service コマ…