僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
$ cat url_decode.rb #!/usr/bin/env ruby require 'cgi' require 'kconv' while line = gets() print CGI::unescape(line).toeuc end $ echo "%90F%82%CD%93%F5%82%D6%82%C7" |\ ruby url_decode.rb 色は匂へど
をを、便利ぃなことよ。
ちょっとだけ簡略化。
5c5 < print CGI::unescape(line).toeuc --- > print CGI.unescape(line).toeuc
アックスにてK*BUG。10人ちょっと。
発信源さまざまな電波の中で久しぶりに無線LANと格闘して
いた。/etc
の下を色々いじったものの、結局は
# iwconfig ath0 essid "hoge" key "a:hoge" &&
dhcliant ath0だった。
madwifi熱い。使ってると熱い。
NetBSDの開発状況とか、NetBSD/MacPPCとか、FDCloneとptyとか色々。
すぐ忘れるtipsを適当に。
コピーしたモノは kill-ringの中に保存されている。
first, second, third の順にコピーすると、
kill-ring ("third" "second" "first")
ペーストするのは最後に飲み込んだモノだけ。では
ない。C-u(universal-argument)で履歴を遡れる。
ただし、順序が変わってしまう(kill-ringには
反映されてないが)ので、C-yの後はM-y(yank-pop)する
のが良かろう。
まだ書いてなかった筈だ。
湧かない気力の突破口には、ならないだろうな。
$ lsof -c sshd COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME sshd 1958 root cwd DIR 3,1 4096 2 / sshd 1958 root rtd DIR 3,1 4096 2 / sshd 1958 root txt REG 3,1 291672 1442178 /usr/sbin/sshd sshd 1958 root mem REG 0,0 0 [heap] (stat: No such file or directory) sshd 1958 root mem REG 3,1 41568 3371822 /lib/libnss_files-2.3.6.so sshd 1958 root mem REG 3,1 1338779 3371837 /lib/libc-2.3.6.so sshd 1958 root mem REG 3,1 25194 3371844 /lib/libcrypt-2.3.6.so sshd 1958 root mem REG 3,1 80141 3371842 /lib/libnsl-2.3.6.so sshd 1958 root mem REG 3,1 79350 2656578 /usr/lib/libz.so.1.2.3 sshd 1958 root mem REG 3,1 12432 3371832 /lib/libutil-2.3.6.so sshd 1958 root mem REG 3,1 1379935 3275973 /usr/local/ssl/lib/libcrypto.so.0.9.8 sshd 1958 root mem REG 3,1 69270 3371841 /lib/libresolv-2.3.6.so sshd 1958 root mem REG 3,1 13081 3371839 /lib/libdl-2.3.6.so sshd 1958 root mem REG 3,1 36987 3373304 /lib/libpam.so.0.77 sshd 1958 root mem REG 3,1 30958 3373319 /lib/libwrap.so.0.7.6 sshd 1958 root mem REG 3,1 106351 3371833 /lib/ld-2.3.6.so sshd 1958 root 0u CHR 1,3 2411 /dev/null sshd 1958 root 1u CHR 1,3 2411 /dev/null sshd 1958 root 2u CHR 1,3 2411 /dev/null sshd 1958 root 3u IPv4 5584 TCP *:ssh (LISTEN)
PHPの動作方法の一つ。らしい。
SheBANGなCGIとは違うようだった。
どう違うかよく分からないが。
某所(非公開だった)での問答が-----だと 思わなくもなかったので、手元の Ubuntu や Debian で動かして、 RaspberryPi で確認。
$ sudo apt-get install apache2 php5_cgi -y $ sudo a2enmod userdir $ sudo a2enmod actions $ sudo a2enmod php5_cgi
で、.htaccess は、
Action application/x-httpd-php /cgi-bin/php5
で、phpinfo.php。
$ w3m -dump http://$SERVER/~$USER/phpinfo.php | grep CGI Server API CGI/FastCGI GATEWAY_INTERFACE CGI/1.1 _SERVER CGI/1.1
ここでまとめると手順はかなり少ないが、実際のところ
断片的で食い違ったWeb上の情報に振り回されて、
かなりの試行錯誤を強いられた。
このブログも、そうした雑草の一本に過ぎないのだけど。
難解バカボン動作。もちろんRaspberryPi。
gccのときより、警告が
いっぱい出た。
やはり色々メンテしてやらないと、そのうち
実行バイナリが作れなくなり、しまいには
バイナリ自体の実行環境がなくなってしまいそうだ。
$ ./nanba -inost -v -s 2 隊長の王国は溢れるし、すかさず赤い雹を占拠するのだ。\ 荒馬が悲しむのだろう。愚かな男の選ばれた者が押し寄せる\ ので用心せよ。射手座はまず黄色い人質に圧力をかけるし、\ すりかえられた長男を略奪するのだろう。 居城はエクスラシャペルに一撃をくわえるなど知らない。\ 最後の日のゴール人の艦隊が跡をたどるし、アラビとエジプトの\ 異教徒が血に染まった星に立ち向かうので危険だ。牛乳の大軍団\ がぬけぬけと娼婦を手にするのだろう。ペイ・バの救いようのない\ 大飢饉が死んでいるのだ。
でRaspberryPIの起動イメージ作成を試す。GNU makeとGNU SedとFreeBSDの
ソースツリー(の一部)と、(RasPIには)
u-boot-pi が必要だった。
試した環境は Core i5 2.8GHzに4GB。script環境で
ログを取っておいた。
$ uname -a FreeBSD $HOST 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r277524: \ Tue Jan 27 14:03:18 JST 2015 \ root@$HOST:/usr/obj/usr/src/sys/GENERIC amd64 $ cat raspy.conf board_setup RaspberryPi option ImageSize 8gb option User pi option SwapFile 512mb FREEBSD_INSTALL_WORLD=y $ time sudo /bin/sh crochet-freebsd.sh -c raspy.conf real 194m18.833s user 171m4.063s sys 20m18.557s
Type Aで起動するものは一応できた。
$ ls -l work/*.img -rw-r--r-- 1 root $USER 8000000000 Jan 28 12:17 \ work/FreeBSD-armv6-11.0-RPI-B-r277815.img
% uname -a FreeBSD raspberry-pi 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r277815: \ Wed Jan 28 12:06:13 JST 2015 \ root@$HOST:$DIR/crochet-freebsd/work/obj/arm.armv6/usr/src/sys/RPI-B arm % mount /dev/mmcsd0s2a on / (ufs, local, noatime, journaled soft-updates, nfsv4acls) devfs on /dev (devfs, local) /dev/mmcsd0s1 on /boot/msdos (msdosfs, local, noatime) /dev/md1 on /tmp (ufs, local, noatime, soft-updates) /dev/md2 on /var/log (ufs, local, noatime, soft-updates) /dev/md3 on /var/tmp (ufs, local, noatime, soft-updates) % df -h Filesystem Size Used Avail Capacity Mounted on /dev/mmcsd0s2a 7.2G 931M 5.7G 14% / devfs 1.0K 1.0K 0B 100% /dev /dev/mmcsd0s1 17M 3.6M 13M 21% /boot/msdos /dev/md1 29M 24K 26M 0% /tmp /dev/md2 14M 56K 13M 0% /var/log /dev/md3 4.4M 12K 4.0M 0% /var/tmp % grep -v '^$\|^#' /etc/rc.conf hostname="raspberry-pi" ifconfig_ue0="DHCP" sshd_enable="YES" cron_enable="NO" syslogd_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
パスワードはユーザ名と同様。スーパーユーザにパスワード無しと。 ついでに起動ログも。
ゆっくり休もうかと思ったが、結局休めなかった。
某所で
面白いメールアドレスが
ひとしきり話題になったので、
かなり経ってしまったが、ようやく復習する気になった。
参考になりそうな情報に目を通して、
Postfix+(Dovecot+)SQLite3に、GMailから送信するテスト。
とりあえず受信ができたアドレスはこれだけ。
sqlite> select MAIL_USER || "@example.com" from musers where A_COLUMN="hoge"; $a@example.com a.@example.com a..@example.com a....@example.com hoge*@example.com <hoge@example.com 'or'1'='1'--@example.com ^_^@example.com ___@example.com ---@example.com ****@example.com ###@example.com +++@example.com
幾つかはGMailからの送信時に、エスケープしてやる必要があった。
$MAILDIR/new$ grep ^To * | awk '$0=$2' $a@example.com a.@example.com <"a.."@example.com> <"a...."@example.com> hoge*@example.com <"<hoge"@example.com> 'or'1'='1'--@example.com ^_^@example.com ___@example.com ---@example.com ****@example.com ###@example.com +++@example.com
@の前に@を入れたアドレスは、色々やってみたが通せなかった。
アメリカの本の翻訳間違いに、華氏温度の換算が時々見つかる。
「気温は64度で、氷がはることはありえない」とか(摂氏に直せば約18度)。
換算するスクリプトを書いて、グラフにしてみた。
水の凝固点(32°F、0℃)、沸点(212°F、100℃)という定義からして、
ある温度が同じ値になる。
どこかに「零下40度で、水銀温度計が凍った」とかあったが、
これだとどちらか分からない、ことが分かった。
同じ温度だから。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。