ネットワークのトラフィック監視

Pocket

コマンドでの監視限定

このへんが良さそう

詳しくは見てないがコマンド実行するだけで、なんとなくわかる。

ざっと調べただけで結構あった。

Pocket

ubuntu nexus7 calibreで電子書籍

Pocket

nexus7を買ったが、家でちょっとニュースを見たりとか程度で、イマイチ有効活用していなかった。

外出時に使いたいのだが、テザリング環境が整ってないため、出先ではゲームをやるくらいしか使い道がなくなんか良い使い道ないかなーと悶々としていた。

nexus7の電子書籍としての用途は、マンガを読んだ程度だが、サイズ的にも丁度いいし外出先で電子書籍見れないかなーと考えたところcalibreという電子書籍管理ソフトがいいらしい。

電子書籍だけなら、普通にkindle for androidとかのソフトを入れて持ちだせばいいのだけど、それだとamazonで売っている電子書籍だけで、自分がネットから集めたPDFファイルなんかを読むことが出来無い。

他のビューワーでいいじゃんてなりそうだが、kindle for androidの英和辞書機能が非常に優秀で、自分で集めた英語の技術文書なんかもkindle for androidで読みたくてcalibreの導入を決めた。

例によって自分のクライアントPC環境は、ubuntuなのでインストール方法は、以下のコマンドで一発

ubuntu公式にもあるが、calibreは積極的に開発が進められている状況とのことなので、最新のものをインストールするようにした。

calibre本体は、/opt以下にインストールされる模様。

パッケージでインストールしないと、アンインストールはどうすんの?と細かいことを気にしてしまうが、明確な方法が見つからなかった。とりあえず暫定的に以下かな。

  • /opt/calibre/を削除
  • /usr/binのシンボリックリンクを削除

  • 後こいつらを削除?

とおもったら、
calibre-uninstall
ってコマンドがあった。rootのみ実行可能になっているから気が付かなかった。

上記コマンドは実行しておりません。

calibreはGUIがあるので特に使い方で難しいことはなさそうなのだが、

何点か躓いたので記載

  • ニュースが取得出来無い。「インターネット未接続」となる。
    network-managerがインストールされて使って無いとなる模様。自分の環境では、仮想環境のBridge設定などの関係で、network-managerは無効にして、/etc/network/interfacesに直書きしていた。この環境だとインターネット接続がな無いものと判断されてしまう。network-managerのアンインストールで回避。
  • nexus7にデータを送るとエラーになる。
    詳細は調べてないのですが、nexus7のUSBデバッグをONにしたことで回避したのかもしれない。自分のnexus7は、android 4.2にアップデートしたのだが、【{ } 開発者向けオプション】を表示するのに躓いた。
    【設定】->【タブレット情報】の【ビルド情報】を7回タップする。うーん。そりゃわからん。

まだ少ししか使って無いが、calibreの良い点としては、

  • 辞書が便利
    kindleの機能ではあるが、calibreから英語のepubとかを渡すととっても便利
  • ニュースが便利
    端末内に保存してくれるので、外出先でも読めて非常に便利
  • フォーマット変換が便利
    PDFをmobiに変換とかがGUIで出来る。ただ、PDFからの変換は、結構見た目が崩れるのでPDFのままの方が無難

逆に悪い点としては、

  • PDFだと辞書が使えない。しおりが使えない。読み込みが遅い。
    またまたkindle側の問題ですが、なんとかしてほしい。
  • フォーマット変換がよく失敗する
    細かいところは、調べてませんが結構頻発します。

いろいろありますが、kindle for androidを使うならほぼ必須のソフトじゃないかなって思います。

Pocket

ubuntu 12.04で、プロプライエタリなfglrxをインストール

Pocket

ubuntu 12.10も出ておりますが、12.04での作業。

既に何度かやっているが、バージョンアップ後にまた忘れそうなのでamd(旧ATI)のGPUドライバーのインストールを自分用にメモ。

ubuntuのリポジトリにも、fglrxとしてパッケージがあるが、amdから最新のものをインストールする。

