コマンドでの監視限定
このへんが良さそう
1 2 3 4 |
$ sudo apt-get install tcptrack $ sudo apt-get install dstat $ sudo apt-get install iptraf $ sudo apt-get install iftop |
詳しくは見てないがコマンド実行するだけで、なんとなくわかる。
ざっと調べただけで結構あった。
nexus7を買ったが、家でちょっとニュースを見たりとか程度で、イマイチ有効活用していなかった。
外出時に使いたいのだが、テザリング環境が整ってないため、出先ではゲームをやるくらいしか使い道がなくなんか良い使い道ないかなーと悶々としていた。
nexus7の電子書籍としての用途は、マンガを読んだ程度だが、サイズ的にも丁度いいし外出先で電子書籍見れないかなーと考えたところcalibreという電子書籍管理ソフトがいいらしい。
電子書籍だけなら、普通にkindle for androidとかのソフトを入れて持ちだせばいいのだけど、それだとamazonで売っている電子書籍だけで、自分がネットから集めたPDFファイルなんかを読むことが出来無い。
他のビューワーでいいじゃんてなりそうだが、kindle for androidの英和辞書機能が非常に優秀で、自分で集めた英語の技術文書なんかもkindle for androidで読みたくてcalibreの導入を決めた。
例によって自分のクライアントPC環境は、ubuntuなのでインストール方法は、以下のコマンドで一発
1 |
$ sudo python -c "import sys; py3 = sys.version_info[0] > 2; u = __import__('urllib.request' if py3 else 'urllib', fromlist=1); exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read()); main()" |
ubuntu公式にもあるが、calibreは積極的に開発が進められている状況とのことなので、最新のものをインストールするようにした。
calibre本体は、/opt以下にインストールされる模様。
パッケージでインストールしないと、アンインストールはどうすんの?と細かいことを気にしてしまうが、明確な方法が見つからなかった。とりあえず暫定的に以下かな。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
$ cd /usr/bin/ $ ls -l |grep "/opt/calibre" lrwxrwxrwx 1 root root 20 11月 19 16:00 calibre -> /opt/calibre/calibre lrwxrwxrwx 1 root root 30 11月 19 16:00 calibre-customize -> /opt/calibre/calibre-customize lrwxrwxrwx 1 root root 26 11月 19 16:00 calibre-debug -> /opt/calibre/calibre-debug lrwxrwxrwx 1 root root 29 11月 19 16:00 calibre-parallel -> /opt/calibre/calibre-parallel lrwxrwxrwx 1 root root 27 11月 19 16:00 calibre-server -> /opt/calibre/calibre-server lrwxrwxrwx 1 root root 25 11月 19 16:00 calibre-smtp -> /opt/calibre/calibre-smtp lrwxrwxrwx 1 root root 22 11月 19 16:00 calibredb -> /opt/calibre/calibredb lrwxrwxrwx 1 root root 26 11月 19 16:00 ebook-convert -> /opt/calibre/ebook-convert lrwxrwxrwx 1 root root 25 11月 19 16:00 ebook-device -> /opt/calibre/ebook-device lrwxrwxrwx 1 root root 23 11月 19 16:00 ebook-meta -> /opt/calibre/ebook-meta lrwxrwxrwx 1 root root 25 11月 19 16:00 ebook-viewer -> /opt/calibre/ebook-viewer lrwxrwxrwx 1 root root 21 11月 19 16:00 epub-fix -> /opt/calibre/epub-fix lrwxrwxrwx 1 root root 33 11月 19 16:00 fetch-ebook-metadata -> /opt/calibre/fetch-ebook-metadata lrwxrwxrwx 1 root root 20 11月 19 16:00 lrf2lrs -> /opt/calibre/lrf2lrs lrwxrwxrwx 1 root root 22 11月 19 16:00 lrfviewer -> /opt/calibre/lrfviewer lrwxrwxrwx 1 root root 20 11月 19 16:00 lrs2lrf -> /opt/calibre/lrs2lrf lrwxrwxrwx 1 root root 29 11月 19 16:00 markdown-calibre -> /opt/calibre/markdown-calibre lrwxrwxrwx 1 root root 21 11月 19 16:00 web2disk -> /opt/calibre/web2disk |
1 2 3 4 5 6 7 8 9 10 11 12 |
/usr/share/app-install/desktop/calibre:calibre.desktop /usr/share/app-install/desktop/calibre:lrfviewer.desktop /usr/share/app-install/icons/calibre.png /usr/share/applications/calibre-ebook-viewer.desktop /usr/share/applications/calibre-gui.desktop /usr/share/applications/calibre-lrfviewer.desktop /usr/share/bash-completion/calibre /usr/share/icons/hicolor/128x128/apps/calibre-viewer.png /usr/share/icons/hicolor/256x256/apps/calibre-gui.png /usr/share/mime/packages/calibre-mimetypes.xml ~/.config/calibre |
とおもったら、
calibre-uninstall
ってコマンドがあった。rootのみ実行可能になっているから気が付かなかった。
上記コマンドは実行しておりません。
calibreはGUIがあるので特に使い方で難しいことはなさそうなのだが、
何点か躓いたので記載
1 |
$ sudo apt-get remove network-manager |
まだ少ししか使って無いが、calibreの良い点としては、
逆に悪い点としては、
いろいろありますが、kindle for androidを使うならほぼ必須のソフトじゃないかなって思います。
ubuntu 12.10も出ておりますが、12.04での作業。
既に何度かやっているが、バージョンアップ後にまた忘れそうなのでamd(旧ATI)のGPUドライバーのインストールを自分用にメモ。
ubuntuのリポジトリにも、fglrxとしてパッケージがあるが、amdから最新のものをインストールする。
自分の環境は、Fusion E-450で内蔵GPUは、AMD Radeon HD 6320となる。
1 |
$ sudo apt-get remove --purge fglrx fglrx-amdcccle fglrx-updates fglrx-amdcccle-updates |
このサイトから最新のものをダウンロード。因みに自分は、amd64のOSをインストールしているので64ビット版をダウンロードする。
1 |
$ unzip amd-driver-installer-catalyst-12.10-x86.x86_64.zip |
1 |
$ sudo apt-get install dh-make dh-modaliases execstack |
1 |
$ sudo sh amd-driver-installer-catalyst-12.10-x86.x86_64.run --buildpkg Ubuntu/precise |
1 |
$ sudo dpkg -i fglrx*.deb |
1 |
$ sudo aticonfig --initial |
で運が良ければ、プロプライエタリドライバで起動してくる。
1 2 3 4 5 |
$ fglrxinfo display: :0 screen: 0 OpenGL vendor string: Advanced Micro Devices, Inc. OpenGL renderer string: AMD Radeon HD 6320 Graphics OpenGL version string: 4.2.11931 Compatibility Profile Context |
こんな感じ
fglrxinfoは、ssh接続からだとうまく行かないので実機でやる必要がある。
export DISPLAY=”:0″
をセットしとくとうまく行ったりしたが、実機でやるのが無難。
細かい設定は、amdcccleで行う。
ubuntu 12.04(Precise Pangloin)で、PPPoE-Serverを建てる。
枯れた技術なので、他のバージョンでも、debianでも設定方法は変わらないと思う。
ルータなんかの設定をしていると、テスト環境でPPPoE出来たらいいなと思うことがしばしばある。
そんな時でもLinuxサーバが1台あれば、簡単にフレッツで提供されているような
PPPoEサーバを建てることができる。仮想環境で建てれば、仮想環境内でテストなんかが出来て非常に便利。
1 |
$ sudo apt-get install pppoe |
apt-getで一発
1 2 |
$ sudo cat pppoe-server-options require-pap |
とりあえず require-pap だけ書いた。
1 2 |
$ sudo cat /etc/ppp/pap-secrets test * "test" 10.0.0.200 |
ID: test
password: test
に、10.0.0.200のIPを渡します。って設定
1 |
$ sudo pppoe-server -I eth0 -L 10.0.0.1 |
eth0で起動して、自分は10.0.0.1で待ちます。って設定
あとは、eth0と同じネットワークにルータなりを繋いで
認証すれば接続OK。
サーバ側では、こんな感じになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$ ifconfig eth0 Link encap:イーサネット ハードウェアアドレス inetアドレス:192.168.0.100 ブロードキャスト:192.168.0.255 マスク:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 メトリック:1 RXパケット:9766 エラー:0 損失:1 オーバラン:0 フレーム:0 TXパケット:4679 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:1000 RXバイト:3331253 (3.3 MB) TXバイト:788502 (788.5 KB) 割り込み:11 ベースアドレス:0xc000 lo Link encap:ローカルループバック inetアドレス:127.0.0.1 マスク:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 メトリック:1 RXパケット:1 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:1 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:0 RXバイト:112 (112.0 B) TXバイト:112 (112.0 B) ppp0 Link encap:Point-to-Pointプロトコル inetアドレス:10.0.0.1 P-t-P:10.0.0.200 マスク:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1454 メトリック:1 RXパケット:42 エラー:0 損失:0 オーバラン:0 フレーム:0 TXパケット:3 エラー:0 損失:0 オーバラン:0 キャリア:0 衝突(Collisions):0 TXキュー長:3 RXバイト:2569 (2.5 KB) TXバイト:54 (54.0 B) |
eth0は、アドレス割り当てない方が良いのだろうけど
今回は使っております。
Ubuntu 12.10(Quantal Quetzal)がリリースされたので、躊躇無くインストール。
見事不具合に遭遇した。
症状としては、ログイン後左側のランチャーや上部パネルが表示されない。
Alt + Tabの切り替えなども出来ず絶望的な状態。
「Ctrl + Alt + F1」でコンソールにアクセスして、
1 |
$ export DISPLAY=:0 |
で、変数セットして
1 |
$ gnome-terminal |
で、ターミナルを起動して、「Ctrl + Alt + F7」でGUIに戻って
ターミナルからなんとか、firefoxを起動してネットを見てたら以下のサイトにたどり着いた。
Unity missing? Can’t see top or side panels
とりあえず英語がよくわからないので、なんとなく雰囲気で以下を実行
1 |
$ sudo apt-get purge fglrx lightdm && sudo apt-get install lightdm ubuntu-desktop |
一応雰囲気で、以下も実行
1 |
$ dconf reset -f /org/compiz/ |
そして再起動後、なんとかランチャーなどが表示されるようになった。
radeonのプロプライエタリドライバの問題だろうか。
因みに自分の環境のlspci
1 2 |
$ lspci |grep VGA 01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV620 LE [Radeon HD 3450] |
ここ数カ月間の、自分の最大のウキウキ事である
西岡利晃 vs ノニト・ドネア
が、昨日行われた。
日本人の絶対チャンピオン、西岡利晃とP4P上位常連のノニト・ドネア。
下馬評やオッズでは、ドネア優位なのはわかっていたが、ある程度善戦はするだろうし
もしかして、敵地での劇的勝利などと淡い期待も持っていたのだが、
結果としては、完敗と言わざるを得ない内容だった。
序盤は、ドネアの左フックを警戒して、右ガードを上げて守り重視。
ただ、本当に守り一辺倒になってしまい、ジャブ含め圧倒的に
手数が少ない状況になってしまった。
ドネアフルマークの状況が続いた6回、徐々に打ち合いになって来た矢先に
警戒していた左フックではなく、左アッパーでダウンを奪われる。
フックを警戒してダッキングしたところへ、アッパーが的確にあたる。
また、西岡選手の足が揃っていたのも災いして、そのまま後ろへ尻餅を付く感じでマットへ。
ダメージによるダウンでは無いので、立ち上がった後も動きに変化はなく
逆に倒されたことで、西岡選手も吹っ切れたのか激しい打ち合いとなる。
その後もドネア優勢で続いた9回。西岡選手がドネアをロープ際に詰めて
右で距離を測って左ストレートを出すタイミングを伺っているところに
ドネアのストレートが炸裂し、この試合2度目のダウンとなる。
西岡選手は立ち上がり、レフェリーも再開させたが、セコンドがストップをかける。
後から知った話では、本田会長からの指示だったとのこと。
見てる側からだと、早いように思えたが、選手の体を気遣った結果
最適な止め時だったのだと思う。
スピード、パワー、テクニック、戦略、全てにおいてドネアに軍配があがる
そう思わされる試合内容だった。
スピード、特にハンドスピードに関してはドネアが優勢なのは
わかっていたが、西岡選手のテクニックや絶妙な間合いのとり方で
ドネアの良いところを潰して、ジャブからのモンスターレフトが徐々に炸裂する展開を
期待していたのだが、それは叶わなかった。
また、ドネアの出来も凄まじいものがあった。
スーパーバンタムに上がってからの試合は、相手の守勢も影響しているが
それまでの階級での凄さはイマイチ見えてなかったのだが
昨日のドネアはバンタムまでの凄さか、それ以上かと思わせるほどの出来だった。
体系的にも、元々ドネアは腕も細いし、腹回りも削ぎ落した筋肉といった感じではなく
ちょっとポッチャリとした感じだったが、昨日は腕回りの肉付きも今までと違ってがっしりしていて
腹回りもすごく綺麗に絞られている感じだった。やっと階級にあった体が出来て来たようだが
昨日の内容ならさらに2階級上でも戦える期待を持たせてくれる。
西岡サイドは、超絶左フックを警戒して、右ガードをがっちり上げ
前半は様子を見るという戦略だったようだが、結果としては右のリードが
まったく出せずドネアの攻撃を待つ状況が続いてしまい
圧倒的なポイントリードを与えてしまった。
ただ、見合って待っていると超絶スピードのコンビネーションが飛んでくるし
少しでも手を出せば、その3倍くらいの攻撃が返ってくるといった状況で
攻めても守っても八方塞がりな状況だった。
こうなるとどうしてもタラレバ論が出てくるのだが
早い回で、右ガードの左フック警戒は解いて従来のスタイルで
右のリードを出していたら、
あの超速コンビネーションに対して、勇気を出して
相打ち覚悟のパンチをあわせて、出鼻を止めていれば、
などと素人考えに思ってしまうのだが
もしそれが出来ていたとしても、逆に早い回でのKOリスクが
高まるし危険なのは分かるのだが、もう少し「もしかして」の期待が
持てたかなと無責任に思ってしまう。
その後の去就が気になるところですが、
本田会長は「もう引退」との意向を表明していますが
本人はまだ名言は避けているようです。
昨日の今日で、当然本人は勝つ気だったろうし
気持ちの整理が付かないんだとは思いますが
まだはっきりとしたことが言えないのは
続けたい気持ちが強いのかなと想像してしまいます。
西岡選手が、本当にボクシングが好きってことは
すごく分かりますし、ボクシングというスポーツに
なかなか辞められない魅力も強いんだと思います。
ただ、やはり体の事を第一に考えるなら
引退が最良の選択に思えてしまいます。
引退後は、地元尼崎にボクシングジムを作るのが夢のようですし
今後は素晴らしいボクサーの育成を願うばかりです。
テレビの解説などで、的確な解説と、非常に分かりやすい
ボクシング理論を展開されてますので、西岡イズムを受け継いだ
素晴らしいボクサーが生まれるのは容易に想像が付きます。
いつか、西岡さんが育てた名ボクサーが、
ホームデポセンターでタイトルマッチを行う
なんて日が来たらきっと涙でますね。
厚かましいこと書きましたが、進退は本人が決めることですので
どういった決断をされても今後の応援は変わりません。
なにより、本当にお疲れ様でした。
まずは十分に体を休めていただき、今後もボクシング界を
支えて行って欲しいと切に願います。
西岡選手、数々の感動ありがとう。
前回、プログラミング時に最適なフォント「Inconsolata」 をインストールしたが、
Inconsolataと日本語フォントを組み合わせた、Rictyなるフォントがあるらしいのでそちらをインストール。
インストールは、公式サイトにて細かく説明されていて、それを参考にすれば特に困ることは無いと思う。
以下、自分の環境(ubuntu 12.04)でのインストール手順
・Fontforgeのインストール
1 |
$ sudo apt-get install fontforge |
テキトーなディレクトリを作って、そこで作業。
・Inconsolataの取得
公式サイトよりInconsolata.otfを取得
・Migu 1Mフォントの取得
M+とIPAの合成フォント よりMigu 1Mフォントを。
migu-1m-YYYYMMDD.zip
・Ricty生成スクリプトをダウンロード
作業ディレクトリに、以下のファイルを用意
Inconsolata.otf
migu-1m-regular.ttf
migu-1m-bold.ttf
ricty_generator.sh
作業ディレクトリで、以下を実行
1 |
$ sh ricty_generator.sh Inconsolata.otf migu-1m-regular.ttf migu-1m-bold.ttf |
Ricty-Regular.ttf
Ricty-Bold.ttf
の2つのファイルが作成される。
これを個人的に使用する場合は、~/fonts/以下に配置。
ubuntuならNautilusで表示して、対象ファイルをダブルクリックすればフォントのインストールが可能。
システム全体に適用する場合は、/usr/share/fonts/truetype/以下にテキトーなディレクトリを作って配置。
適用する場合は、
1 |
$ fc-cache -fv |
RictyのReadmeにも書いてあるが、gnome-terminalで指定できない場合があるとのこと。
自分の環境でもダメだった。
その場合は、gconf-editor などで
~/.gconf/apps/gnome-terminal/profiles/Default/%gconf.xmlの font
を直接編集する必要がある。
編集したいプロファイルを変える場合は、Defaultの場所を変える。
以上で快適な、ターミナル環境が得られた。
C言語を挫折した人間なので、バイナリとかアセンブラとかは全く分からない。
スクリプト言語サイコーなのだが、どうしたってサーバを動かしていれば
C言語で書かれた、デーモンやら何やらでトラブルは起きる。
先日もデーモンプログラムで、どうも変な挙動をしていたのだが
古いプログラムで、しかもソースから入れていることもあって
なんとか自力で原因究明しなくてはならなくなった。
元々、デバッグ情報付きでコンパイルされてなく
オプションを付けてコンパイルしなくてはならなかったのだが
付けたはずのオプションが、どっかで無効になったのか
gdbで実行すると、デバッグ情報が無いよ! と怒られまくった。
デバッグ情報が付かなかったのは、Makefile内の修正箇所ミスだったのだが
都度gdbを実行してから怒られており、もっと簡単に知る方法はないのかと調査した。
1 |
$ readelf -S 実行ファイル |
だそうです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
$ 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) |
.debug_infoというセクションが有ると、デバッグ情報付きです。
とあるapacheはデバッグ情報付きでした。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
$ 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) |
ubuntu 12.04 amd64にパッケージで入れたfirefoxは.debug_infoというセクションはありません。
.gnu_debuglink があやしい気がしますが詳細は調べてません。
ubuntu12.04で確認
今回は、/dev/sdbにマウントされているUSB HDDを操作したい。
USB IDを調べる
1 2 |
$ udevadm info --query=path --name=/dev/sdb /devices/pci0000:00/0000:00:13.2/usb2/2-2/2-2:1.0/host7/target7:0:0/7:0:0:0/block/sdb |
2-2が重要
最初の2がUSBバスID
後ろの2がデバイスID
らしい
unbind
1 |
# echo -n "2-2" > /sys/bus/usb/drivers/usb/unbind |
bind
1 |
# echo -n "2-2" > /sys/bus/usb/drivers/usb/bind |
nautilusでUSBデバイスを、アンマウントした時
いちいちデバイスの抜き差ししなくても済む。