Introduction

ブログ内検索

  • このサイトの記事を検索 by Google

おすすめの一冊!

無料ブログはココログ

2014-09-10

乱読録(2014年08月)

2014年8月の乱読録です。 ※8月の途中から記録をはじめました
天沢夏月: なぎなた男子!! (メディアワークス文庫)ISBN: 4048668110
水沢あきと: アイドルとマーケティングの4P (メディアワークス文庫)ISBN: 4048669109
慶野 由志: つくも神は青春をもてなさんと欲す (スーパーダッシュ文庫)ISBN: 4086307618
樋口 有介: 風少女 (文春文庫)ISBN: 416753102X 
菱田愛日: メンズフロアの王様 (メディアワークス文庫)ISBN: 4048667262
似鳥 鶏: パティシエの秘密推理 お召し上がりは容疑者から (幻冬舎文庫)ISBN: 4344420799
三上 延: ビブリア古書堂の事件手帖 (5) ~栞子さんと繋がりの時~ (メディアワークス文庫)ISBN: 4048662260
三上 延: ビブリア古書堂の事件手帖4 ~栞子さんと二つの顔~ (メディアワークス文庫)ISBN: 4048914278
三上 延: ビブリア古書堂の事件手帖3 ~栞子さんと消えない絆~ (メディアワークス文庫)ISBN: 4048866583
三上 延: ビブリア古書堂の事件手帖2 ~栞子さんと謎めく日常~ (メディアワークス文庫)ISBN: 4048708244
三上 延: ビブリア古書堂の事件手帖 ~栞子さんと奇妙な客人たち~ (メディアワークス文庫)ISBN: 4048704699

2014-08-05

Debian 7.6 (wheezy) を Virtual PC に入れてみた

とある事情で、職場で気軽にいじれる Linux 環境がほしくなりました。
デスクトップ環境は不要で、各種サーバとか開発環境とかがほしい。

いちおう遊びに使っている物理サーバはあるのですが、部署内の NIS サーバとかも
やってたりするサーバなので、新しい RPM パッケージの導入とはか遠慮してます。
というわけで、Node.js とか新しい perl とか python3 とかを使いたいときは、
nodebrew とか perlbrew とか使ってローカルにインストールしてしのぐ日々・・・・。

で、ふと思ったのですが、Virtual PC にテキトーなディストリビューションを
入れれば使えるんじゃない、と。ホスト側が Windows7 Pro 32bit (mem 4GB)  というのが
一抹の不安ですが、Virtual PC 自体は自宅でも使っているので、いけそうな気が。

ちょっとググってみると、
    ・Ubuntu server は 64bit (x86_64) しかサポートしてないっぽ
    ・CentOS はみんな使ってて面白くないし、基本 x86_64 のみっぽ
    ・Fedora はよくわからん
    ・Debian は自宅 VPS でも使っていてサポートしているアーキテクチャも多い
というわけで、Debian をターゲットに決定!

さて、Debian 公式サイトからインストーライメージ DVD (debian-7.6.0-i386-netinst.iso) を
ダウンロードするところから始まります。もちろん x86_64 なんて贅沢を言わずに "-i386" です。
Virtual PC でメモリ量(ちなみに 1GB)とか設定して、ISO イメージをマウントして、
インストール開始。とりあえずあっさり最後までインストールは進んで再起動。
しかし、GRUB 画面でどちらを選んでも(通常起動 or Recovery mode) panic するだけ・・・。

失敗です。

気を取り直して Debian Live DVD を試してみることに!
すると、起動時の GRUB 画面で "-686-pae" の他に "-486" というカーネルも選べるようになってて、
"-486" を選ぶとあっさり起動してくれました。

というわけで、Virtual PC は PAE (Physical Address Extension) に未対応っぽいです。
もちろん Virtual PC そのものが動いている計算機の CPU は対応しているんですけどね。
仕方ないので、"-486" なカーネルをインストールしなきゃダメなことがわかりました。

さて、前置きが長くなってしまいましたが、本日の本題である
「"-486" カーネルの Debian を Virtual PC に インストール」
について説明します。


■■■ インストール手順 ■■■

まず、Virtual PC 側は仮想 HDD は可変サイズにしました。めんどうなので。
また、インストールメディアはネットインストールのものを選びましたが他意は無く、
フツーの3枚組の DVD でもインストールできるんじゃないでしょーか(未確認)。

  1. インストールメディアをマウントして Virtual PC を起動!
  2. 最初のメニューで "Advanced options" の "Rescue mode" を選択して進める。
  3. 途中で「パーティションが無いよ」と怒られるが、気にせず先に進む。
  4. "Execute a shell in the installer environment" を選択。
  5. 途中で「ファイルシステムが無いよ」と怒られるが、気にせず先に進む。
  6. Rescue shell のプロンプトまで進んだら、apt-install コマンドを実行する。
