CentOSでRubyをソースコンパイルするときに、いつも事前インストールしているライブラリ群です。個人的にXMLを扱う開発が多いので、XML関連のライブラリも一緒に入れています。
このままコピペして yum install
すればまとめて導入できるはず。
openssl openssl-devel readline readline-devel ncurses ncurses-devel gdbm gdbm-devel libffi libffi-devel zlib zlib-devel bison mysql mysql-devel mysql-server sqlite-devel libxml2 libxml2-devel libxslt libxslt-devel libyaml libyaml-devel
[2016.06.04 追記]
Ruby 2.2.1ビルド時にlibffi-develが無くて怒られたので追記しました。
さらにCentOS 7用に mysql を mariadb に変更。
openssl openssl-devel readline readline-devel ncurses ncurses-devel gdbm gdbm-devel libffi libffi-devel zlib zlib-devel bison mariadb mariadb-devel mariadb-server sqlite-devel libxml2 libxml2-devel libxslt libxslt-devel libyaml libyaml-devel
- モジュールのロードに失敗してno screens となるとき
xorg-x11-drivers
パッケージが入っているか確認する。- インプットメソッドの導入
ibus
パッケージをインストール…だが他にも色々必要な感じだったので、とりあえず groupinstall でJapanese support
を入れたほうが早いっぽい。(というか面倒くさくなってこれで済ませた)
あとはお好みのデスクトップを入れればOK。職場の環境はできるだけ軽くしたかったのでXfceを使っています。
前々からAtomコアの小型PCにLinuxつっこんで24時間運用とかやっていたのだけど、最近KVM用にCore i7機を仕入れたのと、Windowsマシンでも普段はメールとWebしか使わないのでいっそ余ったPCにLinuxデスクトップ構築すれば良いのでは? と思い、改めて消費電力とか調べてみた次第。
後はまぁ、メール&Web用マシンは自宅PCよりVPSでも使ってたほうが安くないか?とか。
調査方法は、以前購入してたエコワット(T3T-R1)を接続して24時間程度連続稼働させて記録をとる、というもの。エコワット自体簡易計測なのはわかっているのですが、買い替えようにも結局一般向けの機材はどれも簡易計測だし、本格的なのに手を出すほどでも無いし…という感じで。
エコワットはエコワットで、本体を電源断しないとリセットできないっていう使いにくさがあるんですけどね…。電源断すると当然計測対象機器も電源断するので、連続稼働させたい機材には向かないし。
計測は24時間あたりは意識して記録してますが、後はわりといい加減で「気づいたとき」記録してる感じ。まぁ平均とって時間当たりの消費電力が同じくらいなら良いだろうと。
時間あたり消費電力(kwh) | 1か月あたり消費電力予想(kw、1か月30日計算) | 1か月あたり電気料金予想(円) | |
---|---|---|---|
ASUS C60M1-I +8GBメモリ+3.5"HDD×1+200w電源 | 0.086 | 61.92 | 1,171 |
ASROCK H87 PRO4+core i7 4770 +GIGABYTE GV NX66256DP +32GBメモリ+3.5"HDD×2+500W電源 | 0.081 | 58.32 | 1,115 |
電源系とかの型番きちんと記録してませんが、一応世代的には200W電源のほうが新しいし、そもそも電力を喰う要因のHDDとかメモリとかグラフィックボードが多いCore i7のほうが消費大きくなるはずなのですが…。さすが4世代Core i7と言うべきなのか。
どちらもほぼアイドリング状態でつけっぱなしにしてますし、これで何か作業させたら消費電力増えてくるのでしょうが、まぁ1000円/月くらいになりそうな感じです。Core i7のほうは元々物理PCでないとやりづらいKVMの運用ノウハウ習得用なのでまぁ自宅PCのまま使うとして、メール&Web用マシンとしてC60M1-Iのほうを24時間稼働させるなら、VPSで処理させておいて必要時にアクセスしたほうが安く上がりそう。
後は、以前動かしていたAtom 330の機体でどのくらいの消費電力になっているかですが、こいつそろそろファンとかが怪しげになってきたし、パワー的に使用に耐えられるか、という疑問も…。
さてはて、どうしたものか。
今本業のほうでKVMベースのVMを運用する仕事をやってるのですが、今までVMWareやWin7添付のVirtual PC、最近だとVirtualBoxは扱っていたものの、KVMはやってなかったので多々手間取ることに。
結論を言うとここ1週間ほどのたうちまわって仕事はほぼ終息したのですが、この手のものは日頃から弄っていないと忘れるのと、今後も似たような仕事をやる可能性が高そうだと思い、この機会に自宅サーバーを新規構築することにしたのでした。
当初導入しようと思ってたのは、仕事で使っているのと同系統のドスパラ製64GBメモリ搭載Monarchなのですが、予算的に厳しいのと自宅に余ってる部品かき集めると、このMonarchの半額くらいで32GBメモリマシンが組めそうだったので、パーツから組むことにしました。
構築目標:
- KVMによるVM複数台がそこそこ現実的な性能で運用できる環境
- メモリは32GB以上
- HDDは取り敢えず少なめで。外付けHDDの手持ちがあることと、同時稼働させる複数VMを同一HDDに格納するのは性能落ちそうな予感があるので、小容量を複数個買ったほうが良かろうと判断。
- 仕事で扱っている機材もssh接続しかできない場所に置いてあるので、X Windowは動かさず、すべてSSH接続で作業する
購入したもの:
- ASRock H87 Pro4
- Intel Core i7 4770
- Western Digital WD5000AAKX (500GB HDD)
- ADATA AD3U1600W8G11-2×2 (計32GB)
余剰部品の再利用:
- ミドルタワーケース (メーカー失念。初代Core i7発売当時、i7機を組むために購入したもの。電源不調で交換済み)
- Huntkey パソコン用ATX電源500W BK-5000
- USBキーボード
- GIGABYTE GV NX66256DP (グラフィックカード)
- SATA 160GB HDD
- RATOC Systems SA-DK2-U3R (1TB RAID1)
購入品はCore i7 4770を使う+32GB以上のメモリを載せることを中心に、そこそこの予算でなんとかしましょうという方針。
余剰品としては1TB RAID1の外付けドライブが唯一の戦略物資です。USB3.0接続できてLinuxで使えるRAIDユニットとしてはかなり安かったので以前購入していたのでした。今回はこれがメインのデータドライブとなります。
と言う感じで本日組立とホストOSとしてのCentOS 6.4インストールが終わったところ。
VPS試したり再セットアップしたりするときの定番なのでメモる。
セットアップ直後
- sudoでrootになれる権限を持った作業ユーザを作り、作業ユーザでroot作業ができることを確認
- sshdの設定を変更、PermitRootLogin no
- sshdをrestart
- コンソールログインができる場合は、コンソールからrootで入れることを確認して心の平安を得る。
- それはともかくとして作業ユーザでSSHログインできることも確認しておく。
- さらにrootでSSHログインできないことを確認しておく。
確認が終わったら、sshdの設定を再度変更、Port を22以外にしておくとさらに安心。
作業環境を整える
- .bashrcを確認して、いつものaliasをセット。rmとmvは基本的に -i を有効にしておきたい
- ssh-keygen を実行して鍵セットを構築
- ログイン元サーバーの公開鍵を適宜セット
作業ディレクトリ構成は大抵 archives/ (wgetしたものを格納)、 factory/ (wgetで拾ったものを展開、ビルド)、 workspace/ (自作のプログラムとかはここでいじる) の3構成。どーせそのうち tmp/ だとか tmp2/ だとかが増えていくのだけど。
定番アプリの導入 (2014/12/19 追記)
- GNU screen (yum)
- git (yum, 特にcheckinstallなどの導入に必要)
- Subversion (yum, gitで管理するなら不要)
- wget (yum)
- checkinstall (ソースからビルド, http://asic-linux.com.mx/~izto/checkinstall/ )
- gettext (yum)
- rpm-build (yum)
$ sudo yum install screen git subversion wget gettext rpm-build
checkinstallの導入は 64bit 版 CentOS での CheckInstall 導入方法 – akishin999の日記 が適切だと思った。大体いつも手作業で対策して、それゆえ毎回忘れてやり直したりしてたことが綺麗にまとまっている。