Fedora CORE 3 を VMware Workstation 4.5.2にインストールする。


Tips

  1. SMP Kernelを使うと異様に遅くなるので、/etc/grub.conf を確認してSMPでない Kernelがloadされるように設定すること。
  2. Fedora 3から、デフォルトの言語は英語でデスクトップでは希望すれば 日本語が使える、という環境がインストールしやすくなった。
  3. diaで日本語入力できるようになった。
  4. gnome-session-properties(アプリケーション:個人設定:その他の個人設定:セッション)の『自動起動するプログラム』で以下を加える
    vncconfig -iconic
    ssh-add
    gdm(console)からのloginでは、vncconfigがエラーになると思われるが、影響は 無いようだ。
  5. yum update でGPG-KEYが必要と出る。
    sudo rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora
    とすればよい。
  6. LANG="ja_JP.UTF-8" な環境で vi を使うとまともに編集できない。
    LANG=C vi foo.txt
    のように使う。
  7. gzipで圧縮してあっても emacs なら自動的に圧縮伸張処理してくれる。 圧縮してあるファイルを grep するときは、zgrep を使えばよい。 viewは圧縮ファイルで使えないので zless を使う。h で簡単な説明が出るが、 Gで最終行gで先頭行など。
  8. [アプリケーション:ファイルブラウザ]で、場所バーに smb://192.168.0.5/pub/ と入れると、パスワードを聞いてくる。 接続できれば、Windows Serverをフォルダとしてアクセスできる。
  9. 立ち上げ時にグラフィックを使わないようにするには、/etc/grub.conf でカーネル・パラメータに rhgb を付けないエントリを用意して、それで立ち上げればよい。

To Do

  1. OpenLDAP運用ノウハウの確立
  2. mailman運用ノウハウの確立
  3. sshで入ってvncserverを立ち上げたり止めたりしていると、ssh-agentが溜まっていく。
  4. GNOME端末を新規で開いたときの大きさを指定したい。
  5. VMware固有の問題だが、時刻のずれが激しい。ntpdを使ってもvmware-toolsを 使っても同じようにずれていくようだ。
    alias ntpstep='ntpdate -s -b -p 8 ntp'
    を /root/.bashrc にセットした。 オプションは、syslogに記録、強制的にstepを起こす、8回サンプリングする (デフォルトは4回)という意味。
  6. Rebootを行うと、CDROMの認識がうまくいかないことがあるようだ。 ログインパネルの起動までに時間がかかったり、デーモンが動いてなかったりする。 /dev/hdc の属性が otsuka になっていたりすると、おかしいようだ。 VMware固有の問題かもしれない。Poweroffからやり直せば大丈夫なようだ。 DHCPの問題とごっちゃになっている可能性がある。
  7. IPv6 Privacy Address Extension が有効にならない

VNC Server

Fedora Core 3 Release Notes によると、VNC ServerがGDMを含めてRemote Desktopのように使えるようになった、 とあるが、現実には実験レベルなのか何なのかよく分からない。 http://www.redhat.com/archives/fedora-desktop-list/2004-June/thread.html#00007 からのスレッドを読め、となっている。

[アプリケーション:個人設定:リモートデスクトップ] というのがある。 vncの本物の画面をキャプチャしながら動くタイプのサーバーを使うのだと思われる。 しかし、これではログイン画面から入ることはできなさそう。

man Xvnc に載っている xinetd を使って起動する方法を試してみる。

/etc/X11/gdm/gdm.conf:(edit)
[xdmcp]
Enable=true
/etc/services:(add)
vnc  5950/tcp   # VNC Server with XDM
/etc/xinetd.d/vnc:(create)
# default: off
# description: vnc with gdm
service vnc
{
       disable = no
       socket_type     = stream
       wait            = no
       user            = root
       server          = /usr/bin/Xvnc
       server_args     = -desktop vmfc37 -geometry 1280x1024 -inetd \
                         -query vmfc37 -once securitytypes=none
       log_on_failure  += USERID
}
sudo /sbin/service xinetd reload

この後、vncviewer で vmfc37:50 に繋ぐと、ログインパネルが出る。 man Xvncには、-inetd -query localhost とせよ、とあるが、 そうすると DISPLAY=localhost.localdomain:50.0 で立ち上がってしまうようだ。 Desktopは問題なく起動するが、last-login の記録が localhost になったり、 emacsが落ちたりする。

