デスクトップ版Ubuntu 12.04LTSのアップデートを高速化する

Updated:

[サーバ版のアップデートの高速化はこちらをご覧ください。]

Ubuntuは、システムをアップデートする際にミラーロードサーバからダウンロードしますが、デフォルトで設定されているサーバは、あまり速くありません。

そこで、手動で、アクセスが高速なミラーサーバを設定してやります。なお、メニューやダイアログの表記はUbuntu 12.04LTS英語版のものです。日本語版の場合は、適宜読み替えてください。

1. アップデートマネージャを起動します。具体的にには、メニューバーの右端の歯車アイコンをクリックして、"Software Up to Date"を選択します。

2. アップデートマネージャ画面で、左下の"Setting..."ボタンをクリックすると、"Software Sources"ダイアログが表示されます。

3. "Ubuntu Software"タブを選択します。

4. "Download from:"プルダウンメニューをクリックして、"Other..."を選択します。

5. "Choose a Download Server"というダイアログが表示されます。ここで「Select Best Server」ボタンをクリックすると、最もアクセスが速いサーバが選択されます。(数分かかります)。私の環境では、ftp.jaist.ac.jpが選択されました。

あるいは、ダイアログで「Japan」を選択して、表示されるサーバから適当なものを手動で選択してもよいでしょう。

6. 右下の"Choose Server"ボタンをクリックすると、システムの設定を変更するためにパスワードの入力を求めらダイアログが表示されるので、パスワードを入力して「Authenticate」を押します。

7. "Software Sources"ダイアログに戻るので「Close」を終了します。

8. アップデートマネージャに戻るので、「Close」を押して終了します。これで作業は完了です。

9/29にYAPC::Asia 2012でビギナー向けにトークをします

Updated:

9月27日から29日に開催されるPerlの祭典「YAPC:Asia Tokyo 2012」で、「Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に!」というタイトルでトークをします。

Perl活用のキモであるコンテキストとリファレンスについて、わかりやすく解説します。Perlビギナーの方にお薦めです。


Perlの勘所をマスターしよう! コンテキストとリファレンスを我が物に!

日時: 9月29日(土) 10:30 - 11:10

「ラクダ本」「リャマ本」の訳者によるPerl初級者向けのチュートリアルです。以下の内容を解説する予定です。

  • リストコンテキストとスカラーコンテキスト
  • コンテキストを利用したイディオム
  • リファレンスを使って,複雑なデータ構造を扱う
  • サブルーチンへの引数とリファレンス


Markdown記法についてのメモ

Updated:

Markdown記法を少し使ってみてのメモ書きです。

感じたこと

これまでに,簡易マークアップとしては,PukiWiki,Confluence(会社で),Emacsのorg-mode(少しだけ)を書いた経験があります。

まだあまりMarkdownを書いてないのですが,これらに比べて「違うなあ」と思ったのは次のような点です。

  • リストに*,+,-の3文字も割り当てているのはもったいないような気がする。
  • 先頭の「*」の個数を増やしてリストをネストすることができない。
    • この書き方はダメ

    • * sed, awk, shellの機能を継承
      ** テキスト処理に強い
      ** sedから正規表現
      ** awkから文字列処理、ハッシュ(連想配列)


  • =====と-----を使って,H1とH2を表わせるのは面白い。

マークダウン記法

マークダウン記法を説明しているサイトをいくつかあげておきます。

MarkdownをHTMLに変換するPerlモジュール

Text::Markdownモジュールというものがあります。使い方は,ごく簡単で次のような感じです。

use Text::Markdown 'markdown';

# $textにはMarkdown記法で記述した文字列が入っているものとする
my $text;

# $htmlに,$textの内容をHTMLに変換した文字列が得られる
my $html = markdown($text);

また,C言語で記述されたmarkdownライブラリDiscountを呼び出すText::Markdown::Discountモジュールもあります。当然こちらのほうが高速です。

無線LANのチャネルの利用状況を表示するツールinSSIDerを使ってみた

Updated:

ときどき自宅の無線LANの接続が不安定になることがあります。通常は65Mbpsで接続できていますが、電波強度は5のままで、速度が10Mとか2Mくらいに下がることがあるのです。

他のアクセスポイントと干渉している可能性が高いので、電波状況を表示するソフトを探してみました。定番的なソフトとして、無線LANのチャンネルの利用状況を表示するinSSIDerというものを見つけたので、ノートPCにインストールしてみました。

公式サイトから、ダウンロードしてインストールします。


inSSIDerを動かすと、たくさんのAPが見えることに驚きました。自宅の私の部屋からは、何と15個のアクセスポイントが見えます。もっとも、チャネルが重なっていても、他のAPの電波が弱いので問題にはならず、最大の通信速度(65Mbps)で接続できています。

