Arch Linux

ちょいと買い物が有って、近くのホームセンターへ行ったんだ。そしたら、入り口の所に大きなノボリを 立てて、フィレッツ光の勧誘をやってたよ。

以前、私の住む立体長屋でも、光にしませんか攻撃をしつこく受けたが、今はこんな所でも 勧誘してるんだ。果たしてランニングコストは下がっているんかいなと思って、パネルをちら見 してたんだ。そしたら、勧誘のお兄さんが早速寄ってきて口説きモードに突入しました。

おいらから出てる、近寄るな危険オーラを察知できんのかね? べらべら口上を述べ始めたので ちと付き合ってあげる事にしました。どうなっても知らんでーー。

まずは型通りADSLですかと聞いてきた。答えは T。どのぐらい出てます? ほら来たぞ。サーバーが パラレル接続された出力インピーダンスの低い所に接続しても、線路インピーダンスが高いので、 73KB/sぐらいしか出ませんよと言ったら、驚いていたよ。Byte/sをBit/sと取り違えたかは面倒 だったので、確認せんかった。まあ、お兄さんはこの数字を聞いて、見込み客と思ったんだろうな。

LinuxとかFreeBSDとかopensolarisでも使えますか? はい、いろいろなWindowsに対応してます。 はいはい、それじゃ、twmでもCDEでもgnomeでも良いんですね。

パソコンを何台も持ってるんですけど、何台まで同時接続出来ますか? はい、差込口は4つ ありますので、4台まで接続出来ます。

ネットに繋ぐ時に、繋ぐ権利が有るか確認されると思うんですが、それはどうやるんですか? CDからソフトをインストールして一度設定すれば終わりです。その作業はパソコン毎にやるんですか? はい、その通りです。

ほーー、するとそのCDはいろいろなOSに対応してるんですね。ここで、やっと一番最初の質問の 意味が分かったみたいで、お兄ちゃんが慌て始めましたよ。やおら、携帯を取り出して、どこかに 連絡を取ってました。で、NotePCを抱えて来て対応OSについてなんて言うタイトルのページを見せてくれました。 ははは、Linuxなんて、かすりもして無いじゃんよ。世間一般からすれば無視される存在ね。

質問(いじめ)は更に続きます。光は速いって言うけど、QOS保障はあるんですか? お兄ちゃん、 難しい用語は分からないみたいで、早速本部へ救援電話をかけてますよ。返ってきた答えは 営業言葉に甘く包まれていましたので、お兄ちゃんに分かるように、言い直してあげました。 曰く、お隣さんに爆走ユーザーが居れば、もろにその影響を受けます。

更に更に、いじめは続きます。メタル電話と光電話の違いは何ですか? お兄ちゃん、即答出来ずにしどろもどろよ。そのうちに、光電話の方が速いですと真面目な顔して 言い放ったよ。おいら笑いたくて笑いたくて。。。

お兄ちゃん、勧誘するなら人を見てからにしなよ。でもまあ、 お兄ちゃんに取っちゃ、難しい用語も勉強出来たし、良かったんじゃないでしょうかね。

Unix likeな Linux

Unixという考え方 なんて本を何年かぶりに再読してみたよ。シンプルが一番と言う 所に落ち着くんだよなあ。

今のLinux業界って、Windowsに追いつけ、追い越せで、ちっともUnixらしくないな。 尤も、Linux is not Unix って、きっと誰かが吼えると思うんだけど、それは それでいいんでないかい。文句を言う筋合いじゃないよな。

でも、おいら的には、中身が見えないお仕着せは嫌いなんだ。で、数あるLinuxから 自分色に染められそうなやつに思いを馳せてみる。すると、すぐに浮かんでくるのは スラックウェアとかプラモとか厳ツーとかなんだけど、その他にもきっとおいらの 知らないDis鳥があると思うんだ。で、世界の百科事典を開いてみたよ。

Linuxディストリビューションの比較 ここに載ってるのは代表的なものかな。ちゃんと調べるなら 世界のDis鳥 こちらがいいかな。

いろいろあるんで迷ってしまいそうだけど、一応選定基準として、歴史があるもの、 インストーラーがCUIだけと言う硬派なもの、標準デスクトップ環境が無いもの、 パッケージ形式がtgzな物 というのを考えた。 すると、残るのはわずかだなあ。厳ツーを除外すると、Arch Linuxしか選択子は ないよ。

