LANDISK HACKING DIARY
Since2005/8/17
TOPへ戻る

   ローカル デバイス名は既に使用されています。

 

 


 samba の共有ディレクトリに接続しようとした際に、「ローカル デバイス名は既に使用されています。この接続は復元されませんでした。」というエラーが発生し、全く接続できないことがありました。検索してみたところ、LANDISKで同じ症状の方々がいるみたいです。価格.com に掲載されていました。誠に勝手ながら無断で掲載させて頂きます。少しでも参考になれば…。因みに私の場合は、接続できないネットワークドライヴを切断してから再度接続してみたところ、無事に接続できるようになりました。原因はどうやら様々なようです。これが解決方法だ!というのは一概に言えませんが、ひとつづつ問題を切り分けしていけばどこかに原因があるはずです。LANDISKに手を加えてしまった以上、自力で解決するしかないので頑張ってください(笑)。接続できない場合は、まず先にWindows を再起動してみるのもひとつの手でしょう。

価格.com のログ



     Depends: libssl0.9.6 but it is not going to be installed
   
このエラーに悩まされるケースは結構多いはず。けれども、ソースからビルドしてインストールしたものは、libssl0.9.7 になっているため、libssl0.9.6 をapt-get でインストールしようとしても最新バージョンだと言われインストールできない。こうした場合は、openssl0.9.6 をダウンロードしてきて自前でビルドしてしまえばよい。

landisk:~# dpkg -l | grep libssl
ii libssl-dev 0.9.7e-3 SSL development libraries, header files and
ii libssl0.9.7 0.9.7e-3 SSL shared libraries


landisk:~# apt-get -s install libssl
Reading Package Lists... Done
Building Dependency Tree... Done
Sorry, openssl is already the newest version.
0 packages upgraded, 0 newly installed, 0 to remove and 23 not upgraded.

以下の例では、libssl0.9.6とlibssl0.9.7 の2つのバージョンをインストールしている例です。

landisk:~# mkdir libssl.0.9.6
landisk:~# cd libssl.0.9.6/
landisk:~# apt-get source openssl096
landisk:~# cd openssl096-0.9.6m/
landisk:~# dpkg-buildpackage -rfakeroot
landisk:~# dpkg -i libssl0.9.6_0.9.6m-1_sh4.deb
landisk:~# dpkg -l | grep libssl
ii libssl-dev 0.9.7e-3 SSL development libraries, header files and
ii libssl0.9.6 0.9.6m-1 SSL shared libraries (old version)
ii libssl0.9.7 0.9.7e-3 SSL shared libraries



     cannaserver が起動しない
   
cannaserver を起動させたところ、以下のようなエラーが発生することがある。メッセージで言われたとおりに、rm /tmp/.iroha_unix/IROHA を実行してみるとそんなファイルはないと怒られる。これは、/tmp のパーミッションに原因がある。

landisk:~# /etc/init.d/canna start
Starting cannaserver...

ERROR:
Another 'cannaserver' is detected.
If 'cannaserver' is not running,
"/tmp/.iroha_unix/IROHA" may remain accidentally.
So, after making sure that 'cannaserver' is not running.
Please execute following command.

rm /tmp/.iroha_unix/IROHA


/tmp のパーミッションを確認してみる。1754になっているので、これを1777に変更してあげる。

landisk:~# ls -l / | grep tmp
drwxr-xr-t 2 root root 4096 8月 28 21:32 tmp/
landisk:~# chmod 1777 /tmp/
landisk:~# ls -l / | grep tmp
drwxrwxrwt 2 root root 4096 8月 28 21:32 tmp/

landisk:~# /etc/init.d/canna start
Starting cannaserver...
landisk:~# ps aux | grep cannaserver
canna 2555 0.0 1.4 2124 940 ? S 21:36 0:00 /usr/sbin/cannaserver -inet -u canna



     SSHでPasswordAuthentication を禁止にする
   
通常、sshd_config でPasswordAuthentication を no に設定すれば、公開鍵のみを使ったRSA認証でしかログインできなくなるのでセキュリティは高くなる。だが、PasswordAuthentication をno にしているにも関わらず公開鍵認証に失敗した後に、さらにパスワード認証のプロンプトが現れることがある。設定が有効になっていないのである。

landisk:~# $ slogin kororo@172.16.50.30
Enter passphrase for key '/home/kororo/.ssh/id_rsa':
Password:

ソースからインストールした場合はこのような症状はでなかったので、ソースパッケージについていた sshd_config をそのままコピーしたらパスワード認証の画面がでることはなくなった。つまり、PasswordAuthentication を打ち消すディレクティブが存在するということになるので一から調べてみた。原因は、UsePAM が yes になっていることだった。なので、UsePAM を no にするかコメントアウトしてしまえば良い。

