perl 5.16.0 へアップグレード

FreeBSD の ports へ perl 5.16 が到着しているのに気づきました。早速現在の perl 5.14.2_2 からアップグレードすることとしました。

/usr/ports/UPDATING を確認してみたところ、アップグレードの手順が記載されていました。この手順に沿ってアップグレードしてみました。

ただ手順の事例としては perl 5.12 からのアップグレード方法なので、perl 5.14 からに適合するように変更する必要があるので注意が必要です。以下はアップグレードを行った時の様子をメモしたものです。

portupgrade と portmaster による方法が記載されていましたが、いつもの portupgrade でアップグレードを行いました。

0) Fix pkgdb.db (for safety):
# pkgdb -Ff
(時間が掛かるので省略しました。)

1) Reinstall new version of Perl (5.16):
# env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.16 -f perl-5.14.\*
(perl-5.14 の部分が書き直したところです。)

2) Reinstall everything that depends on Perl:
# portupgrade -fr perl
(perl に関連する ports も一斉にリビルドして依存関係の問題を解消しました。)

最後にバージョンを確認しました。
# perl -v
This is perl 5, version 16, subversion 0 (v5.16.0) built for i386-freebsd-64int

キーボードの修理と掃除

長年愛用していたキーボード(UNICOMP 42H1292U)の調子が悪くなってきました。
具体的には、キーボードの左側の「1,q,a,z」のキー入力を受付しなくなることが時々発生していました。原因を突き止めるにはキーボードを開く必要があり、この開いたついでに内部の掃除もしておくこととしました。

この UNICOMP 社のキーボードはご存知の読者さんも多いと思いますが、旧 IBM 社のバックリンク方式のキーボードです。もう入手が困難なキーボードですので、メンテナンスをしながら長く使ってゆきたいと思っているものです。

さてキーボードの分解ですが、背面にある4本のネジを外すことから始めました。ネジの頭部は六角の形のもので、六角のボックスドライバーでネジを外しました。

キーボードを開いてみると長年のホコリやコーヒーをこぼした時の汚れなどがびっしりと付着していました。ざっと掃除機でホコリを吸い取った後、刷毛や綿棒で隙間の汚れを綺麗にして行きましたが、キーボードの基盤部分とキートップの間に多くの汚れが残っているのが見えました。そこで一念発起してキートップを全て外して、本格的に掃除をすることとしました。

キートップを全て外したら、レンジ回り用のアルカリ系強力洗剤を入れたバケツの中にキートップを一時間ほど浸してキートップの汚れを溶かすことから始めました。

一時間ほど薄めた洗剤の中に浸していたキートップを一個ずつ取り出しては、刷毛で表面や側面を綺麗に撫でて念入りに掃除した後、次々と水で濯いでは乾燥させてゆきました。乾燥にはウール素材の衣類を乾燥させるネットを使ってみました。意外と便利でした。日頃キートップの文字書かれている表面だけは綺麗にしていますが、側面はなかなか綺麗にする機会が無かったので、これで新品同様の美しさが戻ってきました。

キーボードの基盤部分は、鉄板を底にて電気回路を構成するフィルム基盤と黒いプラスチック製のキートップを固定する上部部品から出来ていました。この基盤部分は簡単に分解出来ない構造となっていました。プラスチック部品の一部が底の鉄板部品に貫通していて、このプラスチック部品を融かして固定する方法が用いられていたからです。分解はこれで終わって、黒いプラスチック部品の表面にコビリ付いている汚れをアルコールを浸した綿棒などで丁寧に落としてゆきました。地味で時間の掛かる作業に少しうんざりしてしまいました。

そしてこれらの作業と並行してキーボードの表面を上下に被う外部部品も綺麗に掃除しておきました。

水に濡れたキートップなどの部品が乾燥するのを待って、キートップの組み込み作業を行いました。キートップの内部にはまだ多くの水分が残っていたので、一個ずつ取り上げては、エアーダスターで水分を吹き飛ばして、キーボードの基盤へ取り付けてゆきました。これも結構な時間がかかりました。時々間違えてキートップを取り付けてしまうものですから(笑)。特に数字の1,2,3…のキートップは右側のテンキー部分のキートップと入れ違いにしてしまうことが何度かありました。

キートップを全てキーボード基盤へ取り付けたところで、パソコンへキーボードを接続して動作確認をしてみました。すると問題の「1,q,a,z」のキー入力が出来ませんでした。そこで原因を探してみることとしました。

このように一列のキーを認識しない原因はキーボードのマトリックス・スキャンをしている電線の一本が切断していることが考えられます。しかしキーボード基盤を分解するのは難しい状況です。どうしたら良いか考えていました。

何気にキーボード基盤を観察していると、右上部分にあるマトリックス・スキャンを制御する IC が載ったプリント印刷基盤の端っこが割れていることに気づきました。この部分を触ってみると、認識しなかった「1,q,a,z」を認識するようになりました。原因はここにあるようです。