Arch Linux

という事で新しいの試してみる。日本にも、おいらみたいな天邪鬼がいるみたいで 、既に日本語文書があったよ。

Arch Linux は、Wikiの日本語案内。 Official Arch Linux Install Guide (日本語) は、インストールガイド。この下の方に pacmanと言うパッケージマネージャの解説がある。

Beginners'_Guideこちらの方は 英語だけど、より全体的に解説してるよ。

早速、山形大学へ行って、ISOを貰ってきた。(もうすぐ、他にもミラーサイトが出来る らしい。)インストール自体は、FreeBSDと言うか プラモと言うか、順にやっていけば大丈夫。GUIのインストーラーがなきゃ駄目と 言う人は、入れなくて結構ってのが、すがすがしいな。

インストール出来たら、更新してシステム全体を最新にしておく。

pacman -Syu

私の場合は、125M分が更新されたよ。こんなら、ネットワークインストールの方が良かったかも。

pacman -Ss foo   ;; パッケージの検索
pacman -S foo    ;; パッケージのインストール
pacman -Qi foo   ;; インストール済みパッケージの検索
pacman -Rd foo   ;; インストール済みパッケージの削除

これ、4行で分かる、パッケージ管理だな。

Xは無くてもかまわないんだけど、保険に入っておくか。VMWARE上に構築してるんで 次のURLあたりを参考にすればいいんかいな。 Installing Arch Linux in VMWare

一応入ったんで、起動してみたけど、Windowサイズが800x600にしかならんかった。 何で? こういうのは、聞いてみる鹿。まてまて、それより先に実験だ。

Xorg -configureして出来た xorg.conf.new 中で、vmwareって所をvesaに したよ。そしたら、1280x768ぐらいになった。パチパチパチ。 ついでに、目障りなhalを止めてみたんだけど、固まってしまったよ。おいらは、 余計なもの嫌いなんで、Xを使う時だけ、halを上げよっかな。

とまあ、一応動くようになったので、TeraTermあたりからも入れるようにしよと 思った。それには、sshdかなと思って起動したら、ホストキーが無いから 起動すんの止めた、なんて言われちゃったよ。ホストキーって、どうやって作るん? 今まで作った事なんてないぞ!

/etc/rc.dに潜って、sshdを開いてみたら疑問は氷解。sshd startすれば、後は佳きに 計らってくれるのね。知らんかったよ。ついでに、これらのスクリプトの起動 コントロールは、/etc/rc.confの所に書いておくのね。がってん承知すました。

fluxbox と awesome ...

おいらは、GnomeとかKDEなんてはなから使う気はない。twmでいいじゃんと思え なくはないけど、ちょびっと新しい wm を試してみたくなった。

まず初めに、軽いやつという事で、fluxboxにした。xtermで最低日本語は表示 させたいよね。だって、w3mなんだもん。firefoxを頑張ってLinux上で使う事は やめておこう。 するってえと、日本語フォントが欲しくなる。おいらに取っては、フォントと 印刷は鬼門なので、某ページから丸写しさせてもらった。

IPAフォント を頂いてきて、/usr/local/share/fontsに 配置し、リンクをTTFに張り、fonts dir等を作っておく。

# ln -s /usr/local/share/fotns/ *.ttf /usr/share/fonts/TTF
$ cd /usr/share/fotns/TTF
# mkfontscale
# mkfontdir -e /usr/share/fonts/encodings

下記のような設定ファイルを作る。PATHは、/etc/fonts/local.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>serif</family>
    <prefer>
      <family>DejaVu Serif</family>
      <family>IPAPMincho</family>
    </prefer>
  </alias>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>DejaVu Sans</family>
      <family>IPAPGothic</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>DejaVu Sans Mono</family>
      <family>IPAGothic</family>
    </prefer>
  </alias>
</fontconfig>

これで日本語を表示するようになったけど、ちと文字サイズが小さい。xterm上で CTRLキーを押しながら、右クリックすると、文字サイズを変更出来るんだけど、 毎回やるのもアホくさい。

(注 無理して日本語フォントを押し込んじゃったけど、後で調べてみたら、Takao フォントと言うのが一発インストール出来るようになってた。後の祭りでしたねぇ。 まあ、行き当たりばったりだからしょうがないか。ご利用は計画的にってCMが身に 沁みるよ。)

