2011-08-16
AOGS2011参加記録
台湾の台北で開催された国際学会 AOGS に参加・発表してきました.
学会中で短い間だったけど, 現地の伊藤君の案内で台北市内の色々なところに回れました.
台湾は台風の研究が盛んでほぼ毎日関連するセッションが開かれていました. 特に伊藤君を始めとする台湾国立大学の方々の研究のレベルが高く, モチベーションが上がりました.
気候的には, 昼はこちらでいう夕立みたいな雨がちょくちょく降って曇っている事が多いので, 直射日光はそんなに厳しくないけど, 湿度が高くて外にいると汗がすぐ出てきます. 一方, 室内の冷房は厳しくて, 上着を一枚持ってきておけばよかったかなと思いました.
福岡から台北へ
いざ出発
ちなみに, 早く来すぎて荷物受け取ってもらえず並び直しでした. 2 時間前にならないと受付してもらえないらしい...
でも, おかげで折りたたみ傘と通りもんと正露丸がゲットできました. 特に, 折りたたみ傘はお昼はよく雨が降る台湾ではすごく重宝.
あと, なぜか本田くんが一人だけ指定席になっていたのはうけた(笑)
飛行機は緑と白が基調のエバー航空.
機内は寒くて, 機内食はあまり美味しくなかったなぁ...
あと, ブランケット頼んだら前の2人に渡されたり, パンが落ちて肩に当たったりとサービスは良くなかったです(笑).
換金
1 台湾ドルが約 2.8 円. 台湾は食べ物や交通費が日本よりかなり安く, 20000円分換金したけど使い切れずに, 帰りに 7,000 円ほど帰ってきました. ちなみに, 換金は行きも帰りも台湾でしたほうがお得とのことです.
大有巴士バスで桃園空港から台北市内へ. たったの 90 元.
ホテルでくつろぐザキくん.
士林夜市
夜は伊藤君の案内で士林夜市へ
地下鉄は切符でなくコインを改札にタッチする方式.
臭豆腐の匂いがすごかった.
チャーハンが美味しかった.
出店でアーチェリーやピンボールなどで遊びました. 懐かしい感じ.
学会 1 日目
学会会場へは MRT と歩きで 1 時間ほど. ちょっとホテル遠かったかな.
会場は台湾 1 の高さを誇る TAIPEI 101 のとなりの台北國際會議中心.
受付でなぜか参加費が払われていなくてちょっとトラブル.
メインストリートの椰子並木が印象的
研究室はなんと銀行の上らしい.
夜はレセプションに参加.
学会 2 日目
夜はザキくんと太田さんの発表お疲れ飲み. メニューにバッチリ日本語書いているのに, 店員さんが全く日本語喋れないという罠.
学会 3 日目
夜は発表後の大塚さんの希望で, 学会会場近くの臨江街観光夜市を回る. ここでも出店のシューティングで遊んだり.
大塚さんの購入したちっちゃい貝のにんにくの聞いた食べ物が美味しかったな.
その後, 伊藤君の住んでいる永康街へ.
おいしい水餃子をいただく.
永康刀削麺へ. 麺を刀で切る実演あり.
自分はジャージャー麺を頂いた. もちもちの麺で美味しかった.
永康 15 というデザート屋さんでマンゴーかき氷をいただく.
フレッシュで美味しかった.
学会4 日目
この日は初めて市バスにのって会場に行ってみました.
知らない場所で乗るバスはちょっとワクワク.
夜は発表前日ということでホテルの近くの肥前屋でうなぎを頂きました.
結構行列ができていて驚き.
学会 5 日目
余裕をもってタクシーで会場へ.
自分は Outer Planets and Icy Worlds というセッションで, アジア系の人々が多い今まで見てきたセッションとは違って欧米の方が 7 割くらいで何か別のところに来たような印象を受けました.
初めての英語での口頭発表だったので, 久々にかなりの緊張感. マイクの位置が遠かったので持って話せば良かったなぁ. 質疑応答はグダグダだったけど, まあなんとか話せたかな.
お昼に伊藤くんに台湾のアキバ(電気街的な意味で)に連れていってもらいました.
台湾版の K-ON もゲット.
本田くんが無事発表を終えた後, 自分たち 3 人と, 篠田さん, 大塚さん, 坂井さん, 伊藤くんで再び永康街へ. 最終日ということで高級中華を頂きました.
花枝はイカの愛称です.
帰福
亜熱帯書店
福岡へ
2011-03-10
地球流体データ解析・数値計算ワークショップ 参加記録
2011年3月6日(日)〜8日(火)に,東京大学と気象庁において開催された, 地球流体データ解析・数値計算実習 (dcmodel/davis チュートリアル) に参加した. 2日目には数値予報課の方々と交流ができて楽しかった. 今回感じたことは, 大きく以下の2点.
- irb を使って足腰を鍛えておこう
- gfdnavi を使ってみよう
以下は, 個人的メモです.
1 日目:午前
Live 設定
- Crtl の入れ替え
- $ xmodmap Desktop/misc/Xmodmap_SwapCapsLock-Ctrl
- 有線ネットワークの設定
- /etc/network/interfaces
- iface eth1 inet dhcp # 追記
- $ sudo ifup eth1
- /etc/network/interfaces
Ruby の初歩,数値・データ処理および可視化の基礎
午前中は主に, http://ruby.gfd-dennou.org/tutorial/gokuraku/ にしたがって ruby チュートリアルが行われました. 以下は自分的にためになった部分のメモです.
- hoge.rb の先頭に #! /usr/bin/env ruby と書いておき、chmod +x で実行可能にしておけば, $ ./〜.rb ですむ.
- 引用符 "" と '' の違い
- "":制御文字を解釈する
- '':制御文字を解釈しない
- ary[-1]は配列 ary の 1 番最後の要素を示す(負の数はうしろから数える)
- 配列の中に配列があっても大丈夫( ary2 = [a, ary1] など)
- ary2[1][3] は ary2[1]の3番の要素を意味する
- 曖昧でない場合は括弧を省略可能( print "Hello\n" )
- printf: 決められたフォーマットで文字列を画面に出力するメソッド(たのしいRuby, p.218参照)
irb(main):089:0> ["dog", "cat", "bird"].each{|i|
irb(main):090:1* printf("a %s\n", i)
irb(main):091:1> }
a dog
a cat
a bird
=> ["dog", "cat", "bird"]
- printf ではなく print で書くと以下のようになる(出力結果は上と同様.)
irb(main):095:0* ["dog", "cat", "bird"].each{|i|
irb(main):096:1* print("a ", i, "\n")
irb(main):097:1> }
- 「do ... end」 と 「{}」 は同じ意味になる
irb(main):098:0> 10.times do
irb(main):100:1> end
hogehogehogehogehogehogehogehogehogehoge=> 10
irb(main):104:0> 10.times {
irb(main):106:1> }
hogehogehogehogehogehogehogehogehogehoge=> 10
def wa(a,b,c)
d = a+b+c
return d # 戻り値の指定。なければ最後の文の戻り値が返される。
end
e = wa(3,4,6) # 定義前に実行することはできない。
b.methods.sort
=> ["%", "*", "**", "+", "+@", "-", "-@", "/", "<", "<=", "<=>", "==", "===", "=~", ">", ">=", "__id__", "__send__", "abs", "between?", "ceil", "class", "clone", "coerce", "display", "div", "divmod", "dup", "enum_for", "eql?", "equal?", "extend", "fdiv", "finite?", "floor", "freeze", "frozen?", "hash", "id", "infinite?", "inspect", "instance_eval", "instance_exec", "instance_of?", "instance_variable_defined?", "instance_variable_get", "instance_variable_set", "instance_variables", "integer?", "is_a?", "kind_of?", "method", "methods", "modulo", "nan?", "nil?", "nonzero?", "object_id", "prec", "prec_f", "prec_i", "private_methods", "protected_methods", "public_methods", "quo", "remainder", "respond_to?", "round", "send", "singleton_method_added", "singleton_methods", "step", "taint", "tainted?", "tap", "to_a", "to_enum", "to_f", "to_i", "to_int", "to_s", "truncate", "type", "untaint", "wa", "zero?"]
これらの使い方を調べるには, http://www.ruby-lang.org/ja/documentation/ の
を見ればよい.
例えば, hoge が Float という class だった場合, http://doc.ruby-lang.org/ja/1.8.7/library/_builtin.html の http://doc.ruby-lang.org/ja/1.8.7/class/Float.html の部分を見ればよい.
もしくは, Ruby インタラクティブリファレンス (ri)を用いる.
$ ri Float#to_s
などとすれば, 以下のような出力結果が得られる.
!------------------------------------------------------------- Float#to_s
flt.to_s => string
!------------------------------------------------------------------------
Returns a string containing a representation of self. As well as a
fixed or exponential form of the number, the call may return
``+NaN+'', ``+Infinity+'', and ``+-Infinity+''.
1 日目:午後
Ruby による地球流体データ解析: GPhysによる手軽で汎用なデータ解析
- gphys ライブラリ本体を http://dennou-q.gfd-dennou.org/library/ruby/products/gphys/ の latest version から DL すれば, /gphys-1.1.0/lib/numru にテストプログラムが入ったルビープログラム(## test part ## の部分 )があるので, やりたいことをする方がみつかるかも.
- (例1) ~/gphys-1.1.0/lib/ggraph.rb
- $ ruby ggraph.rb でいろいろと絵を描いてみる.
- (例2) ~/gphys-1.1.0/lib/numru/ganalysis/met.rb には, 温度から温位への変換や, 等温位面渦位を描く方法が書いてある(以下の部分).
theta_rg = theta.regrid(u)
u_th = GAnalysis::Met.interpolate_onto_theta(u, theta_rg, theta_levs)
Gfdnaviによるデータサーバの構築と利用
- パラメータ実験などの結果を一覧する方法がここに書いてある
- NOAA に dchart というものがあるらしい http://dapper.pmel.noaa.gov/dchart/
その他
2 日目:午前
オブジェクト指向によるデータ解析可視化の思想と実践:電脳Ruby
- なぜruby
- タイリング:タイル状に分割されたデータを, 一つの GPhys として扱える
- 例えば, 期間ごとに分かれた時系列のファイルをそのまま一体として扱える
- ファイルの自動処理は現在 NetCDF のみ. ?
Ruby 活用に関するディスカッション
数値予報ルーチン業務における ruby の活用
- ルーチン管理システム, job管理で ruby を利用している(ジョブスケジューラ)
世界の数値予報センターのモデル開発環境とデータハンドリング
2 日目:午後
実況監視業務における可視化
- rapid スキャン:衛星データ, 5~10min 間隔で取得, 試験的に
- RISS: 気象レーダーデータ共有装置
- 3D表示ツールの窓で関数計算ができるのは便利
- GFDnavi でも同様の昨日があれば便利かも
気象情報の提供に資する可視化
- Webアプリ:統合ビューア, 共通画像
3 日目:午前
ISPACK の GPU 利用の話
- セミラグランジュ法
- 2D turb, f=0, 球面だと最終的には 4 重極構造になるらしい
- CUDA:C言語に似ている
額田彰氏(東工大)を交じえて 今後の数値計算環境の展望についての議論
スーパーコンピューターの過去, 現在, 未来 (仮題)
3日目:午後 developers 会議
- 気象庁の GPV データが簡単に見れる
- http://davis.gfd-dennou.org/
- みんなのGfdnavi → jma-npgpv → netcdf
- http://davis.gfd-dennou.org/
- LTS: Long Time Saport
- Debian 本家にパッケージを入れることができれば大分楽
- ifort 関係のパッケージ
- パッケージごとに置き場所が変わるので注意
- netcdf がめんどくさいらしい
- netcdf-g95 を参考につくってみると良い
- まずは lenny 版から
2011-03-03
Debian lenny から squeeze へのアップグレード
Desktop で Debian lenny から squeeze へのアップグレードを行った.
大きな問題もなく, アップグレード完了. 以下作業メモ.
一応, 追加した HDD はアンマウントしておく
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/sda1 46G 6.3G 38G 15% /
tmpfs 1.7G 0 1.7G 0% /lib/init/rw
udev 10M 836K 9.2M 9% /dev
tmpfs 1.7G 0 1.7G 0% /dev/shm
/dev/sda3 1.3T 558G 703G 45% /home
/dev/sdb1 1.4T 1.3T 6.5G 100% /home/katon/jupiter/work2
/dev/sdc1 1.4T 198M 1.3T 1% /home/katon/jupiter/work3
/dev/sdd1 1.4T 1.2T 148G 89% /home/katon/jupiter/work4
# umount /home/katon/jupiter/work2 /home/katon/jupiter/work3 /home/katon/jupiter/work4
バックアップ
以下のディレクトリの中身をバックアップすることが推奨されている.
- /etc
- /var/lib/dpkg
- /var/lib/apt/extended_states の中身、
- dpkg --get-selections "*" (引用符を忘れてはいけません) の出力
- /var/lib/aptitude/pkgstates
しかし, 簡単のため /etc の中身と /home の設定ファイルのみをバックアップした.
- /etc
# cp -r /etc /home/katon/etc_redspot_110303
# scp -r etc_redspot_110303 katon@gfdport:
- /home の設定ファイル(ドットファイル)
~$ cp -r .bashrc .xemacs .synergy.conf dot_files_redspot/
~$ scp -r dot_files_redspot gfdport:
アップグレードの過程自体は、/home ディレクトリ以下は一切変更しません。とはいえ、(Mozilla スイートの一部や、GNOME・KDE といったデスクトップ環境のように) ユーザが初めて新しいバージョンのアプリケーションを起動するときに、既存のユーザ設定を新たなデフォルト値で上書きしてしまうものがあるのも事実です。万一に備えて、ユーザのホームディレクトリにある隠しファイルと隠しディレクトリ (いわゆる 「ドットファイル」) をバックアップしておくのがよいでしょう。古い状態に戻したり、再度設定する場合に役立つはずです。ユーザにもこのことについて知らせておいてください。
splashy パッケージを削除
- bug #512951 のため、アップグレードの前に splashy パッケージを完全削除 (purge) しておく必要があります。
# apt-get purge splashy
パッケージ splashy はインストールされていなかったようだ.
パッケージリストを更新
# apt-get update
古いロケールから UTF-8 へアップグレードする
# dpkg-reconfigure locales
ロケールが既に ja_JP.UTF-8 UTF-8 になっていることを確認した.
パッケージの状態をチェック
インストールが未完了のパッケージ (Half-Installed) や設定に失敗したパッケージ (Failed-Config)、何らかのエラー状態にあるパッケージを表示
# dpkg --audit
パッケージが hold 状態になっていないか確認
# aptitude search "~ahold" | grep "^.h"
# dpkg --get-selections | grep hold
これらのコマンド後, 何も出力されないことを確認.
APT の取得先 (ソース) の準備
アップグレードを始める前に, apt の設定ファイル /etc/apt/sources.list の "lenny" の部分を "squeeze" に書き換えた.
- /etc/apt/sources.list
deb http://dennou-q.gfd-dennou.org/debian/ squeeze main
deb-src http://dennou-q.gfd-dennou.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb ftp://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou squeeze/
deb-src ftp://www.gfd-dennou.org/library/cc-env/Linux/debian-dennou squeeze/
セッションの記録
# script -t 2>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script
パッケージリストの更新
# apt-get update
システムの最小アップグレード
# apt-get upgrade
カーネルのアップグレード
- 2.6.26 以降のカーネルが必要とのこと.
# dpkg -l "linux-image*" | grep ^ii
ii linux-image-2.6-686 2.6.26+17+lenny1 Linux 2.6 image on PPro/Celeron/PII/PIII/P4
ii linux-image-2.6.26-1-686 2.6.26-13lenny2 Linux 2.6.26 image on PPro/Celeron/PII/PIII/
ii linux-image-2.6.26-2-686 2.6.26-26lenny1 Linux 2.6.26 image on PPro/Celeron/PII/PIII/
現在は 2.6.26 であることを確認.
# apt-cache search linux-image-2.6- | grep -v transition
で uname -r
# uname -r
2.6.26-2-686
で調べたパッケージと似た名前のものをインストール.
update-grub が走るかを確認
grub ブートローダのユーザは、カーネルのアップグレードの一部分としてして update-grub が走るのを確認するか、手動で実行する必要があります。
# update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.32-5-686
Found kernel: /boot/vmlinuz-2.6.26-2-686
Found kernel: /boot/vmlinuz-2.6.26-1-686
Updating /boot/grub/menu.lst ... done
新しい udev をインストール
カーネルのアップグレード直後に, 古い udev と新しいカーネルを使うことによる非互換性のリスクを最小限にするため, 新しい udev もインストールする必要があります. 以下のように実行します.
# apt-get install udev
システムを再起動
# reboot
セッションの記録を再開
# script -t 2>~/upgrade-squeeze2.time -a ~/upgrade-squeeze2.script
システムのアップグレード
# apt-get dist-upgrade
エラーへの対処
以下のパッケージの処理中にエラーが発生しました:
/var/cache/apt/archives/libnumru-misc-ruby1.8_0.1.0-1_all.deb
/var/cache/apt/archives/libnumru-units-ruby1.8_1.5-1_all.deb
/var/cache/apt/archives/libnumru-met-ruby1.8_0.0.2-5_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
# less -R upgrade-squeeze2.script
で関連するエラーを探す. 以下のエラーの記述があった.
未選択パッケージ libnumru-misc-ruby1.8 を選択しています。
(.../libnumru-misc-ruby1.8_0.1.0-1_all.deb から) libnumru-misc-ruby1.8 を展開しています...
dpkg: /var/cache/apt/archives/libnumru-misc-ruby1.8_0.1.0-1_all.deb の処理中にエラーが発生しました (--unpack):
'/usr/lib/ruby/1.8/numru/misc/emath.rb' を上書きしようとしています。これはパッケージ numru-misc 0.0.6-3 にも存在します
未選択パッケージ libnumru-units-ruby1.8 を選択しています。
(.../libnumru-units-ruby1.8_1.5-1_all.deb から) libnumru-units-ruby1.8 を展開しています...
dpkg: /var/cache/apt/archives/libnumru-units-ruby1.8_1.5-1_all.deb の処理中にエラーが発生しました (--unpack):
'/usr/lib/ruby/1.8/numru/units.rb' を上書きしようとしています。これはパッケージ numru-units 1.5-1 にも存在します
未選択パッケージ libnumru-met-ruby1.8 を選択しています。
(.../libnumru-met-ruby1.8_0.0.2-5_all.deb から) libnumru-met-ruby1.8 を展開しています...
dpkg: /var/cache/apt/archives/libnumru-met-ruby1.8_0.0.2-5_all.deb の処理中にエラーが発生しました (--unpack):
'/usr/lib/ruby/1.8/numru/met.rb' を上書きしようとしています。これはパッケージ numru-met 0.0.2-4 にも存在します
# apt-get -f install
以下のパッケージの処理中にエラーが発生しました:
openmpi-bin
openmpi-g95
openmpi-checkpoint
E: Sub-process /usr/bin/dpkg returned an error code (1)
# apt-get -f install
openmpi-bin (1.4.2-4) を設定しています ...
update-alternatives: エラー: alternative mpiexec は mpirun のスレーブにはできません: これはマスター alternative です。
dpkg: openmpi-bin の処理中にエラーが発生しました (--configure):
サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 2 を返しました
dpkg: 依存関係の問題により openmpi-g95 の設定ができません:
openmpi-g95 は以下に依存 (depends) します: openmpi-bin ...しかし:
パッケージ openmpi-bin はまだ設定されていません。
dpkg: openmpi-g95 の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
dpkg: 依存関係の問題により openmpi-checkpoint の設定ができません:
openmpi-checkpoint は以下に依存 (depends) します: openmpi-bin (= 1.4.2-4) ...しかし:
パッケージ openmpi-bin はまだ設定されていません。
dpkg: openmpi-checkpoint の処理中にエラーが発生しました (--configure):
依存関係の問題 - 設定を見送ります
# dpkg --remove openmpi-bin openmpi-g95 openmpi-checkpoint
(データベースを読み込んでいます ... 現在 202241 個のファイルとディレクトリがインストールされています。)
openmpi-bin を削除しています ...
dpkg: 依存関係の問題により、openmpi-g95 の削除ができません:
gtool5-g95 は以下に依存 (depends) します: openmpi-g95.
dpkg: openmpi-g95 の処理中にエラーが発生しました (--remove):
依存関係の問題 - 削除しません
openmpi-checkpoint を削除しています ...
man-db のトリガを処理しています ...
以下のパッケージの処理中にエラーが発生しました:
openmpi-g95
# dpkg -P openmpi-g95
dpkg: 依存関係の問題により、openmpi-g95 の削除ができません:
gtool5-g95 は以下に依存 (depends) します: openmpi-g95.
dpkg: openmpi-g95 の処理中にエラーが発生しました (--purge):
依存関係の問題 - 削除しません
以下のパッケージの処理中にエラーが発生しました:
openmpi-g95
# dpkg -P gtool5-g95
(データベースを読み込んでいます ... 現在 202191 個のファイルとディレクトリがインストールされています。)
gtool5-g95 を削除しています ...
dpkg: 警告: gtool5-g95 の削除中、ディレクトリ '/usr/lib/gtool5-g95/bin' が空でないため削除できませんでした。
dpkg: 警告: gtool5-g95 の削除中、ディレクトリ '/usr/lib/gtool5-g95' が空でないため削除できませんでした。
# dpkg -P gtool5-g95
dpkg: 警告: インストールされていない gtool5-g95 を削除する要求を無視します。
# dpkg -P openmpi-g95
(データベースを読み込んでいます ... 現在 202064 個のファイルとディレクトリがインストールされています。)
openmpi-g95 を削除しています ...
openmpi-g95 の設定ファイルを削除しています ...
man-db のトリガを処理しています ...
# apt-get -f install
GRUB 2 へアップグレードする
GRUB 2 が動くことを確認し, GRUB 2 へアップグレードする.
# upgrade-from-grub-legacy
GRUB 2 をインストールするデバイスを尋ねられたので, ターミナルを新たに立ち上げ df で調べると,
katon@redspot:~$ df -h
Filesystem Size Used Avail Use% マウント位置
/dev/sda1 46G 8.8G 35G 21% /
/dev/sda3 1.3T 558G 703G 45% /home
のように, / は sda1 であることがわかったので,
とした.
rebootして, 最初にGRUB 2になっていることを確認.
これで無事にアップグレード作業は終了!
$ uname -a
Linux redspot 2.6.32-5-686 #1 SMP Wed Jan 12 04:01:41 UTC 2011 i686 GNU/Linux
旧カーネル、旧パッケージの削除
- # 旧カーネル削除
- # 必要とされていないパッケージを削除する。
# apt-get autoremove
2011-03-02
usb に live イメージを焼く
DVD の差分を USB メモリに保存する方法で, usb に live イメージを焼いたときの作業メモです.
1. usb を接続し, アンマウントする
# umount /dev/sde1 /dev/sde2
2. dd でイメージを書き込む
"dennou_live_current.img"というイメージを, /dev/sde に書き込む.
# dd if=dennou_live_current.img of=/dev/sde
これで起動フラグのたった /dev/sde1 と残りの空領域ができる.
3. この空き領域にパーティションを作成
# fdisk /dev/sde
- p: パーティション情報を表示
- n: 新しい領域を作成する
- Command action: "p primary partition (1-4)" を選択
- Partition number (1-4): 2 を選択
- First cylinder (18385-61151, default 18385): # default のまま(Enter)
- Last cylinder, +cylinders or +size{K,M,G} (18385-61151, default 61151): # default のまま(Enter)
- l: 設定可能なパーティション・タイプを表示する
- t: パーティションのコードを変更する
- Partition number (1-4): 2 を選択
- Hex code (type L to list codes): 83 ← Linux領域に指定
- p: パーティション情報を表示(設定が反映されたか確認)
- w: 情報を書き込んで終了する
4. ファイルシステムを構築する(ext4)
# mkfs.ext4 /dev/sde2
5. ラベルをつける
# e2label /dev/sde2 live-rw
6. ラベルを確認
# e2label /dev/sde2
live-rw
以上で終了.
2011-03-01
Linux で usb が sd* であるかを調べる方法
1. usb を接続すると, 勝手にマウントされた場合
$ df
2. usb を接続しても勝手にマウントされない場合
[5592256.194755] scsi3 : SCSI emulation for USB Mass Storage devices
[5592261.380888] scsi 3:0:0:0: Direct-Access Kingston DataTraveler G2 1.00 PQ: 0 ANSI: 2
3:0:0:0: が Kingston DataTraveler G2 という USB であることがわかる.
次に,
[5592261.387735] sdg: sdg1
[5592261.387735] sd 3:0:0:0: [sdg] Attached SCSI removable disk
から, 3:0:0:0: は [sdg] であることがわかる.
2011-02-27
vmware で Debian lenny から squeeze へアップグレード
デスクトップの Debian lenny を squeeze へアップグレードする前に, 実験的にノートPCの普段使っていない vmware 上でアップグレードを試してみた.
システムの最小アップグレード後にネットワークが繋がらなったり, dist-upgrade 後に再起動するとマウスのカーソルが動かなくなったりしてハマったがなんとか解決できた.
ということで, 以下に作業ログを記しておく.
バックアップ
以下のディレクトリの中身をバックアップすることが推奨されている.
- /etc
- /var/lib/dpkg
- /var/lib/apt/extended_states の中身、
- dpkg --get-selections "*" (引用符を忘れてはいけません) の出力
- /var/lib/aptitude/pkgstates
splashy パッケージを削除
- bug #512951 のため、アップグレードの前に splashy パッケージを完全削除 (purge) しておく必要があります。
# apt-get purge splashy
パッケージ splashy はインストールされていなかったようだ.
パッケージリストを更新
# apt-get update
古いロケールから UTF-8 へアップグレードする
# dpkg-reconfigure locales
ロケールが既に ja_JP.UTF-8 UTF-8 になっていることを確認した.
パッケージの状態をチェック
インストールが未完了のパッケージ (Half-Installed) や設定に失敗したパッケージ (Failed-Config)、何らかのエラー状態にあるパッケージを表示
# dpkg --audit
パッケージが hold 状態になっていないか確認
# aptitude search "~ahold" | grep "^.h"
# dpkg --get-selections | grep hold
これらのコマンド後, 何も出力されないことを確認.
APT の取得先 (ソース) の準備
アップグレードを始める前に, apt の設定ファイル /etc/apt/sources.list の "lenny" の部分を "squeeze" に書き換えた.
セッションの記録
# script -t 2>~/upgrade-squeeze.time -a ~/upgrade-squeeze.script
パッケージリストの更新
# apt-get update
システムの最小アップグレード
# apt-get upgrade
今回は, アップグレード方法は aptitude ではなく, apt-get が推奨されているらしい.
Debian GNU/Linux の前回のリリースからのお勧めのアップグレード方法は、パッケージ管理ツール apt-get を用いる方法です。前回のリリースでは、この作業には aptitude が推奨されていましたが、apt-get の最近のバージョンでは同等の機能が提供されており、さらにより高い整合性により望ましいアップグレード結果をもたらします。
カーネルと udev のアップグレード
lenny から squeeze への dist-upgrade を実行する際には、新しい linux-image-2.6-* メタパッケージをインストールすることが推奨されていた.
しかし, このパッケージは dist-upgrade の過程で自動的にインストールされていた. 以下のコマンドで確認.
# dpkg -l "linux-image*" | grep ^ii
ii linux-image-2.6-686 2.6.26+17+lenny1 Linux 2.6 image on PPro/Celeron/PII/PIII/P4
ii linux-image-2.6.26-1-686 2.6.26-13lenny2 Linux 2.6.26 image on PPro/Celeron/PII/PIII/
ii linux-image-2.6.26-2-686 2.6.26-21lenny4 Linux 2.6.26 image on PPro/Celeron/PII/PIII/
- 新しい udev をインストール
# apt-get install udev
システムを再起動
# reboot
再起動後ネットワークがつながらない問題への対処
再起動後ネットワークがつながらなくなった. ジタバタした結果,
/etc/network/interfaces の中の dhcp 設定の記述
iface eth0 inet dhcp
がない(なくなった?)ことが問題だったようだ.
そこで, 以下のように /etc/network/interfaces を書き換えた.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp # この1行を追記
ちなみに, eth* が eth0 であることは dmeseg で以下のように確認した.
# dmeseg | grep eth0
[ 4.252125] eth0: registered as PCnet/PCI II 79C970A
- 仮想マシンの設定のネットワークアダプタは NAT にしておいた.
システムのアップグレード
# apt-get dist-upgrade
- 以下のパッケージの処理中にエラーが発生しました:
/var/cache/apt/archives/libnumru-misc-ruby1.8_0.1.0-1_all.deb
/var/cache/apt/archives/libnumru-units-ruby1.8_1.5-1_all.deb
/var/cache/apt/archives/libnumru-met-ruby1.8_0.0.2-5_all.deb
W: Duplicate sources.list entry http://security.debian.org squeeze/updates/main Packages (/var/lib/apt/lists/security.debian.org_dists_squeeze_updates_main_binary-i386_Packages)
マウスのカーソルが動かない問題
インストールは無事終了したので再起動してみると, 起動してログインはできるが, マウスのカーソルが動かなくなっていた. ここによると
以下の3点に気をつければマウスが使えるようになる.
- VMware Toolsのマウスを使用するには、X11の vmmouse というドライバ( xserver-xorg-input-vmmouse )が必要である。
- vmmouseを認識するには、vmmouse_detectから呼ばれるmdetectというコマンドが必要である。
- /etc/X11/xorg.confのvmmouseの設定のところに、optionで、「CorePointer」の指定が必要である。
まず, safe モードで起動して,
# apt-get install mdetect
/etc/X11/xorg.conf を編集し Option "CorePointer" の 1行を追記.
Section "InputDevice"
Identifier "VMware Mouse"
Driver "vmmouse"
Option "CorePointer" # この1行を追記
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
GRUB 2 へアップグレードする
GRUB 2 が動くことを確認し, GRUB 2 へアップグレードする.
# upgrade-from-grub-legacy
GRUB 2 をインストールするデバイスを尋ねられたので, ターミナルを新たに立ち上げ df で調べると,
$ df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 7850996 6930240 521944 93% /
のように, / は sda1 であることがわかったのでそれを選択.
rebootして, 最初にGRUB 2になっていることを確認.
これで無事にアップグレード作業は終了!
旧カーネル、旧パッケージの削除
- # 旧カーネル削除
# apt-get purge linux-image-2.6.26-1-686
- # 必要とされていないパッケージを削除する。
# apt-get autoremove
2011-02-22
gpcut の使い方
gp コマンド | |
![]()
gpcut is command line tools for extract, slicing and thinning a GPhys variables.
使い方
% gpcut [options] path@varname[,dimname=pos1[:pos2[:thinning_intv[,dimname=...
(例)y, z, t の次元を持つ U.nc@U の t=0 のデータを切りだして新たに U0.nc として出力
$ gpcut -o U0.nc U.nc@U,t=0
OPTIONS
- -m dim, --mean dim :平均
- -o file :output fileの指定
- デフォルトの output の名前は 'gphys.nc'.
Dropbox を使った Linux と Windows のファイル共有
Linux(Debian) から Windows へファイルのやりとりは, オンラインストレージの Dropbox を使っています.
例えば, Linux で描いた図を Windows 側に持ってきて, パワーポイントに張り付けたい時に使っています. 以前は Winscp を使っていましたが, dropbox を使ったほうが楽だと思います.
Windows と Linux の両方に dropbox をインストールしておけば, Linux 側で hoge.png という図を描いて, Windows に送りたいときは
としてしばらくすると, Windows 側の "My Dropbox" というフォルダの中に hoge.png が同期されます.
Windows側
Windows 側のインストールはインストーラーに任せれば簡単だと思います.
Linux側
Linux 側は、debian lenny では ubuntu 用のパッケージでインストールできました.
同期の開始を忘れずに.
$ dropbox start
登録はこちら
ここから 登録すれば 2GB もらえます.
自分も 250MB もらえるので是非登録してみてください.
伊藤耕介
登録したけど、すんたげ(秋田弁で非常に)便利ですね。
こういうのが欲しかった。
あと、D論終わったのに全然暇になる気配が無いorz
精神的に余裕があるだけましかもしれませんが。
伊藤耕介
登録したけど、しんたげ(秋田弁でとても)便利です。
教えてくれてありがとう。
cpn
>伊藤君
どういたしましてです。
そして、秋田弁講座ありがとう(笑)
D論後はなかなか休めないものなのだね。
がんばっていきましょう!
伊藤
二重投稿になってしまいました。すぐに反映されてなかったもので。ちなみに、秋田弁には「し」と「す」の区別がないので、「しんたげ」と「すんたげ」は同義です。
2011-02-05
Asay-Davis et al., ICARUS (2011) / Changes in Jupiter’s zonal velocity between 1979 and 2008
論文 | |
![]()
Changes in Jupiter’s zonal velocity between 1979 and 2008
Research highlights
García-Melendo et al., ICARUS (2011) / Dynamics of Jupiter’s equatorial region at cloud top level from Cassini and HST images
論文 | |
![]()
Dynamics of Jupiter’s equatorial region at cloud top level from Cassini and HST images
Research highlights
Showman et al., ICARUS (2011) / Scaling laws for convection and jet speeds in the giant planets
論文 | |
![]()
Scaling laws for convection and jet speeds in the giant planets
Research highlights
Morales-Juberías et al., ICARUS (2011) / Emergence of polar-jet polygons from jet instabilities in a Saturn model
論文 | |
![]()
Emergence of polar-jet polygons from jet instabilities in a Saturn model
Research highlights
- 東西風のジェットの力学的な不安定が非線形的に平衡に達したとき, 安定な六角形の構造が強制なしに出現しうる.
- ある与えられたジェットの振幅に対して, 支配的な東西波数はジェットのピークの曲率に最も依存する.
- 我々のシミュレーションにおいてジェットの安定な多角形の形は, 低気圧性渦と高気圧性渦がジェットの極側と赤道側にずれて並ぶことで形成される.
アブストより
読む前の疑問(今後の課題)
- 強制なしにジェットが平衡に達するということは、粘性はほどんど効かないのか?
- 多角形の東西波数はジェットの曲率に依存とあるが、ジェットの南北構造はどう与えているか?
2011-01-10
gpvect コマンドの使用例(ベクトルをコンター, カラーに重ね描きする)
自分の gpvect コマンドの使用例を載せておきます(半分メモ代わりです)。
gpvect ってなに?って人はこちら。
実は自分も gpvect を知ったのはつい最近で、今まではずっと ggraph で書いてました(笑)
でも、クイックビューには gpコマンド が便利ですね。
例えば、
など。時間変化をちょっと見たいときとか便利です。
使用例
早速ですが、使用例はこちら。
gpvect --slice z=-100e3,t=0:100:5 --scalar EPV.nc@EPV VelX.nc@VelX VelY.nc@VelY --xintv 3 --yintv 3 --factor 3 --unit_vect --anim t --wsn 4
- --slice で切り出しの範囲を指定することができる. 全ての変数で xx@xx,z=-100e3,t=0:100:5 と指定せずに済むことになり楽
- --scalar オプションを付けることで1番目に指定した EPV のコンターとトーンを描く
- 2番目と3番目の変数(VelX, VelY)がベクトルとして描かれる
- --xintv 3 , --yintv 3 :間引き間隔の指定
- --factor 3 :ベクトルの長さを3倍する
- --unit_vect :単位ベクトルを描く
詳しい使い方は、
$ gpvect --help
を参照してください。
































今、研究室の後輩が dist-upgrade 中なので、エラーがあったら報告してもらうようにいってます。自分も、今から Desktopの方でアップグレード予定なので、エラーが出たらご報告します。