Computers's archives

 最近流行の仮想ルータ Vyatta を構築する際に、NIC1 のハードウェア名がeth0ではなく、eth1などで作られしまった場合の簡単な対処法を記載します。

  $ configure
  # delete interface ethernet eth1 hw-id xx:xx:xx:xx:xx:xx
  # commit
  # save
  # exit
  $ reboot

 これを実行すると、再起動後に eth0 として作成されます。どうやら、 hw-id をはずして上げると、再起動時に再認識され、 eth0 が割り振られるようです。
 vyatta で dhcp-server を起動する際は、通常 eth0 のインターフェースを認識し起動するので、 eth0 が存在しないと起動してくれません。

 お困りの際はお試しを!

 Windows 7 にしてから、色々なアプリケーションをインストールしていますが、セキュリティが厳しく、権限エラーではじかれることが多いです。非常に辛い...。

 さてさて、Windows 7 に Firebird をインストールし、ユーザを作成しようと、 gsec.exe を実行しようとしましたが、下記のコマンドでは接続できませんでした。

gsec.exe -user SYSDBA -password masterkey

※パスワードはデフォルト

 ちなみに、「unavailable database」「unable to open database」というメッセージが返ってきます。色々調べてみましたが、どうやらDB接続には、リモート接続である必要があるそうです。(なんですと!)
 つまりは下記コマンドのように、DBを明示的に指定しなければならないようです。

gsec.exe -database "localhost:c:\.<DBのPath>.\security.fdb" -user SYSDBA -password masterkey

 これで無事に接続が出来ました。ちなみに、DB接続時も同様の方法が必要です。

 最近、Mysql に触れる機会があるのですが、バイナリログの保持期間を指定していないシステムが多く、ディスク容量が逼迫するという経験をしています。DBの更新ログなので、デフォルト値が無期限というのも、分からなくもないですが...

 というわけで、意外と忘れられがちな、バイナリログの保持期間の設定ですが、 /etc/my.cnf の、 [mysqld] に下記指定を入れると、バイナリログ切り替わり時に、 Purge してくれます。

expire-logs-days=<保持する日数>

 一つ問題なのは、 /etc/my.cnf に設定した場合は、 mysql の再起動が必要。業務上、再起動をすることができないシステムあると思います。
 そんなときは、 set コマンドで variables の値を動的に書き換えてしまえばいいのです。

set GLOBAL expire_logs_days = <保持する日数>

※もちろん、 root 権限を持ったユーザでの更新が必要です。

 この保持期間ですが、ログがローテートされるタイミングで値が読まれるため、ローテートされなければ、この日数を超えたログも残り続けることになります。

 久々に MT の使用を再開しました。再開した理由としては、以前から開設していた Web サイトを移行しようと思ったことに始まります。
 そのサイトは画像がメインで、アップロードの機会が多く、さらに Lightbox を使用しているため、a 要素の中に、属性を予め指定したいと考えていました。

 これを都度つど変更するのは面倒くさい...

 そこで、同じことを考えている人がいないかと思って、色々なサイトを探してみました。そこで見つけたのがこちら。

MT4のLightbox2用カスタマイズ - Tetsuyan's Blog

 リンクが切れてしまったときのために書いておくと、 mt/lib/MT/Asset/Image.pm を編集するとデフォルトの html を変えることができます。下記の記述が変更後です。(赤字が追記箇所)

'<a href="%s" rel="lightbox" title=""><img alt="%s" src="%s" %s %s /></a>',

 これでリンクつきの画像をアップロードすると、自動的に、 rel 属性と、 title 属性が入るようになります。