Ubuntuの起動時間を短縮するConcurrent Bootを試してみた

Ubuntuの起動処理はデフォルトで1つずつ処理を実行するようになっている。これを並列に実行するよう設定することで起動時間を短縮する。
並列処理を行うのでマシンの性能が低いとあまり効果がないみたいだが、デュアルコア以上の性能なら効果は期待できると思う。

設定は以下を参考にした。
第8回 体感速度の改善 : bootchart, concurrent boot, readahead, preloadの利用:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社

上の記事が丁寧に説明してくれているので、ここでは簡潔に手順のみ示すことにする。

まずは準備から。現在の起動状況を確認するためにbootchartをインストールする。

$ sudo apt-get update
$ sudo apt-get install bootchart

システムを再起動すると/var/log/bootchart/ディレクトリ以下に起動時の処理内容・時間、CPUとDiskの使用率を示したチャートのPNG画像が自動的に生成されるようになる。以下を試す前にこれを見て性能的に余裕がありそうか確認しておくとよい。
次にConcurrent Bootを設定する。といっても/etc/init.d/rcの一部を変更するだけで良い。
/etc/init.d/rcを管理者権限で開いて

# Specify method used to enable concurrent init.d scripts.
# Valid options are 'none', 'startpar' and 'makefile'.
...
...
# automatically to allow this.
CONCURRENCY=none

の部分を探してくる。デフォルトでは設定が"none"になっているので"startpar"に変えてやればよい。*1

...
# automatically to allow this.
CONCURRENCY=startpar

スクリプトの依存関係から並列処理にすると起動順が問題になるような場合があるらしく、ファイルにはこの設定をONにする前にその辺を確認しろという注意がある。私はあまり良くわからなかったので気にせず変更したが特に問題は出なかった。
あとはシステムを再起動すれば並列処理で起動するようになっている。

結果は以下の通り。

  • 設定前 - 37.73秒



  • 設定後 - 24.37秒




となって私の環境では約13秒短縮することができた。*2簡単な割に効果は大きかったのでちょっと試してみる価値はあると思う。

*1:ここは上の記事の時点からの変更点。shellでもエラーはでないらしいが。詳しくはhttp://ubuntuforums.org/showthread.php?p=9045839あたりを参考に

*2:正確にはそれぞれ複数回測定して比較すべきだろうがお遊びなので適当に

Adobe Readerに日本語パックを追加する

あまり使わないのでほったらかしてたもの。
acroreadをインストールしている場合、日本語が点々になって表示ができない。*1
日本語のフォントを追加すれば良いだけなのだが、なぜか一回探した時に見つからなかったのでメモ。

まずは日本語のフォントを拾ってくる。
Adobe - Adobe Reader : For Unix
の下の方にある最新の Font Packs - Japanese を選択。SolarisLinuxがあるので注意。
現在なら FontPack910_jpn_i486-linux.tar.bz2 が最新。

次に適当な場所に展開する。そうするとJPNKITのフォルダができる。
ターミナルからJPNKITのフォルダに入って

$ sudo ./INSTALL

でインストールが始まる。あとは質問されたら適当に答えればよい。

*1:adobereader-jpnなら以下は不要。

PCMan File Managerで詳細表示したときに反応しなくなるバグの解決法

面倒くさいので放置していたのだが、一応解決したのでメモしておく。

軽量なファイルマネージャーとしてPCManFMを気に入って使っていたのだが、Ubuntu10.04にアップグレードしてから表示を詳細モードにするとマウスクリックに一度反応したあと一切動かなくなるという現象に見舞われていた。

原因についてはこの辺をみると、どうやらgtk2-2をアップグレードしたせいらしい。

調べていたら修正バージョンを公開してくれている人がいたので、それを使わせてもらうことにした。軽く試してみたところ、特に不具合はなさそうなのでとりあえず公式版の修正が入るまではこれでいこうかと思う。

PCManFM-Mod « IgnorantGuru's Blog

インストール

手順は上記のリンクにあるように

1. PCManFM 0.5をインストールしておく。
2. 次にビルドの依存関係を満たすためにPCMan File ManagerにあるBuild Requirementをインストールする。自分の環境では以下のパッケージを追加した。

  • intltool
  • libstartup-notification0-dev
  • libhal-dev
  • libdbus-1-dev
  • libhal-storage-dev
  • libdbus-glib-1-dev
  • libgamin-dev