自分の環境は、Fusion E-450で内蔵GPUは、AMD Radeon HD 6320となる。

  • まず、ubuntu公式のものは、躊躇なく削除

  • AMDからドライバのダウンロード

このサイトから最新のものをダウンロード。因みに自分は、amd64のOSをインストールしているので64ビット版をダウンロードする。

  • ダウンロードしたファイルを解凍する。

  • 必要なパッケージをインストールする

  • ubuntu用のパッケージを作る

  • 出来たパッケージをインストールする

  • xorg.confの初期化

  • 再起動する

で運が良ければ、プロプライエタリドライバで起動してくる。

  • fglrxinfoで確認

こんな感じ

fglrxinfoは、ssh接続からだとうまく行かないので実機でやる必要がある。

export DISPLAY=”:0″

をセットしとくとうまく行ったりしたが、実機でやるのが無難。

細かい設定は、amdcccleで行う。

Pocket

ubuntu 12.04(Precise Pangloin)でPPPoE-Server

Pocket

ubuntu 12.04(Precise Pangloin)で、PPPoE-Serverを建てる。

枯れた技術なので、他のバージョンでも、debianでも設定方法は変わらないと思う。

ルータなんかの設定をしていると、テスト環境でPPPoE出来たらいいなと思うことがしばしばある。

そんな時でもLinuxサーバが1台あれば、簡単にフレッツで提供されているような

PPPoEサーバを建てることができる。仮想環境で建てれば、仮想環境内でテストなんかが出来て非常に便利。

 

  • インストール

apt-getで一発

  • 設定

とりあえず require-pap だけ書いた。

 

  • 認証情報

ID: test

password: test

に、10.0.0.200のIPを渡します。って設定

  • PPPoEサーバの起動

eth0で起動して、自分は10.0.0.1で待ちます。って設定

あとは、eth0と同じネットワークにルータなりを繋いで
認証すれば接続OK。

サーバ側では、こんな感じになります。

eth0は、アドレス割り当てない方が良いのだろうけど
今回は使っております。

Pocket

ubuntu 12.10 アップデート後にランチャーが消えた

Pocket

Ubuntu 12.10(Quantal Quetzal)がリリースされたので、躊躇無くインストール。

見事不具合に遭遇した。

症状としては、ログイン後左側のランチャーや上部パネルが表示されない。

Alt + Tabの切り替えなども出来ず絶望的な状態。

「Ctrl + Alt + F1」でコンソールにアクセスして、

で、変数セットして

で、ターミナルを起動して、「Ctrl + Alt + F7」でGUIに戻って

ターミナルからなんとか、firefoxを起動してネットを見てたら以下のサイトにたどり着いた。

Unity missing? Can’t see top or side panels

とりあえず英語がよくわからないので、なんとなく雰囲気で以下を実行

一応雰囲気で、以下も実行

そして再起動後、なんとかランチャーなどが表示されるようになった。

radeonのプロプライエタリドライバの問題だろうか。

因みに自分の環境のlspci


ただランチャーのアイコンが、大きくなったり、自動で隠れなかったり
日本語フォントが変だったり、修正すべき箇所は多そうです。
Pocket

西岡利晃 vs ノニト・ドネア 結果

Pocket

ここ数カ月間の、自分の最大のウキウキ事である
西岡利晃 vs ノニト・ドネア
が、昨日行われた。

日本人の絶対チャンピオン、西岡利晃とP4P上位常連のノニト・ドネア。
下馬評やオッズでは、ドネア優位なのはわかっていたが、ある程度善戦はするだろうし
もしかして、敵地での劇的勝利などと淡い期待も持っていたのだが、
結果としては、完敗と言わざるを得ない内容だった。