そこでこのプリント印刷基盤を取り外そうとしたのですが、二ヶ所ある丸いプラスチック部品で固定してある部分が何故か外れません。力任せに外してしまって壊れてしまったのでは取り返しのつかないことになってしまいます。そこで外すことが出来た側面のプラスチックの爪の部分からわずかに見えるプリント印刷基盤の裏側の様子を観察してみました。

キートップと連動したスイッチが並ぶフィルム基盤から伸びると思われる電気接点がここまで到達していて、ハンダ付けされることなく背面にゴム状の素材の圧力を使ってプリント印刷基盤の電気接点へ押し付けていることが判明しました。どうもプリント印刷基盤の一部が割れて必要な圧力が得られず、ゴムの経年劣化の影響もあって一部の接点が接触していなかったようです。

今回はプリント印刷基盤の中央部に位置する IC チップの表面に扉などの隙間を埋めるためのスポンジ材を張り付けて、キーボードの外部部品によってプリント印刷基盤をキースイッチのフィルム基盤へ押し付けることとしました。スポンジ材は少し固めのものだったこともあり十分な圧力が得られたようです。

この後、本格的にキーボードを組み立てて再度動作確認をしてみましたが、現在のところ問題はないようです。しばらくこれで様子をみてみようと思っています。

iceweasel 15.0 へアップグレード

 [注意] この方法では最新の iceweasel にアップグレード出来ない場合があります。出来なかったときには、新しいこちらの記事を参考にしてください。(2012年10月29日更新)
http://near-unix.blogspot.jp/2012/10/iceweasel.html

debian squeeze が稼働しているデスクトップ・マシンでウェブサイトをアクセスしていると何かとブラウザが古いので新しいのに更新するように指示するページが増えていました。この Blogger の編集のページのその一つでした。特に困ったことは、表示がうるさいて、邪魔なことだけだったのですが、ここは一念発起して iceweasel 3.5.16 をアップグレードしておくこととしました。

次のページを参考して更新をしました。
Debian Mozilla team http://mozilla.debian.net/

私の備忘録を兼ねて手順を記述しておきます。

まず最初に /etc/apt/sources.list の変更です。
 以下の2行を追加しました。

deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

実際には、バックポートのサイトは日本のミラーサイトをしました。

deb ftp://ftp.jaist.ac.jp/debian-backports squeeze-backports main

ここでソースリストの更新を行います。

# aptitude update

すると mozilla.debian.net の認証用の鍵が不明であるとの警告がでましたので、鍵をインストールします。

# aptitude install pkg-mozilla-archive-keyring

再度ソースリストの更新を行って警告が出ないことを確認しておきました。

# aptitude update

次にいよいよ iceweasel をバックポートを使ってインストールします。aptitude 派の人もここでは apt-get を使用してください。

# apt-get install -t squeeze-backports iceweasel iceweasel-l10n-ja

ここで iceweasel の置き換えのために、幾つかのパッケージの削除を求める問い合わせがありました。全て Yes で答えてインストールを完了させました。

インストールが完了したところで、iceweasel を改めて起動させてみました。するとバージョンが 10.0.7 のものでした。しかしすぐにアップデート・マネージャーに新しいバージョンへの更新の案内が届いていたので、アップデート・マネージャーで更新を試みましたが上手く行きませんでした。そこで aptitude で更新させてみました。

# aptitude safe-upgrade

すると iceweasel は再度更新されて、最新の 15.0 へアップグレードされてしまいました。

再び、iceweasel を再起動させるとアドオンなどの更新を求める内容が表示されました。もう対応していないアドオンなどを削除しておきました。またメニューなどが日本語表示となっていなかったので、メニューの「ツール」>「アドオン」>「言語設定」で日本語パック (Japanese Language Pack 15.0) を有効化 (enable) にして日本語表示としておきました。

すでに Windows 版の Firefox 15.0 を使用していたので、特に操作上不明となるところはありませんでした。

しかし Flash コンテンツが埋め込まれたページでは、Flashplayer がクラッシュしてしまうようです。ただ今までの iceweasel は本体も道連れに落ちてしまっていたのですが、この新しい iceweasel 15.0 では Flashplayer のみが停止するだけで助かりました。

そこで Flashplayer も最新のものを adobe のウェブサイトからダウンロードしてインストールすることとしました。

入手した最新版は 11.2.202.238 のです。
ダウンロードした install_flash_player_11_linux.i386.tar.gz から libflashplayer.so を解凍して、現在ある Flashplayer と入れ替えます。

# cp libflashplayer.so /usr/lib/flashplugin-nonfree/libflashplayer.so

これで iceweasel を再起動させれば、新しい Flashplayer が iceweasel に読み込まれます。早速、Flash コンテンツのあるウェブサイトを閲覧して回りましたが、Flashplayer がクラッシュすることもなくなったようです。

(参考)
Flashplayer のバージョン確認をするページはここです。
http://www.adobe.com/jp/software/flash/about/