最大の問題は、vncviewerを切断したらログアウトになってしまうことだ。 viewerと同じPCからVMwareを使った運用なら問題ないが、 DesktopをそのままにしてPCを切断して帰るといったことが出来なくなる。

また、xdmcpを有効にするには、gdmが動いていなければいけない。 ハードウエアの問題でXを有効に出来ないPCでVNCを使わざるを得ない場合に 設定できない。

XDMCP

VNCなど用意しないで、Windowsからログインパネルを含めて 遠隔でデスクトップを使うには xdmcp を有効にすればよい。 [アプリケーション:システム設定:ログイン画面] を開いて、[XDMCPタブ:XDMCPを有効にする]をチェック*1して、一旦ログアウトする。 PCに cygwin と Xserver を入れた環境から 'X -query vmfc37 -once' (ホスト名は変えること)とすれば、ログインパネルが出る。

別のLinux Boxで gdm 等のログインパネルが出ている状態で、F10を押して出てきた メニューから、XDMCP Chooser を実行して他のホストにログインすることもできる。

system-config-securitylevel [システム設定:セキュリティレベル] で ファイアウォールを有効にしていると繋がらない。 コンソールから入って (XDMCP のログイン・パネルが出ているときは、 Ctrl+Alt+Shift+F1でコンソールが出る、戻るのは F7) 以下のコマンドで 一時的に解除できる。

sudo /sbin/iptables -F
sudo /sbin/iptables -X

再び有効にするには、

sudo /sbin/iptables-restore /etc/sysconfig/ipconfig

Emacs

LANG=ja_JP.UTF-8 の状態でかつ、DISPLAY変数の':'の左側が空で無い環境で emacsを立ち上げると、キー入力した途端に 「Fatal error(11).セグメント違反です」で落ちる。 LANG=C で起動した emacs だと、このようなことは無い。 ただ、LANG=C だと、日本語のファイルを開くときに、.emacsで language-environmentに"Japanese"を指定していないと 文字化けを起こす。また、指定していてもUTF-8のファイルが 扱えない等の問題を起こすようだ。

DISPLAYの問題を起こさないようにして、LANG=ja_JP.UTF-8 のまま使えるように、

alias edit='DISPLAY=${DISPLAY/*:/:} emacs'

を .bashrc 等に加えておいて、emacs の代わりに edit で立ち上げるようにした。

VMware Tools

VMware Toolsは、Fedoraには対応していないので、何が起きるか分からない。 無くても動くが、時計が頻繁にずれる、Diskのパフォーマンスが悪い、など あるので、インストールしてみた。

  1. VMwareのメニューで[VM : VMware Tools インストール]を実行すると、 CD-ROM ドライブに VMware Tools の入ったメディアが入れられたようになる。
  2. インストーラをコピーして展開する。
    sudo mount /media/cdrom
    mkdir ~/sys/vmware-tools ; cd ~/sys/vmware-tools
    cp -p /media/cdrom/vmware-linux-tools.tar.gz .
    sudo umount /media/cdrom
    tar czvf vmware-linux-tools.tar.gz
  3. インストールする。
    cd vmware-tools-distrib
    sudo ./vmware-install.pl
     (すべてデフォルトでよいので Enter で答える)
  4. VMwareのインストールしたX serverでは、うまく動かないようなので元に戻す。
    cd /usr/X11R6/bin
    sudo mv X X.vmware
    sudo ln -s Xorg X
    cd /etc
    sudo mv XF86Config XF86Config.vmware
  5. CUI loginの時にも vmware-toolsを有効にする。
    sudo /sbin/chkconfig --levels 2345 vmware-tools on
  6. タイムサーバー(ntpd)を使っているときは無効にして、
    sudo vmware-toolbox
    を起動して、ホストとの時刻の同期を有効にしたほうが正確だと思われるが、 実際はどちらもずれが激しいようだ。

http://kerneltrap.org/node/view/3408 - Fedora Core 2用だが、vmware-toolsにパッチを当てて動かす方法もあるようだ。

OpenSSH

sshでFowordX11を有効にしてemacsを立ち上げようとすると、

X protocol error: BadAtom (invalid Atom parameter) on protocol request 20

となる。gnome-terminalだと、

