Home日記コラム書評HintsLinks自己紹介
 

2004年5月のアレ

まあ日記というのか、そういうものだ。

← 2004-04 | 日記一覧 | 2004-06 →

2004年5月29日

Xoops 日本語版を Fedora Core 2 test 3 に入れようとしたら、 インストール画面がことごとく文字化けする。 EUCで書かれているのだが、UTF-8 のつもりで表示するらしい。

納得いかないので cvs で Xoops のソースを持ってきて調べてみたが、 これって日本語版ではないのか。

※2004-09-16 追記: Apache 側で default encoding を指定してある場合に再現するようだ。 Apache の設定を変更することで回避できると思われる。

2004年5月20日

OOo

ダウンロードして、gzip -d で展開し、tar xvfp。 install というディレクトリが生成されているので、 その下で、

sudo ./setup -net

Password: と表示されるので、root のパスワードを指定する。

セットアッププログラムにようこそ、 と表示されているらしいダイアログが画面に出てくる。 「いるらしい」というのは、フォントの指定の問題なのか、 上が少し切れていて読めないからだが。

インストールディレクトリは /opt/OpenOffice.org.1.1.1 がデフォルトになっている。 そのまま先に進む。 多分ディレクトリがないが作るのか、というようなメッセージが出ているらしいので、 「はい」をクリックする。

Java Setup という画面になるので、 インストールされている Java Runtime Env を選択。 /usr/java/j2sdk1.4.2_04 がインストールされているので、 これを指定する。

最後に、インストールの終了、というのが出ている。 「完了」を押す。

次に「個別インストール」を実行。 インストールした /opt/OpenOffice.org.1.1.1 に移動し、 ./setup を実行する。

ユーザー情報を入力。 読めないので訳が分からないが、名前と e-mail を入力する。 インストールの種類は、 上のが「ワークステーションインストール」らしい。これを選択。

インストールディレクトリは迷ったが、そのままいく。

2004年5月20日

CVS のサーバーが動かないという件は、要するに、 /etc/xinetd.d/cvspserver の記述で、

server_args = -f --allow-root=/usr2/cvs/cvsroot pserver

とすべき所なのに、

server_args = -f --allow-root=/usr2/cvs/cvsroot

となっていたのが原因。 くだらない話だ。

2004年5月17日

http://www.wincvs.org/ から、 WinCvs13b17.zip を get。

2004年5月16日

VAIO の最近更新したファイルを backup。 といっても、xcopy で HDD にコピーするだけだが。

xcopy *.* i:20040516 /d:03-19-2004 /e /s /c /v

§

CVS 1.12.7 をインストール。 .configure して make して root で make install しただけ。

cvs というユーザーを useradd コマンドで追加する。 useradd と adduser との違いとは?

/usr/sbin/useradd cvs

パスワードを設定しておく。

passwd cvs

初期化。

cvs -d /usr2/cvs/cvsroot init

サーバーを別に立てることになるため、 /usr2/cvs/cvsroot/CVSROOT/passwd を作成する。 この内容を作らなければいけないが、 cvsadduser を使わせてもらいました。 なお、Fedora の場合、 /etc/services には cvs は設定されているので特に何もする必要はない。

/etc/xinetd.d に、 cvspserver というファイルを作成する。

service cvspserver
{
   socket_type = stream
   protocol = tcp
   wait = no
   user = root
   server = /usr/bin/cvs
   server_args = -f --allow-root=/usr2/cvs/cvsroot pserver
   disable = no
}

/etc/init.d/xinetd restart

これでサーバが動いて、 他からログインできるはず。

$ cvs -d :pserver:hoge@localhost:/home/hoge/cvsroot login

…なのだが、できない。 何で?

§

opera をインストール。 rpm -ivh opera*rpm

そんだけ。 Opera 7.5 の日本語版はいつ出るのだろうか?

§

Xoops。 Forum というのを作ってみた。 Forum のモジュールを追加して、 Add a category で misc という category を作る。 Add a Forum を実行。

2004年5月15日

渋谷東急ハンズで買い物。 ちょっとしたモノが欲しかったので。 どっちがついでか分からないが、 TSUTAYAに行ってDVDを8枚ほど借りてくる。 早速、倍速モードで2枚観る。

§

vncを立ち上げようとしたらなぜか :1 に接続できない。 server が勝手に死んだらしいが、 ロックが残っているので :2 を開いてしまう。 次の手順で強制的にロックを解除して解決。

