僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
ツッコミを読んで、試してみた。 FreeBSDの日本語マニュアルをめくって確認。
REMOTE$ dd if=/dev/urandom of=FILE bs=1024 count=1 LOCAL$ ftp ftp://USER:PASSWD@HOST/FILE Connected to REMOTE 220 ProFTPD 1.2.9 Server (ProFTPD Default Installation) [REMOTE] 331 Password required for USER. 230 User USER logged in. Remote system type is UNIX. Using binary mode to transfer files. 200 Type set to I local: FILE remote: FILE 229 Entering Extended Passive Mode (|||45286|) 150 Opening BINARY mode data connection for FILE (1024 bytes) 100% |*************************************| 1024 2.34 MB/s 00:00 ETA 226 Transfer complete. 1024 bytes received in 00:00 (319.38 KB/s) 221 Goodbye.
PlamoLinuxで man ftp しても、この隠し技(?)は載ってなかった。 こちらのftpは、残念ながら↑を解釈できないようだ。
リストアを試してみた。が、動くまでちょっとかかった。
最も嵌まったのはhttpd.confではなく、落し穴として注意書きがあった
はずの、$(which ruby) が違う事だった(^^;
トップページに表示するようにした。例によってシェルスクリプト
をcronで回す。user-agentを見ているだけなので、水増しは簡単(^^;
そのうちIPを見るくらいはできるようにならないと、、、
$ wget $URL/patch-2.6.11.bz2 $ wget $URL/patch-2.6.11.bz2.sign # cd $SRC && mv $USER_HOME/patch2.6.11.bz2* # ls patch* patch-2.6.11.bz2.sign
ついでにカーネルソースのディレクトリの中を ls -l すると、登録していない
ユーザIDとグループIDになっていた
(2.4.系列では両方とも573で、2.6系列では500だったり)。
kernel.orgからソースを貰う場合には、こういうあたりも気をつけないと。
/root/.historyを再確認した。が、同じコマンドで同じ事故が再現できない。
パラメータのまっとうな日付。
$ LANG=C date --date '1 year 30 month 50 day ago' "+%Y"-"%b"-"%d" 2001-Jul-16 $ LANG=C date --date '1 years 30 months 50 days' "+%Y"-"%b"-"%d" 2008-Oct-24
↓で、ftp コマンドを自動実行させる仕掛けを探したのは、ncftp等を入れる
余裕がなさそうな国民機で転送時間を測ってみたかったからである。
遅いことは分かりきっていた。A-B-Cと3台数珠繋ぎのopenvpnのA-C間の
ファイル転送で、Point to Point のVPNを二つ中継しており、
しかも半二重のハブ2台を越えなければ着かない。
おまけに3台合わせてもCPUスピードは800MHzがやっと、メモリ200MBそこそこ。
ついでにCバス+10Base-Tが一枚。せめてもなのが、ftpクライアントを
起動したPCが最も遅く、間に入ったPCが最も早いことだろうか(どの
組合せが最速もしくは最遅かは知らない)。
# time sh ftp.sh 100% |**************************************************| 162 MB \ 00:00 ETA 2018.05 real 8.58 user 246.73 sys
シェルスクリプトで実行する方法を探した。
$echo "open SERVER user USER PASSWD bin get hoge exit" | ftp -n
でも、以前同じようなをどこかで見付けて、使わなくなって忘れた-ような 気がして仕方がない。
を先週買ったマシンに突っ込んでみたが、
やっぱり相性いまいち。DHCPを貰うあたりで
止まったまま(もちろんDHCPサーバは動いている)だ。
起動時設定に凝るのもいいが、面倒臭い。
ハブの、NetBSDを繋いでいるLEDがひっきりなしに点滅。 帯域が喰われかけている。
$ tail -f /var/log/messages Mar 4 06:38:15 $HOST /netbsd: tlp0: receive error: CRC error Mar 4 06:39:02 $HOST /netbsd: tlp0: receive error: CRC error Mar 4 06:39:04 $HOST /netbsd: tlp0: receive error: CRC error Mar 4 06:39:09 $HOST /netbsd: tlp0: receive error: dribbling bit Mar 4 06:39:09 $HOST /netbsd: tlp0: receive error: CRC error Mar 4 06:39:38 $HOST /netbsd: tlp0: receive error: dribbling bit Mar 4 06:39:38 $HOST /netbsd: tlp0: receive error: CRC error (ry
なんかDHCPなかなか取れなかったり、 ケーブル引っこ抜いてもハブはLinkしていた?り挿しても 消えたり。おかしいのはハブかケーブルか。
FreeBSD-SA-06:08.sack
FreeBSD-SA-06:09.openssh
FreeBSD-SA-06:10.nfs
をようやくUpdateする。10分弱で完了。
さて、リブートはいつやるか...
本の通り、適当。KNOPPIXのCDで起動し、ext3なHDDに中身を展開。
$ su - # mount -o rw /dev/hda1 /mnt/hda1 # mkdir -p /mnt/hda1/source/KNOPPIX # cp -Rp /KNOPPIX/* /mnt/hda1/source/KNOPPIX
で、起動後に生成されたファイルをコピーしてchroot。
# cp /etc/dhcpc/resolv.conf /mnt/hda1/source/KNOPPIX/etc/dhcpc # chroot /mnt/hda1/source/KNOPPIX # mount -t proc /proc proc
嵌まった点。
# apt-get --purge remove csh パッケージリストを読みこんでいます... 完了 依存関係ツリーを作成しています... 完了 以下の問題を解決するために 'apt-get -f install' を実行する必要があるかもしれません: 以下のパッケージには満たせない依存関係があります: kdebluetooth: 依存: kdelibs4 (>= 4:3.3.2-4.0.2) しかし、インストールすることができません E: 未解決の依存関係です。'apt-get -f install' を 実行してみてください(または解法を明示 してください)。
解法を明示、って、こっちが知ってる訳がない。
FirefoxやOOoなど、パッケージをちまちまと消す。
# apt-get --purge remove gcc-3.3-base しようとすると、 どえらい警告がでた。メッセージに従い Yes, do I as say! とか入力してみる。と、xdmやらtwm はおろか、apt-cacheまでも消されて逝った...
で、これまた同じ本のコピー。ちょっと違うが。
# mkdir /mnt/hda1/master # rsync -a --exclode "/KNOPPIX/KNOPPIX" \ /cdrom master # mkisofs \ -R \ -U \ -V "Knoppix Hacks filesysterm" \ -P "Knoppix Hacks" \ -hide-rr-moved \ -cache-inodes \ -no-bak \ -pad \ source/KNOPPIX | \ nice -5 \ /usr/bin/create_compressed_fs - 65536 > \ master/KNOPPIX/KNOPPIX
さてうまくゆけばいいが。
あと、/etc/inittabをいじり、
デフォルトのランレベルを2に、
そしてシリアルが開くようにする。
で、引続きコピペ。
# cd /mnt/hda1/master # find -type f \ -not -name md5sums \ -not -name boot.cat \ -exec md5sum {} \; \ >> KNOPPIX/md5sums #!/bin/sh mkisofs \ -pad \ -l -r -J -v \ -V "KNOPPIX" \ -no-emul-boot \ -boot-load-size 4 \ -boot-info-table \ -b boot/isolinux/isolinux.bin \ -c boot/isolinux/boot.cat \ -hide-rr-moved \ -o knoppix.iso master/ # ls -l knoppix.iso -rw-r--r-- 1 root root 403836928 2006-03-04 17:18 \ knoppix.iso
早速qemuにかける。一応想定通りに動いている模様。 シリアルにもknoppix login:プロンプトが出た。 でもパスワードを知らないので、当然入れない...
蟹をNetBSDマシンに装着してみた。
筐体を開けたのは初めてだ。NICはすぐ
取り付けできたが、CDROMやHDDは
簡単には外せそうにない。
それからtlp0なカードも見たが、
d|i|g|i|t|a|lなチップが載っかっているのが確認できた。
rtk0は何もしなくても認識できた。
そっから先がどうかは、また別だろうけど。
問題。PCIの一番下につけたのは間違ってたかも。
ケーブルを一旦挿すと、素手だけではバネが下になって、
非常に抜きにくい。
日記のテーマをいくつか変えてみた。
Firefoxのキャッシュを消しながらリロード数回。しかし、目が疲れてくると、Defaultに戻す。
なんとなくPPCのDebian。に
USBシリアルケーブルを繋いでみる。あっさり認識され,
/dev/ttyUSB0になった。
もちろんメーカーのサイトにはMacなど書かれてない。
さて、何でシリアルコンソールを叩くか。ckermitはPPCのEtchには (まだ?)入ってないみたい。gkermitはファイル転送プログラムで, ここでは用が無い。
で、minicomをapt-get install。 -sで日本語の設定モードになった。 Macにはリモートログインしていたが、設定が噛み合ってないので ちょっと面倒。デバイスと通信速度をいらうと、これもあっさり OBSにログインできた。
設定変更はCtrl-A + key。Ctrl-A+ZでHelpメニューが出てくる。
USBシリアルケーブルと変換アダプターにRJ-45ストレートケーブルで、シリアルコンソールに 繋がった。あら、リバースケーブルの類は要らなかったか。
デフォルトでIPIPドライバが入っている。
で、何をしたものか。
$ ip r XXX.XXX.XXX.0/24 dev eth0 proto kernel scope link src XXX.XXX.XXX.YYY default via XXX.XXX.XXX.ZZZ dev eth0
偶然の打鍵間違いから気づく。
引数はa, i も解するようだ。
二つ目の引数も省略可能なときもあった。
他と区別できるときに限定されるようだ。
$ ip l s Not enough of information: "dev" argument is required. $ ip l sh 1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff 3: sit0: <NOARP> mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0
lenny にはapt-get で入った(sources.listには contrib と non-free)。
何も考えずにスーパーユーザとなり、lh_build やると、うんぬんかんぬん
の末に100MB弱のbinary.iso ができた。
VirtualBoxで試したが、ログインプロンプトまでいかなかった。
まだ色々試さないと。
binary.iso はsquashfsのイメージが入っているが、このあたりでひっかかった
かも(ビルド環境には入ってない)。
USBのホスト間でデータをコピーするツール。
何も考えずにPlamoホスト2台を繋いでみた。
$ dmesg (ry usb 4-4: new high speed USB device using ehci_hcd and address 3 usb 4-4: configuration #1 chosen from 1 choice usbcore: registered new interface driver libusual SCSI subsystem initialized 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 3 usb-storage: waiting for device to settle before scanning scsi 0:0:0:0: CD-ROM NETAC CROSSBOX \ 2.00 PQ: 0 ANSI: 2 usb-storage: device scan complete scsi 0:0:0:0: Attached scsi generic sg0 type 5 Driver 'sr' needs updating - please use bus_type methods sr0: scsi3-mmc drive: 126x/126x writer cd/rw xa/form2 tray Uniform CD-ROM driver Revision: 3.20 sr 0:0:0:0: Attached scsi CD-ROM sr0
/dev/sr0をマウントしてみたが、Read Only にしかならなかった。
マウントポイントを見てみると、
host:/mnt/point# ls -l total 426 -r-xr-xr-x 1 root root 434176 Mar 23 2004 Connect.exe* -r-xr-xr-x 1 root root 1399 Mar 23 2004 ReadMe.txt* -r-xr-xr-x 1 root root 47 Mar 23 2004 autorun.inf* host:/mnt/point# cat autorun.inf [AUTORUN] OPEN=Connect.exe ICON=Connect.exe
要するに、Connect.exe によって、片方から片方にコピーしたり、
コピーしたものを消したりできるらしい。
が、WinXP同士を繋いでも、いまいちうまく動いていない(片方の
USB認識がうまくいかない)。のでよくわからない。
224.0.0.1 にpingを打つと、プリンタだけが応答してきた。
P-Plamo-090303を頂戴して試す。DVDが面倒なので、VirtualBoxで。
ペンギンの起動画面を経て、コンソールのログインプロンプト。
起動時に"gui"と入力Enterすると、
xfplamoconfigスクリプトが起動する。
しかるのちに
ログイン画面となった。
Plamo-4.6のノートに入れた。
前者が4.0(with libpcap-1.0)、後者が4.76。
pppoe-setup で MASQUERADEを選択したとき、次のような パケットフィルタリングがデフォルトで有効になった。
Chain INPUT (policy DROP) target prot opt source destination LOG tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:0:1023 LOG flags 0 level 4 LOG udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:0:1023 LOG flags 0 level 4 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:0:1023 DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpts:0:1023 LOG udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:2049 LOG flags 0 level 4 LOG tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2049 LOG flags 0 level 4 DROP udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:2049 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2049 LOG tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:6000:6063 LOG flags 0 level 4 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:6000:6063 LOG tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:7100 LOG flags 0 level 4 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:7100 LOG tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02 LOG flags 0 level 4 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x17/0x02 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
FORWARDとOUTPUTには何も無く、ポリシーもACCEPTだった。ので省略。
ちなみに /proc/sys/net/ipv4/conf/all/rp_filter は "1" だった。
LFS(Log-structured File System)の一種をLFS(Linux From Scratch)に入れた。
LFS-6.6 x86_64に入れた。
$ find /usr/bin -mmin -3 /usr/bin /usr/bin/rmcp /usr/bin/chcp /usr/bin/lscp /usr/bin/dumpseg /usr/bin/lssu /usr/bin/mkcp $ find /sbin -mmin -4 /sbin /sbin/umount.nilfs2 /sbin/mount.nilfs2 /sbin/mkfs.nilfs2 /sbin/nilfs_cleanerd $ find /usr/share/man -mmin -5 /usr/share/man/man5 /usr/share/man/man5/nilfs_cleanerd.conf.5 /usr/share/man/man1 /usr/share/man/man1/lscp.1 /usr/share/man/man1/lssu.1 /usr/share/man/man8 /usr/share/man/man8/nilfs.8 /usr/share/man/man8/mount.nilfs2.8 /usr/share/man/man8/rmcp.8 /usr/share/man/man8/dumpseg.8 /usr/share/man/man8/nilfs_cleanerd.8 /usr/share/man/man8/chcp.8 /usr/share/man/man8/mkcp.8 /usr/share/man/man8/mkfs.nilfs2.8 /usr/share/man/man8/umount.nilfs2.8
# dd if=/dev/zero of=nilfs.img bs=1MB count=512 512+0 records in 512+0 records out 512000000 bytes (512 MB) copied, 2.95951 s, 173 MB/s # mkfs -t nilfs2 nilfs.img mkfs.nilfs2 ver 2.0 Start writing file system initial data to the device Blocksize:4096 Device:nilfs.img Device Size:512000000 File system initialization succeeded !! # mount -o loop -t nilfs2 nilfs.img $MOUNT mount.nilfs2: WARNING! - The NILFS on-disk format may change at any time. mount.nilfs2: WARNING! - Do not place critical data on a NILFS filesystem.
コピーしたファイルを消去しても、(しただけでは)Use%は変化しなかった。
rmcp /dev/loop0 1..100 などやっても同様。
そっから先は、また次回。
ほとんど一ヶ月空白になったので、少し埋めることにする。
sudo tcpdump -q -n -i eth0 tcp src port 80 or udp dst port 53 or proto gre とか。
を購入。Ubuntuに接続すると、
$ diff before after 1127a1128,1132 > [ 9758.780096] usb 1-4: new high-speed USB device \ number 4 using ehci_hcd > [ 9759.459638] cdc_ether 1-4:2.0: eth1: register \ 'cdc_ether' at usb-0000:00:04.1-4, CDC Ethernet Device, \ XX:XX:XX:XX:XX:XX > [ 9759.460458] usbcore: registered new interface driver cdc_ether > [ 9759.716859] udevd[5640]: renamed network interface eth1 to eth3 > [ 9771.248053] eth3: no IPv6 routers present
やがてアドレスが振られ、デフォルトゲートウェイと
resolv.conf が変えられてしまった。
アクセスポイントモードでdhcp auto って何だそりゃ。
無効化したいが、設定が見つからない。
RaspberryPiに挿して、有線の動作確認。
FreeBSD 11 CURRENT にも挿してみたが、PC,Raspiとも
挿すだけでは使えなかった。
RaspberryPi TypeBに繋ぐ。
元々あるイーサネット(リモート接続用)の
他に
前に買った
USB Ethernetを合わせてUSB二本をbridge。
有線LANの彼方にdhcpサーバがあればそちらに回すようだ。
何か認識してる様子はあったが。
$ diff before after
> ugen6.2: <ELECOM CO., LTD.> at usbus6
> umodem0: <RNDIS Communications Control> on usbus6
> umodem0: data interface 1, has no CM over data, has no break
ルータとCTUの間に挟んでみる。
電力が保つか心配だったが、今のところ大丈夫みたい。
流石にwiresharkは試さず、tcpdumpで。
ようやく日本橋で入手。マルツは共立より一割ほど安かった。
紙箱が違っていたが、中身もMade in P.R.C であった。
Element14による
16ヶ国語(英語、チェコ語、デンマーク語、オランダ語、
フィンランド語、フランス語、ドイツ語、イタリア語、
ポーランド語、ポルトガル語、ロシア語、
スペイン語、 スウェーデン語、
中国語(簡体字)、日本語、韓国語)の
Quick Start Guide & Safety Instruction Manual
が付属。厚さ5mm程度の冊子だった。
$ dmesg|grep -i bogo [ 0.001852] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000) [ 0.154164] SMP: Total of 4 processors activated (153.60 BogoMIPS).
$ grep -i bogo /proc/cpuinfo BogoMIPS : 38.40 BogoMIPS : 38.40 BogoMIPS : 38.40 BogoMIPS : 38.40
お馬鹿なfizzbuzzでベンチ。
何回か測ったが大同小異。
$ time ./fool_fizzbuzz > /dev/null real 1m14.657s user 1m14.470s sys 0m0.180s
Bでは 以前試したが、念のため、 全く同じ環境(同じMicroSDにシリアルコンソール) で同じベンチを。BogoMipsは2.0固定。
$ time ./fool_fizzbuzz > /dev/null real 2m27.861s user 2m26.880s sys 0m0.330s
"6x FASTER"はちと吹きすぎだが、
かなり速くなっているとは思う。
買ったケースはいまひとつ。フロストより
クリアの方が好みで、蓋はネジを
締める必要がある(開閉が気軽にできない)。
SD-C016GR7VW060A(MicroSD HC UHS-I Read 95MB/s, Write 60MB/s) と、TG016G0MC28A
(SDHC, Read 20MB/s, Write 14MB/s)。
両方ともClass 10 と銘打たれてはいた。
値段が倍近く違っていたが、
Ubuntu14.04のCF-J10で確認した性能は、
それ以上の開きがある、
らしい。
検索しても、通販サイトばかりなのでリンクは諦める。
$ time unzip -p 2015-02-16-raspbian-wheezy.zip \ > /dev/mmcblk0 real 1m27.317s user 0m35.354s sys 0m2.946s
$ time unzip -p 2015-02-16-raspbian-wheezy.zip \ > /dev/mmcblk0 real 5m59.063s user 0m44.536s sys 0m3.770s
unzip(1)は -p オプションで、標準出力になるとmanにあった。
RaspberryPIとRaspbianで
どのような差が出るかは、まだ試してない。
ansibleでリモートに送り込むファイル編集。
stretchかbusterかが面倒になってきた。
雛形をコピーするのでなく、その一部を置換するようにする。
--- - name: set sources.list template: src: sources.list.j2 dest: /etc/apt/sources.list owner: root group: root mode: 0644
sources.list.j2 は templatesの下に置いておく。
deb http://ftp.jp.debian.org/debian/ {{ debian_code }} main contrib non-free
変数debian_codeはhostsファイルに書いておいた。
debian_code = stretch
~/.mailrcにimapの処理を追加してみた。
account ACCOUNT { set v15-compat set smtp-use-starttls set mta=smtp://USER:PASSWORD@MAIL_SERVER:587 set from=おれ<SENDER> localopts yes shortcut root "imaps://USER:PASSWORD@MAIL_SERVER:993" shortcut sent "imaps://USER:PASSWORD@MAIL_SERVER:993/Sent" set inbox=root }
$ s-nail -A ACCOUNT s-nail version v14.9.11. Type `?' for help imaps://USER@MAIL_SERVER:993/INBOX: 2 messages 2 unread ▸U 1 固め 2021-03-04 16:56 /1337 testmail U 2 固め 2021-03-04 16:56 /1339 testmail2 ? p 2 [-- Message 2 -- 25 lines, 1316 bytes --]: From SENDER Thu Mar 4 16:56:45 2021 Date: Thu, 04 Mar 2021 16:56:44 +0900 From: 固め <SENDER> To: SENDER Subject: testmail2 Message-ID: <20210304075644.bVH-X%SENDER> テスト2
file sent すると、送信済みのメール一覧がどっと。
s-nail に -vvv などつけると、 省略されていたメッセージが いっぱい。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。
Before...
※ kuzuore [や、ご指摘どうもです_o_ こちらなら一行で済むので、しょぼい端末でも楽にできそうですな。]
※ takanyon [wgetやブラウザ(w3mやlynx,firefox)でもftp://${username}@${password}..]
※ kuzuore [おお!Firefoxですか できました。こりゃすげえ(気がする]