Linux
C 言語で書かれた静的ライブラリと共有ライブラリについて、いまいち理解がちゃんとしていなかったのでまとめておく。 ライブラリというのは、複数のアプリケーションで使われるような共通の機能をまとめたものをいう。 今回使った環境は次の通り $ cat /etc…
なんか毎回忘れるのでメモっておく。 パッケージシステムの基盤として rpm を使っている Linux ディストリビューションでファイルがどのパッケージに含まれるか調べるやり方。 使った環境は次の通り。 $ cat /etc/redhat-release CentOS Linux release 7.2.1…
あるファイルがどのパッケージに含まれているかを知りたくなる場面は意外と多い。 例えば何かをビルドするときにヘッダファイルがないといわれて、それがどのパッケージに含まれているか調べたいとか。 あるいは何かをパッケージングするときに、それが依存…
Linux ディストリビューションのコマンド実行履歴まわりについて理解を深めるために動作を調べたのでまとめておく。 主にコマンド実行履歴を残すファイルの指定方法とか history コマンドについて。 今回使った環境は次の通り。 $ cat /etc/lsb-release DIST…
最近知ったんだけど Alien というソフトウェアを使うと rpm とか deb を相互に変換できるらしい。 今回はその Alien で CentOS7 向けの rpm を deb に変換して Ubuntu 14.04 LTS にインストールしてみた。 使った環境は次の通り。 $ cat /etc/lsb-release DI…
LVM (Logicl Volume Manager) はブロックデバイスを VG (Volume Group) という単位で束ねた上で、そこから LV (Logical Volume) という論理的なボリュームで切り出して使うことで柔軟性の高い管理を実現できる機能。 今回は、その LVM の基本的な使い方につ…
ループデバイスは Linux でイメージファイルをハードディスクのようなブロックデバイスとして扱うための機能。 今回使う環境は CentOS7 にした。 $ cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) $ uname -r 3.10.0-229.14.1.el7.x86_64 dd…
たまにインターネットと疎通がないマシンをデプロイしなきゃいけないこともあると思う。 今回は、そんな時にどうやって Python のパッケージを対象ホストにインストールすればいいかについて書く。 要約を先に書いておくと、まず OS のパッケージシステムを…
表題の通り Docker バージョン 1.8 から RHEL/CentOS6 はサポート外になった。 今後は Docker を使いたい場合 RHEL/CentOS7 を使う必要がある。 もうちょっと詳しく調べてみる 以下のチケットが Docker バージョン 1.8 のリリースされるちょっと前に話題にな…
rsync はファイルを別のディレクトリやリモートのホストと同期させるためのプログラムだ。 例えば rsync の代わりに cp コマンドを使った場合、宛先の状態に関わらず全てのファイルがコピーされてしまう。 それに対し rsync では、宛先の状態を確認して異な…
RCS (Revision Control System) は大昔に使われていたバージョン管理システムだ。 21 世紀にもなって何で RCS なんかとも思うんだけど、恐竜が生きていた頃に作られたシステムの中には今でもファイルを RCS で管理しているものももしかすると残っていたりす…
MySQL の設定や構成またはバージョンの違いによるパフォーマンスの変化を調べるにはベンチマークツールが必要になる。 今回は sysbench というツールを使って MySQL のパフォーマンスを測ってみよう。 検証環境には CentOS7 を使った。 $ cat /etc/redhat-re…
MySQL (MariaDB) の冗長化には Master-Slave 構成を組んだり MySQL Cluster を使ったりと色々ある。 その中で Galera Cluster は同期レプリケーションを用いたマルチマスタ型のクラスタが組むやり方だ。 今回はこの MariaDB Galera Cluster を CentOS7 で組…
今回は RDB サーバや HTTP サーバを冗長化する際にロードバランサと共に用いられることが多い HAProxy のログを rsyslog と logrotate を使ってローテーションする際の設定について書く。 検証用の環境には CentOS7 を使った。 $ cat /etc/redhat-release Ce…
今回はホストの冗長化するのに使う keepalived のログを rsyslog と logrotate を使ってローテーションさせる方法について書く。 検証環境には CentOS7 を使った。 $ cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) $ uname -r 3.10.0-229.1…
xinetd はスーパーサーバと呼ばれるプログラムで、あるポートに対してアクセスがあった際に設定ファイルを元にして特定のサービスを起動することができる。 以前はプログラムを常駐させないことでメモリの節約などに使うことが主な用途だったようだが、メモ…
ログローテーションを実現するには二つのやり方がある。 一つ目はログを出力するアプリケーション側でローテーションの機能を作りこむやり方で、もう一つは今回扱う logrotate のように別のプログラムを使うやり方だ。 今回は Python で書かれたログローテー…