debianにsambaをインストール

root@cdn-project:/# apt-get install samba

途中で選択するステップが現れるので、ネットワークのグループ名を入力して、dhcpは今のところ私の環境ではつかっていないのでいいえを選択して、インストール完了。

sambaユーザの作成

root@cdn-project:/usr/local/src# smbpasswd -a nakahira
New SMB password:
Retype new SMB password:

debianのglibcのバージョン

atk-1.10.3をインストールしようとしていたらconfigure時にエラーが発生した。

checking for GLIB - version >= 2.5.7...
*** 'pkg-config --modversion glib-2.0' returned 2.8.6, but GLIB (2.12.4)
*** was found! If pkg-config was correct, then it is best
*** to remove the old version of GLib. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
no
checking for pkg-config... (cached) /usr/local/bin/pkg-config
checking for GLIB - version >= 2.0.0...
*** 'pkg-config --modversion glib-2.0' returned 2.8.6, but GLIB (2.12.4)
*** was found! If pkg-config was correct, then it is best
*** to remove the old version of GLib. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
no
configure: error:
*** GLIB 2.0.0 or better is required. The latest version of
*** GLIB is always available from ftp://ftp.gtk.org/. If GLIB is installed
*** but not in the same location as pkg-config add the location of the file
*** glib-2.0.pc to the environment variable PKG_CONFIG_PATH.

ざっと見た感じでは、’pkg-config –modversion glib-2.0’としたらreturned 2.8.6,となったが、but GLIB (2.12.4)
was found!なのでふるいglibを削除しろということなのだろう。

datagridviewのcellselectの挙動

monthcalendarコントロールの表示が環境によって大幅に変わるため、datagridviewでカレンダーを自作したときにcellselectの挙動がどうもおかしかったのでメモ。datagridviewのプロパティでmultiselectをtrueにしてselectmodeをcellselectにすると、datagridviewのセル単位で選択をすることができるようになる。選択したセルはselecedcellsプロパティを参照すると値を取得することができるが、マウスでdatagridviewのセルを選択する方向によってインデックスの並びが異なることに気づいた。

cal_image1.png右の画像は、datagridviewで自作したカレンダーを模したもの。たとえばこのdatagridviewのセルを選択するとき、マウスの選択する操作が左上を基点に右、下、へと動いてセルを範囲選択したという場合。この場合だと、selectedcellsのインデックス0の値は26になる。そしてインデックスの最後の値は9ということになる。

cal_image2.png次に、セルを選択するときの基点が右下で、マウスを左、上、という風に動かしてセルをを範囲選択した場合。この場合だと、selectedcells(0).valueの値は12になる。インデックスの最後の値は26という風になってしまう。

cal_image3.pngもう一つのパターン。今度はセルの選択の基点が右下で、マウスを上、左、という風に動かしてセルを範囲選択した場合。この場合だと、selectedcells(0).valueの値は23、インデックスの最後の値は26という風になる。

セルの選択の方法によってインデックスの並びがそれぞれ変わり、統一性はないということになる。特にカレンダーのような順番に並んだセルの値を参照するときなどの場合に不都合が生じることになる。

eeepcのcドライブの容量が急に少なくなった

eramでメモリの一部をramディスクにしたり不要ファイルを削ったりとeeepcをカスタマイズしていたらいつの間にかcドライブのディスク容量が100MB以下になっていて警告が表示されるようになった。色々といじり回してしまったためどこが原因がつきとめるのに苦労したが、どうやら原因はページファイルを無効にしたときの設定がうまく完了できなかったようで、cドライブ直下にpagefile.sysというファイルが残ったままになっていた。このファイルが1GBもの大容量となっていて、4GBしかcドライブの容量がないeeepcでは大問題となる。これをそのまま削除していいものかどうか迷った結果、システムのパフォーマンスからページファイルの設定をもう一度して、再度ページファイル無しと設定してから再起動をするとキレイになくなっていた。

Cannot create resource instance

環境。

  • java:J2SE v 1.4.2_18
  • tomcat:4.1.37

上記の環境をwindowsとlinuxマシンで構築した。windowsで開発して、出来上がったものをlinuxサーバで運用するというイメージ。同じ環境であれば、windowsで作ったものをlinuxでも同じように動くだろうと思いきや、Cannot create resource instanceというエラーが発生してどうしても動かない。発生する場所はjdbc接続でmysqlに接続するときにこのエラーが発生する。この接続エラーが発生する理由については結局わからず終い。jdbcドライバ、mysqlのバージョン、文字コードなどチェックはしたけれど、


  DataSource ds  = (DataSource)initCon.lookup("java:comp/env/my_DB");
  Connection con = ds.getConnection();

のgetConnection();でどうもエラーが発生してresource instanceをcreateできない。原因を探るためにlinuxにeclipseをインストールしてデバッグをしてみようとしたけれど、このlinux版eclipseが死ぬほど重い上にtomcatプラグインが謎のエラーを出してまともに作業できない。何をやってもうまくいかなかったので最後の手段と思ってjavaとtomcatのバージョンを最新バージョンのものへアップグレードすることにした。すると、何の問題もなく動くようになった。インストールしたバージョンは次の通り。

  • java:jdk1.6.0_07
  • tomcat:5.5.26

もともと玄箱に合わせてあえて古いバージョンを使ってたのだけれど、玄箱があまりに遅いため代わりの別のマシンでサーバを構築することしにしたので、特にソフトのバージョンにこだわる必要がなくなった。

調べてみたら同様のエラーに遭遇している人は割りと多くいる模様。javaのJ2SE v 1.4.2_18とtomcatの4.1.37という組み合わせはあまりよくないのかもしれない。