新しい記事を書く事で広告が消せます。
Ubuntu 8.10 の Firefox3.0 で、ある日突然ブックマークが保存できなくなりました。
Firefoxのエラーコンソール
エラー: uncaught exception: [Exception... "Component returned failure code: 0x8052000b (NS_ERROR_FILE_CORRUPTED) [nsINavBookmarksService.insertBookmark]" nsresult: "0x8052000b (NS_ERROR_FILE_CORRUPTED)" location: "JS frame :: file:///usr/lib/firefox-3.0.6/components/nsPlacesTransactionsService.js :: PCIT_doTransaction :: line 374" data: no]
profiles.ini
[General]
StartWithLastProfile=1
[Profile0]
Name=default
IsRelative=1
Path=dmv8d4ek.default
とりあえず、これ→ブックマークが保存できない
しかしまったく状況変わらずなので、
Firefoxを再インストールしてみることに。
https://help.ubuntu.com/community/FirefoxNewVersion
まず、ブックマークと設定をバックアップしておいて、
$ cp -R ~/.mozilla ~/.mozilla.backup
Firefoxダウンロードして、
/opt/firefox にインストール。
$ sudo tar -jxvf firefox-3.0.7.tar.bz2 -C /opt
$ sudo mv /opt/firefox/plugins /opt/firefox/plugins.bak
$ sudo ln -s /usr/lib/firefox/plugins /opt/firefox/plugins
$ sudo dpkg-divert --divert /usr/bin/firefox.ubuntu --rename /usr/bin/firefox
`local diversion of /usr/bin/firefox to /usr/bin/firefox.ubuntu' を追加しています
$ sudo ln -s /opt/firefox/firefox /usr/bin/firefox
$ firefox &
が、状況変わらず。
エラー: uncaught exception: [Exception... "Component returned failure code: 0x8052000b (NS_ERROR_FILE_CORRUPTED) [nsINavBookmarksService.insertBookmark]" nsresult: "0x8052000b (NS_ERROR_FILE_CORRUPTED)" location: "JS frame :: file:///opt/firefox/components/nsPlacesTransactionsService.js :: PCIT_doTransaction :: line 374" data: no]
$ gksudo firefox
→だと、エラーは出ず、ブックマーク保存OKだったので、
バックアップをもとに戻して、~/.mozilla/firefox/ 以下の places.sqlite を削除。
$ rm ~/.mozilla/firefox/dmv8d4ek.default/places.sqlite
↓
Firefox 再起動で直りました。
Architecture: i386
DistroRelease: Ubuntu 8.10
Package: firefox-3.0 3.0.6+nobinonly-0ubuntu0.8.10.1
ProcEnviron:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
LANG=ja_JP.UTF-8
SHELL=/bin/bash
SourcePackage: firefox-3.0
Uname: Linux 2.6.27-11-generic i686
Dependencies
libgcc1 1:4.3.2-1ubuntu12
libxrender1 1:0.9.4-2
libreadline5 5.2-3build1
libslang2 2.1.3-3ubuntu1
findutils 4.4.0-2ubuntu3
libtiff4 3.8.2-11
libncursesw5 5.6+20071124-1ubuntu2
whiptail 0.52.2-11.3ubuntu1
libtext-charwidth-perl 0.04-5build1
lsb-base 3.2-14ubuntu2
fontconfig 2.6.0-1ubuntu4
libssl0.9.8 0.9.8g-10.1ubuntu2.1
liblocale-gettext-perl 1.05-4build1
libxau6 1:1.0.3-3
libxext6 2:1.0.4-1
libkeyutils1 1.2-7
libxfixes3 1:4.0.3-2
libxcb-xlib0 1.1-1.1
libjpeg62 6b-14
libxcomposite1 1:0.4.0-3
libacl1 2.2.47-2
libncurses5 5.6+20071124-1ubuntu2
readline-common 5.2-3build1
libgtk2.0-0 2.14.4-0ubuntu1
libgpg-error0 1.4-2ubuntu7
libidl0 0.8.10-0.1
libpam0g 1.0.1-4ubuntu5.3
libxt6 1:1.0.5-3
libpopt0 1.14-4
psmisc 22.6-1
libxcursor1 1:1.1.9-1
libfontconfig1 2.6.0-1ubuntu4
debconf 1.5.23ubuntu2
libpng12-0 1.2.27-1
defoma 0.11.10-0.2ubuntu1
libtext-wrapi18n-perl 0.06-6
ttf-dejavu None [modified: /var/lib/dpkg/info/ttf-dejavu.list]
sed 4.1.5-8
libmpfr1ldbl 2.3.2.dfsg.1-1ubuntu1
libxrandr2 2:1.2.3-1
libselinux1 2.0.65-2
libsqlite3-0 3.5.9-3ubuntu1
libgnutls26 2.4.1-1ubuntu0.2
libpam-runtime 1.0.1-4ubuntu5.3
libmagic1 4.24-4
libpcre3 7.6-2.1ubuntu1
python2.5 2.5.2-11.1ubuntu1
libattr1 1:2.4.41-1
mime-support 3.44-1
libcomerr2 1.41.3-1ubuntu1
libdatrie0 0.1.3-2
libxcb-render-util0 0.2+git36-1
fontconfig-config 2.6.0-1ubuntu4
libnspr4-0d 4.7.1+1.9-0ubuntu4
libglib2.0-0 2.18.2-0ubuntu2
libxcb1 1.1-1.1
libxinerama1 2:1.0.3-2
libdbus-1-3 1.2.4-0ubuntu1
libthai-data 0.1.9-4
xulrunner-1.9 1.9.0.6+nobinonly-0ubuntu0.8.10.1
ucf 3.0010
libcups2 1.3.9-2ubuntu7
libpango1.0-common 1.22.2-0ubuntu1
libatk1.0-0 1.24.0-0ubuntu1
perl 5.10.0-11.1ubuntu2.2
libgcrypt11 1.4.1-1ubuntu1
cpp-4.3 4.3.2-1ubuntu12
libbz2-1.0 1.0.5-0.1ubuntu1
debconf-i18n 1.5.23ubuntu2
libxdamage1 1:1.1.1-4
libnewt0.52 0.52.2-11.3ubuntu1
libgmp3c2 2:4.2.2+dfsg-3ubuntu1
libxi6 2:1.1.3-2build1
libcairo2 1.8.0-0ubuntu1.1
x11-common 1:7.4~5ubuntu3
libstartup-notification0 0.9-1
libkrb53 1.6.dfsg.4~beta1-3
firefox-3.0 3.0.6+nobinonly-0ubuntu0.8.10.1
debianutils 2.29ubuntu2
python2.5-minimal 2.5.2-11.1ubuntu1
libnss3-1d 3.12.0.3-0ubuntu5
libhunspell-1.2-0 1.2.6-1ubuntu1
libxcb-render0 1.1-1.1
libtasn1-3 1.4-1
libxdmcp6 1:1.0.2-3
libx11-data 2:1.1.5-2ubuntu1.1ja1
firefox-3.0-branding 3.0.6+nobinonly-0ubuntu0.8.10.1
libpixman-1-0 0.12.0-1
libfreetype6 2.3.7-2ubuntu1
libtext-iconv-perl 1.7-1build1
libice6 2:1.0.4-1
file 4.24-4
libsm6 2:1.0.3-2
libthai0 0.1.9-4
perl-modules 5.10.0-11.1ubuntu2.2
coreutils 6.10-6ubuntu1
libgdbm3 1.8.3-3
libstdc++6 4.3.2-1ubuntu12
libgtk2.0-common 2.14.4-0ubuntu1
libx11-6 2:1.1.5-2ubuntu1.1ja1
libdbus-glib-1-2 0.76-1
ncurses-bin 5.6+20071124-1ubuntu2
zlib1g 1:1.2.3.3.dfsg-12ubuntu1
libc6 2.8~20080505-0ubuntu9
libxft2 2.1.12-3ubuntu1
libexpat1 2.0.1-4
perl-base 5.10.0-11.1ubuntu2.2
libdb4.6 4.6.21-10
cpp 4:4.3.1-1ubuntu2
libpango1.0-0 1.22.2-0ubuntu1
gcc-4.3-base 4.3.2-1ubuntu12
POPfile 使い出してから
4ヶ月たちましたが、ほぼ完璧です。というか、最初の100通くらいでだいたいOKになりました。
ベイズ理論とかよくわかりませんが、なんでスパムがちゃんとより分けられるのか不思議です。
サンダーバードも、同じ理論らしいですが、こちらはなかなか学習してくれません。
Gmailの迷惑フィルタは、よく大事なメールをゴミ箱に入れちゃいますね。英語だと完璧なんですが。
POPFile(ベイズ理論 SPAMフィルター)について
Becky!の場合はこちら->POPFileに対応したBecky!の設定
Becky!用だと、深海魚フィルターというのがベイズ理論+αらしいのですが、どうでしょうか。
DSL(Damn small Linux)4.4を使っていた頃の、JWMウィンドウマネージャについてたシステムモニタ torsmo が忘れられなくって、conkyを入れてみました。
なんかここがすごい->conky - epian-wiki
で、FIVA 102 でシステムモニタしたかったので、カーネル再構築のときに I2C関係をドライバも含めて片っ端からモジュールコンパイルしておいたのですが、どうもセンサーデバイスが見つからない。ACPIを切ったから?
ためしに、
# apt-get install lm-sensors
# sensors-detect
でも、ヒットしない。ので、とりあえずそっちはあきらめて
# apt-get install conky
いろいろ .conkyrc を物色していたら、お気に入りのがみつかりました。
My Conky Config 1.3 by ~ebupof on deviantART
何か天気とか表示できるらしい。さっそくお借りすることに。
$ tar xjvf My_Conky_Config_1_3_by_ebupof.bz2
$ mv ./conkyrc/conkyrc ~/.conkyrc
$ mkdir ~/Scripts
$ mv ./conkyrc/* ~/Scripts/
$ ls ~/Scripts/
weather.sh weather.xslt
weather.sh にいろいろ説明が書いてある。
まず、ロケーションIDを調べる。
http://xoap.weather.com/search/search?where=tokyo
<search ver="2.0">
<loc id="JAXX0085" type="1">Tokyo, Japan</loc>
</search>
あと、curl と xsltproc が必要らしい。
# apt-get install curl xsltproc
conkyの設定ファイルを少し変更。
$ vi ./.conkyrc
background no
font Sans:size=8
use_xft yes
xftalpha 0.9
update_interval 3.0
total_run_times 0
own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 220 5
maximum_width 220
draw_shades yes
draw_outline no
draw_borders no
draw_graph_borders yes
default_color white
default_shade_color black
default_outline_color green
alignment top_right
gap_x 12
gap_y 12
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
uppercase yes # set to yes if you want all text to be in uppercase
TEXT
${color white}SYSTEM ${hr 1}${color}
Hostname: $alignr$nodename
Kernel: $alignr$kernel
Uptime: $alignr$uptime
CPU: ${alignr}${freq} MHz
Processes: ${alignr}$processes ($running_processes running)
Load: ${alignr}$loadavg
CPU1 ${alignr}${cpu cpu1}%
${cpubar 4 cpu1}
Ram ${alignr}$mem / $memmax ($memperc%)
${membar 4}
swap ${alignr}$swap / $swapmax ($swapperc%)
${swapbar 4}
Highest CPU $alignr CPU% MEM%
${top name 1}$alignr${top cpu 1}${top mem 1}
${top name 2}$alignr${top cpu 2}${top mem 2}
${top name 3}$alignr${top cpu 3}${top mem 3}
Highest MEM $alignr CPU% MEM%
${top_mem name 1}$alignr${top_mem cpu 1}${top_mem mem 1}
${top_mem name 2}$alignr${top_mem cpu 2}${top_mem mem 2}
${top_mem name 3}$alignr${top_mem cpu 3}${top_mem mem 3}
${color white}Filesystem ${hr 1}${color}
Root: ${alignr}${fs_free /} / ${fs_size /}
${fs_bar 4 /}
${color white}NETWORK ${hr 1}${color}
Down ${downspeed wlan0} k/s ${alignr}Up ${upspeed wlan0} k/s
${downspeedgraph wlan0 25,107} ${alignr}${upspeedgraph wlan0 25,107}
Total ${totaldown wlan0} ${alignr}Total ${totalup wlan0}
${color white}WEATHER ${hr 1}${color}
${execi 1800 ~/Scripts/weather.sh JAXX0085}
あとは、fluxboxの起動時に実行するよう設定。
$ vi ./.fluxbox/startup
/usr/bin/fbsetroot -solid black
conky &
exec /usr/bin/fluxbox
FIVA 102 にインストールした Debian(lenny) のカーネル(2.6.26)を再構築します。
安全策をとってディストリビューションのカーネルソース (Debian-patch) を使います。
ただ、initrd をつくりたくなかったので、kernel-packageは使わず、installkernelを使うことにします。
準備[1] カーネルソース
ディストリビューションのカーネルソースは、
# apt-get install linux-source
作業はホームディレクトリで。
$ mkdir ~/linux
$ cd ~/linux
$ tar xjvf /usr/src/linux-source-2.6.26.tar.bz2
最新カーネルを使いたい方はこちら。
# apt-get install ketchup
(鍵サーバーをJPNICに指定、kernel.orgの公開鍵をインポート)
$ gpg --keyserver pgp.nic.ad.jp --search-keys F464A695
$ gpg --keyserver pgp.nic.ad.jp --recv-keys F464A695
$ mkdir -p ~/linux/foo (空ディレクトリを作成)
$ cd ~/linux/foo
$ ketchup -r 2.6
準備[2] 開発環境
とりあえず、
# apt-get install gcc binutils make
MediaGX 233MHz ではさすがにカーネルコンパイルはきつそうなので、分散コンパイル distcc を使います。
distcc はver.3以降のほうがうまく動くようなのですが、それでもちょっと怪しげだったので svn を使います。
# apt-get install distcc distccmon-gnome
(依存関係を解決するため、とりあえずdistccパッケージをインストールしておく)
# apt-get install subversion
$ mkdir ~/foo
$ cd ~/foo
$ svn checkout http://distcc.googlecode.com/svn/trunk/ distcc-read-only
(svnをチェックアウト)
# apt-get install python2.5-dev autoconf libgtk2.0-dev libpopt-dev
$ cd ~/foo/distcc-read-only
$ ./autogen.sh
(configureを作成)
$ ./configure --sysconfdir=/etc --prefix=/usr --with-gtk --disable-Werror
$ make && make check && sudo make install
サーバマシン側も同様にdistccをインストールしておきます。
今回はPen4 2.4GHz と PenM 1GHz (どちらもUbuntu8.10 カーネル2.6.27-11-generic) の2台をサーバマシンとして使用しました。
distccのパッケージをインストールした時点で自動的にマスカレードされているみたいですが、もしされていなかったら、
# mkdir -p /usr/lib/distcc/bin
# cd /usr/lib/distcc/bin
# ln -s ../../../bin/distcc gcc
# ln -s ../../../bin/distcc cc
# ln -s ../../../bin/distcc g++
# ln -s ../../../bin/distcc c++
カーネルコンフィギュレーション
$ cd ~/linux/linux-source-2.6.26
# apt-get install libncurses5-dev
$ make defconfig
$ make menuconfig
どうしてもGUIでコンフィギュレーションしたい方はこちら。
# apt-get install libgtk2.0-dev
# apt-get install libglade2-0
# apt-get install libglade2-dev
$ make gconfig
(gconfigを使う場合、むちゃ重いっす)
FIVA 102 な方なら、コンフィギュレーションの注意点は、
General setup->Prompt for development and/or incomplete code/drivers [Y]
にして、
CS5520 を有効に[Y]しておくこと、
Processor type and features->Processor family->GeodeGX1 を選択、
ACPI 関係を無効にすることがポイント。
あとはNICドライバと無線LANドライバをモジュールに、(無線LANはmac80211を設定<-AtherosAR5212の場合)
コンソールfbを有効にしました。(jfbtermが使える)
もしFIVA102な方がいれば.config
カーネルコンパイルとインストール
distccのpumpモードはどうも使えないみたい。
[server machine(CPUを提供する側)->distccデーモンを起動]
$ distccd --daemon --allow 192.168.1.0/24
[client machine(makeを実行する側)]
$ export DISTCC_HOSTS=”host1 host2”
$ make -j5 CC="distcc gcc"
別の端末で(client machine側)、
$ distccmon-txt 1
または
$ distccmon-gnome &
おわったら、
# make modules_install
# make install
# update-grub
(Debianは-kpkgが流儀らしいのですが、今回はinstallkernelを使いました。initrdをつくらないので。)
無事、再構築したカーネルで起動し、ペンギン君
も表示されるようになりました。
(実際は何度もコンフィギュレーションし直したけど)
参考:Linuxカーネル クイックリファレンス
例によって 低スペックPC CASIO FIVA 102 に Linux インストール編です。
前回 Debian(etch) のときは、gdmとgnome環境をインストールしてしまったため、ちょっと重くて使いずらいと感じていたので、今回は、最小構成のCUI環境からfluxboxをインストールすることにしました。
Debian(lenny) は、FDDブートに対応していないので、HDDにブートイメージとisoイメージをいれてネットワークインストールします。
結論から先に言いますと、Damn small Linux 4.4 (DSL4.4)より断然かるい、しかもカーネル2.6で使いやすい これはおすすめです!
とりあえず前提条件
CASIO CASSIOPEIA FIVA MPC-102M62
(MediaGX-S 233MHz、メモリ 96MB、HDD 10GB)
FDD->ブート可、CD-ROM->ブート不可、USB->ブート不可、PXE->ブート不可
LAN(インストール時に使用)
NE2000互換pcmcia (PLANEX Fast Ethernet Card 10/100Base-TX FNW-3600-T)
HDDに170MB以上のext3パーティションがあり、そこにファイルをコピーできる環境であること
(ここかここかここを出発点とします。あるいは BG-Rescue Linux という手もあります。【ハウツー】FD2枚でパーティションを復旧!(1) - BG-Linuxのインストール)
GRUB(version 0.97) が MBR または FDD から起動できる
(DSL4.4な方はGRUBをアップデートしておく必要あり <-ここ参照)
[用意するファイル]
今回、インストーラーは GUI にしてみました。
GTK版ブートイメージ
http://ftp.jp.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/gtk/から
initrd.gz (29-Oct-2008 22:17 12.3M)
vmlinuz (29-Oct-2008 22:16 1.4M)
netinst CD イメージ
http://cdimage.debian.org/cdimage/lenny_di_rc1/i386/iso-cd/から
debian-testing-i386-netinst.iso (05-Nov-2008 00:48 150M)
この3ファイルを HDD に入れておきます。
(以下 hda3 からブートする場合)
GRUBが起動したらC
grub> root (hd0,2)
grub> kernel /vmlinuz vga=788
grub> initrd /initrd.gz
grub> boot
GUIインストーラーが起動します。
言語選択
キーボード配置の選択
ISOイメージからインストーラーコンポーネントをロード
ネットワークハードウェアの検出
ネットワークの設定
ディスクの検出
ディスクのパーティショニング
今回はこんな感じに

ベースシステムのインストール
ユーザーとパスワードのセットアップ
パッケージマネージャの選択
パッケージマネージャの設定
ソフトウェアの選択とインストール(popularity-contestを設定)
ソフトウェアの選択(デスクトップ環境を選択しない)
ハードディスクへのGRUBブートローダのインストール
インストールの完了
[初期設定]
コンソールでの日本語表示
# modprobe vga16fb
$ jfbterm -q
起動時にモジュールを自動ロードするようにしておく
# echo vga16fb >> /etc/modules
sudoの設定
$ su
# apt-get install sudo
# visudo
->
# User privilege specification
root ALL=(ALL) ALL
ユーザー名 ALL=(ALL) ALL
apt-get リポジトリの設定
$ sudo apt-get install netselect-apt
$ sudo netselect-apt -s -n lenny
(-> src,non-freeを有効に)
# cp ./sources.list /etc/apt/sources.list
# apt-get update
# apt-get install debian-keyring
ウィンドウマネージャ
# apt-get install fluxbox fluxconf
X
# apt-get install xorg
# dpkg-reconfigure x11-common
(Xサーバの起動を許可するユーザー: コンソールユーザーのみ)
# dpkg-reconfigure xserver-xorg
(カーネルフレームバッファデバイス -> Yes)
ドライバ、解像度などの設定がないので手動で編集
# vi /etc/X11/xorg.conf
Section "Device"
Driver "vesa"
Section "Screen"
SubSection "Display"
Depth 16
Modes "800x600"
EndSubSection
Authorization機構を有効に
$ exit (コンソールFBモードから抜ける)
$ startx -- -auth ${HOME}/.Xauthority
$ xauth list
$ startx
これで fluxbox が立ち上がる。
ここからは Xterm での作業
Xtermのリソース設定
$ vi ~/.Xresources
! UTF-8
XTerm*utf8: 1
! フォントを大きく
XTerm*font: -misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1
! スクロールバーを表示
XTerm*scrollBar: true
! バッファサイズを 1000 行にセット
XTerm*saveLines: 1000
TrueTypeフォントのインストール
Kochi Gothic フォント
# apt-get install ttf-kochi-gothic-naga10
IPAモナーフォント(http://www.geocities.jp/ipa_mona/index.html)
(参考:Debian/IPAFont - aqulos' wiki - livedoor Wiki(ウィキ))
# mkdir /usr/share/fonts/truetype/ipa/
$ tar xvfz opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz
# cp opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipa*.ttf /usr/share/fonts/truetype/ipa/
[aqulos' wikiより、IPAモナーのhintsファイルをお借りする]
->ttf-ipa-mona.hints
# defoma-font register-all ./ttf-ipa-mona.hints
# defoma-reconfigure
X-TTかFreeTypeか
# dpkg-reconfigure x-ttcidfont-conf
freetypeを選択
.fonts.confを修正しておく(この辺自信無し。書体関係 Wiki - unixuser200403-2とかでもう少し調べる必要あり)
$ cp /etc/fonts/conf.d/65-nonlatin.conf ~/.fonts.conf
$ vi ~/.fonts.conf
<fontconfig>
<match target="font">
<edit name="embeddedbitmap" mode="assign">
<bool>false</bool>
</edit>
</match>
<family>serif</family> -> IPAMonaGothic,Kochi Gothic
<family>sans-serif</family> -> IPAMonaGothic,Kochi Gothic
<family>monospace</family> -> IPAMonaGothic,Kochi Gothic
Fluxboxの文字化け対策
lenny の Fluxbox (1.0.0+deb1-8) はUTF-8メニューに対応済み(ソースコンパイルの必要はない)だが、
スタイルによってフォントを再設定する必要あり。
(BrueNightでIPAモナを使う場合)
$ cd /usr/share/fluxbox/styles
# sed -e "s/\s.*dejavu.*/\tIPAMonaGothic/g" > BlueNight-IPA
Styles->BlueNight-IPA に設定。
無線LANの設定 (IO DATA WN-G54/CBL-> Atheros AR5212 の場合)
lennny の 80211ドライバは mac80211 なので madwifi は必要なくなった。
ath5k で認識。
(wicdインストール)
リポジトリ追加
deb http://apt.wicd.net lenny extras
$ wget -q http://apt.wicd.net/wicd.gpg -O- | sudo apt-key add -
# apt-get install wicd
$ wicd-client -n
(wlan0,wext に設定)
日本語入力環境
# apt-get install scim-anthy
$ scim
ファイルブラウザ
# apt-get install pcmanfm tango-icon-theme
$ echo gtk-icon-theme-name="Tango" > .gtkrc-2.0
エディタ
# apt-get install vim-gtk
Webブラウザ
# apt-get install iceweasel iceweasel-l10n-ja
起動プロセス管理
# apt-get install sysvconfig
ntp
# apt-get install ntp
これでいちおうの初期設定はOKとしました。
初めにも書きましたが、DSL4.4のfluxbox より軽いし、カーネルが 2.6 なのが何かと便利です。
FIVA 102 はこれで落ち着きそうです。