僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
apt-get install uw-imapd。サーバ側はそれ以上いじってない筈。
しかしクライアント側は嵌りまくった。
まず telnet SERVER 143 。英数字を打って、その後にコマンドを入力する。
これに気づくのにしばらく試行錯誤。結局はlogin と noop と logout だけ。
fetch はいまひとつピンとこない。
次いで MUA を試す。まず mew3.3 ではどうしても接続できなかった。
.emacs と .mew.el で設定してなどいないPOPサーバを見に行こうとはするが、
「拒否されました」とかで止まる。
パケットを追ってみたが、どこにもアクセス{して|できて}いない。
sylpheed で試すと、「新規アカウントの設定」で「OK」した途端に
固まった。これも理由がよくわからなかったが、ふとハブを見ると、サーバと
デスクトップのLEDが猛烈に点滅し続けている。
サーバの自分のディレクトリをスキャンしまくっていたようだ。そういえば、
以前
ftpdを試したとき、適当なディレクトリに1,2,3..といった名前の
ゴミファイルを大量に転送していたっけ。
不要と思えるものを消すと、postfixとも連動して、メールのやりとりはうまく
動くようになった。
次はネット越しのセキュリティをなんとかせねば。
スーパーユーザが実行していた top を、なにげに端末ごと
落としたら、死にきれなかったらしく暴走した。
再度試したが、再現性未確認。
精度が相対的に低下しているように見える。
クローラが山程データをコピーしてゆくが、ゴミのなかから
役に立つデータを選別するあたりが有効に機能していないようだ。
データ量の増加に精度が追い付かないのではないだろうか。
そうでなければ、FedoraCoreにMailmanなど使ってない
(あまり使いたくない)自分のサイトがGoogleで31番にランクされて、
そこまで探りに来る香具師がいる事実が納得できない。
でもってDesktop の Linuxから Windows を操作できるよう設定。
パーソナルファイアーウォールで
5900番ポートのTCPに穴を開けた。しかし
認証後しばらくウィンドウが消えてしまい、やがて
reject されたとかいってViewerが落ちる。首をひねりながら
ホスト側をなにげに見直すと、ダイヤログ
が辛抱強くOKを待ち続けているのに気づいた。
認証できたら勝手に繋がるように、チェックボックスを一つ外す。
で、Plamo4.0 からWinXPのFirefoxを通してこの節を書いてみた。
MS-IMEの機能キーが効かない(afterstepが取ってしまっているらしい)
ので切り替えはマウスでやる。死ぬほど面倒くさい。
VNC経由でWindowsUpdate。おきまりの再起動。GRUBでEnterしたあとは すべてVNCから操作できるようになった。VNCの認証とWindowsのログオン を個別にやるのが面倒な程度だろうか。
ゲームクリアの瞬間がちょっと面白い。
落下するトランプで、何本もの放物線が一度に描画されているように見える。
当然撮影せんとするも、三度の失敗続きで挫折。
CONFIG_PM=y # CONFIG_PM_DEBUG is not set CONFIG_SOFTWARE_SUSPEND=y CONFIG_PM_STD_PARTITION="/dev/hda8"
デスクトップの2.6.11.11 でやってみた。一応、動くようである。
懸念1:スワップパーテーションの /dev/hda8 は 600MB 程しか確保してない。
はたして足りるのだろうか。
懸念2:それより、スワップパーテーションはDebianやGentoo等でも共有して
いる。再起動時違うシステムを選んだら、当然(ry
$ dd if=/dev/zero of=newfile bs=1MB count=1 $ mkfs -t ext2 newfile # mount -o loop -t ext2 newfile mountpoint $ vi mountpoint/hoge.txt (ry $ cat mountpoint/hoge.txt abc 彼は、その秘密を知っていたと言われる。 He is said to have known the secret. とかとか。
で、umountした後で、外からファイルが見えるか試す。
$ hexdump -c newfile | grep "h*o*g" 0005430 324 003 \b 001 h o g e . t x t \0 \0 \0 \0 $ hexdump -c newfile | grep "a*b*c " 0008800 a b c \n 310 340 244 317 241 242 244 275 244 316 310 353 0008840 o w n t h e s e c r e t . \n $ dd if=newfile bs=1 skip=34816 count=91 > before.txt 91+0 records in 91+0 records out $ cat before.txt abc 彼は、その秘密を知っていたと言われる。 He is said to have known the secret. とかとか。
再びmountし、hoge.txtを消してumount。
grep して出た行は何も変っていない。
ddで同じことをやると、同じデータが切り出された。
rmしただけでは、実際は大した変化はなかったということか。
しかしながら、 差分と睨めっこしただけでは、 何処を書き換えたら復活するのかはよくわからない。
ホストAのユーザaからホストBのユーザbとしてリモートログインする時:
user_a@host_a:~$ ssh -l user_b host_b
Enter passphrase for key '/home/user_a/.ssh/id_dsa':
Last login: Thu Jun 14 11:16:58 2007
Linux 2.6.21.1 (host_b) #3 PREEMPT Sat Jun 2 18:00:37 JST 2007
xmkmf の前に cp Imakefile.local-template Imakefile.local すると make できた。
適当に消しまくったFreeBSDのカーネルビルド。無事に再起動はした。が。
シリアルコンソールを有効にしていたので助かった。
そっちからkldload if_fxp。で一息。スタティックでもう一度構築しなおす。
家のルータを変えるのは久しぶりだ。
以前の重複な気もするが、しばらくやってないと忘れていくから、仕方がない。
今回は、カーネルをビルドしなおしたFreeBSDをルータにする。これはシリアルポートから 設定変更する。よって操作はすべてデスクトップから。
既存ルータの設定をブリッジに変更し、再起動している間に
イーサネットケーブルを一ヶ所(ハブから抜いて、FreeBSDルータの二枚目のNICへ)繋ぎ変え、FreeBSDマシンの
内向きアドレスを他のPCのデフォルトゲートウェイに変える。
ルータ改めモデムのADSL確立を確認して
ppp -ddial $PROVIER。そしてsysctl -A net.inet.ip.forwarding=1して
ipnat -CF -f ipnat.rules。
宅内のサーバが外から見えてるか確認。
Webは、
html-lint
に読ませる。
メールは、プロバイダのアカウントから一通送信。
それから、外からのsshとnmapも忘れずに。
。。。元に戻す。
mpg123とoggとか。
そろそろXを。。。
と考えてsvnから一歩一歩。
Chapter 23の"Xorg Libraries"に少し嵌まった。47個のパッケージのうち、パッチを当てるモノ
が2つある上に、一括で入れようとすると、依存するパッケージ(xtransとか)が後になってしまう。
次回はファイル名と逆順に処理したほうがよさそうだ。
Linux From Scratch SVN。 file-5.00 で判定できなかった、 xz の形式が判定できるようになっていた。
$ file coreutils-7.4.tar.xz coreutils-7.4.tar.xz: data $ ./file coreutils-7.4.tar.xz coreutils-7.4.tar.xz: xz compressed data
降って湧いたPC(FreeBSD-7.2)をLANに加える。
ネームサーバへの追記は特に問題なく済んだが、
忘れかけていたPostfixにちょっと時間を食ってしまった。
hostname を完全修飾名にしてなかったので、main.cfにmasquerade_domains
を追記しただけでは、テストメールが撥ねられる
(mail from: $USER@$HOST.localdomain)
なぜか携帯(ezweb.ne.jp)には、それで届いてしまったが...
Portsで放り込んだデーモンの起動設定はどこで確認するんだったっけ。
あ、/usr/local/etc/rc.d/$daemon か。
$ df -h win2003.img Filesystem Size Used Avail Use% マウント位置 /dev/mapper/vback-lv3 31G 12G 18G 39% /$DIR $ df -h debian.img Filesystem Size Used Avail Use% マウント位置 /dev/mapper/vback-lv3 31G 12G 18G 39% /$DIR
KVM+Qemuの環境にて。
$DIR はイメージファイルの置いてある場所。
今、使ってる機能だけ。
# parted -l Model: ATA Hitachi $DRIVE_NUM (scsi) Disk /dev/sda: 160GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 3997MB 3997MB primary ntfs boot Model: ATA $DRIVE_NUM (scsi) Disk /dev/sdb: 80.0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 80.0GB 80.0GB primary ntfs boot
何もないHDD を読み込んでみる。
# parted /dev/sda GNU Parted 1.8.9 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Error: /dev/sda: unrecognised disk label
まず mklabel でパーティションテーブルを作り、
そして mkpart でパーティションを切ると。
コマンドだけなら対話環境になる。
(parted) mklabel msdos ; コマンドやパラメータは、他と区別がつく部分は省略できるらしい ; この場合、"mkl ms" でも通った (parted) mkpart p ntfs 1 50% ; OKなら何も出ない (parted) mkpart p ext3 80GB 90GB ; このバージョンは ext4 を受け付けなかった (parted) p Model: ATA Hitachi $DRIVE_NUM (scsi) Disk /dev/sda: 160GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 80.0GB 80.0GB primary 2 80.0GB 90.0GB 9977MB primary
面倒になってきたので、このあたりでやめとく。
fdisk と違い、コマンドを実行すると、
その場で書き込んでしまうみたい。
サフィックスの一括変換。
man5 $ ls field-format.txt name-format.txt transaction-file.txt master-file.txt tag-format.txt man5 $ for file in *.txt ; do mv $file `basename $file .txt`.5; done man5 $ ls field-format.5 master-file.5 name-format.5 tag-format.5 transaction-file.5
これは本来make install 時に Makefileを編集するものだろうけど、つい。
趣向を変えて、ping -c 1 を繰り返してみた。
man pageによれば、タイムアウトは10秒とのことである。
$ while :; do ping -c 1 $GLOBAL_IP; sleep 1; done PING $GLOBAL_IP ($GLOBAL_IP) 56(84) bytes of data. 64 bytes from $GLOBAL_IP: icmp_seq=1 ttl=55 time=2105 ms --- $GLOBAL_IP ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 2105.687/2105.687/2105.687/0.000 ms PING $GLOBAL_IP ($GLOBAL_IP) 56(84) bytes of data. --- $GLOBAL_IP ping statistics --- 1 packets transmitted, 0 received, 100% packet loss, time 0ms
のようなデータから、"100% packet loss" な行と"time="のある行を grepで掬い出す。
64 bytes from $GLOBAL_IP: icmp_seq=1 ttl=55 time=2105 ms 1 packets transmitted, 0 received, 100% packet loss, time 0ms
Rにかけるデータを抽出する。
paket loss をタイムアウト値で補完する。
$ awk 'BEGIN{s=1}\ > {if($1==1){$7=10000} \ > else{sub("time=","",$7)};\ > {print s,$7}s+=1}' \ > bus_trans.txt 1 10000 2 6200 3 2752 . .
Rもshebangでスクリプト化してみた。
#!/usr/bin/env Rscript busdata=read.table("bus.txt") png(filename="bus.png", width=640,height=480) plot ( busdata, type="l", ylim=c(0,9000), xlab="ping", ylab="ms", main="ping -c $GLOBAL_IP", sub=">8000 is PACKET LOSS!" ) dev.off()
タイムアウトをタイムアウトらしく表示させるとか、 もう少し色々できなければ...
Ubuntu上の Google Chrome上で再生しているRadikoがよく止まるようなので スクリプトを頂戴して Webブラウザを起動させなくても 勝手に再生、再起動するようにしてみた。
#!/bin/sh sleep 10 DIR=$DIR ERR=error_file if [ -e $DIR/$ERR ]; then LDATE=`date --rfc-3339=date -r $DIR/$ERR` cat $DIR/$ERR >> $DIR/${LDATE}_radiko_${ERR} rm $DIR/$ERR fi cd $DIR while : do ./radiko.sh -p FMT date >>$DIR/$ERR done
朝9時からずっと再生していたが、
$ cat error_file 2018年 6月 14日 木曜日 12:11:29 JST 2018年 6月 14日 木曜日 13:31:05 JST 2018年 6月 14日 木曜日 13:51:27 JST 2018年 6月 14日 木曜日 14:12:12 JST 2018年 6月 14日 木曜日 15:02:15 JST 2018年 6月 14日 木曜日 15:27:12 JST 2018年 6月 14日 木曜日 15:48:00 JST
同じ環境で RasPi Aにも同様のスクリプトを走らせてみたが、
$ cat error_file Thu Jun 14 09:26:17 JST 2018
ちなみにあっちは無線、こっちは有線。
とすると問題はLANか。
おまけ。場合によっては他のマシンからping打っても返ってこなかったり
sshが繋がらなかったりする。RTSP以外何も通信しないような
印象。
一旦繋がったら勝手には切れないようだけど。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。