2010/02/28(日)お買い物

最近買った物

CAT5/5E 延長アダプタ

100228-01.jpg

カテゴリー5/5EのLANケーブルを延長するためのアダプタ。短いクロスケーブルを繋げばクロスケーブルへの変換にも使えるし、一時的に長いケーブルが必要になった時にも2本の短いケーブルを繋ぐことで対応できる。
1つは持っていても損はないと思うもの。

i9用USBケーブル

100228-02.jpg

iAudio9を出先で充電できるようにするために買いました。
ケーブルだけと思いきや、短いアダプタも付いていたので持ち運びが楽です。
i9ユーザーなら持っていても損はないでしょう。

USB昇圧アダプタ

100228-03.jpg

もの珍しさに買ってしまいました(苦笑
USBの出力は5V/500mAですが、このアダプタを咬ませることで9V/300mAの出力ができるようになるみたいです。

FreeBSDビギナーズバイブル

100228-04.jpg

BSD系も扱えるようになりたいので買ってみました。いつかはNetBSDとか使いこなせるようになりたいなぁ。

USB Aメス-USB Aメス 変換アダプタ

100228-05.jpg

とある用途で利用するために購入。何に使うために必要なのかはそのうち紹介できるかと。お楽しみに。

samba経由で別のnfsサーバの公開領域に書き込みができるようにする

2010/02/26PC::Linux/BSD

sambaファイルサーバに、別のnfsサーバが公開している領域をマウントさせ、その領域をsamba経由で公開する場合のメモ。

環境

sambaサーバ

  • Debian GNU/Linux 4.0/i386
    • samba 3.0.24-6etch10

nfsサーバ

  • Debian GNU/Linux 5.0/i386
    • nfs-kernel-server 1.1.2-6lenny1

samba側サーバのnfs領域公開設定

NFSのマウント設定は別記事の設定を参照

/etc/samba/smb.conf

[nfs-srv]
            path = /mnt/nfs/nfs-srv
            writable = yes
            create mask = 0660
            directory mask = 0770
            guest ok = no

この状態で使ってみる

この状態でWindowsクライアントからファイルを書き込もうとすると、以下のエラーが発生します。

smb_error.jpg

クライアントの挙動として、以下のようになります。

  • nfs公開ファイルの読み込み: 問題なし
  • nfs公開領域へのフォルダ作成: 問題なし
  • nfs公開領域へファイル書き込み: エラー発生

対処方法

/etc/samba/smb.confのglobalセクションに以下を追加します。

kernel oplocks = no

kernel oplocks

カーネルoplocks をサポートしているUNIX(現在はIRIXとLinux 2.4カーネルのみ)の場合、 このパラメータにより oplock の利用を制御できる。

カーネル oplocks のサポートにより、 smbd(8) が oplock を行ったファイルに対して、 ローカルな UNIX プロセスや NFS 経由でのアクセスがあった際に、 Sambaが oplocks を破棄することが可能となる。 これにより、 SMB/CIFS と NFS やローカルファイルアクセスとの間の完全な一貫性が確保される (これは非常に素晴らしいことである :-)。

このパラメータのデフォルト値は、 on であるが、 カーネルがこの機能をサポートしていないシステムでは、自動的に無効にされる。 このパラメータを変更する必要はないであろう。

デフォルト:
kernel oplocks = yes

smb.conf(5)

ちなみに、共有セクションにoplocks = noと記述しても問題は解決されませんでした。

autofsの設定

2010/02/23PC::Linux/BSD

NFSサーバの公開領域を自動的にマウントさせる仕組みを実装したときのメモ。

環境

  • Debian GNU/Linux 4.0/i386

実装手順

1. autofsパッケージのインストール

# apt-get install autofs
Reading package lists... Done  
Building dependency tree... Done
The following NEW packages will be installed:
  autofs                                     
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 113kB of archives.                                
After unpacking 483kB of additional disk space will be used.  
Get:1 http://ftp.jp.debian.org etch/main autofs 4.1.4-13 [113kB]
Fetched 113kB in 0s (202kB/s)                                   
Selecting previously deselected package autofs.                 
(Reading database ... 35294 files and directories currently installed.)
Unpacking autofs (from .../autofs_4.1.4-13_i386.deb) ...               
Setting up autofs (4.1.4-13) ...                                       

Creating config file /etc/auto.master with new version

Creating config file /etc/auto.misc with new version

Creating config file /etc/auto.net with new version

Creating config file /etc/auto.smb with new version

Creating config file /etc/default/autofs with new version
Starting automounter: loading autofs4 kernel module, no automount maps defined.

2. マスタマップファイルの編集

/etc/auto.master に、最終行を追加。

#
# $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $
#
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#/misc  /etc/auto.misc --timeout=60
#/smb   /etc/auto.smb
#/misc  /etc/auto.misc
#/net   /etc/auto.net
/mnt/nfs        /etc/auto.nfs   --timeout=300

上記の例では、以下のように設定しています。

  • マウントベース(NFSサーバのマウントポイントが格納されるディレクトリ): /mnt/nfs
  • マウントベース毎のマップファイル*1: /etc/auto.nfs
  • automountデーモンに渡すオプション: --timeout=300 (5分後に自動的にアンマウントされる)

3. NFS用のマップファイルの作成

/etc/auto.nfs を新規作成します。

nfs-srv   -fstype=nfs,rw,hard,intr,rsize=32768,wsize=32768  192.168.0.1:/data

上記の例では、以下のように設定しています

  • NFSサーバ192.168.0.1の/dataディレクトリをマウントする
  • マウントポイントは/mnt/nfs/nfs-srvとする
  • マウントオプションはrw,hard,intr,rsize=32768,wsize=32768とする *2
  • fstypeでは、ファイルシステムタイプ(nfs)を指定しています

4. automountデーモンの起動

auto.masterを変更後は、automountデーモンに再読み込みさせなければなりません。
手っ取り早く再起動させます。

# /etc/init.d/autofs restart
Stopping automounter: done.
Starting automounter: done.

5. 動作確認

/mnt ディレクトリ内を確認します。

# ls /mnt
nfs

自動的にマウントベースが作成されています。

続けて、/mnt/nfs ディレクトリ内を確認します。

# ls /mnt/nfs

現時点では何もありません。

続けて、カレントディレクトリを/mnt/nfs/nfs-srvに移動してみます。

# cd/mnt/nfs/nfs-srv
/mnt/nfs/nfs-srv#

上記の時点では何もないので、"No such file or directory"と通常であれば怒られるところですが、正常に移動できています。この時点でlsを実行してみればNFSサーバで公開しているファイル類が表示されるはずです。

最後に、mountコマンド等の実行結果で確認してみます。

# mount
中略
automount(pid24357) on /mnt/nfs type autofs (rw,fd=4,pgrp=24357,minproto=2,maxproto=4)
192.168.0.1:/data on /mnt/nfs/nfs-srv type nfs (rw,hard,intr,rsize=32768,wsize=32768,addr=192.168.0.1)

# cat /etc/mtab
中略
automount(pid24357) /mnt/nfs autofs rw,fd=4,pgrp=24357,minproto=2,maxproto=4 0 0
192.168.0.1:/data /mnt/nfs/nfs-srv nfs rw,hard,intr,rsize=32768,wsize=32768,addr=192.168.0.1 0 0

# cat /proc/mounts
中略
automount(pid24357) /mnt/nfs autofs rw,fd=4,pgrp=24357,timeout=300,minproto=2,maxproto=4,indirect 0 0
192.168.0.1:/data /mnt/nfs/nfs-srv nfs rw,vers=3,rsize=32768,wsize=32768,hard,intr,proto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.1 0 0

*1 : 今回だと/mnt/nfs用のマップファイル

*2 : mountコマンドや/etc/fstabに記述するオプションと同じ

rootパスワードを忘れた時の対処

2010/02/12PC::Linux/BSD

rootパスワードを忘れた時の対処メモ。

環境

  • VMware Player 3.0.0
    • Debian GNU/Linux 5.0(lenny)/i386

手順

1. GRUBメニューで"E"を入力し、編集モードへ移行する。

deb-chrootpass1.jpg

2. kernel行にフォーカスを写し、さらに"E"を入力し、既存kernel行を編集する

deb-chrootpass2.jpg

3. "S init=/bin/sh"を追加する

deb-chrootpass3.jpg

この追加した部分の意味は以下の通り。

  • S: シングルユーザーモード(ランレベル1)で起動
  • init=/bin/sh: initプロセスの代わりに、/bin/sh(シェル)を直接起動する

編集が完了したら"Enter"を入力し、変更を反映させる。

4. "B"を入力し、変更したパラメータで起動させる。

deb-chrootpass4.jpg

5. rootでシェルに入ることができるようになっているので、passwdコマンドで新しいrootパスワードへ変更する。

以下の図では、ルートパーティションがrwとなっていることを確認するためにmountコマンドを実行しています。

deb-chrootpass5.jpg

このとき、キーボードが英語になっているので注意すること。

私は、簡単なパスワードで設定しておき、通常起動させた後(日本語キーボードして認識させた後)にパスワードを再度設定し直すことにしました。

パスワード変更後は再起動させればいいのですが、/sbin/shutdownを実行しても再起動できません。rebootコマンドで再起動することができます*1

*1 : あるいは、Ctrl+Alt+Deleteでも再起動できます