strace コマンドの使い方をまとめてみた : sonots:blog
Link: strace コマンドの使い方をまとめてみた : sonots:blog
[T. S. Pillai et al. All File Systems Are Not Created Equal: On the Complexity of Crafting Crash-Consistent Applications. OSDI'14.](https://www.usenix.org/conference/osdi14/technical-sessions/presentation/pillai)
で紹介されていたALICEというアプリケーションでstraceをめっちゃ使っていたけど、実際に自分が使ったことは殆どなかったのでどういう出力をされるものなのか調べてみたところ、このブログがよくまとまっていた。
gogsのdockerを永続化させる
はじめてdockerを真面目に使ってみた。 以下のパッチを, githubからクローンしてきたgogsの中で当てれば永続化できる、はず。 https://gist.github.com/amiq11/b7223e684631f3caa02e
当て方は以下
$ git clone git@github.com:gogits/gogs.git $ cd gogs $ wget https://gist.githubusercontent.com/amiq11/b7223e684631f3caa02e/raw/12a1a9631b034617567c11eb1aa5c6dccc06f585/gogs_persistent.patch $ patch -p1 --dry-run < gogs_persistent.patch # 良さそうなら以下を実行 $ patch -p1 < gogs_persistent.patch $ cd docker $ ./assemble_blocks.sh docker_gogs_persistent gogs_storage w_db_persistent option_db_mysql $ fig up
Ubuntu上のChromeでのタッチパネルの利用
概要
windowsではどのアプリケーションでも、スワイプがきちんとスクロールやドラッグになったりピンチが拡大縮小になったりするのに、ubuntuではただのマウスのクリックや移動でしかなく、おかしい状況だった。 でも、絶対なんかやり方あるだろ!と思って調べてみたところ、chrome上ではタッチパネルをきちんと利用できることがわかったのでメモ。
環境
- Vaio Pro 13
- Ubuntu 14.10
- Google Chrome (Stable)
方法
参考ページ: Ubuntu 14.04 multi touch screen support - Ask Ubuntu
方法としては単純で、google-chromeを起動するときのオプションに--touch-events=enabled
と--enable-pinch
を追加すればよい。これをデフォルトで起動するため、以下の2つの起動スクリプトを変更する。
Lens(Windowsキーを押すと出てくるやつ)で起動するためのスクリプトを変更
$ sudo vi /usr/share/applications/google-chrome.desktop
108行目のExecオプションが以下のようになっているはず。
Exec=/usr/bin/google-chrome-stable %U
これを、下のように変更。
Exec=/usr/bin/google-chrome-stable --enable-pinch --touch-events=enabled %U
コマンドライン上でgoogle-chromeと打つときに勝手にオプションが追加されるように変更
コマンドは以下。
$ sudo rm /usr/bin/google-chrome $ sudo vi /usr/bin/google-chrome $ sudo chmod +x /usr/bin/google-chrome
viで/usr/bin/google-chrome
を開いたときに、以下のようなスクリプトを書く。
#!/bin/bash /etc/alternatives/google-chrome --enable-pinch --touch-events=enabled $@
おわりに
これで、とりあえずChromeだけはタッチ操作がきちんとできるようになるはず。
Unityのタッチ対応の方法は絶賛募集中でございます。。。。
無銘闇人の電脳ろぐ: iBusでxmodmapでの設定が消える問題の解決方法とか
Link: 無銘闇人の電脳ろぐ: iBusでxmodmapでの設定が消える問題の解決方法とか
最近Google Docsで文字変換中に次の文字を入力すると一文字目が入力されないというバグが発生していたため、ibusに戻ってくることにした。しかし、ibusだとどうやらXmodmapが自動では読み込まれないようだったので調べてみたところ同じ現象が起こっている人を見つけた。
手順
簡単だった。
RDSとEC2を使ってみた
概要
AWSをつかって簡単にデータベースが構築できるサービス、RDSを利用してみたのでそのメモを書いておきます。
EC2とは
Amazonの提供するIaaSのサービス。計算リソースとコストに応じて利用するインスタンスのタイプを選ぶことができます。たくさんあるインスタンスタイプのうち、今回はt2.mediumを利用しました。t2インスタンスはCPUのリソースを使わない時にはトークンが貯まり、CPU boundな処理(ビルドなど)を行う際には実CPUのリソースをフルに活用出来るという仕様のようです。(インスタンスタイプを参照)
RDSとは
Amazonの提供するRDBMSをEC2のインスタンス上にセットアップして提供してくれるサービス。利用可能なRDBMSとしてはMySQLやPostgreSQLといったオープンソースのものから、OracleやSQL Serverといったライセンスが必要なものまであり、高価なライセンスをはじめに払うほかにライセンスが従量課金の金額に含まれる形態のものもあるため、簡単に試せそう。スナップショットやインスタンスタイプの変更も可能で、Multi-AZ構成にすることでデータセンター単位での障害にも対応できるようです。
しかし、RDSのインスタンスタイプの変更はフェイルオーバー時間がある程度かかるという記事もあるので、注意が必要かもしれません。
今回はPostgreSQLをt2.microインスタンスで利用してみました。ストレージは5GB。
RDSのアプリケーションからの見え方
これが個人的にはじめよくわからなかった部分です。
RDSのセットアップでは、Database名とユーザー名を入力し、インスタンス等を選択してlaunchするというごく普通の手順を踏みます。その際、DNSが設定されて外部からアクセスできるようになり、今後はそのドメインを利用してアクセスすることができるようになります。
RDSのセットアップ方法
VPC Security Groupの作成
- EC2のコンソールを開き、左のメニューからSecurity Groupsを開き、Create Security Groupをクリック。
- ポップアップが出るので、Security group name、Descriptionを記述して、sshができるようにRuleを図のように追加します。
- Createを押すと、コンソールに次のように出てきます。
EC2インスタンス(RDSにアクセスするノード)のセットアップ
- Instancesを開き、Launch Instanceをクリックします。
- OSがインストール済みのイメージからCloneします。今回はUbuntu Server 14.04を選びました。
- いろいろあるInstance Typeから、適当なものを選びます。ここではt2.microを選びました。
- 最後に確認が出るので、Edit Security Groupを選択し、先ほど作ったものを選択。
- Launchをクリックして、EC2のインスタンスを起動します。
- EC2のコンソールから、Private IPsのIPをコピーし、Security Groupsを開きます。
- 作成したGroupを選択し、InboundをEditし、Custom TCP Ruleからポート5432、SourceをCustom IPでコピーしたIPを入力(172.32.0.0/32というマスクのついた形式)
RDSのセットアップ
- RDSのコンソールを開き、Launch DB Instanceをクリック。
- DBのエンジンを選択。ここではPostgreSQLを選択しました。
- Multi-AZにするかどうかを選択できますが、今回は必要がない(上に無料なので)Single-AZにしました。
- インスタンスの設定を行います。ここで設定したMaster Userはデータベースにアクセスするためのユーザーになります。
- ネットワークやデータベースの設定を行います。VPC Security Zoneは、EC2のコンソールのほうから設定したものを選択することになります。
- さいごにLaunch DB InstanceでRDSのインスタンスを立ち上げることができます。
- コンソールに戻ると、次のような画面になります。このインスタンス一覧のすぐ下にある、Endpointがそのノードにアクセスするためのドメインになります。
RDSの利用
EC2のインスタンスにSSHで入ってからの操作をメモします。といってもこれだけ。 ちなみに、ubuntu serverの場合はデフォルトのユーザはubuntuなので注意。(普段Amazon Linuxをつかっていると、ついec2-userで入ろうとして死ぬ。)
$ sudo aptitude install postgresql-9.3 $ psql -U masteruser -h ${Endpointに書いてあったドメイン} testdb
雑感
DBサーバをlaunchするのは非常に簡単にできて驚きました。ただ、同一セキュリティグループ内でもInboundのルールが適用される点などはいまいちまだ理解できていないので、AWSの仕組みについてはもうすこし勉強する必要がありそうです。
この記事はクラウド基盤構築の課題として提出しました。
ちなみに、課題は以下のようなものです。
クラウド基盤構築コース、もしくは、これまでITシステムに関わった経験の中で、自身で調べた(Linux、仮想化、クラウドなどに関連する)技術要素について、その技術解説をBlog等にまとめてください。 その際、以下の内容を含めるようにしてください。 ・ その技術が必要な場面 ・ その技術の利用手順 ・ その技術の背景にある仕組みの解説 体裁や言葉遣いなどはあまり気にせずに、「その技術を知らない人が読んだ時に、技術の必要性、使い方、仕組みを理解して納得できるかどうか」という点を重視して作成してください。
中井さんの授業はとてもおもしろかったので、またlinux関係のイベントとかいったらお世話になりたいと思います!
(48-146421)
RaspberryPiのタイムゾーンを日本時間に設定する
Link: RaspberryPiのタイムゾーンを日本時間に設定する
<blockquote class="link_og_blockquote">まえがき RaspberryPiで動かす管理アプリを制作していました。とりあえずBeta的なノリだけど動かせる状態になったので、開発用に使っていたマシンから実際に運用するRaspberryPiのマシンに移...</blockquote>