僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
MSIE が4割、その他Winが3割半、んで*BSDとLinuxが1割半、Macが5%。それに fetch(1)やwget(1)。
(substring "The quick brown fox jumped over a lazy dog." 20) "jumped over a lazy dog." (substring "The quick brown fox jumped over a lazy dog." 16 19) "fox" (substring "いろはにほへとちりぬるをわかよたれそつねならむ" 16 ) "れそつねならむ" (substring "いろはにほへとちりぬるをわかよたれそつねならむ" 16 -1) "れそつねなら" (setq graph "液晶モニタ") (message "画面の種別は%s" (message graph)) "画面の種別は液晶モニタ" setq => set + quote (setq シンボル 値 シンボル 値 ...) (message "7 ぷらす 3 いこーる %d" (+ 3 7) ) "7 ぷらす 3 いこーる 10"
-transparent と -noshape を組み合わせると、文字盤が真っ暗になった。
NetBSDのLiveCDをデスクトップに入れて、起動だけは確認した。
機器構成は割と素直なので、大きな問題はない。
でも、カメラもマイクもないので、そこまで。
topless に netstatを例に上げたら、早速ツッコミが入った。*BSDのあたりでは
外出気味だった模様。
ぐぐると、実装はよくわからないが Debian にも
experimental にあるらしい(sargeには見当たらない)。
portsに入っていたと聞いて cvsup する。一昨日に更新された模様。debian は、 少なくとも sarge にはなかったが、
システムのプロパティで許可設定するなんて知らなかった。
ともかく、見えるべきものがやっと見えた。が、どっちもWinであるのが
気に喰わない。
3分間に109回、同じIP(逆引き効かず)、同じuser-agentからアクセスがあった。 ほとんど根こそぎだが、robots.txtを要求していなかった。
$grep 65.19.150.247 $agent_log |wc -l 109 $grep 65.19.150.247 $agent_log |head -n1 65.19.150.247 - - [12/Jun/2005:23:06:19 +0900] "GET / HTTP/1.1" \ 200 3210 "" "OmniExplorer_Bot/1.07 (+http://www.omni-explorer.com) \ Internet Categorizer" $grep 65.19.150.247 $agent_log |tail -n1 65.19.150.247 - - [12/Jun/2005:23:09:17 +0900] "GET /misc/dust/ HTTP/1.1" \ 200 2779 "http://www.kuzuore.com/" "OmniExplorer_Bot/1.07 \ (+http://www.omni-explorer.com) Internet Categorizer"
のスクリーンショット(gif動画)。お粗末だが、工夫は結構注ぎ込んだ。つもり。
自宅の糞ルータが、再起動(2006/02/25 08:33:28)してから
かなり(後で計算予定)経っている。一度
止まったこと
を思い出して、手動で再起動(2006/06/13 06:37:51)。
ダウンタイムは52秒だった。
2006/06/13: 06:38:43 PPP-IPCPの確立 [メインセッション] 06:38:43 PPP-LCPの確立 [メインセッション] 06:38:42 PPPoE セッション開始成功 [メインセッション] 06:38:42 PPPoE AC発見成功 [メインセッション] 06:38:42 ADSL回線通信中へ移行 06:38:04 ADSL回線トレーニング中へ移行 06:38:01 LANインタフェースリンクアップ 06:38:00 機器再起動 06:37:51 PPPoE セッション停止(自分から) [メインセッション]
ログを見ていると、ぶち切れは結構目立つ。そういうもんですか。
前回の再起動から今回の再起動までを勘定してみる。
107日と22時間と4分と23秒、らしい。
date(1)のman やinfoと睨めっこしたが、結局一発では出せなかった。
ここまでがやっと。
$ expr $(expr `date -d "2006/06/13 06:37:51" "+%s"` \ - `date -d "2006/02/25 08:33:28" "+%s"`) \ / 86400 107
スクリプト言語でなんとかしたいものだ...
WinXPのブートローダを試す。
要するに、別のパーティションにOSを入れるとき、使用するブートローダを
自分のパーティションにインストールしておき、それを吸い出して
WinXPの適当なフォルダに放り込み、C:\boot.iniに
追記するだけである。参考なまでに、
JFならこんなかんじ
Plamoを入れた後で思いついたので、素直にシステムを再インストール
する前にknoppixやchroot などでしばらくあがいていた。2時間は無駄になったに
違いない。
PlamoのインストーラはUSBメモリのClipDriveを認識したが、 どうしても自分の手では mountできなかった。
/etc/apt/sources.listを書き換える。でないとEtchに飛び上がってしまうから。
あまりにも変更されるパッケージが多い(42 upgradedと出た)ので、予備機なしの
鯖で[Y/n] yする勇気がない。
IP38X/107eもしくはRT107eで少し遊ぶ。
両端にWinXPマシンを、そして間にLinuxBOX一台を挟んで2台接続してみた。IPネットワークが合計4つできる。間にPCを挟んだのは、もちろんパケットを覗く為だ。
GUIでSNATを外す方法が見つからなかったので、両端同士の直接通信は
できなかった。
残念ながらダイナミックルーティングで遊ぶには○○と××が足りない。。。
設定画面では、NAPTによるポートフォワーディングのことを
「IPマスカレード」と呼ぶようである。
HOWTO文書とは正反対のようだ。
同じ構成で、経路を暗号化させてみる。
LinuxBOXのルーティングテーブルに(両端同士がつながるように)余計な
設定を入れていたので少し嵌ったが、一応繋がった。wiresharkで間に流れるものを
眺める。ISAKMPにESPはともかく、pingが(ルータとLinuxBOXの間で)頻繁
に飛び交ってることが、ちょっと新鮮に見えた。
あと、使わないと分かっていてもDNSサーバは用意してあげないと
名前解決に時間を空費するせいか、接続開始までひどく待たされる。
何のコンテンツもない、どこにも名前解決の当てがないnamedを起動させて、
ルータに見せるようにしてやると、待ち時間はほとんどなくなった。
さて、sambaの共有にアクセスはできるけど、「コンピュータ名」や
「ワークグループ」を見せるにはどうすればいいんだろうか。
まだ色々いじらないと。
ntpサーバやdhcpサーバになっている元鯖(FreeBSD-6.3RELEASE-2)のカーネルを再構築してみる。
ディスクが1.6GBしかないので、最初からきりつめた構成にしてあるはず(lvさえ入れてない)。
/usr/portsや/usr/src は既に他のマシンである。が、/usr/objをローカルに置いていたことも
手伝ってか気づいたらルートファイルシステムのディスク使用量は99%。
/usr/gamesを、/usr/share/manを、/usr/share/infoをと色々消す。もう限界。
といいたいところだが、/usr/local をduすると、"125506 ." 。
もう少し消せるかも。
/usr/obj を消すと、33%まで減った。
GNU tar に man が(かなり前から)無い。必要事項はinfoに書いてある(らしい)。
lenny には(パッケージメンテナの追加した?)manが付いてるし、
やや古いがJFの翻訳(manpages-ja)もあるので、ずっと気づかなかった。
$ dpkg -L tar | grep man /usr/share/man /usr/share/man/man1 /usr/share/man/man1/tar.1.gz /usr/share/man/man8 /usr/share/man/man8/rmt-tar.8.gz $ dpkg -L manpages-ja | grep "/tar" /usr/share/man/ja/man1/tar.1.gz
ドキュメントちょこちょこみながらあぁでもなくこぉでもなく。
同じオブジェクトの複製3つと、同じ初期値の複製3つの違いか。
>>> L3 = [[]] * 3 >>> L3 [[], [], []] >>> L4 = [[] for i in range(3)] >>> L4 [[], [], []] >>> L3 == L4 True >>> L3 is L4 False >>> L3[0] is L3[1] True >>> L4[0] is L4[1] False >>> L3[0].append(3) >>> L3 [[3], [3], [3]] >>> L4[0].append(3) >>> L4 [[3], [], []]
またいーかげんな 引用から。
# run just for python3 import sys from urllib.request import urlopen # url must ends in filename url = sys.argv[1] urldata = urlopen(url) savedata = url.split('/')[-1] f = open(savedata, 'bw') f.write(urldata.read()) f.close()
for x in range(-8,9,4): try: print(16 / x) except: print("Devision by Zero")
-2.0 -4.0 Devision by Zero 4.0 2.0
ホストAからホストBへの経路と、その逆と。
$HOST_A、BともPPPoE。ただし、$HOST_Aは固定IP。$HOST_Bはモバイル。
$HOST_Bのデフォルトゲートウェイは、どういうわけか
プライベートアドレスになっている。
$HOST_A:$ traceroute -n $HOST_B traceroute to $HOST_B ($HOST_B), 30 hops max, 40 byte packets 1 210.130.139.110 12.916 ms 12.109 ms 13.138 ms 2 210.130.139.97 14.278 ms 14.526 ms 13.374 ms 3 210.130.143.37 13.337 ms 14.015 ms 13.383 ms 4 58.138.106.157 15.083 ms 13.541 ms 14.200 ms 5 58.138.106.46 13.990 ms 58.138.106.182 13.810 ms 13.541 ms 6 210.130.146.186 24.660 ms 25.352 ms 25.444 ms 7 211.14.209.145 23.953 ms 23.643 ms 24.428 ms 8 218.185.186.34 23.228 ms 22.392 ms 23.462 ms 9 117.55.2.18 22.385 ms 22.227 ms 22.455 ms 10 $HOST_B 3061.599 ms 290.092 ms 382.394 ms
$HOST_B:$ traceroute -n $HOST_A traceroute to $HOST_A ($HOST_A), 30 hops max, 60 byte packets 1 117.55.2.6 663.867 ms 875.808 ms 875.792 ms 2 117.55.2.17 875.776 ms 875.760 ms 875.746 ms 3 218.185.186.33 875.732 ms 875.719 ms 883.688 ms 4 211.14.193.9 887.681 ms 223.899 ms 223.879 ms 5 210.130.134.65 223.855 ms 223.840 ms 223.824 ms 6 58.138.82.29 223.804 ms 58.138.82.41 223.800 ms 58.138.82.29 107.849 ms 7 58.138.81.218 119.824 ms 58.138.81.206 119.806 ms 58.138.81.210 131.790 ms 8 58.138.81.126 135.769 ms 58.138.81.138 131.760 ms 58.138.81.106 135.742 ms 9 58.138.106.154 139.954 ms 58.138.106.158 135.869 ms 159.848 ms 10 210.130.143.38 167.833 ms 167.818 ms 187.801 ms 11 210.130.139.110 187.785 ms 207.771 ms 207.757 ms 12 $HOST_A 119.951 ms 131.939 ms 127.922 ms
$HOST_Aの隣(デフォルトゲートウェイ)を除くと、すべて違うホストを通過
しているように見える。
というより、そもそも数が合ってない。
IPより下のレイヤでは同じ中継機器/回線かも知れないけど。
よく見ると、同じネットワークに出たり入ったりしているようにも見えるが、 実態と突き合せない限り、憶測にとどまりそうだ。
/dev/urandomで作ったデータを1つscpしてみた。
$ time scp 1mb.img $REMOTEHOST2: 1mb.img 100% 1024KB 1.0MB/s 00:00 real 1m38.645s user 0m0.052s sys 0m0.024s
コピーは一瞬で済むように見えて、100%の後にずいぶん待たされる。
その間に打ち続けたpingも、応答が実に遅れた。
今度はpingしながらhttpで10MBをgetしてみる。
Web Server はpythom -m SimpleHTTPServerでやってしまった。
$ time wget http://$REMOTEHOST2:8000/10mb.img --2016-06-13 21:54:03-- http://$REMOTEHOST2:8000/10mb.img $REMOTEHOST2 ($REMOTEHOST2) をDNSに問いあわせています... XXX.XXX.XXX.XXX $REMOTEHOST2 ($REMOTEHOST2)|XXX.XXX.XXX.XXX|:8000 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 10485760 (10M) [application/octet-stream] `10mb.img' に保存中 10mb.img 100%[================>] 10.00M 354KB/s in 31s 2016-06-13 21:54:34 (334 KB/s) - `10mb.img' へ保存完了 [10485760/10485760] real 0m31.055s user 0m0.152s sys 0m0.496s
$ python -m SimpleHTTPServer Serving HTTP on 0.0.0.0 port 8000 ... $HOST - - [13/Jun/2016 21:54:03] "GET /10mb.img HTTP/1.1" 200 -
pingが10回くらいのときにwgetする。
その途端replyが返らなくなり、wgetが終わった途端に
どっと戻ってきた。
当初2で書いたが、 githubに上げる前に3向きにする。
$ python3 4div_list.py3 12345678 12345678 [12, 34, 56, 78]
別言語のことを考えて、python特有の機能は一応避けたつもり。
void setup() { size(10, 10); } void draw() { int times = int(pow(2, 10)); for (int x = 0; x < times; x++) { println("hello,", x); } noLoop(); }
繰り返し回数が1024回くらいなら大丈夫だったが、65536回実行すると
Listening for transport dt_socket at address: 8590 hello, 0 hello, 1 hello, 2 . . . hello, 65533 hello, 65534 hello, 65535 java.lang.ArrayIndexOutOfBoundsException Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException
300行ほど"Exception ..."を吐いて強制終了となった。
何度か繰り返したが、落ちるまでの回数は決まってなさげ。
動作中にtop(1)を眺めていると、実行プロセスの
%CPUが352くらいになったりする。
printlnの注意事項を見る限り、目的外使用に近い気もするが。
まずオリジナルの切り抜き。
$ convert \ -crop 1024x768+900+500 \ -page 1024x768+0+0 \ ORIG_IMAGE crop.png
モンシロチョウが「紋白蝶」 に見えないような色だった。
$ convert \ -crop 1024x768+900+500 \ -page 1024x768+0+0 \ -gravity southeast \ -modulate 120,40,100 \ -brightness-contrast 8 \ -pointsize 40 -font IPA-P明朝 -annotate 0 "2021/05/23 13:15:55" \ -fill white \ -gravity northwest \ ORIG_IMAGE adjust.png
目が変になりかけたが、なんとか。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。
※ takanyon [比較的最近のFreeBSDならtracerouteに-aをつけてみたらどうでしょうか。]
※ kuzu [ありがとうございます。そちらでも追試しました。]