僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
15時頃にバスに飛び乗り、近鉄、地下鉄を乗り継いでJR三宮へ。 K*BUGの定例宴会で大いに飲み喰いした。
$ which kill /usr/bin/kill $ tcsh % which kill > which kill kill: シェルに入っているコマンドですー
wgetしてみた。
$ time wget -q ftp://ftp.kuzuore.com/pub/LinuxPersonalWorkstation-bm.pdf real 2m33.616s user 0m0.060s sys 0m0.090s
無線LANが不調らしく有線である。
ping -c 100 www.kuzuore.com (ry 64 octets from 210.138.41.18: icmp_seq=99 ttl=50 time=189.4 ms --- www.kuzuore.com ping statistics --- 100 packets transmitted, 100 packets received, 0% packet loss round-trip min/avg/max = 78.7/229.9/386.9 ms
鶴橋で降りず、天王寺まで行き、大和路快速を待たず、鈍行を乗り継いで大和郡山へ。 奈良高専には30分ほど遅れて付いた。 3.4GHzの鯖のカーネル再構築は恐ろしく速く見えた。
さらにKNOPPIXのリマスタリング。
流石に限界。aptitudeとか
dpkgとかも覚えないと。
削るだけでなく、/etc/apt/sources.listに
手を入れ、ckermitを追加してみた。
更新すると、kdebluetoothも消せた。さらに
消して消して消しまくる。
リマスタリングしたknoppix.isoは288MB位まで
小さくなった。sshdもttyS0もうまくできた。
が、/etc/passwdと/etc/shadowの更新を忘れていた。
これではリモートログインできない。また作りなおす。
# ls -l knoppix.iso -rw-r--r-- 1 root root 302018560 Mar 26 14:51 \ knoppix.iso
で、焼かずに起動を試す方法。普通にKNOPPIXのCDで 起動して、起動時のプロンプトに以下のように入力。
boot: knoppix bootfrom=/dev/hda1/knoppix.iso
今度はうまくいったが、/home/knoppix/.screenrc も入れた方がよかったか...きりがない。
古ノートについていた2GBのジャンクHDDに突っ込む。例によって
一枚だけ。お薦めに任す。
まだXは動かない。X -configureさえ効かない。
何時の間にか/sbin/xfplamoconfigというスクリプト
ができていた(4.0Xより前は知らない)。で、
試したが、どうしてもXが上がらないので
面倒になって再インストール。
やっぱり何か抜けていたらしく、今度は嘘のように
スムーズにXが起動する。起動を確認して
周波数や解像度をモニタに合わせる。
でも、まだ何かが変ったようには見えなかったり。
$ uname -a Linux 2.6.15.6-plamoUP (Plamo 4.0.2) #2 PREEMPT Thu\ Mar 9 13:25:25 JST 2006
ミニコンポにつないでswedish.auなどをaplayしてみたが、 音声がぶちぶちなのは何がいけないのだろうか。
またGoogleのてっぺんを狙って Firefox(X11; U; Linux i686; ja-JP; rv:1.7.12)のロケーションバーにURLを手打ちにしてみた。 やっぱりEUCにしないとダメだった。
というか、URLを打つ必要などなかった。 以前似たようなことを書いていたが、 検索キーワードだけ入れればそっちに飛ぶのだから。
SWP-0008F氏ね。
これではLANの分割はできても、ルータやプリンタなど、VLAN間で共通に使用したいモノが繋げられないじゃないか。
あれでもか、これでもかと機能てんこ盛りを謳いあげてる癖に、 マルチプルVLANできない(サポート担当者断言せり)8ポートのVLANスイッチなんて
糞だ。
実用には糞かもしれんが、玩具としてはちょっと面白げ。と
ポジティブに考え直す。
一台のホストの複数のイーサネットインターフェースを
同じスイッチに繋いで使えるか試すことにする。
linux-net.osdlのサイトも見たが、
カーネルソースのDocumentation/networking/bonding.txtと大体
同じみたい。
例によってPlamo-4.21。kernelは2.6.20とか21とか。
まずカーネル再構築。CONFIG_BONDING=m にする。
次いでifenslaveコマンド((8)といったところか)をビルド。
これはカーネルソースに同梱されている。
# cd Documentation/networking/ # gcc -Wall -Wstrict-prototypes -O \ -I/usr/src/linux/include \ ifenslave.c -o ifenslave # cp ifenslave /usr/sbin
modprobe bonding とかすると、bond0ができた。このとき dmesgにこんなの。
$ dmesg | tail (ry bonding: Warning: either miimon or arp_interval and \ arp_ip_target module parameters must be specified, \ otherwise bonding will not detect link failures! \ see bonding.txt for details.
なんか細かい設定が載っているようだけど、
めんどくさいので、凝ったことはやらない。
eth1とeth2(どっちも蟹だ)をまとめることにする
# ip link set eth1 up # ip link set eth2 up # ip link set bond0 up # ifenslave -f bond0 eth1 eth2 # ip addr add IP/MASK dev bond0
bond0、eth1、eth2全部eth1と同じMACアドレスになった。
スイッチの適当なポート二つをtrunk設定して、
eth1とeth2に繋ぐ。
別のリモートホストからping してみる。反応あり。
なんか両方に飛んでるらしく、双方のLEDが同時に点滅している。
片方引っこ抜いても、ちょっと途切れるだけで、通信は続く。
tcpdump で eth1 と eth2 を別々に見て、首をひねった。
交互に反応しているように見えたが、どっちも
echo replyしかキャプチャされないのだ。
bond0からはrequest/reply双方が見えるのだけど。
別の(bondingしてない)ホストからファイルを転送してみたが、
転送時間は全然変らない。orz。
で、そっちもbondingしてみる。とはいえ、あまり似たNICも
ないので、内蔵のBroadcom4400とPCMCIAのRealtekRTL8139。
...でも、やっぱり、転送速度は
変らない。
orz.
また自動更新。
こないだまでできていたはずの日記更新ができなくなった。
puttyからeuc-jpな端末を通してw3mにvimで
さっきの記事を書くまではいいが、再度開くと例外なく文字化け。
とりあえずは~/.vimrc をリネームすると、化けなくなった。
ずっと繋がらない。ぐぐって
ミラーサイトを
いくつか探したが、
libpcap-0.9.4とかtcpdump-3.9.4でいいのかしら。
ちなみにFreeBSDのportsに入っているtcpdumpは3.9.7(libpcapは0.9.7)だったが。
スイッチがない。
Plamoに挿すと、電源も入った。
usb 5-8: new high speed USB device using ehci_hcd \ and address 2 usb 5-8: configuration #1 chosen from 1 choice usbcore: registered new interface driver libusual Initializing USB Mass Storage driver... scsi0 : SCSI emulation for USB Mass Storage devices usbcore: registered new interface driver usb-storage USB Mass Storage support registered. usb-storage: device found at 2 usb-storage: waiting for device to settle before scanning scsi 0:0:0:0: Direct-Access I-O DATA HDCN-U \ 9.34 PQ: 0 ANSI: 0 sd 0:0:0:0: [sda] 625142448 512-byte hardware sectors (320073 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 37 00 00 08 sd 0:0:0:0: [sda] Assuming drive cache: write through sd 0:0:0:0: [sda] 625142448 512-byte hardware sectors (320073 MB) sd 0:0:0:0: [sda] Write Protect is off sd 0:0:0:0: [sda] Mode Sense: 37 00 00 08 sd 0:0:0:0: [sda] Assuming drive cache: write through sda: sda1 sd 0:0:0:0: [sda] Attached SCSI disk usb-storage: device scan complete
ついでにFreeBSD-6.3。
umass0: I-O DATA HDCN-U, rev 2.00/9.34, addr 3 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <I-O DATA HDCN-U 9.34> Fixed Direct Access SCSI-0 device da0: 1.000MB/s transfers da0: 305245MB (625142448 512 byte sectors: 255H 63S/T 38913C)
mount -t msdosfs /dev/da0s1 /mountpoint しようとしたが失敗。
dmesgを確認すると、"Disk too big, try '-o large' mount option"。
そのとおりにしたら(しばらく待たされたが)うまくいったようだ。
それにしても、ファイルシステムはどうしようか。
流石にこのサイズでVFATはないだろうし、ext3にするとWinで書けず、
NTFSではPC-UN*Xが難だ。うーむ。
car と cdr 一つずつの組み合わせはあるようだけど、 それ以上は、手元環境では用意されてないかも。
(cadr '((1 2 3) (4 5 6) (7 8 9))) (4 5 6) (cdar '((1 2 3) (4 5 6) (7 8 9))) (2 3) (cddr '((1 2 3) (4 5 6) (7 8 9))) ((7 8 9)) (caar '((1 2 3) (4 5 6) (7 8 9))) 1
(caddr '((1 2 3) (4 5 6) (7 8 9))) Debugger entered--Lisp error: (void-function caddr) (caddr (quote (... ... ...))) eval((caddr (quote (... ... ...)))) eval-last-sexp-1(t) eval-last-sexp(t) eval-print-last-sexp() call-interactively(eval-print-last-sexp nil nil)
無ければ作れ。ということか。
(defun caddr (list) (car (cdr (cdr list)))) caddr (caddr '((1 2 3) (4 5 6) (7 8 9))) (7 8 9)
for x in ... みたいなものか。
foreach はあまり使ったことなかったっけ。
(defun multi (n) (* n n)) (mapcar #'multi '(1 2 3)) (1 4 9)
mapcar #'FUNC list は、 (mapcar (function FUNC) list) になるらしい。
ついでにもう一つ。
(mapcar (function car) '((*) (1 2 3) (4 5 6) (7 8 9))) (* 1 4 7) (eval (mapcar (function car) '((*) (1 2 3) (4 5 6) (7 8 9)))) 28
clisp を立ち上げるのが面倒になってきて (面倒にならないカスタマイズが、まだできない)、 昨日も今日も、専らEmacsLisp。 (Common Lisp に似てるようだし)。
こちらでは 例のコードで1712!までだった。
$ scm SCM version 5e5, Copyright (C) 1990-2006 Free Software Foundation. SCM comes with ABSOLUTELY NO WARRANTY; for details type `(terms)'. This is free software, and you are welcome to redistribute it under certain conditions; type `(terms)' for details. ;loading /usr/share/slib/require ;done loading /usr/share/slib/require.scm ;loading /usr/share/slib/require ;done loading /usr/share/slib/require.scm ;loading /usr/lib/scm/Link ;done loading /usr/lib/scm/Link.scm ;loading /usr/lib/scm/Transcen ;done loading /usr/lib/scm/Transcen.scm > (myfact 1713) ;ERROR: "/usr/lib/scm/Iedline.scm": bignum: numerical overflow; \ NUMDIGS_MAX < 1000 ; in expression: (#@* #@n (#@myfact (#@- #@n 1))) ; in scope: ; (n) procedure myfact ;STACK TRACE 1; (#@myfact 1713)
既に作り捨てたサーバの鍵が失効するとかしたとかのメールが いくつか届いていた。
letsencrypt$ ./letsencrypt-auto renew --force-renew Checking for new version... Requesting root privileges to run letsencrypt... sudo /home/$USER/.local/share/letsencrypt/bin/letsencrypt \ renew --force-renew [sudo] password for $USER: Processing /etc/letsencrypt/renewal/$HOST.$DOMAIN.conf new certificate deployed without reload, \ fullchain is /etc/letsencrypt/live/$HOST.$DOMAIN/fullchain.pem Congratulations, all renewals succeeded. \ The following certs have been renewed: /etc/letsencrypt/live/$HOST.$DOMAIN/fullchain.pem (success)
その結果、
$ sudo ls -l /etc/letsencrypt/live/$HOST.$DOMAIN/ 合計 0 lrwxrwxrwx 1 root root 41 3月 27 21:57 cert.pem -> \ ../../archive/$HOST.$DOMAIN/cert2.pem lrwxrwxrwx 1 root root 42 3月 27 21:57 chain.pem -> \ ../../archive/$HOST.$DOMAIN/chain2.pem lrwxrwxrwx 1 root root 46 3月 27 21:57 fullchain.pem -> \ ../../archive/$HOST.$DOMAIN/fullchain2.pem lrwxrwxrwx 1 root root 44 3月 27 21:57 privkey.pem -> \ ../../archive/$HOST.$DOMAIN/privkey2.pem $ sudo ls -l /etc/letsencrypt/archive/$HOST.$DOMAIN/ 合計 32 -rw-r--r-- 1 root root 1801 3月 7 17:31 cert1.pem -rw-r--r-- 1 root root 1801 3月 27 21:57 cert2.pem -rw-r--r-- 1 root root 1675 3月 7 17:31 chain1.pem -rw-r--r-- 1 root root 1647 3月 27 21:57 chain2.pem -rw-r--r-- 1 root root 3476 3月 7 17:31 fullchain1.pem -rw-r--r-- 1 root root 3448 3月 27 21:57 fullchain2.pem -rw-r--r-- 1 root root 1708 3月 7 17:31 privkey1.pem -rw-r--r-- 1 root root 1704 3月 27 21:57 privkey2.pem
liveディレクトリの下がシンボリックリンクになっている、
のは、更新を考慮してのことか。
とはいうものの、新しい証明書が有効かどうか、実は
まだ確認してなかったり。
Ubuntu xenialのf2fs-tools(1.6.1-1)にはresize.f2fsは入ってなかった。
Upstreamに入ったより前の
リリースに基づいた
パッケージだから仕方がない。
$ dpkg -L f2fs-tools | grep bin /sbin /sbin/f2fstat /sbin/parse.f2fs /sbin/fsck.f2fs /sbin/fibmap.f2fs /sbin/mkfs.f2fs /sbin/defrag.f2fs /sbin/dump.f2fs
Debian buster (1.10-0-1)にはあったので、試す。
例のf2fs化したraspbianのイメージをMicroSDに書き込んで、
fdisk で/dev/sdb2を消し、再度/dev/sdb2領域設定。
このとき、"Do you want to remove the signature?" と聞いてくるので Yesを選択する。しないと次ができなかった。
そして、resize.f2fs /dev/sdb2する。
すると
このように。
起動させて、問題なく動くことを確認。
resize_e2fs_once.serviceとかを止める(必要ないから)。
しかし調子に乗ってtestingにしたらdist-upgradeに失敗。再度
書き直す。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。