~ # apt-install linux-image-3.2.0-4-486
※先頭の "~ #" はプロンプトです("apt-install" 以降を入力してください) 7. 画面がリセットされ、最下行にプロンプトが表示されるだけになったら、exit する。
~ # exit
8. さっきと同じメニュー画面に戻ったハズ。 9. ESC キーを押すとまたもや「パーティションが無いよ」と怒られるので、もう一度 ESC を押す。 10. "Debian installer main menu" が表示される。 11. 中央付近の "Enter rescue mode" が選択された状態になっているので、 すぐ下の "Partition disks" を選んで実行(エンターキー)。 12. あとはパーティーションを設定してそのままインストールを進める。 13. 途中で linux-image-3.2.0-4-486 がインストールされたっぽいのが見えるかも(一瞬だけです) 14. そのまま GRUB もインストールしてインストール終了。リブート。 これでブート時の GRUB 画面に "-686-pae" と "-486" と両方表示されるようになります! すばらしい! あとは GRUB の設定を変えて "-486" で自動起動するようにしておいてください。
# vi /etc/default/grub ← "GRUB_DEFAULT=0" を "GRUB_DEFAULT=2" に変更 # update-grub2
ちなみに、このままでは root のパスワード設定とかされていないので、 GRUB 画面でシングルユーザモード (recovery mode) を選択して起動。
# passwd # adduser hogehoge # exit
これで普通にログインできるようになったハズ。 ネットインストーラだと途中で設定したプロキシ情報がデフォルトで設定されているので、 足りないパッケージをどんどん aptitude で入れちゃいましょう! ■■■ 蛇足 ■■■ Debian や Ubuntu を仮想マシンにインストールする方法をググっていると、 おまじないとして「noreplace-paravirt vga=791」の カーネルオプションを付ける、という話がちらほら出てきます。 今回、この設定をしても症状(panic しちゃう)が変わらなかったので、 あきらめて設定するのをやめました(設定しなくても動いています)。 Debian 7.6 に上がってどっか変わったのかもしれませんね。

2014-08-04

tmux でログ保存

screen では、C-a H でログ採取を開始/終了のトグルができます。
ターミナルに表示されたものをそのまま ~/screenlog.0 とかに吐いてくれます。
もちろんファイル名は変更可能です (C-a : logfile screenlog.hogehoge)

さて、同じことを tmux にさせようと思ったわけです。

やり方は簡単で、tmux 上のコマンドラインで
$ tmux pipe-pane 'cat > screenlog.0'
とかやればよいです。 ログ記録を止めるときは、
$ tmux pipe-pane
とだけ実行すれば OK。 ちなみに、ログファイルを上書きせず追記させたい場合は、
$ tmux pipe-pane 'cat >> screenlog.0'
とすればよいです。シェルのリダイレクトそのものですね。

tmux で multi display mode

tmux で screen -x みたいなことをしたい、というお話。

TeraTerm を2枚開いて、両方でひとつの screen セッションに接続して使っています。
1枚目の TeraTerm では "screen -r" でアタッチ、
2枚目の TeraTerm では "screen -x" でアタッチすれば OK。
あるウインドウを左側の TeraTerm で開いたり右側の TeraTerm で開いたりできます。
こういう使い方は "Multi display mode" と呼ぶらしい (by "man screen")。

で、tmux で同じような使い方がしたかったのですが、なかなか情報が見つからず。
あまりこのような使い方をしているひとはいないのかもしれません・・・・。
ようやく英語のサイトで情報を見つけました。

http://www.fail2fail.com/archives/45-Screen-like-tmux-Attach-a-tmux-session-from-multiple-clients-and-view-different-windows-per-client.html

まず、1枚目のターミナルでは普通に "tmux attach -t 0" とアタッチします。
次に、2枚目のターミナルで "tmux new-session -t 0" とすると、
セッション 0 のクローン(?)として新たにセッション 1 が作られ、
この2枚目のターミナルはセッション 1 となります。
セッション 1 はセッション 0 のクローンなので、同じウインドウを共有しています。
つまり、同じウインドウを両方のターミナルに同時に表示させたり、
ターミナル間で表示するウインドウを入れ替えたりできます。

すばらしい!

ちなみに、作業を終えてデタッチし、つぎに改めてアタッチするときは、
1枚目のターミナルでは普通に "tmux attach -t 0" とし、
2枚目のターミナルでも普通に "tmux attach -t 1" とします。
もうセッション 1 は存在しているので普通にアタッチすればよいわけです。
もしここで "tmux new-session -t 0" としてしまうと、2個目のクローン
セッション(セッション 2)が作られてしまいます。たぶん害はないですが、
tmux のメモリ消費量がどんどん増えてしまいそうな予感。

tmux 導入

職場で同僚にオススメされて、tmux を使ってみました。
GNU screen の改良版(?)みたいなものです。


設定ファイルは ~/.tmux.conf ということで、
ちょっとググって設定してみました。

# おまじない? set-window-option -g utf8 on # プレフィックス(デフォルトでは C-b)を C-z にする unbind C-b set -g prefix ^Z bind a send-prefix # ステータスラインの右半分の現在時刻とか邪魔(ウインドウが多いとき) set -g status-right-length 0
使ってみた感想ですが、tmux の画面分割(ペイン)はウインドウと独立なので、 ちょっと使いにくい気がしてます。逆にペインの中でウインドウを切り替えられると よかったかも。「ペイン=ターミナル」みたいに使えるとうれしかった。 ただ、ネット上では、分割した画面そのものをひとつのウインドウとして切り替え られるのが便利、みたいな評判なので、私の使い方が特殊なのかも・・・・。

«KMmacro (その3)