フォント指定して起動すればいいじゃんとなるけど、肝心のフォント名が分からない。 こういう時は、ResEditだな。ああ、それはMAC用でっせ。editresとかviewresとか したが分からん。

で、思いついたのが、カンニングです。 /usr/share/X11/app-defaults/XTermをmoreしちゃいましたよ。その結果を .fluxbox/menu に反映させて、一件落着

[encoding] () {UTF-8} <>
[exec] (xterm) {xterm -sb -fg gray -bg black -g 80x36 -fn '-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1'} <>
[exec] (emacs) {emacs -geometry 60x36} <>

emacsの横幅が文字数とマッチしてないのは、見なかった事にします。

これで、icewmの代わりが出来たので、次はオーサムです。タイル型のwmです。 キーボードからコントロールします。Winキーと組み合わせて操作します。

詳細はmanで。 /etc/xdg/awesome/rc.lua に設定のひな型があるので、それを .config/awesome/rc.lua にコピーしてきて、Luaの実習が出来ます。

Luaが出てきたなら、haskellだって黙っているはずはない。xmonadという恐ろしい?ものが 提供されたりする。下記は、FreeBSDのportsに有った営業トークです。騙されてみるかなぁ。

XMonad is a tiling window manager written in Haskell for X.

Features :
    * Very stable, fast, small and simple.
    * Automatic window tiling and management
    * First class keyboard support: a mouse is unnecessary
    * Full support for tiling windows on multi-head displays
    * Full support for floating windows
    * XRandR support to rotate, add or remove monitors
    * Per-workspace layout algorithms
    * Per-screens custom status bars
    * Easy, powerful customisation and reconfiguration
    * Large extension library
    * Extensive documentation and support for hacking

WWW: http://www.xmonad.org/

こちらも、甘い誘惑 かな?

Stumpwm is a tiling, keyboard driven X11 Window Manager written entirely in
Common Lisp.

If you're tired of flipping through themes like channel-surfing, and going
from one perfect-except-for-just-one-thing window manager to another
even-more-broken-in-some-other-way then perhaps Stumpwm can help.

Stumpwm attempts to be customizable yet visually minimal. There are no window
decorations, no icons, and no buttons. It does have various hooks to attach
your personal customizations, and variables to tweak.

* Hack the good hack.
* Debug your good hack.
* Customize your window manager.

While it's running. That's right. With a 100% Common Lisp window manager
there's no stopping the hacks. Just re-eval and GO!

WWW:    http://www.nongnu.org/stumpwm/
[sakae@arch ~]$ cat .xinitrc
#!/bin/sh
vmware-user &
exec startfluxbox
#exec awesome

これ、現在のX起動スクリプトです。すっきりしてますねぇ。日本語入力はどうするん? なかなか良い質問です。X上での日本語入力はしません。TeraTerm/puttyjpで入って、WIndows7 で変換しています。何もかもLinuxでなくても、いいのだーーー。高い金出して Windows7を買わされてるので、使わにゃ損でっせ。

AUR

こやつは、FreeBSDで言うportsシステムです。アプリケーションのコンパイルと インストール手順書をまとめた物が公開されてます。手順書は、bash語で書かれて います。こやつを頂いてきて、展開後

$ makepkg -s
# pacman -U   foo-<バージョン-アーキテクチャ>.pkg.tar.gz

すろと、勝手にソースを取ってきて、コンパイルしてパッケージにしてくれます。 それを、手動でインストールします。ちと、手がかかりますね。

yaourt

こちらは堕落した人用です。手順書を取り寄せて、コンパイル、インストールまで Yを叩くだけです。猿でも出来るインストール方法です。そのためには、ちょっと 事前準備が必要になります。

[archlinuxfr]
Server = http://repo.archlinux.fr/i686

上記の2行を、/etc/pacman.confに追加します。debianとかのapt-lineの追加に 相当しますかね。そして、リポジトリィを更新して、お目当てのyaourtと言う 自動化ツールをインストールします。

    #pacman -Sy
    #pacman -S yaourt

pacmanの代わりにyaourtを使って、お目当てのソフトを探し、インストールします。 超簡単で、あっけないです。これじゃ人間止めて猿になっちゃうよ。

installed

調子の乗って、いろいろインストールしてみました。ちょっと入れたものが偏向 してるかな。

