僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
sargeを起動して、Xenを入れる。インストール自体は @ITの記事通り。
貰ってきたバイナリパッケージを展開して、./install.sh。警告が
いくつか出たので、 check ディレクトリの下にあるスクリプトを
覗き、足りないっぽいものを apt-get install。自分的には
iproute や bridge-utils、Twisted等。
で、/bootの下に見慣れないカーネル(vmlinuz-2.6.11.xen0)や、
そのシンボリックリンク等がコピーされていた。
/lib/module の下も同様。
grubの設定ファイルをいじる。dom0_memは幾らにすればいいかよくわからず、
記事から131072を頂戴。あと、root($hdnum,$partnum)を指定して、
どのパーテーションの/bootからxenをロードするのかをgrubに
伝えないと起動できなかった。
$ uname -a Linux cel2g 2.6.11.10-xen0 #1 Sun May 22 11:38:50 BST 2005 i686\ GNU/Linux
ここまで。あとはよしなに。
(実は昨日)試したが、 LiveCDでは、メモリが256MBの環境では
"Xwindows" で起動してくれない。
コンソールモードで試しても、あまり多くの仮想環境は起動できない。
メモリが足りない旨のメッセージを吐いて中断してしまう。
ntfs-3gを入れようかと思ったが、
ntfs-3g-20070714-BETA$ ./configure (ry checking for fuse >= 2.5.0... configure: error: \ ntfs-3g requires FUSE version >= 2.5.0. See http:\ //fuse.sourceforge.net/ how to install FUSE. ntfs-3g-20070714-BETA$ echo $? 1
うーむ。2.2.1-4sarge2では無理か...
LAN内のSargeでDNS鯖を立ててみる。正引き、逆引き
のレコードを記述し、named.confに追記し、
/etc/init.d/bind restart。
Linuxのクライアントマシンには
search hogehoge.localnet を追記し、
WinXPには「インターネットプロトコル」の
「詳細設定」の「DNS」タブに
「この接続のDNSサフィックス」追記。
で、WinXPとLinuxの間でFQDN で、続いてサフィックスなしで pingを打ち合う。
ついでにルータのIPもゾーンファイルに
追記し、シリアルをあげてnamedを再起動する。
しかし、Linuxからルータに向けてpingしたら返事があるが、
WinXP(のコマンドプロンプト)から打っても反応なし。
しばらく沈黙してから
"Ping request could not find host $ROUTER.Please
check the name and try again."だ。
コマンドプロンプトからnslookupを
対話モードで打ってやると名前解決はできているが、
pingは依然として全然飛ばない。
本文を書き殴っている間にできるようになっていた。
どうなっとるんだ、一体。
#!/bin/sh ./Configure \ threads shared zlib shared linux-elf \ --prefix=/usr
make installの前にPlamo-4.21に入ってるopenssl-0.9.8dを消しておく。
終わったらldconfig -V。
$ ssh -V OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
XPでうまくできなかった記憶があるが、こちらはだいぶ簡単に近くなったようだ。
ディスクイメージの焼き方が不明だけど、
データをコピーするだけのライトユーザなら
サードパーティのツールは要らないかも。
INSPIRONの中のHDDを取り出し、USBに繋いでみた。
GRUBが起動して、WinXPが立ち上がったかと思ったら、すぐブルースクリーンを
吐いて止まった。
めんどくさ。
前にちょっと試した
HDCN-U320。
ntfs-3gでlennyにマウントする。
# for file in `seq 1 10`; \ do dd if=/dev/urandom \ of=${file}.img \ bs=1048576 \ count=1024; \ done dd: writing `1.img': 入力/出力エラーです 52+0 records in 51+0 records out 53477376 bytes (53 MB) copied, 19.1173 s, 2.8 MB/s dd: opening `2.img': 入力/出力エラーです dd: opening `3.img': 入力/出力エラーです dd: opening `4.img': 入力/出力エラーです dd: opening `5.img': 入力/出力エラーです dd: opening `6.img': 入力/出力エラーです dd: opening `7.img': 入力/出力エラーです dd: opening `8.img': 入力/出力エラーです dd: opening `9.img': 入力/出力エラーです dd: opening `10.img': 入力/出力エラーです
WinXPでは特に問題なく使用できている。
IDEやSerialATAのHDDをUSB+ntfs-3gで繋いでも、
普通に使えていたはずである。
同じ環境でファイルシステムをext3に変えると、
問題なく動作する...かと思ったら、3つめで
I/O error。
もう少し、他のディスクもチェックせねばなるまい。
これはlenny。
GRUBの起動メニューで、当該部分にフォーカスして、"e"。
二行目の "kernel" で始まる行にフォーカスして、"e"。
"ro" を "rw" にして、init=/bin/sh してEnter。
それから"b"。シェルが起動するので、悠々とpasswd(1)。して、
Ctrl-Alt-Delete。
メールサーバに仕掛けたtcpdumpのログを読み込んで睨めっこ。
ログを採るときに -c オプションで数を限定する(パケット500で13本ほど採れた)。
それにしても25/tcpに限定しても、
まだ多すぎる。さらに上のプロトコルで絞ってやらないと。
まずはPostfixの smtpd_helo_restrictions でSPAMを蹴る可能性を検討する。
smtp.req.command == "EHLO"||smtp.req.command == "HELO" などとやってみる
(もちょっと短くできんものか)。
案の定、SPAMっぽいものは、名乗りからして下×だ。
デフォルトは"no"。
postfix/smtpd[2395]: NOQUEUE: reject: RCPT from $REMOTE: \ 554 5.7.1 <$AC2>: Relay access denied; from=<$AC1> to=<$AC2> \ proto=ESMTP helo=$HELO
"yes"に変えてみる。
postfix/smtpd[2298]: NOQUEUE: reject: RCPT from $REMOTE: \ 454 4.7.1 <$AC2>: Relay access denied; from=<$AC1> to=<$AC2> \ proto=SMTP helo=$HELO
Postfix に {helo,ehlo} したときの文字列をチェックさせる。
ただし、実際に跳ねるのは、現在の設定では rcpt to の後だった。
renect_invalid_hostname を入れると、"hoge..hoge" などが跳ねられた。
postfix/smtpd[2703]: NOQUEUE: reject: RCPT from \ $REMOTE : 401 4.5.2 <hoge..hoge>: Helo command rejected: \ Invalid name; from=<$AC1> to=<$AC2> proto=ESMTP \ helo=<hoge..hoge>
reject_non_fqdn_hostname を入れると、FQDNでないように見える 名前などが跳ねられた。
postfix/smtpd[2318]: NOQUEUE: reject: RCPT from \ $REMOTE: 404 4.5.2 <$NON_FQDN>: Helo command rejected: \ need fully-qualified hostname; from=<$AC1> to=<$AC2> \ proto=ESMTP helo=<$NON_FQDN>
reject_unknown_hostname を入れると、DNSで引けない名前などが跳ねられた。
postfix/smtpd[2796]: NOQUEUE: reject: RCPT from \ $REMOTE: 450 4.7.1 $UNKNOWN: Helo command rejected: \ Host not found; from=<$AC1> to=<$AC2> proto=ESMTP \ helo=<$UNKNOWN>
WiMAXが繋がった。以下、顛末。
今朝方、サポートにメールすると、電話が携帯にかかってきた。
あまり丁寧に応対できずに(手元の携帯は、ここでは
少し聞き取りにくい)切ってしまった。メールにはメールで
回答が欲しかったこともあった。
昼くらいに販売店から、これも電話。
敗因はどうやら、販売担当者の登録ミスだったらしい。
14時くらいに試すと、見覚えの無い、取説か解説かにある画面がようやく出た。
一回再起動して、何事もなかったように繋がる。
ここはアンテナが一本あるかないかの電波強度だけど、今の使い方ならさほどでも。
接続を確認した後で、買ったときの契約書控えと、郵便で届いた確認票との
契約内容が異なっていることに気づく。
確認票再送を連絡してきたメールが届いていたので、
多分、治っている、はず。である。
繋がらなくても、DNSは引けていた。
$ dig www.kuzuore.com @$ROUTER ; <<>> DiG 9.8.1-P1 <<>> www.kuzuore.com @$ROUTER ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38652 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.kuzuore.com. IN A ;; ANSWER SECTION: www.kuzuore.com. 3600 IN A 219.94.224.152 ;; Query time: 120 msec ;; SERVER: $ROUTER#53($ROUTER) ;; WHEN: Wed Jul 31 08:49:05 2013 ;; MSG SIZE rcvd: 49
適当なアドレスにpingを打つと、途中のどこかでパケットフィルタリングされていた。
$ ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. From 172.28.65.146 icmp_seq=1 Packet filtered From 172.28.65.146 icmp_seq=2 Packet filtered From 172.28.65.146 icmp_seq=3 Packet filtered
ここにpingを打つと、replyがあった。
接続できるようになると、ここからは何も返らなくなった。
sample(x, size, replace)。
ベクトルデータxから、データをsize回数出力する。
replaceのデフォルト値はFALSEなので、sizeが2以上の場合、
所謂「ゾロ目」が出ない。
> sample(x=1:2, size=2) [1] 1 2 > sample(x=1:2, size=2) [1] 1 2 > sample(x=1:2, size=2) [1] 2 1 > sample(x=1:2, size=2) [1] 2 1
> sample(x=1:2, size=2,replace=TRUE) [1] 2 2
昨日買った本は、やはり手堅い。
関数に引数を指定する場合、デフォルトの順番だけに頼らず、必ず
変数名に代入する形で指定すべきこととか(この場合、順番通りでなくともよい)。
replaceがFALSEの場合、xの大きさよりも多くのデータは 当然出せない。
> sample(x=1:3, size=4, replace=TRUE) [1] 1 1 2 1 > sample(x=1:3, size=4, replace=FALSE) sample.int(length(x), size, replace, prob) でエラー: 'replace = FALSE' なので、母集団以上の大きさの標本は 取ることができません
設定忘れ。makerssプラグインが有効になっていることを確認してから、 $HOME/public_html/diary の下にWebサーバが書き込み可能なindex.rss作成。
同じサイズのSSD同士でddrescueやってみた。
送り元はあちこち読めなくなっている(が、OSは
起動する)。
当初10分くらいで終わる想定だったようだけど、最終的 には19分弱。
$ time sudo ddrescue -f /dev/sda /dev/sdb GNU ddrescue 1.23 Press Ctrl-C to interrupt ipos: 124422 MB, non-trimmed: 0 B, current rate: 0 B/s opos: 124422 MB, non-scraped: 0 B, average rate: 112 MB/s non-tried: 0 B, bad-sector: 53248 B, error rate: 8192 B/s rescued: 128035 MB, bad areas: 8, run time: 18m 53s pct rescued: 99.99%, read errors: 112, remaining time: 0s time since last successful read: 2s Finished real 18m54.078s user 0m6.439s sys 4m38.386s
転送先もOSは無事に起動した。
160GBのHDDから1TBのHDDにイメージをddrescueしてみた。
$ time sudo ddrescue -f /dev/sda /media/temp/160g.img GNU ddrescue 1.23 Press Ctrl-C to interrupt Copying non-tried blocks... Pass 1 (forwards) ipos: 160041 MB, non-trimmed: 0 B, current rate: 51273 kB/s opos: 160041 MB, non-scraped: 0 B, average rate: 87502 kB/s non-tried: 0 B, bad-sector: 0 B, error rate: 0 B/s rescued: 160041 MB, bad areas: 0, run time: 30m 28s pct rescued: 100.00%, read errors: 0, remaining time: n/a time since last successful read: n/a Finished real 30m28.186s user 0m13.967s sys 6m4.008s
忘れていただけかどうかは知らない。
$ date; echo 'date "+%d:%H:%M:%S %N" > $HOME/date.txt' | at 'now + 2 minutes' 2021年 7月 31日 土曜日 02:18:51 JST warning: commands will be executed using /bin/sh job 3 at Sat Jul 31 02:20:00 2021
$ ls -alF --full-time date.txt -rw-r--r-- 1 user group 22 2021-07-31 02:20:00.548322533 +0900 date.txt $ cat date.txt 31:02:20:00 552994356
at(1)とは関係なさそうだけど(無しでも似た結果になった)、 date(1)の吐いた時刻データの値は、 出力先のファイルが作られた時刻 より、わずか後、みたいだ。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。
※ kuzu [本にあったのは、変数名の使用は、引数が3つ以上ある場合に、という条件付けであった]