inSSIDerの表示
これまではチャンネルを「自動」にして使っていました。inSSIDerで観測すると、低い番号のチャンネルを使い、そのために他のアクセスポイントと干渉して(?)、別のチャネルに移動するといったことがたびたび起こっていました。

通信自体は問題なくできているのですが、念のために、あまり使われていない13チャンネルを選択するようにしました。このまましばらく様子を見て、調子が悪い時には、inSSIDerで状況を調査しようと思います。

VMWare Player上で動作するUbuntuのIPアドレスを固定化する

Updated:

なぜUbuntu(ゲストOS)のIPアドレスを固定したいの?

ノートPC(Windows 7 64bit)では、VMWare Player 3.1.6上でUbuntu 12.04LTSを動かしています。VMWare Plalerのネットワーク環境はNATモードにしています。

NATモードでは、ホストOS(Windows 7)の中に仮想ネットワークが作られ、ゲストOS(Ubuntu)はそのネットワークに接続されます。Ubuntuから外部にアクセスする際には、ホストOSがNATボックスとして機能します。

NATモードでは、UbuntuのIPアドレスは、DHCPによって付与されます。困ったことに、付与されるIPアドレスは、ブートしたり、サスペンドしたりするたびに、変わってしまうのです。

Ubuntuからインターネットにアクセスするだけなら、IPアドレスがころころ変わっても特に問題ありません。しかし、ホストOSからUbuntuにアクセスする場合には、IPアドレスが固定されていないと不便です。(例えば、テストのために、ゲストOSのブラウザから、Ubuntuのウェブサーバにアクセスする場合)

そこで、UbuntuのIPアドレスを固定するようにしてみました。

Ubuntu(ゲストOS)のIPアドレスを固定する方法

具体的には、ゲストOS(Ubuntu)のMACアドレスに対して固定のIPアドレスを与えるように、仮想ネットワークのDHCPサーバを設定してやります。

それでは、その手順を紹介しましょう。

Windows 7の場合、仮想ネットワークの設定は、次のファイルに記述されています。

C:ProgramData\VMware\vmnetdhcp.conf

このファイルに仮想ネットのDHCPサーバの設定が書いてあるので、ゲストOSのMACアドレスに対して固定のアドレスを付与するように設定を追加します。このファイルはテキストファイルなので、読めば設定内容がわかるでしょう。

ここでは、2つの仮想ネットVMnet1とVMnet8が定義されています。

  • VMnet1: Host-only modeで使用
  • VMnet8: NATモードで使用

NATモードを使うので、VMnet8に設定を追加することになります。VMnet8のオリジナルの設定は次のような内容になっているはずです。

# Virtual ethernet segment 8
# Added at 07/11/12 06:42:18
subnet 192.168.224.0 netmask 255.255.255.0 {
range 192.168.224.128 192.168.224.254;            # default allows up to 125 VM's
option broadcast-address 192.168.224.255;
option domain-name-servers 192.168.224.2;
option domain-name "localdomain";
option netbios-name-servers 192.168.224.2;
option routers 192.168.224.2;
default-lease-time 1800;
max-lease-time 7200;
}
host VMnet8 {
    hardware ethernet XX:XX:XX:XX:XX:XX;
    fixed-address 192.168.224.1;
    option domain-name-servers 0.0.0.0;
    option domain-name "";
    option routers 0.0.0.0;
}
# End

ざっと見ればわかりますが、VMnet8には、192.168.224.0/24というアドレスが割り当てられていています。rangeで始まる行が、DHCP用のアドレスプールの定義です。ここでは、192.168.224.128から192.168.224.254までがDHCP用アドレスプールになっています。

range 192.168.224.128 192.168.224.254;            # default allows up to 125 VM's

ゲストOS(Ubuntu)には、プールに含まれないIPアドレスを付けてやります。ここでは、192.168.224.101を使うことにしましょう。

設定ファイルに次のような設定を追加してください。これは、hardware ethernetで指定されたMACアドレスに対しては、常にfixed-addressで指定されたIPアドレスを与えるという意味です。

host VMnet8 {
    hardware ethernet YY:YY:YY:YY:YY:YY;
    fixed-address 192.168.224.101;
}

hardware addressという行の「YY:YY:YY:YY:YY:YY」という部分には、ゲストOS(Ubuntu)のMACアドレスを指定します。UbuntuのMACアドレスは、Ubuntuでifconfigコマンドを実行すると表示されるので、それを指定してください。fixed-addressには、Ubuntuに与える固定のIPアドレス、つまり192.168.224.101を指定します。

これで設定は完了です。

あとは、Windowsをリブートしてから、VMWare PlayerでUbuntuをブートすれば、UbuntuのIPアドレスは192.168.224.101に固定されるようになります。