The program 'gnome-terminal' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAtom (invalid Atom parameter)'.
  (Details: serial 3 error_code 5 request_code 20 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

となる。

『OpenSSH FAQ OpenSSH 3.8 にアップグレードしたら、いくつかの X11 プログラムが動かなくなった』によると、~/.ssh/config に ForwardX11Trusted yes を設定するか、ssh のオプションで -Y を付ければよい、とのこと。

OpenSSHのバージョンは、Fedora Core 2 は 3.6.1p1 で、Fedora Core 3 は 3.9p1。 cygwinも3.9p1だが、こちらはエラーになることは無いようだ。

yum

FC3で自動的にミラーを使ってくれるのはいいのだが、遅いミラーに当たったときの 処理ができない。Ctrl+Cを押せば、次のミラーに移ってはくれるが、しばらくすると yum自体が実行を止めてしまうようだ。再度yumを実行すると再開できるようだが、 ここで別のミラーに当たると更新ファイルの存在状況などが異なるために、 おかしなことになってしまう。

ftp.iij.ad.jp には、非公式ながら fedora のリポジトリが存在するので、これを使うように自前のミラーリストを作成した。

[2005/7/12] ftp.iij.ad.jp の update リポジトリは更新していないようなので、

local-base:
http://www.t.ring.gr.jp/archives/linux/fedora/linux/core/3/$ARCH/os
local-updates:
http://www.t.ring.gr.jp/archives/linux/fedora/linux/core/updates/3/$ARCH/

を加えた。参考

nvu

nvuが動かない。(Mozillaから派生したWYSIWYGなHTMLエディタ「Nvu 1.0」ベータ版発表)

FC3では、そのまま動かすと以下のエラーになる。

sudo tar xjvf /home/otsuka/tmp/nvu-0.60-pc-fedora2.tar.bz2 -C /opt
/opt/nvu-0.60/nvu-bin: error while loading shared libraries: \
libstdc++.so.5: cannot open shared object file: No such file or directory

compat-libstdc++を入れれば動くようだ。

sudo yum install compat-libstdc++

DHCP Client

通常サーバーとして使うときはIPを固定するのだが、 試験運用やデスクトップとして使うときは、DHCP Clientで運用することもある。

時々立ち上げに時間がかかることがあり、その場合いくつかのデーモンの 起動に失敗しているようである。 このような場合でも、/etc/hostsに自分のホスト名とIPアドレスを書いておくと 安定して立ち上げることが出来るようだ。 DHCP自体が失敗しているような場合もある。VMware固有の問題なのか詳細不明。

以下の内容を /etc/dhclient-enter-hooks として置いておくと /etc/hostsの書き換えを自動化できる。

#!/bin/bash
# dhclient-enter-hooks

if [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
    if [ x$new_ip_address != x ]; then
        sed -i.bak -e "/`hostname`/s/[0-9\.]*/$new_ip_address/" /etc/hosts
    fi
fi

exit_status=0
exit $exit_status

初めて使うときは、hostsに自分のIPをセットするためにrootで以下を実行すること。

echo -e "`ifconfig eth0 | grep "inet addr" | \
awk '{ print substr($2,6)};'`\t${HOSTNAME} ${HOSTNAME/.*/}" >>/etc/hosts

ここまでやって、実は VMware の問題であることが発覚。 『VMware にインストールした時ネットワークが起動しない』によると、 VMware上にインストールした時、DHCP で IPアドレスを取得する設定にしているとネットワークがリンクアップしていないため起動しないという報告がある。

cat <<EOD >ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet

# VMware only
check_link_down () {
 return 1;
}
EOD
sudo cp ifcfg-eth0 /etc/sysconfig/network-scripts/
sudo cp ifcfg-eth0 /etc/sysconfig/networking/devices/

としたら、安定して立ち上がるようになった。

インターネット・リンク

rpm tips

操作内容コマンド
パッケージのインストールrpm -ivh package.rpm
インストールされる前のパッケージについて調べるrpm -qpi package.rpm
インストールされるファイルの一覧を得るrpm -qpl package.rpm
ファイルがどのパッケージに含まれているのか調べるrpm -qf installed-full-path-file
パッケージのリストを調べるrpm -ql package
インストールされているパッケージのバージョンrpm -qi package
インストールされているパッケージに改ざんなどが無いか検証するrpm -V package
インストールせずに展開rpm2cpio package.rpm | cpio -id

免責事項

ここに記載されている内容を実際に運用した場合のトラブルに関しては一切責任を負えませんのでご了承ください。
Copyright 2000-2011 Koichi Otsuka


*1 /etc/X11/gdm/gdm.conf の [xdmcp] セクションの Enable の値を true にするというほう方法もある

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-07-23 (土) 14:20:39 (6824d)