Siburlog

SiblogだとSI BlogっぽいのでSiburlogとする

Goで「配列のスライス」を「スライスのスライス」に変換する時は少し注意が必要

久しぶりにGoでハマった。下記のようなコードで。 The Go Playground チェーン業界外の人のために注釈を付けておくと、本コードのcommon.Hashはtype Hash [32]byteで定義されている配列です。 ループ変数(の一部)が配列である時に、これをスライシングすると…

How to "go get" from private repo via https

The 2nd way in the following comment. cmd/go: github private repos require special configuration · Issue #26134 · golang/go · GitHub $ cd ~ $ touch .netrc $ chmod 600 .netrc $ vim .netrc machine github.com login YOUR_NAME password YOUR_API…

How to install yarn via pacman without node

Background I decided to install NodeJS not using pacman but using a version manager (nvm at the moment). However, according to Yarn official, I should install Yarn itself via an OS package manager for several reasons. https://yarnpkg.com/e…

Dell XPS13(9370)でSATA ModeをRAID OnからAHCIへ変更する時の注意

きっかけ Dell XPS13(9370)を購入した。 Linuxで使うが、BIOS更新とかファーム更新のためにWindowsが必要になるかもなので、Dual Bootにすることにした。 Linuxをインストールして動かすには、UEFI設定画面に入って(POSTでF2連打)、SATA ModeをAHCIに変更す…

ALLOC_FAIRフラグについて

概要 Linuxカーネルのメモリページ割り当てに関するメモ。 ALLOC_FAIR というフラグについて説明する。 ページ割り当て処理 関数冒頭のコメントで This is the 'heart' of the zoned buddy allocator. と書かれている通り、ページ割り当て処理の中心は関数 _…

JJUG CCC 2016 Fall感想

概要 JJUG CCC 2016 Fallに参加してきました。とても有意義で、幾つかのアクションの起点となりそう。 但し大遅刻で着いたのは昼、少し風邪気味で早退、今回聴講した講演は以下のみです。 Spring超入門-Springを1年半使ってみて Java + spring-boot で書く!…

Golang覚書

概要 最近Golang書いていて気付いた箇所・嵌った箇所や、自分の書き方の方針など。 主旨はツッコミ待ち。会社で一人でGolang書いているので色々不安。 make(chan ...)でキャパを指定しないとunbufferedになる キャパを指定しないと、適度なデフォルト値でも…

CoreOSでもtmuxがしたい!

概要 CoreOSでもtmuxくらいは備えてないと、接続が不安定な環境では怖くて使えないので、汚い手で対処したという話。 経緯 GCEのimageメニューの中にCoreOSっちゅーのがある。CoreOSの名前と概要だけは聞いたことがあった。Docker専用の軽量Linuxディストリ…

gemビルド中にOOMが走ってしまうのでこう対処した

経緯 td-agent2を自分でビルドしようとしている。 treasure-data/omnibus-td-agent READMEに書いてある通りに下記コマンドを実行すると、途中でOOMが発生して何度やっても失敗してしまう状況になった。 $ bundle install --binstubs これは必要なgemを端から…

Elasticsearch+Kibanaのインストールで嵌ったこと

経緯 このチュートリアル記事に従ってEFKをインストールして遊ぼうとしている(まだインストール途中)。 Elasticsearch, Fluentd, and Kibana: Open Source Log Search and Visualization | DigitalOcean このチュートリアルではE->K->Fの順にインストール…

livedumpをgithubに上げた

経緯 2年前にLKMLへv3を投稿して以来、開発が止まっている拙作livedumpをgithubにアップした。アップストリームカーネルへの新機能追加を夢見たが、メリットやユースケースが曖昧な一方、デメリットは大きく、マージの可能性は個人的には低く感じた。結局色…

inotify(7)によるファイルアクセス検知能力の調査

概要 Linuxには、ファイルに関するイベントの検知を行うためのメカニズムとして、inotify(7)というのがある。検知出来るイベントには色々あって、詳しくは各位man inotify頂きたく。 今回調査したのはその中のただ2つ、IN_ACCESSとIN_MODIFY。前者はreadアク…

SRPMからのカーネル構築についてメモ

下準備:http://wiki.centos.org/HowTos/I_need_the_Kernel_Source#head-a8dae925eec15786df9f6f8c918eff16bf67be0d 手順:http://wiki.centos.org/HowTos/Custom_Kernel SRPMを取得(「下準備」に場所が書いてある) % rpm -ivh <kernel SRPM> % cd ~/rpmbuild/SPECS % r</kernel>…

gdbについてメモ

コアダンプの使い方。 zshのコアダンプcore.1234.zshがあるとする。 まず、zsh-debuginfoのインストールが必要。 その上で、下記のようにする。 % gdb /bin/zsh ./core.1234.zsh Kernel Hacksには、crash-gcoreに絡んだgdbの使い方説明で、以下のようにしろ…

crashについてメモ

gcoreが失敗する理由その1。 makedumpfileの-dオプションでユーザデータを省いてやしないか。

softlockup detectorについてメモ

以下の二つで設定。 # sysctl -w kernel.softlockup_panic=[0|1] # 0 is default, 1 enables panic at softlockup # sysctl -w kernel.softlockup_thresh=<threshold in sec> しかし、CentOS6.4のカーネルだと、sysctlの項目として、softlockup_panicはあるけど、softlockup_th</threshold>…

LKDTMについてメモ

色んな発生条件で、色んな種類の障害を、インジェクション出来るモジュール。 使用方法から考えて、モジュールとしてビルドするのがいいだろうな。 例。 # modprobe lkdtm cpoint_name=FS_DEVRW cpoint_type=EXCEPTION cpoint_count=20 FS_DEVRWはファイルシ…

Kdumpについてメモ

crashkernel=autoは、環境によるかもしれないが、とりあえずRHEL6では、物理RAMが4GB以下の場合はセカンドカーネル用のメモリ確保をしてくれないようだ。 https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_G…

SysRqについてメモ

SysRqキーというのが、キーボードの上方、特殊キーが色々並んでるところに配置されている。 Linuxではこれを押した時に色々な機能が実行されるようになっている。 キーボードから入力できることの利点は、キーボード割り込みの延長で機能が実行出来ることら…