Plamo Linux Tips

このページは、 Plamo Linux のメーリングリストに投稿された知っていたら役に立つかもしれない情報を掲載します。


リンクの概念

[plamo:26918] Re: filrfox のhelper」から本論から脱線し、リンクについていろいろな話がスレッドで展開されています。リンクを張るとは、「実ファイルからリンク後のファイルへリンクを張る」なのか「リンク後のファイルから実ファイルへリンクを張る」となのかの質問に始まり(どちらにも取れるので結論はでていない)、歴史を遡りリンクの概念が実は古い事を言及し、果ては TRON や Plan9 のリンクの概念も触れられています。途中で ln コマンドの覚え方が出てきます。あの不自然な ln の引数の取り方が cp の引数と同じ考えだと知るとスッとそれまで違和感が消えます。

RC の語源

[plamo:26865] Re: サウンド設定 パート2」で本題から脱線した質問の解答が掲載されています。おおもとの語源は「run commands」のようです。また、ここで紹介されているリンク先「UNIX FAQ LIST」には面白い FAQ が掲載されています。

壊れるハードディスクの考え方

[plamo:26647] ちょっと怖い話」から始まるスレッドで議論されています。RAID を組んだ HDD が同時期に壊れるという話から、みなさんの体験談やトラブルの対処法などが語られています。HDD は壊れることを前提に対策を練った方が良いのは確かです。

仮想端末に入力したキーのログの取り方

[plamo:22450] terminal window」から始まるスレッドに掲載されています。仮想端末の画面のログを取りたい場合の方法があるかを質問です。回答には script コマンドを使いましょうとのコメントが寄せられました。詳しい使い方も man script に記載されています。

spam 対策用メールアドレス難読化スクリプト

[plamo:22272] Re: spam 対策」に HTML 文章用のメールアドレス難読化スクリプトが掲載されています。文字実体参照を利用してメールアドレスとは思えないように細工しています。効果のほどは不明ですが、同様のアプリケーションやスパム対策として推進するページが存在する事からそこそこ効果があるのではないかと個人的には思っています。(追記:この対策を自分のメールアドレスに施してかなりの時間が経過しましたが、難読化しているメールアドレスに未だに spam が来ています。すでに公開していたメールアドレスを難読化したからかもしれないですが、この対策は気休め程度に考えたほうが良いでしょう。)

kernel の make install

[plamo:22160] kernelのアップデート とgrub」から始まるスレッドに掲載されています。 linux のカーネルをコンパイルしてインストールする時 make install を実行すると、ファイルの実行可能・実行不可で挙動が変化します。 /sbin/installkernel が実行可能なら、installkernel を実行します。実行可能でないなら、 make bzlilo と同じ動作となります。スレッドでは installkernel のサンプルスプリクトも掲載されています。しかし、この機能は知っていても使わないだろうなぁ。

syslogd について

[plamo:21909] 起動時の/var/log/messages」から始まるスレッドに掲載されています。syslogd が /var/log/messages に記録するタイミングや、 klogd の起動のタイミング、 syslogd と klogd の関係などが書かれています。

キオスク PC を作るための起動方法について

[plamo:21338] KIOSK PC modoki」から始まるスレッドで議論されています。キオスク端末とは、街に置かれる公共の情報端末の事です。CDPlamo を応用してキオスク PC を作る場合に問題となるのが、起動後に出てくるログイン認証をどうやって省くのかという事です。そのための方法がこのスレッドには様々出されています。どれが最善解かは場合によって変わってくるでしょうが、自分で作成する際の参考となるでしょう。

技術文書についての和訳

[plamo:20548] bogofilter (was Re: Spamassassin)」からスパムフィルタの設定を和訳文書を参考にした事が記載されています。そしてそのリンク先には和訳文書が(スパムフィルタ関連だけでなく)いろいろ置いてあります。僕はこれでプロジェクト杉田玄白を知りました。

質問の仕方

