MENU of Vine Linux

私のメモです。参考になればいいですが、間違っていたらごめんなさい。

戯れ言 国産ディストリビューションの雄

------------------------------------------































国産ディストリビューションの雄

Linuxのディストリビューションは、 ここ を見ると分かるように山ほどあるが、大きな流れはRedhat、Debian、Slackwareの どれをベースにしているかである。その中で、 Vine Linuxは、現在 主流になっているRedhatをベースにした国産ディストリビューションである。「そこまで するか?!」というほどほぼ全てを日本語化/対応していて、その安定性にも定評がある。
 ただし、新機能を取り入れるのは遅いため、遊びに使うには面白みがない。そんなわけで、 緊急用としてセカンドPCにインストールしている

2.1のインストールと2.1.5へのアップグレード

セカンドPCのハードウェアは今となってはずいぶん古くなった。ビデオカードは MatroxのG200、サウンドカードはSoundBlaster16 AWE32である。Vine Linuxでももちろんサポート されている。問題はネットワークカードであるが、メインPCと同じPlanexのFNW-9802-Tなので、 製品のドライバディスクにカーネル2.2系用のドライバが添付されているため、これも問題ない。
 そのため、2.1や2.1.5のインストールは楽勝であった。

Back to MENU

Sound Cardの設定

Xの設定はインストーラが自動でやってくれたが、サウンドはさすがにやって くれない。しかし、さすが多機能なRedhatをベースにしているだけあって、rootでsetupコマンド を実行して設定できる。Setupで行う場合、SoundBlaster16はISAバスのデバイスなので、 デバイスを自動認識してくれても、DMAやI/Oなどを手入力する。しかし、kudzuという起動時に 実行されるデーモンでは、インストーラが認識しないデバイスもある程度自動で設定してくれる。 SoundBlaster16もkudzuによって自動設定されたので楽チンであった。

上で書いた方法で認識できるのは、カーネルで設定するSound(OSS)である。 alsaを使う場合は、alsaconfでDMAなど手入力する必要がある。

Back to MENU

ネットワークの設定

ネットワークの設定は、インストール時に行える。 ホストネーム、ネットワークカードのIPアドレス、デフォルトゲートウェイ、などなど。。。
 また、インストールが終了した後は、rootになってnetcfgコマンドで変更可能である。

せっかくLANを組んでいるのだから、sambaでのファイル共有とダイアルアップ ルーターの構築をしてみることにした。 今回は、LAN特集が組まれたACSII Linux Magaxine (2001.04号) があるし、 sambaは前回使っているので楽勝と思いきや、、、これがうまく行かない。そう、パスワードファイルが無いのである。 早速、雑誌に従って

# cat /etc/passwd | mksmbpasswd.sh > /etc/smbpasswd
# chmod 660 /etc/smbpasswd


としてみるが、やはりWindowsがLinuxマシンにログイン出来ない。 うーんおかしいと思いながら、明示的にsambaにユーザーを教えるべく、smbpassコマンドで、
# smbpass -a "username"
としてパスワードを設定してみると、今度はちゃんと見れるようになった。
ところが、日本語のフォルダがめちゃめちゃに化けている(笑)。どっかに設定するところは 無いのだろうか? と探してみると、「Global」設定の「advance」をクリックすると「codepage」ってのが出て来るではないか。 これに違いないと思い、早速euc、sjisを試してみたら、eucの方で 日本語のフォルダも読めるようになった。
ところが、その後設定をいじっていると、またLinuxマシンにログイン出来なくなってしまった。 よくよく/etc/samba/smbconfを見てみると、設定をいじった後にcomitteを押すと何やら変なオプションまで勝手に設定しているようだ。 そこでsmb.confを直に編集したら、ログインもOK、日本語もOKになった。
さて、ここまでは何とか来たけど、まだ問題がある。windowsから読み込めるけど書き込みが出来ないのである。 これはしばらく不明であったが、日経Linux10月号を読んで解決した。 書き込めない原因は、fstabでX Windowが起動する前にrootでマウントしているからである。 と言うことは、sambaでwindowsからアクセスがあったときに マウント出来れば問題は解決する。 早速その設定方法を見てみると、雑誌では「MOやcd-romの共有」ということで載っていた。 アクセスがあったときに実行させるスクリプトを指定するのはroot preexecな そうなので、早速やってみると 今度は書き込みも出来るようになった。これでsambaは一安心。
下はそのsambaの設定ファイル。参考までに。