landisk:~# vi /etc/ssh/sshd_config
# UsePAM yes
landisk:~# /etc/init.d/ssh restart

再度、ログインしてみる。今度はパスワードプロンプトがでなくなったので成功である。debian(という大きなくくりで断定はできないが)の場合は、デフォルトでUsePAMが yes に設定されているので注意が必要だ。

landisk:~$ slogin kororo@172.16.50.2
Enter passphrase for key '/home/kororo/.ssh/id_rsa':
Permission denied (publickey,keyboard-interactive).




     BINDのプロセス数がなぜ5個も?
   
LANDISKにbind9.2.4-1 をインストールして、ps でプロセス数を見てみると何故かプロセス数が5個もある。ただでさえメモリの少ないLANDISKなのに、BINDを起動したぐらいで大量にメモリを消費したくない。Fedora Core を使っているときは、BIND のプロセスはひとつしか動作していないので、設定が悪いのかと思いプロセス数を減らす方法を調べてみた。そしたら、debian のML で以下のような投稿を発見した。

[debian-users:41968] bind9のプロセス数

Q: Why do I see 5 (or more) copies of named on Linux?

A: Linux threads each show up as a process under ps. The approximate
number of threads running is n+4, where n is the number of CPUs. Note that
the amount of memory used is not cumulative; if each process is using 10M of
memory, only a total of 10M is used.

つまり、仮想的に5個に見えるだけで、消費しているメモリは1個分だけであるということになる。以下の例で説明すると、3.4MBX5= 17MBではなく、BINDのメモリ消費量が3.4MBであるということになる。

# top
1436 bind 9 0 2480 2160 1424 S 0.0 3.4 0:00.05 named
1437 bind 9 0 2480 2160 1424 S 0.0 3.4 0:00.00 named
1438 bind 9 0 2480 2160 1424 S 0.0 3.4 0:14.12 named
1439 bind 9 0 2480 2160 1424 S 0.0 3.4 0:00.14 named
1440 bind 9 0 2480 2160 1424 S 0.0 3.4 0:00.58 named


     ProFTPDへの接続速度が遅い
   
クライアントから ProFTPDへ接続する際に、5秒間程度待たされて接続されるときがあります。その場合は、あまりにもじれったいので、以下のパラメータを off にすることで解決します。DNS LookupをしないようにするのがUseReverseDNSディレクティブです。

# vi /etc/proftpd.conf
UseReverseDNS                   off
IdentLookups                    off


     smbmnt コマンドは suid ビットをたてる
   
Wndows領域をユーザ権限でマウントした際、以下のようなメッセージがでた場合は…

# smbmount //172.16.50.4/public_html /home/upload/172.16.50.04 -o username=kororo
smbmnt must be installed suid root for direct user mounts (500,500)

以下のようにしてあげることで解決する。

# chmod +s /usr/bin/smbmnt



     Premature end of script headers: ~~.cgi
   
CGI を実行した際に、apache2 のログに「Premature end of script headers: ~~.cgi」のようなログが出力されて、サーバーエラーが発生した場合は、CGI スクリプト先頭行のPerl のパスが間違っているか、CGI スクリプトのパーミッションが間違っているか、改行コードが誤認識されているかのどれかです。改行コードが間違っている場合は、以下のように先頭行に「 -- 」をつけることによって解決する。

#!/usr/bin/perl
↓↓↓↓↓ 以下のように -- を付け加える

#!/usr/bin/perl --



     myisamchk で Mysql のデータベースの復旧方法
   


停電による強制シャットダウンによって、Movabe Type のmt_tbping.MYI が壊れて開けない状態になりました。これによって、Movable Typeで、日付アーカイブや月別アーカイブが再構築できなくなりました。Syslogを見てみると、「/usr/sbin/mysqld: Can't open file: 'mt_tbping.MYI' (errno: 145)」のエラーが表示されていました。この場合に、 myisamchk コマンドで mysql データを復旧させます。-r は、リカバリーのオプションです。勿論、リカバリーを実行する前にはデータベースのバックアップを怠らないようにしてください。

# myisamchk -r mt_tbping
- recovering (with sort) MyISAM-table 'mt_tbping'
Data records: 2324
- Fixing index 1
- Fixing index 2
- Fixing index 3
- Fixing index 4
- Fixing index 5
- Fixing index 6
- Fixing index 7
- Fixing index 8
- Fixing index 9
Data records: 2330


   

TOPへ戻る
 
Copyright © KORO All Rights Reserved.