[plamo:20000] How to ask a question ?」から始まるスレッドで解説されています。スレッドの最初のメールにはメーリングリストで質問する際の注意点が書かれていますので、メーリングリストで質問しようと思っている人は一読すべきです。また、このスレッドでは途中で議題から脇道にそれて文章の字下げをネタに「ふつう」の意味についての議論もなされています。議論を見ていると人それぞれに「ふつう」の感覚が異なっている様子が見て取れます。自分の「ふつう」と相手の「ふつう」は異なっていると考えて、注意して質問を書くようにするだけでかなり良い文章になるのではないでしょうか?

modules.conf 解説

[plamo:19714] SOUND Driver ALSAの組み込み方」・「[plamo:16470] modules.confについて。」から始まるスレッドで解説されています。また、「[plamo:13170] /etc/modules.conf(Re: Re:FV24のLAN認識)」でも解説されています。カーネルモジュールを modprode でロードした時、 modules.conf に alias <alias_name> <result> と書くと <alias_name> が <result> に置換されて呼び出されます。また、カーネルは必要なモジュールを呼び出す時に modules.conf から <alias_name> をデバイス番号として参照し実際のデバイス名に変換してモジュールを呼び出します。カーネルが使用するデバイス番号は /usr/src/linux/Documentation/devices.txt に書かれています。詳しくは実際にスレッドを御覧ください。

共有ライブラリ雑談

[plamo:19416] Re: S.O.Slibpng.so2を削除してしまった」からは質問の解答も終わり、雑談モードになっています。雑談では共有ライブラリの歴史と意義、将来の展望(夢?)、また ldconfig の意義などが語られています。 lib*.so って何? so の続くバージョン名らしき数字列は何?という方が見ると共有ライブラリの理解が深まることでしょう。

ntp 考察

[plamo:18492] ntp メモ」から始まるスレッドに掲載されています。「 ntp メモ」というタイトルに似つかわしくない濃い内容のスレッドです。このスレッドを読むとおぼろげながら ntp の事について内容・現状を理解できるでしょう。また、スレッド中に登場する単位「ボー」で通信技術の歴史を感じましょう。

ext3 ファイルシステム考察

[plamo:17373] ext3のfsckについて」から始まるスレッドに掲載されています。ext3 などのジャーナルファイルシステムは、「 fsck をしなくても良い」ではなく「 fsck が高速に終わる」という認識をもつのがよいとの意見がありました。また、ジャーナルファイルシステムでは「ファイルシステムとしての一貫性」を保証するだけで「書き込み中のデータ」の保証ではないという話もありました。(たいていのジャーナルファイルシステムではその書き込みはなかった事になるそうです。)この後、スレッドではさらに tune2fs, e2fsck のオプションの設定についても議論しています。

シェルと引用符

[plamo:16690] Re: Plamo3.0のlnはstaticかdynamicか」から Shell に解釈される引用符について解説されています。 ‘‘(single quote), ““(double quote), ``(back quote)の 3 種類の引用符で shell に解釈される内容が異なっています。以下に簡単にその違いを記載します。スレッドには例と共に解説されているのでご確認ください。

''(single quote) はシェルが解釈せずプログラムに値を渡す。
""(double quote) はシェルが解釈してからプログラムに値を渡す。
``(back quote) は値をコマンドとして実行してその結果をプログラムに渡す。

作ってみよう DisklessPlamo

[plamo:16385] Diskless Plamo ?」から始まるスレッドに紹介されています。作ってみようブータブル CD-ROM で紹介したスレッドとはおもむきが異なり、まず knoppix の使用を勧められています。また、CD-ROM ブートシステムにおいて起動の次に問題となる「ファイルへの書き込み」についても触れられています。さらに /etc へのファイル書き込みの処理を自動化する PRF というツールまでの紹介しています。かなり大きいスレッドとなったので、自分で CD-ROM ベースのシステムを作りたい方の参考となるでしょう。

誤って大事なパーティションを初期化してしまったら