rm /tmp/.X11-unix/X1
rm /tmp/.X1-lock

しかし、なぜ server が死んだのか不明。

Apache を動かす。 /etc/sysconfig/httpd がないので、作成し、 次の1行を追加。

HTTPD=/usr/sbin/httpd.worker

xoops。 tar を展開すると html というディレクトリがあるので、 そこが documentroot になるように apache の設定を変更する。 で、 http://localhost/ をアクセスすると、インストールページが表示される。

chmod 777 uploads cache templates_c
chomd 666 mainfile.php

MySQL が動いていないので、 /etc/init.d./mysqld start を実行してサーバーを起動する。 mysqladmin version を実行すると何か表示されるので、おおむねokっぽい。

パスワードの設定方法がよく分かっていないために、 こういう感じでうっかりパスワードを abc にしてしまった。

mysqladmin -u root password abc

abc というのは不本意なので変更する。 mysql に root でログイン。

mysql -u root -pwabc

次のように入力してパスワードを変更する。 new_password というのは、実際はパスワードの文字列を指定。

SET PASSWORD FOR root=PASSWORD('new_password');

mysql のパスワードも変更しておく。

mysql -u mysql
SET PASSWORD FOR mysql=PASSWORD('new_password');

ところが、これが動作しない。

Connection id: 21  (Can be used with mysqladmin kill)
 
mysql< SET PASSWORD FOR mysql=PASSWORD('new_password');
ERROR 1133: Can't find any matching row in the user table
mysql< quit

ログインはできるのだろうか?

# mysql -u mysql -p
Enter password:
ERROR 1045: Access denied for user: 'mysql@localhost' (Using password: YES)
#

つまりアクセス権がないのでは? root でログインして、 次を実行して解決。

GRANT ALL PRIVILEGES ON *.* TO mysql@localhost;

そして Xoops を起動。 警告が出るので、修正。 Xoops を入れたディレクトリに html というディレクトリがあるので、 そこで次のように実行。

chmod 444 mainfile.php

これで Xoops は一応起動したのだが、 他から試しにアクセスすると画像が全滅。 リンクが http://localhost を参照している。 そういえば、サーバーを localhost と指定したような気がするわけで、 これを LAN 内のアドレスに変更すればいいのだが、 管理メニューでどうやって変更するのか分からない。 マニュアル見るのもかったるいし、 とりあえず grep かけてみたら、 mainfile.php の中に次のような行がある。

define('XOOPS_URL', 'http://localhost');

これを次のようにして解決。

define('XOOPS_URL', 'http://192.168.0.99');

2004年5月13日

Feroda Core 2 test 3。 IPをDHCPからgetするような設定になっていたので、 固定IPに変更した。

/etc/hosts の設定がどうも予想外だったので訳の分からないことに。 network経由でログインできなくなったので、 仕方ないのでもう一度液晶モニタを接続したのだが、 モニタを接続して状況を確認している間に、なぜかnetwork経由で接続できるようになった。何だろ?

ルーターの設定が一時的に混乱したのだろうか?

2004年5月10日

Feroda Core 2 test 3 をインストール。 Core 1 が液晶ディスプレイに表示できなかったので覚悟てしいたのだが、 Core 2 だと、液晶ディスプレイに表示されている! ということは、GUIでインストールできるし、 インストールした直後も、GUIのログイン画面が起動する訳で、便利。 というかそれが普通なのだが。

2004年5月7日

Fedora Core 1 をインストール。 超大雑把な手順。

なぜか液晶ディスプレイにはGUIが表示できないことが分かっているので、 linux text で起動する。

Welcome to Fedora Core! という画面が出る。 OKを押す。

Language Selection で Japanese を選択。

キーボードの選択。 jp106

マウスの選択。 Generic - Wheel Mouse (PS/2)とする。 「3ボタンマウスをエミュレートしますか」はチェックしない。

インストールの種類で、Server を選択。 どれにするか迷ったのだが。

自動パーティション設定を選択する。 今回はHDDに何も入っていないのだから、 完全に初期化しても問題ないはず。

HDD容量は80GBで、 デフォルトは次のようになった。

hda1 101M
hda2 75767M
hda3 447M

ブートローダの設定で、GRUB を使用にチェックして、OK押す。

eth0 用のネットワークの設定。 HDCPを使用して設定。 「起動時にアクティブにする」 にチェックして OK。 要するに、デフォルトのまま。

ホスト名の設定。 手動で fedora0 とした。

