僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
kernel-2.6.12.3 を mirror から貰って来てノートに入れた。.config をコピーして make oldconfig 。熱いが別状無し。
こないだUSBをモジュールにしてから、USBキーボードを「Plug and Play」できなくなっていた。カーネルあげたついでに /var/log/message を見て、適当に /etc/murasaki/murasaki.usbmap に追記。ついでにUSBマウス(一応 何もしなくても動いてはいたが)の分も。
# USB Keyboard usbhid 0x0003 0x430 0x9 0 0 0x0 0x0 0x0 0x0 0x0 0x0 0x00000000 # USB Mouse usbhid 0x0003 0x54c 0x61 0 0 0x0 0x0 0x0 0x0 0x0 0x0 0x00000000
まだ変なメッセージもあるが、動いてるからいいや。
Tiger だからといって特に変る所はない。ssh-keygen で 鍵作成。そして*.pubを鯖の authorized_keys2 に 追記するだけ。
sshd は、と。
/etc の直下に ssh* が散らばってるのがなんとも。
ところで自前でバージョンあげても、システムが
追従してくれるのだろうか。
mac:$ ssh -V OpenSSH_3.8.1p1, OpenSSL 0.9.7b 10 Apr 2003
READMEのサンプルを辿ってみる。
なんじゃぁこりゃ。
# modprobe fuse $ fuse-2.5.3/example$ ./fusexmp test/fuse -d unique: 1, opcode: INIT (26), nodeid: 0, insize: 56 INIT: 7.6 INIT: 7.5 unique: 1, error: 0 (Success), outsize: 40 (ry
別の端末からlsなどすると、その度に、
unique: 22, opcode: GETATTR (3), nodeid: 1, insize: 40 unique: 22, error: 0 (Success), outsize: 112 unique: 23, opcode: GETATTR (3), nodeid: 1, insize: 40 unique: 23, error: 0 (Success), outsize: 112 unique: 24, opcode: OPENDIR (27), nodeid: 1, insize: 48 unique: 24, error: 0 (Success), outsize: 32 (ry
とか出てきた。
$ mount /dev/hdb1 on / type ext3 (rw) lt-fusexmp on /path/fuse-2.5.3/example/test/fuse type fuse (rw,nosuid,nodev,user=USER) $ df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/hdb1 28789384 26602252 701124 98% / lt-fusexmp 28789384 26602252 701124 98% /path/fuse-2.5.3/example/test/fuse
fusexmp を ctrl-c で止めても、アンマウントしたことには
ならないらしい。
うっかりそんなことをやった日には、何かやろうとすると"通信端末が接続されていません"
とか言ってくる。
アンマウントするには fusermount -u する。
しばらく放置していたディスクに入ってたPC-BSD1.1を久し振りにあげてみたが、流石にあちこち足らな過ぎを痛感。
で、代りにubuntuを入れてみる事とする。まずはbittorrent。なかなか早いな。
---------------------------------------------------------------- | file: ubuntu-ja-6.06-desktop-i386-20060610.iso | | size: 725,448,704 (692 MiB) | | dest: /path/ubuntu-ja-6.06-desktop-i386-20060610.iso | | progress: #####################_______________________________ | | status: finishing in 0:04:25 (46.6%) | | dl speed: 1273.6 KB/s | | ul speed: 0.0 KB/s | | sharing: 0.000 (0.0 MB up / 322.7 MB down) | | seeds: 4 seen now, plus 1.522 distributed copies | | peers: 2 seen now, 53.2% done at 11.1 kB/s | ----------------------------------------------------------------
ダウンが完了したかと思ったら、今度はアップも凄い。止めるのが惜しいくらい。
で、こっちもKNOPPIX同様、鯖からアップロード続行。
アップデートにかなり時間がかかった。こっちも.torrentいるんでないかと。
適当にいじってみた。w3m+vim+SCIM+Anthyで、このとおりtdiaryできるのは
いいけど、デフォルトでnanoエディタは×。なにより
migemoがない...
本家Debianに比してパッケージが少ないのはつらい。
サスペンドが効いた。レジュームも効いたはずだ。
デフォルトのMUAとしてEvolutionが入っていた。IMAPを設定してみた。
ThunderbirdやSylpheedとは違い、~/Trashを「ごみ箱」と見做さないようなのだ?
デスクトップに入れてみた。2.6.15.7の.configをもってきて
make oldconfig。それに若干の修正。
何の変哲もなし。
セキュリティホールmemoを読んで、早速スクリーンショットを撮っといた。
両サイトの管理人たちに悪意はないかもしれない(というより、DNSの常識外れな不手際っぽい)が、 後車の戒めとして、大いに晒してしかるべきであろう。
23時前には直っていた。というか、www3がNetから消滅した(だけ?)らしい。
Plamo-4.22のデフォルトではシリアルポートもモジュールだった。
従って、起動時から有効にしたければ/etc/rc.d/rc.modulesで
/sbin/modprobe 8250 とかした上で、/etc/inittab をいらう
必要がある。
なんてこと、ちっとも気づかなかった。
買った
Raspi実用本にあった
crosstool-ng を、とりあえずのUbuntu-12.4 に入れてみる。
crosstool-ng のバージョンはまだ上がってなかったので、
本に書いてあった通りでほぼインストール完了。
適当なディレクトリに展開し、crosstool-ng を
./configure && make && make install。
で、インストール先にPATHを通し、ct-ng menuconfigして
ct-ng build でダウンロードとビルドとインストール。
./configure 時に、依存するものをいくつか指摘されて その都度 apt-get install。
PCでビルドした "hello, World\n" が、 Raspbian で動くことを確認して、ひと息。
荒く投げるスクリプト。
Firefoxの画面をパッと切り取ることを考えていた。
本当はこのあたり、画像端末とは無関係にできたほうが
有難いのだけど。
#!/bin/bash # cut screen and post twitter echo -e "\E[31mCAUTION\E[37m!!! CHANGE ANOTHER WINDOW." echo sleep 5, sleep 5 scrot foo.png SIZE=50% WIDTH=500 HEIGHT=300 LEFT=0 BOTTOM=50 convert -resize $SIZE \ -crop ${WIDTH}x${HEIGHT}+${LEFT}+${BOTTOM} \ foo.png bar.png tw $1 --file=bar.png -yes display bar.png
debian/ubuntuでは/bin/sh では エスケープシーケンスが 通らない(dash)
たとえば空白の行があると
$ cat three.txt one two thr ee
、おかしなことになる場合も。
$ for x in `cat three.txt`; do echo $x ; done one two thr ee
$xを"$x"とか"${x}"とかしても効果なし。
適当に検索して、
$ cat three.txt | while read l; do echo $l; done one two thr ee
でなんとか。
しばらく触らなかった。インターフェースをなんとかせねば。
ようやくGPIOピンのはんだ付け。最初からぶっつけにしないで
何かを何回か付けてみてから本番にかかったほうが、
少しは綺麗になったかも。
Uncompressing Linux... done, booting the kernel. Welcome to the rescue system recovery login: Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct . . . Raspbian GNU/Linux 8 $HOSTNAME ttyAMA0 $HOSTNAME login:
$ ping $HOST ping: icmp open socket: Operation not permitted
起動がなんか怪しい気もしたが、ともかく シリアルコンソールのログインプロンプトは出せた。 ピン配列を調べるのに少々手間取ったが、 MicroSDに近い方の近い側の ピンが最初であるらしい。
ケースにも納めた。ロゴが幾分隠れるのはいまいちか。
同じものかどうかよく分からなくなってきた。
$ time ./fool >/dev/null real 1m36.373s user 1m35.880s sys 0m0.200s
普通のfizzbuzzも。
$ time ./normal > /dev/null real 1m58.553s user 1m58.010s sys 0m0.180s
以前に
BとB+を比較したことがあった。ほぼ同じ条件で
電流計をZeroに繋いでみた。
当初、LEDは点灯していても電流計の針は微動だもしなかった。
シリアルコンソールも反応無し。
キーボードを繋いでログイン操作すると、手応えがあった。
とシャットダウンを押下してみた。LEDの
点滅から見て、動いていたことは間違いない。
シリアルコンソール以外、給電しそうなデバイスが見当たらない...
一旦シリアルコンソールを抜いてUSB接続すると、今度は電流計が 反応した。それ以降そちらで普通に動くようになった。
fizzbuzzをやらせていると、200mAほどになった。
pingを打ちながらアップデート。
例によって戻ってこないパケットの分は埋めてある。
いきなり返らなくなるほど遅くなって一瞬ましになり、ついでじわじわ
という、やや違った結果になった。
後半で戻ってこないのがちらほら、も変。
一昨日は無線LANのキャプチャを複数ヶ所で試す。
比較的面白そうに撮れたもの(懇親会会場のもの)を例の手段で加工する。
トリミングなどして動画にしてみた。
$ ls *.jpg | sort -n > stills.txt #!/bin/sh NAME=horst-`date "+%Y-%m-%d"` if [ -e ${NAME}.mp4 ]; then rm ${NAME}.mp4 fi mencoder -nosound -ovc lavc \ -lavcopts vcodec=mpeg4:aspect=1024/506:vbitrate=8000000 \ -vf scale=1024:506 -o ${NAME}.avi \ -mf type=jpeg:fps=15 mf://@stills.txt ffmpeg -i ${NAME}.avi ${NAME}.mp4 rm ${NAME}.avi
というほどでもないが、一応プロトコル齧り直し。
ftp.jaist.ac.jpへの接続をキャプチャして、wiresharkで
にらめっこする。
クライアント(ncftp)はTCPで21番ポートにアクセスして接続。
ディレクトリのリストを取るコマンド(ls)を叩くと、
クライアントはPASVを発して、パッシブftp依頼を
伝え、サーバは任意のTCPポート番号を通知する。
クライアントはそちらにFTP-DATAで接続して、データの受信を
開始する。
さしあたりはproftpd。
/etc/proftpd/profitpd.conf を少しいじっては
sudo systemctl reload proftpd.service。
デフォルトで内部ユーザのftpログインとput/getを許可する設定に
なっていた。
PassivePorts をコメントアウトし、適当に制約を
加えたりする。
<Anonymous ~ftp> から</Anonymous>の
先頭行をコメントアウトして、chroot配下に
匿名ユーザのログインやftpdataを確認。この状態
では真のルートディレクトリは見えず、~ftpの
下ではファイルのダウンロードはできても
アップロードも削除も許可されない。
"Uncomment this if you're brave."の下をコメントアウトする
のは、やめておいた。
既に昨晩だけど、サーバに、そして少し時間をずらして
モバイルルータにpingしてみた。
このケースでは、ボトルネックがモバイルルータと端末の間にある
可能性もなくはない、かもしれない。
遅くなったり、時々パケットロスしたりの原因は 引き続き探ってゆくことにしよう。
ちゃちな再帰階乗は CPython3.9.2では998までできた。
$ python3 myfact.py 998 40279005012722099453824067459760158730668 // 略 00000000000000000000000000000000000000000
$ python3 myfact.py 999 Traceback (most recent call last): File "myfact.py", line 12, in <module> print(fact(num)) File "myfact.py", line 10, in fact return num * fact(num - 1) File "myfact.py", line 10, in fact return num * fact(num - 1) File "myfact.py", line 10, in fact return num * fact(num - 1) [Previous line repeated 995 more times] File "myfact.py", line 7, in fact if num > 2: RecursionError: maximum recursion depth exceeded in comparison
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。