[global]
coding system = euc
client code page = 932
workgroup = mygroupe
server string = samba
security = SHARE
encrypt passwords = Yes
os level = 2
dns proxy = No
oplock break wait time = 1
printing = lprng
[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No
[dl]
comment = data folder
path = /mnt/c/dl
writeable = Yes
root preexec = /bin/mount /mnt/c
root postexec = /bin/umount /mnt/c

Back to MENU

2.5 Betaのインストール

セカンドPCのVine Linuxは緊急用なのであまりいじることはなく、 ときどきapt-getでセキュリティアップデートをしていたくらいである。だが、Vine Linux のウェブページに2.5βがあがったようなので、早速アップデートしてみた。

ISOイメージを焼いたCDからブートして、アップグレードインストールを 行ったのだが、起動ディスク(インストーラの起動ではなく緊急用の起動)の作成に失敗、 さらにアップデートしたVine Linuxでliloのインストールがめちゃくちゃで、起動しなく なってしまった。(lilo.confを見ると、元の2.2.19カーネルのままインストールしていた。 さらに、元のカーネル2.2.19を削除している!!)
 最近作成したRamFloppyを使ってlilo.confを修正し、 lilo -vでインストールしようとしたが、RamFloppyにはliloがないようでcommand not found になってしまった。

Vine Linuxには取り立ててアプリケーションを入れているわけでもなく、 設定もネットワーク以外はほとんどいじっていなかったので、別パーティションにしている /homeを残して他を再インストールすることにした。しかし、Vine25-beta2-20020326.isoでの 再インストールは上記と同じエラーで起動すらしなかった。そこでVine25-beta1-20020314.iso をダウンロードしたCDでインストールしたところ、起動ディスクの作成に失敗はしたが起動できた。

起動ディスクの作成

ようやく2.5βが起動したが、今後のアップグレードなどで起動ディスクが必要に なりそうな気がする。ウェブで調べてみると、 HOLON LinuxのFAQで 起動ディスクの作成方法を見つけた。それによると、
# fdformat /dev/fd0H1440
# mkbootdisk {kernel-version}

で起動ディスクを作れるようだ。しかし、実際にやってみると、mkbootdisk実行時にfloppyに bad i-nodeがあるとかで止まってしまう。

そこで、フォーマット方法を下のように変えると同じ メッセージが出るが無事に作成できた。
# mk2ext /dev/fd0
# mkbootdisk -v {kernel-version}

Back to MENU








WWWサーバの構築

とある理由から、WWWサーバを立ててみることにした。 WWWサーバといえば、apacheである。 インターネット上に文書も豊富であり、設定に困ることも少ないだろう。 そんなわけで、下の通りインストール と設定を行った。


iptablesの設定

apacheのログをカスタマイズして、 うっとうしいNimdaを無視しているが、よくよく考えればiptablesでDROPして 応答しない方がいいと思われる。そこで、iptablesを設定することにした。

その方法の概要は、iptablesをapt-getでインストールし、 chainルールとtableを作成し、iptablesを起動時に有効にすればOKである。
詳細には次のように行った。

  1. iptablesのインストール
  2. # apt-get install iptables

  3. chainルールの決定と作成
  4. chainルールを決める前に、ポリシーを決定する 必要がある。僕の場合は、ブロードバンドルータがポート80番しか 通さないので比較的安全であること、及びNimdaワーム の攻撃があるIPアドレスが知人のIPアドレスではないことから、Nimda ワームの攻撃を掛けてくるIPアドレスのみをDROPすることとした。
    ※Vinelinuxが外部へあけているポートは80番だけというのも 安心材料だと思う。

    コマンドラインからchainを設定してもいいが、いちいち 打つのが面倒なので、次のシェルスクリプトを書いた。また、こうすることに よって、/etc/sysconfig/iptablesを直接編集しなくても良くなる。

    # /bin/sh
    iptables -F  (chainルールの初期化)
    iptables -P INPUT ACCEPT  (INPUTポリシーの設定)
    iptables -P FORWARD ACCEPT  (FORWARDポリシーの設定)
    iptables -P OUTPUT ACCEPT  (OUTPUTポリシーの設定)
    iptables -A INPUT -i eth0 -s 217.xxx.0.0/16 -d 0/0 -j DROP  (NimdaのIPアドレスをDROPに設定)

    シェルスクリプトが完成したらそれを実行し、 エラーが出なかったこと、及びiptables -Lで自分の予定通りに設定されている ことを確認する。

  5. tableの作成
  6. 上記のシェルスクリプトを起動時に走らせれば良いのだが、 Redhat系Linuxではiptablesのchainが設定できた状態で次のコマンドを実行 する必要がある。

    # iptables-save > /etc/sysconfig/iptables

    これによって、/etc/init.d/iptablesスクリプトが読み込む ファイルが作成され、「システムサービス設定」でiptablesをOS起動時に有効に した際に、上記で作成したchainを実行してくれるようになる。

  7. OS起動時にiptablesを立ち上げる
  8. 後はOS起動時にiptablesを起動するようにすればOKである。 コンソール上で「setup」とタイプして起動するメニューから、「システムサービス 設定」を選択し、iptablesにチェックを入れれば良い。或いは、次のように 実体(/etc/init.d/iptables)にシンボリックリンクを貼れば良い。

    # ln -s /etc/init.d/iptables /etc/rc3.d/S08iptables


Windowsの共有フォルダのマウント

上述のネットワークの設定では、Linux上のファイルを Windowsから見るための設定であった。今度は逆に、Windowsの共有フォルダをLinuxでマウント できるようにした。これは、ウェブのコンテンツが別のPCの共有フォルダにある時に便利である。

  1. 必要なアプリケーション
  2. samba-client、samba-common
    # apt-get install samba-client
    でsamba-commonもインストールされる。

  3. 必要なカーネルのサポート
  4. smbfsをサポート(CONFIG_SMB_FS=m)
    さらにdefaultの言語をcp932に設定しておくと便利である。
    (CONFIG_SMB_NLS_DEFAULT=y、CONFIG_SMB_NLS_REMOTE="cp932")
    smbfsがサポートされていない場合は、カーネルの再構築をする必要がある。
    (VineLinux2.6のGENERICカーネルではsmbfsをサポートしてます)

  5. smbfsのマウント
  6. 上記の準備が出来たら、次のコマンドでマウント出来る。

    # mount   -t smbfs   -o username=ユーザー名,password=左記ユーザーのパスワード   //マシン名/共有フォルダ名   /マウントポイント

    オプション-oでは、workgroup=ワークグループ名も指定可能であるが、特に無くても mountはできる。また、オプションにcodepage=cp932,iocharset=euc-jpで日本語の NLSや文字セットを指定できるようだが、 Vinelinuxのsamba-client-2.0.10_ja_1.2-0vl1では出来なかった(2.2では無いため?)。

    上記のmountコマンドだと、パスワードがディスプレイに丸見えになる。それが 嫌な場合は、passwordを書かなければよい。コマンド実行後にパスワード入力を 求められるが、その際はディスプレイに表示されないからである。

  7. smb.confの設定
  8. smbfsではなぜかmount時に/etc/smb.confを読みに行くようだ。 mount自体には支障は無いようだが、globalセクションを設定しておくと codepage等の入力の必要が無くなるかも知れない。。。。
    (VinelinuxではデフォルトNLSがcp932に指定されているため、 この確認は出来なかった。)

FTPサーバの構築

またまた、とある事情でFTPサーバを立ち上げることになった。 どのftpサーバがいいかいろいろ調べた結果、 ProFTP で立ち上げることにした。選定理由は、

というところだろうか。。。作業内容は以下の通り。

  1. ソフトウェアの選択とインストール
  2. # apt-get install proftpd
    でインストール終了。


  3. 設定の準備
  4. 設定をする前に、どのようにポリシーで運用するのかを決める必要ある。 僕のftpサーバは、メンバーが端末からログインはしないことを考えて 次のように決めた。


  5. /etc/ftpusersの編集
  6. このファイルは、ftpログインを拒否するアカウントが書かれたファイルである。 VineLinuxでは、あらかじめrootなどは記述されている。後は抜けているのを記述 するだけである。 また、端末にログインするユーザはftpを許可しないのでそれも加えた。
    ※このファイルにgroupを加えると、加えたグループに属する アカウントがログインできなくなった。/etc/ftpgroupが無いのはその理由だろうか?


  7. /etc/proftpd.confの設定
  8. ProFTPの設定は、/etc/proftpd.confである。proftpd.confの記述は apacheに似ている。どのようなディレクティブが使えるかは、 infosienceさんの ページを参考にした。また、設定例は Michizaneさんのページを参考にした。

    VineLinuxの/etc/proftpd.confでほとんど事足りるのだが、次の箇所を修正/追記した。


  9. ルータの設定
  10. ProFTPの設定が終わったので、ブロードバンドルータに穴を空ける。 apacheの時同様、ローカルサーバで設定できる。 WebブラウザでBRLー04FのIPアドレスを入力→パスワード入力→「アドバンスド設定」 →「バーチャルコンピュータ/ローカルサーバ」でローカルサーバの設定ができる。 そのウィンドウで、

    1. 「ローカルサーバをアプリケーション名で指定」をチェック
    2. アプリケーション名「FTP(TCP21)」を選択
    3. 「転送先IPアドレス」に、サーバにするPCのIPアドレス(192.168.xxx.xxx)を入力
    4. 「ローカルサーバの追加」をクリック
    で、設定終了である。



Back to MENU