序盤は、ドネアの左フックを警戒して、右ガードを上げて守り重視。
ただ、本当に守り一辺倒になってしまい、ジャブ含め圧倒的に
手数が少ない状況になってしまった。
ドネアフルマークの状況が続いた6回、徐々に打ち合いになって来た矢先に
警戒していた左フックではなく、左アッパーでダウンを奪われる。
フックを警戒してダッキングしたところへ、アッパーが的確にあたる。
また、西岡選手の足が揃っていたのも災いして、そのまま後ろへ尻餅を付く感じでマットへ。
ダメージによるダウンでは無いので、立ち上がった後も動きに変化はなく
逆に倒されたことで、西岡選手も吹っ切れたのか激しい打ち合いとなる。
その後もドネア優勢で続いた9回。西岡選手がドネアをロープ際に詰めて
右で距離を測って左ストレートを出すタイミングを伺っているところに
ドネアのストレートが炸裂し、この試合2度目のダウンとなる。
西岡選手は立ち上がり、レフェリーも再開させたが、セコンドがストップをかける。
後から知った話では、本田会長からの指示だったとのこと。
見てる側からだと、早いように思えたが、選手の体を気遣った結果
最適な止め時だったのだと思う。

スピード、パワー、テクニック、戦略、全てにおいてドネアに軍配があがる
そう思わされる試合内容だった。
スピード、特にハンドスピードに関してはドネアが優勢なのは
わかっていたが、西岡選手のテクニックや絶妙な間合いのとり方で
ドネアの良いところを潰して、ジャブからのモンスターレフトが徐々に炸裂する展開を
期待していたのだが、それは叶わなかった。

また、ドネアの出来も凄まじいものがあった。
スーパーバンタムに上がってからの試合は、相手の守勢も影響しているが
それまでの階級での凄さはイマイチ見えてなかったのだが
昨日のドネアはバンタムまでの凄さか、それ以上かと思わせるほどの出来だった。
体系的にも、元々ドネアは腕も細いし、腹回りも削ぎ落した筋肉といった感じではなく
ちょっとポッチャリとした感じだったが、昨日は腕回りの肉付きも今までと違ってがっしりしていて
腹回りもすごく綺麗に絞られている感じだった。やっと階級にあった体が出来て来たようだが
昨日の内容ならさらに2階級上でも戦える期待を持たせてくれる。

西岡サイドは、超絶左フックを警戒して、右ガードをがっちり上げ
前半は様子を見るという戦略だったようだが、結果としては右のリードが
まったく出せずドネアの攻撃を待つ状況が続いてしまい
圧倒的なポイントリードを与えてしまった。

ただ、見合って待っていると超絶スピードのコンビネーションが飛んでくるし
少しでも手を出せば、その3倍くらいの攻撃が返ってくるといった状況で
攻めても守っても八方塞がりな状況だった。

こうなるとどうしてもタラレバ論が出てくるのだが
早い回で、右ガードの左フック警戒は解いて従来のスタイルで
右のリードを出していたら、
あの超速コンビネーションに対して、勇気を出して
相打ち覚悟のパンチをあわせて、出鼻を止めていれば、
などと素人考えに思ってしまうのだが
もしそれが出来ていたとしても、逆に早い回でのKOリスクが
高まるし危険なのは分かるのだが、もう少し「もしかして」の期待が
持てたかなと無責任に思ってしまう。

その後の去就が気になるところですが、
本田会長は「もう引退」との意向を表明していますが
本人はまだ名言は避けているようです。
昨日の今日で、当然本人は勝つ気だったろうし
気持ちの整理が付かないんだとは思いますが
まだはっきりとしたことが言えないのは
続けたい気持ちが強いのかなと想像してしまいます。
西岡選手が、本当にボクシングが好きってことは
すごく分かりますし、ボクシングというスポーツに
なかなか辞められない魅力も強いんだと思います。

ただ、やはり体の事を第一に考えるなら
引退が最良の選択に思えてしまいます。

引退後は、地元尼崎にボクシングジムを作るのが夢のようですし
今後は素晴らしいボクサーの育成を願うばかりです。

テレビの解説などで、的確な解説と、非常に分かりやすい
ボクシング理論を展開されてますので、西岡イズムを受け継いだ
素晴らしいボクサーが生まれるのは容易に想像が付きます。