3. 最後にここのDownload Linksからpcmanfm-mod-1.0.0.tar.gz をダウンロードしてきて適当な場所に展開する。ターミナルから展開したディレクトリの中に入って

$ ./installmod

を実行する。pacoで管理したい場合は(pacoについてはここらへんを参考に)実行する前にinstallmodをエディタで開いて、

echo "root>>> sudo make install"
sudo make install

の部分を探してきて

echo "root>>> sudo make install"
sudo paco -D make install

と変更しておく。実行すると

"This script will build and install a modified version of PCManFM 0.5.2"
"It is recommended that you install PCManFM from the repository before"
"running this script."
"Do you want to proceed? (Y/n)"

と聞かれるので"y"でEnterを押す。"./configure"と"make"が行われたあとパスワードを聞かれるので入力すると

"root>>> sudo make install

と流れてインストールが始まる。
インストール後は通常のPCManFMと修正バージョンが共存した状態になる。(ただし同時に起動することはできないようだ)修正版を起動したい場合はターミナルからは

$ pcmanfm-mod

と打つ。必要ならランチャ等のコマンドも変更すればよい。
PCManFM-Modは他にもいくつかの機能を追加しているようだ。私はちゃんと読んでいないので気になる場合は作者のページを確認してほしい。

Ubuntu 10.04 (Lucid Lynx) にVirtualboxをインストールしてUSBを使えるようにする

Ubuntuホスト環境(Windowsゲスト)でのUSB設定でつまったのでメモ

インストール

最初からSynapticで追加できるVirtualbox(ose版)ではUSBが利用できないので、non-free版のリポジトリを追加する。

Linux_Downloads – Oracle VM VirtualBox

にあるようにターミナルから

$ sudo gedit /etc/apt/sources.list

としてソースリストに

deb http://download.virtualbox.org/virtualbox/debian lucid non-free

を追加する。

次にpublic keyを追加するために

$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

と打つ。準備ができたので

$ sudo apt-get update
$ sudo apt-get install virtualbox-3.2 *1

とすればインストールできる。(versionは必要なら最新のものに変更する)

USBを利用する

VirtualBox - 憩いの場 Wiki

にあるようにLinuxホストだと若干手間が必要。Windowsホストと同様の手順でやると

1. VirtualBoxの起動前にUSB機器を接続しておく
2. 仮想マシンの設定「USB」→「新規フィルタ(+)」で使用する機器を追加
3. ホストでハードウェアの安全な取り外しをして、USBを抜く

から先が自分の環境ではうまくいかなかった。解決法は上の2まで行なったあと

http://ubuntuforums.org/showthread.php?t=1318160

を参考にして

  1. ホスト側 Ubuntuで、システム > システム管理 > ユーザーとグループ を選択
  2. グループの管理を選択し、vboxusersを右クリック
  3. プロパティを選び、グループのメンバからUSBを利用したいホスト側ユーザーにチェックを入れる
  4. ホスト側を再起動

でOK。その後USB機器を接続したままVirtualboxでゲストを起動すれば利用できるようになっている。*2
もしかするとグループの管理でvboxusersが表示されないかもしれない。その時はGuest Additonsをインストールしてから試すとよい。*3

*1:2010/5/23 時点

*2:Linuxゲスト環境ではマウントの設定とかあったような気もする

*3:関係ないかも

test

日記を書く・編集する - はてなダイアリーのヘルプ
まずはこれを参考にいくつかの機能を試してみる。

写真を挿入

商品を紹介

UNDERCURRENT

UNDERCURRENT

動画を紹介

おえかき

引用

夏目漱石 坊っちゃん

親譲(おやゆず)りの無鉄砲(むてっぽう)で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰(こし)を抜(ぬ)かした事がある。なぜそんな無闇(むやみ)をしたと聞く人があるかも知れぬ。別段深い理由でもない。新築の二階から首を出していたら、同級生の一人が冗談(じょうだん)に、いくら威張(いば)っても、そこから飛び降りる事は出来まい。弱虫やーい。と囃(はや)したからである。小使(こづかい)に負ぶさって帰って来た時、おやじが大きな眼(め)をして二階ぐらいから飛び降りて腰を抜かす奴(やつ)があるかと云(い)ったから、この次は抜かさずに飛んで見せますと答えた。

その他

  • トラックバックについてはルールをあまり理解していないのでメモしておく。

トラックバックを送信する - はてなダイアリーのヘルプ

はてな記法一覧 - はてなダイアリーのヘルプ


今日は疲れたのでこれでおしまい。

*1:ちょうべんり