[plamo:15534] インストール時にfatalなミス」から始まるスレッドに掲載されています。結論としては、フォーマットしてしまったらあきらめましょうという事に落ち着いています。このような結論に至った訳として、初期化したパーティションのデータを取り出すにはとてもお金がかかる事があげられます。しかし、それでもあきらめきれない場合は、 dd if=/dev/デバイスファイル | strings > ファイル とすれば、英数字データだけでも救い出せるようです。もちろん、この取り出し方だと、文章はつながって見えるので読みにくいことこの上ありません。ゆえにパーティションをフォーマットする前は、必ずバックアップをとりましょう。

作ってみようブータブル CD-ROM

[plamo:15480] INITRDでCD-ROMで起動する手法で行き詰まり?」・「[plamo:17771] Re: INITRDでCD-ROMで起動する手法で行き詰まり?」から始まるスレッドで解説されています。起動のメカニズムや起動するシステムの作成ポイントが掲載されています。自分で CD-ROM ベースのシステムを作りたい方の参考となるでしょう。

スクリプト言語の日本語対応

[plamo:15147] スクリプト言語の日本語化」から始まるスレッドに紹介されています。perl, grep, gawk, sed の対応状況を紹介しています。スクリプト言語を使用して日本語文字列の検索をする時は意識しましょう。

locale についての説明

[plamo:14778] locale(Re: Re: JustSystem JustArks 動作について)」で locale に関しての説明と各国語のフォントの定義についての説明がなされています。ここに概要を書くまでもなく丁寧にまとめられています。

インストールディスクのディレクトリ構成

[plamo:13875]Re:plamo で c言語の勉強」に紹介されています。Plamo Linux のインストールディスクは基本的にこのディレクトリ構成を変更してはいません。次のリストは、インストールディスクの plamo ディレクトリ以下の構成とその概要を表します。

a1:システム運用に必須のコマンド
ap1:必須ではないがあれば便利なコマンド
cn1:Canna 関連
d1:コンパイラ等の開発環境
f1:FAQ 等、文書類(含 Namazu)
jfn1:日本語のベクトルフォント
jg1:JG project が収集したゲーム
jml1:Emacs(Mule) 関連
jpt1:TeX(pTeX)関連
k1:kernel source
kde1:KDE 関連
n1:Network 関連
tcl1:Tcl/Tk 関連
wnn1:Wnn 関連
x1:XFree86 を動かすのに必須のコマンド
(xs1):XFree86 3.x の各種サーバ。XF4.xでは不要であり、 Plamo Linux 3.0 以降はこのディレクトリは存在しない
xap1:x1 ほど必須ではないがあれば便利な X 関連のコマンド
xv1:XView 互換ライブラリ
y1:BSD 由来のテキストモードのゲーム

カーネルソースの話

[plamo:13798] column of kernel size」から始まるスレッドに掲載されています。カーネルのサイズに関するについての考察についてのお話です。ためになります。

vi で、テキストファイルの文字コードを保ったまま保存する方法

[plamo:13485] Re: 日本語表示の問題」に紹介されています。 ~/.exrc に記述されている set autodetect=jpset autodetect=jp+ と”+” 記号を追加すると元の文字コードを保ったまま文章を保存してくれます。なお、 Plamo Linux 3.2 ではこの設定にしてあります。いつからこの設定が追加されたのだろうか…。

疲れ目のあなたへ

[plamo:13189]液晶と X」から始まるスレッドで疲れ目とディスプレイについて議論されています。議論ではまず、目に良いディスプレイは液晶か CRT かという問題を話し合っていましたが、どちらが良いということについて結論は出ませんでした。最後に、目が疲れたらディスプレイを見るのをやめて目を休めることが一番らしいという当り前の意見が出されました。また、参考にあるある大辞典の Webサイトに掲載されている疲れ目の特集のページを紹介していました。

Plamo Linux のバージョン確認の仕方

[plamo:12661]Plamoのバージョン判別」から始まるスレッドで解説されています。Plamo Linux のバージョン情報は /usr/lib/setup/Plamo-( はバージョン番号) という空のファイルの番号により確認が可能になっています。

パッケージの作り方