いつか、西岡さんが育てた名ボクサーが、
ホームデポセンターでタイトルマッチを行う
なんて日が来たらきっと涙でますね。

厚かましいこと書きましたが、進退は本人が決めることですので
どういった決断をされても今後の応援は変わりません。

なにより、本当にお疲れ様でした。
まずは十分に体を休めていただき、今後もボクシング界を
支えて行って欲しいと切に願います。

西岡選手、数々の感動ありがとう。

Pocket

プログラミングに最適なフォント Ricty をインストール

Pocket

前回、プログラミング時に最適なフォント「Inconsolata」 をインストールしたが、

Inconsolataと日本語フォントを組み合わせた、Rictyなるフォントがあるらしいのでそちらをインストール。

Ricty公式サイト

インストールは、公式サイトにて細かく説明されていて、それを参考にすれば特に困ることは無いと思う。

以下、自分の環境(ubuntu 12.04)でのインストール手順

・Fontforgeのインストール

テキトーなディレクトリを作って、そこで作業。

・Inconsolataの取得
公式サイトよりInconsolata.otfを取得

・Migu 1Mフォントの取得
M+とIPAの合成フォント よりMigu 1Mフォントを。
migu-1m-YYYYMMDD.zip

・Ricty生成スクリプトをダウンロード

Ricty公式サイトより

作業ディレクトリに、以下のファイルを用意

Inconsolata.otf

migu-1m-regular.ttf

migu-1m-bold.ttf

ricty_generator.sh

作業ディレクトリで、以下を実行

Ricty-Regular.ttf
Ricty-Bold.ttf
の2つのファイルが作成される。

これを個人的に使用する場合は、~/fonts/以下に配置。
ubuntuならNautilusで表示して、対象ファイルをダブルクリックすればフォントのインストールが可能。

システム全体に適用する場合は、/usr/share/fonts/truetype/以下にテキトーなディレクトリを作って配置。

適用する場合は、

RictyのReadmeにも書いてあるが、gnome-terminalで指定できない場合があるとのこと。
自分の環境でもダメだった。

その場合は、gconf-editor などで
~/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xmlの font を直接編集する必要がある。
編集したいプロファイルを変える場合は、Defaultの場所を変える。

以上で快適な、ターミナル環境が得られた。

Pocket

プログラミング時に最適なフォント「Inconsolata」

Pocket

ubuntu 12.04ならインストールは、apt-getで一発

後はgnome-terminalなどで、フォントを指定するだけ。

Pocket

readelfなんて使ったことないし、バイナリに弱すぎ

Pocket

C言語を挫折した人間なので、バイナリとかアセンブラとかは全く分からない。

スクリプト言語サイコーなのだが、どうしたってサーバを動かしていれば

C言語で書かれた、デーモンやら何やらでトラブルは起きる。

先日もデーモンプログラムで、どうも変な挙動をしていたのだが

古いプログラムで、しかもソースから入れていることもあって

なんとか自力で原因究明しなくてはならなくなった。

元々、デバッグ情報付きでコンパイルされてなく

オプションを付けてコンパイルしなくてはならなかったのだが

付けたはずのオプションが、どっかで無効になったのか

gdbで実行すると、デバッグ情報が無いよ! と怒られまくった。

デバッグ情報が付かなかったのは、Makefile内の修正箇所ミスだったのだが

都度gdbを実行してから怒られており、もっと簡単に知る方法はないのかと調査した。

 

  • 結果

[code]

$ readelf -S 実行ファイル

[/code]

だそうです。

 

  • 試しにやってみた

[code]

$ readelf -S httpd
There are 36 section headers, starting at offset 0x4f96dc:

Section Headers:
[Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
[ 0]                   NULL            00000000 000000 000000 00      0   0  0
[ 1] .interp           PROGBITS        08048114 000114 000013 00   A  0   0  1
[ 2] .note.ABI-tag     NOTE            08048128 000128 000020 00   A  0   0  4
[ 3] .hash             HASH            08048148 000148 009430 04   A  4   0  4
[ 4] .dynsym           DYNSYM          08051578 009578 015070 10   A  5   1  4
[ 5] .dynstr           STRTAB          080665e8 01e5e8 015ea1 00   A  0   0  1
[ 6] .gnu.version      VERSYM          0807c48a 03448a 002a0e 02   A  4   0  2
[ 7] .gnu.version_r    VERNEED         0807ee98 036e98 0000a0 00   A  5   3  4
[ 8] .rel.dyn          REL             0807ef38 036f38 000060 08   A  4   0  4
[ 9] .rel.plt          REL             0807ef98 036f98 0015c8 08   A  4   b  4
[10] .init             PROGBITS        08080560 038560 0000e7 00  AX  0   0 16
[11] .plt              PROGBITS        08080648 038648 002ba0 04  AX  0   0  4
[12] .text             PROGBITS        08083200 03b200 0f73a4 00  AX  0   0 64
[13] .fini             PROGBITS        0817a5a4 1325a4 00001b 00  AX  0   0  4
[14] .rodata           PROGBITS        0817a5c0 1325c0 043ddc 00   A  0   0 32
[15] .eh_frame_hdr     PROGBITS        081be39c 17639c 00004c 00   A  0   0  4
[16] .eh_frame         PROGBITS        081be3e8 1763e8 00021c 00   A  0   0  4
[17] .data             PROGBITS        081bf620 176620 011640 00  WA  0   0 32
[18] .dynamic          DYNAMIC         081d0c60 187c60 000118 08  WA  5   0  4
[19] .ctors            PROGBITS        081d0d78 187d78 000008 00  WA  0   0  4
[20] .dtors            PROGBITS        081d0d80 187d80 000008 00  WA  0   0  4
[21] .jcr              PROGBITS        081d0d88 187d88 000004 00  WA  0   0  4
[22] .got              PROGBITS        081d0d8c 187d8c 000af4 04  WA  0   0  4
[23] .bss              NOBITS          081d1880 188880 00822c 00  WA  0   0 32
[24] .comment          PROGBITS        00000000 188880 0059cd 00      0   0  1
[25] .debug_aranges    PROGBITS        00000000 18e250 000b18 00      0   0  8
[26] .debug_pubnames   PROGBITS        00000000 18ed68 00c7a5 00      0   0  1
[27] .debug_info       PROGBITS        00000000 19b50d 2ee565 00      0   0  1
[28] .debug_abbrev     PROGBITS        00000000 489a72 0125c5 00      0   0  1
[29] .debug_line       PROGBITS        00000000 49c037 02d6a8 00      0   0  1
[30] .debug_frame      PROGBITS        00000000 4c96e0 0101f0 00      0   0  4
[31] .debug_str        PROGBITS        00000000 4d98d0 01cc33 01  MS  0   0  1
[32] .debug_ranges     PROGBITS        00000000 4f6503 003090 00      0   0  1
[33] .shstrtab         STRTAB          00000000 4f9593 000147 00      0   0  1
[34] .symtab           SYMTAB          00000000 4f9c7c 0208b0 10     35 b85  4
[35] .strtab           STRTAB          00000000 51a52c 025b11 00      0   0  1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)

[/code]

.debug_infoというセクションが有ると、デバッグ情報付きです。

とあるapacheはデバッグ情報付きでした。

[code]

$ readelf -S /usr/lib/firefox/firefox
There are 29 section headers, starting at offset 0x12180:

Section Headers:
[Nr] Name              Type             Address           Offset
Size              EntSize          Flags  Link  Info  Align
[ 0]                   NULL             0000000000000000  00000000
0000000000000000  0000000000000000           0     0     0
[ 1] .interp           PROGBITS         0000000000000270  00000270
000000000000001c  0000000000000000   A       0     0     1
[ 2] .note.ABI-tag     NOTE             000000000000028c  0000028c
0000000000000020  0000000000000000   A       0     0     4
[ 3] .note.gnu.build-i NOTE             00000000000002ac  000002ac
0000000000000024  0000000000000000   A       0     0     4
[ 4] .gnu.hash         GNU_HASH         00000000000002d0  000002d0
0000000000000174  0000000000000000   A       5     0     8
[ 5] .dynsym           DYNSYM           0000000000000448  00000448
0000000000000a20  0000000000000018   A       6     3     8
[ 6] .dynstr           STRTAB           0000000000000e68  00000e68
000000000000082e  0000000000000000   A       0     0     1
[ 7] .gnu.version      VERSYM           0000000000001696  00001696
00000000000000d8  0000000000000002   A       5     0     2
[ 8] .gnu.version_r    VERNEED          0000000000001770  00001770
0000000000000110  0000000000000000   A       6     6     8
[ 9] .rela.dyn         RELA             0000000000001880  00001880
00000000000003a8  0000000000000018   A       5     0     8
[10] .rela.plt         RELA             0000000000001c28  00001c28
0000000000000570  0000000000000018   A       5    12     8
[11] .init             PROGBITS         0000000000002198  00002198
0000000000000018  0000000000000000  AX       0     0     4
[12] .plt              PROGBITS         00000000000021b0  000021b0
00000000000003b0  0000000000000010  AX       0     0     16
[13] .text             PROGBITS         0000000000002560  00002560
000000000000ad68  0000000000000000  AX       0     0     16
[14] .fini             PROGBITS         000000000000d2c8  0000d2c8
000000000000000e  0000000000000000  AX       0     0     4
[15] .rodata           PROGBITS         000000000000d2e0  0000d2e0
0000000000000ef4  0000000000000000   A       0     0     16
[16] .eh_frame_hdr     PROGBITS         000000000000e1d4  0000e1d4
0000000000000784  0000000000000000   A       0     0     4
[17] .eh_frame         PROGBITS         000000000000e958  0000e958
0000000000002504  0000000000000000   A       0     0     8
[18] .tbss             NOBITS           0000000000211a20  00011a20
0000000000000009  0000000000000000 WAT       0     0     8
[19] .ctors            PROGBITS         0000000000211a20  00011a20
0000000000000010  0000000000000000  WA       0     0     8
[20] .dtors            PROGBITS         0000000000211a30  00011a30
0000000000000010  0000000000000000  WA       0     0     8
[21] .jcr              PROGBITS         0000000000211a40  00011a40
0000000000000008  0000000000000000  WA       0     0     8
[22] .data.rel.ro      PROGBITS         0000000000211a50  00011a50
0000000000000178  0000000000000000  WA       0     0     16
[23] .dynamic          DYNAMIC          0000000000211bc8  00011bc8
0000000000000200  0000000000000010  WA       6     0     8
[24] .got              PROGBITS         0000000000211dc8  00011dc8
0000000000000238  0000000000000008  WA       0     0     8
[25] .data             PROGBITS         0000000000212000  00012000
0000000000000070  0000000000000000  WA       0     0     16
[26] .bss              NOBITS           0000000000212070  00012070
00000000000003b8  0000000000000000  WA       0     0     16
[27] .gnu_debuglink    PROGBITS         0000000000000000  00012070
000000000000000c  0000000000000000           0     0     1
[28] .shstrtab         STRTAB           0000000000000000  0001207c
00000000000000fe  0000000000000000           0     0     1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)

[/code]

ubuntu 12.04 amd64にパッケージで入れたfirefoxは.debug_infoというセクションはありません。

.gnu_debuglink があやしい気がしますが詳細は調べてません。

 

Pocket

コマンドでusbデバイスを操作

Pocket

ubuntu12.04で確認

今回は、/dev/sdbにマウントされているUSB HDDを操作したい。

USB IDを調べる

 

 

 

2-2が重要

最初の2がUSBバスID
後ろの2がデバイスID
らしい

unbind

 

 

bind

 

 

 

nautilusでUSBデバイスを、アンマウントした時
いちいちデバイスの抜き差ししなくても済む。

Pocket