Firewall の設定。なぜかここだけ画面が英語なのだが、 Enable firewall で OK。

言語サポートは日本語を選択。

タイムゾーンは、 アジア/東京を選択。

パスワードを指定。

これで設定は完了。 Required Install Media という画面になって、 ここで、なぜかデフォルトが 再起動(R)になっているが、 続行(C) を押す。

2枚目、3枚目のCDを入れる時は、表示が出るので、支持に従う。

完了と表示されたら、Reboot というボタンを押す。

これで起動してしまうと、 GUI画面となって、液晶ディスプレイ上は何も表示されない。 すると困るので、single user mode で起動し、 ユーザーを追加、 ssh で入れるように設定して、 iptables を修正。

2004年5月6日

CQAに来た質問。 次のプログラムを実行して、 数字を10桁以上入力するとオーバーフローする。 どうすればオーバーフローしないようにできるか。

つまり、int に何も考えずに値を入れているから、 結果が int の範囲を超えたら入りきらない、というだけの話。 「というだけ」ではあるが、これをどう修正すればいいか、 となると結構難しい。 これ原稿のネタにしよう。

2004年5月2日

Bulkfeed に裏の裏ページの RSS feed を登録してみた。 何か変わるだろうか?

§

思い出したのだが、 少し前のトリビアの泉で、 9の段の九九は足すと9になる、というのをやっていたのが自分的に100へぇ~。 あんなの小学校で習ったというか誰でも知っていると思ったら、 知らない人がいると。 タレントの学力が平均的な学力より著しく劣るということはないと思われるので、 おそらく、日本の学力が低下しているというのは、 かなり深刻な事態になっているのだと思う。

消費税を総額表示にするという理由が分かるというものだ。 つまり、 計算できないから、いくら税金を払っているか分からないのですね、 殆どの国民は。

§

C Magazine の原稿、 次の特集記事から、forrest で書いている。 というのは不正確だが、 forrest で表示できるような document 形式の XML で書いている。 これは UTF-8 なのだが、そのまま出稿していいのかどうか謎なので、 とりあえず Shift_JIS に変換し、本文に対応する箇所だけを抜き出すように perl で細工するスクリプトも作った。

#! c:\Perl\bin\perl

use Encode;

if ($#ARGV != 1) {
  print STDERR "Usage: perl utf-8tosjis.pl from to\n";
  exit 0;
}

$from = shift;
$to = shift;

if (-e $to) {
  print STDERR "$to exists.  Delete it if you want to create this.\n";
  exit 0;
}

create_file($from, $to);
cut_file($to);

exit 0;

sub create_file($$) {
  my $in = shift;
  my $out = shift;

  my $src = "";

  open(IN, "$in") or die "cannot read $in\n";
  while (<IN>) {
    $src .= $_;
  }
  close IN;

  open(OUT, ">$out") or die "cannot create $out\n";
  binmode OUT;
  $octets = decode("utf8", $src);
  $sj = encode("shift-jis", $octets);
  print OUT $sj;
  close OUT;
}

sub cut_file($) {
  my $file = shift;
  my $skip = 0;

  my $src = "";

  open(IN, "$file") or die "cannot read $file\n";
  while (<IN>) {
    if (/^<\!\-\-/) {
      $skip = 1 if /start Navigation Path/;
      if (/start Content/) {
        $skip = 0;
        $src .= "<table>\n";
      }
      if (/end Content/) {
        $skip = 1;
        $src .= "</table>\n</body>\n</html>\n";
        break;
      }

    }

    next if $skip;

    if (/^(.*) charset=UTF-8(.*)$/) {
      $_ = $1 . " charset=Shift_JIS" . "\">\n";
    }

    $src .= $_;
  }

  close IN;

  open(OUT, ">$file") or die "cannot overwrite $file\n";
  print OUT $src;
  close OUT;
}

原稿はプライベートサイトの原稿として作成してあり、 Forrest の site を作成する手順でまず html ファイルを作る。 作られた html ファイルを前述の perl スクリプトで編集部に送付用の html に変換する、という手順。

2004年5月1日

折角いい joke だと思ったのに、 マジだとシャレにならないではないですか、福田さん!

流石に坂口大臣は大丈夫だと思っていたら、 某党頭が厚生大臣時代に年金を未納していたと。 しかも「行政の責任だ」と言い切ったらしいので、 どらえモンじゃないけど、 当時の厚生大臣は責任を取って切腹するか全財産を国庫に寄付して欲しいと思う。