[plamo:12235]How to make packages」にくわしく紹介されています。Plamo Linux のパッケージ形式 である tgz 形式 は独自のパッケージ形式でなく、tar でまとめてから、 gzip で圧縮しているだけです。特に依存情報などのデータを持っていないので、依存関係などは、自分で把握しておかなくてはなりません。自分でパッケージを作る場合、もとはただの tar + gzip なので、いろいろな作り方があります。

  • makepkg を使う
  • checkinstall を使う
  • tar + gzip を使い自分で、ディレクトリからデータを取って来る

詳しくは、 上記の Plamo Linux の ML にて調べましょう。

Shift-JIS コードから EUC-JP コードへの変換法

[plamo:09586] 改行コードの直し方について」から始まるスレッドで紹介されています。この問題は、 Plamo Linux に限ったことではないですが、Shift-JISコードから EUC-JPコードへの変換する時、文章末に ^M と表示される場合があります。いろいろな対策方法が、Web上でも紹介されていますが、ここでは、Plamo ML に紹介された方法を掲載します。

  • vi 上にて :%s/^M//g と入力し実行する。
  • 端末から(kterm や xterm など) sed 's/^M//' hoge.txt
  • nkf -d (動作未確認)
  • perl -pe 's/\r//' (動作未確認)

emacs での ChangeLog の書き方

M-x add-change-log-entry または、 C-x 4 a で自動的に日付と名前の見出しがつき、整形してくれます。また、その時に ChangeLog に付加される名前とメールアドレスは、 .emacs に (setq add-log-full-name "名前") (setq add-log-mailing-address "メールアドレス") を追加することでそれぞれ指定できます。

CD イメージの作り方

CD イメージを作成するには、mkisofs コマンドを使用します。この項目ではかつて私が使った CD イメージ作成時のコマンド例を紹介します。 2.2.6 以前と以降でインストールCDのシステムの違いでオプションが根本的に変わっていますので注意してください。また、オプションについても、日本語の man ファイルの記述を引用し、少しばかり私のコメントも掲載します。

Plamo Linux の最新版の場合

ftp://plamo.linet.gr.jp/pub/ で、作成スクリプトが mkplamo.sh 等の名前でいろいろと公開されています。

Plamo Linux 2.2.6 以上のバージョンの場合

(例1)mkisofs -v -r -J -V "Plamo 3.2" -o plamo-3.2.iso -m contrib -m *~ -m new -m old -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /Plamo/

Plamo Linux 2.2.5 以下のバージョンの場合

(例2)mkisofs -v -r -J -V "Plamo 2.2.5" -b boot/bootdsk -c boot.catalog -o plamo2.2.1.iso -m .listing /Plamo/

オプションの説明

-v : 団長な出力をする。つまり、ターミナルに現在の状況が表示される
-r : ユーザーID ・グループID を消去する
-J : Joliet 拡張をする
-V : CD-ROM のボリュームID を指定する
-b : ブータブルCD を作成する時に使用するブートイメージのパスを mkisofs に対して指定しているディレクトリからの相対パスで指定する
-c : ブータブルCD を作成する時に使用するブートカタログのパスを指定する。なお、パスの指定の仕方は -b オプションと同じ。
-o : イメージファイルの名前を指定する
-m : イメージファイルに入れないファイル名の指定
-no-emul-boot : "El Torito"ブータブルCD のブートイメージが非エミュレーションイメージであると指定する。
-boot-load-size : 非エミュレーションモードで読み込まれる仮想セクタの数を指定
-boot-info-table : CD-ROM の配置に関する情報のテーブルが、ブートファイルのオフセット 8 に置かれることを指示する。
コマンドの最後にあるパスの意味は、そのパス以下のディレクトリがCD イメージになります。

Mozilla の飼い方 (日本語入力時)

XIM が mozilla の左下隅に表示されるのが嫌な場合、以下を $HOME/.mozilla/ にある prefs.js という名前のファイルに以下の一行を追加してください。

user_pref("xim.input_style", "over-the-spot");

ハードディスクの初期化の仕方

私が、Plamo Linux をインストールした後、ひとつのパーテーションを初期化するときに使用したコマンドとそのオプションを説明します。まず、root ユーザーになり、 mke2fs -i 4096 とします。-iオプションは、i-node の指定となります。