emacs screen w3m gauche ghc sbcl jdk clojure ruby r gnuplot rhino gforth

こうして、入れた物はどうやって管理されてるかちょいと調べておきました。 /var/lib/pacman/{local,sync} ここの localの中には、インストールされてる パッケージの台帳が入ってます。sync以下は、インターネット上にあるリポジトリィー のリストが入ってます。どちらも、見れば分かるって形式になってて有り難いです。

/var/cache/pacman/pkg こちらの中には、今までインストールしたパッケージが 全て残っています。システムを更新した後でも、古いパッケージが残されています ので、不都合が有った場合、いつでも古いパッケージに戻せます。 従って、HDDが許す限り、残しておくのが吉です。

oss

Arch Linuxでは勿論、ALSAをサポートしてて、ガイドに従ってインストールすれば ALSAが入る。でも、Debianで、ちと苦労した事を思い出したので、天邪鬼にもossパッケージ を入れてしまいました。今の所、ALSAとOSSは同時利用出来ないそうなので、/etc/rc.confの デーモン起動部分で、ALSAにはご遠慮願いました。

DAEMONS=(syslog-ng network crond sshd hal open-vm-tools oss !alsa)
[sakae@arch bin]$ ls oss*
ossinfo  ossmix  osspartysh  ossphone  ossplay  ossrecord  osstest  ossxmix
[sakae@arch bin]$ osstest
Sound subsystem and version: OSS 4.2 (b 2002/200912150204) (0x00040100)
Platform: Linux/i686 2.6.32-ARCH #1 SMP PREEMPT Tue Feb 23 19:24:08 UTC 2010

*** Scanning sound adapter #-1 ***
/dev/oss/oss_sbpci0/pcm0 (audio engine 0): Creative AudioPCI97 (ES1371) (rev 2)
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 48237.00 Hz (0.49%)>
/dev/oss/oss_sbpci0/pcm1 (audio engine 5): Creative AudioPCI97 (ES1371) (playback only)
- Performing audio playback test...
  <left> OK <right> OK <stereo> OK <measured srate 48363.00 Hz (0.76%)>

*** All tests completed OK ***

どんなコマンドが有るか確認しました。そしたら、チェックプログラムらしきやつが 有ったので、実行してみました。うん、とっても良い演奏が聞こえたよ。こんな良い 演奏が、仮想PCの上で聞こえるなんて、信じられない。

[sakae@arch tmp]$ ossmix -d0 mic.rec ON
Value of mixer control mic.rec set to ON
[sakae@arch tmp]$ ossrecord -s 8 -l -t 10 aa.wav
Recording wav: Speed 8000Hz 16 bits Stereo
aa.wav [..........] 10.00 secs VU --

Done.

今度は、試しに録音してみます。レベルメーターを付けられるって、お主、小粋な事するなあ。

[sakae@arch tmp]$ ls -l aa.wav
-rw-r--r-- 1 sakae sakae 320044 Mar 17 10:53 aa.wav
[sakae@arch tmp]$ file aa.wav
aa.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 8000 Hz
[sakae@arch tmp]$ ossplay -v -g 300 aa.wav
Playing WAVE file aa.wav, 16 bits/stereo/8000 Hz
Time: 00:10.00 of 00:10.00 VU ----

そして、再生してみました。音がちょっと小さかったので、臨時にゲインを上げて います。

そんじゃ、プログラミングの方はどうかな? と思って、自作のモールス発生器を 動かしてみたよ。そしたら、えらい高音でしかもあっと言う間に演奏を終わっちゃった。 こりゃ、デフォのサンプリング周波数が、48KHzになっているに違いないと思ったね。

#include <linux/soundcard.h>
    :
  int smpl    = 8000;
  int channel = 1;
  int fmt     = AFMT_S16_LE;
    :
  fd = open("/dev/dsp" , O_WRONLY);
  ioctl( fd, SOUND_PCM_SETFMT, &fmt );              // format
  ioctl( fd, SOUND_PCM_WRITE_CHANNELS, &channel );  // channel
  ioctl( fd, SOUND_PCM_WRITE_RATE, &smpl );         // sampling

Linux用に上記を追加したら、問題無くなった。 デフォで、上記の設定を しておく時は、何処に書いておくのかな? 多分、/usr/lib/oss の下あたりだろうとは 思うんだけどな。。。