トップ «前の日(12-29) 最新 次の日(12-31)» 追記

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2004-12-30(Thu) ほんでほんで、

rsyncで

Noteのバックアップを試してみた。"名称未設定_0001.xcf"が "名称未設朕_001.xcf"になっていた。...かと思ったが、tailなどに 通すと、元通りになっていた。

ちなみにrsyncの行き先にはPC-9821 + FreeBSD(98)-4.10を使ったが、 /varの残りが1%しかなかった。さっさと(ry

携帯のブラウザは

httpd.confに定義したErrorDocumentを読んでくれないんだろうか。

sshでの

ポートフォワーディングによるファイアウォール突破失敗成功。
まずNotePCのLANケーブルを抜き(考えてみれば不要であったが)、LANの外に出る。 AirHでNetにつなぎ、疑似端末を次のように叩く。

端末A
$ ssh -L 5000:$POPSERVER:22 $RELAYHOST
ここでrelayにログインした。
端末B
$ ssh -L 10000:$POPSERVER:110 -p 5000 localhost
ここでpopserverにログインできた。
端末C
$ telnet localhost 10000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Qpopper (version 4.0.5) at $POPSERVER. starting. \
  <XXX.XXXXXX@server.>
quit
+OK Pop server at $POPSERVER. signing off.
Connection closed by foreign host.

$POPSERVERはLANでの名前(プライベートIP、もしくはLANのDNSが応えるもの)が ミソだったらしい。 また、 こないだとってきたノートには"-P port"とメモっていた。 それがわかるまで失敗を続けていた。

mewでの接続は失敗。違うユーザ名が祟ったか?

5.3でisoイメージは

# uname -a
FreeBSD $HOST.domain.tld 5.3-RELEASE-p2 FreeBSD 5.3-RELEASE-p2 #0:\
  Sun Dec 26 08:26:51 JST 2004     root@$HOST.domain.tld: \
  /usr/obj/usr/src/sys/FIRST  i386
# mdconfig -a -t vnode -f $IMGFILE -u $NUM
# mount_cd9660 /dev/md$NUM $MOUNT_POINT

こんだけでマウントできる、と知るまでずいぶんかかった。

/usr/local/sbin/sshd

を自動起動させるなら、/usr/local/etc/rc.d/sshd.sh.sampleを修正。 初期設定ファイルを/etc/ssh/sshd_configにしただけ。

/etc/rc.confをミスって

shutdown -r now やった。

#mount -o rw /dev/hogefuga / ; ro -> rw
#cat -n /etc/rc.conf ; vf3スクロール
#ed /etc/rc.conf ; 別端末でwebの man 1 ed 見ながら
XXX
YY p
hogefoobar
s/hoge/fuga/
YY p
fugafoobar
w
XXX
q
# shutdown -r now

でひと安心。

<A>タグ

に凝ったスタイルシートの事を思い出した。 それをindex.htmlに読み込ませた ページを作り、 ごみ置き場へやっておいた。


2005-12-30(Fri) 1,2,3、0

google検索(kermit fedora install)

さき一昨日の足跡である。 何を探しにこのサイトに来たか一目瞭然だ。
気の毒な事に、# yum install ckermit な ページには辿り着かなかった模様である。

~/.fetchmailrc

とりあえずはこんだけ。 おっと、パーミッションは600と。 $LANGはCにしないと$MAILLOGに漢字が混ざる。
あと、-d num いくつにしようか。とりあえずは15分。

set no bouncemail
set postmaster "USER"
set syslog
poll MAILSERVER with proto APOP
  user USER_OF_MAILSERVER password 'PASSWORD'
  smtpname USER@DOMAIN.TLD

今度はSPAMをなんとかせねば。
PCの広い画面なら二つ三つ届いた程度では気にならないが、 問題はmobileimap。自分の携帯の狭い画面では非常に 目障りだ。


2006-12-30(Sat) ぶるぶる

csup

以前のツッコミを検索して、ようやくアップデートツールの 名前を思い出す。 portsのtarボールを貰ってきて、/usrの下に展開する。 真っ先にGNU screen、そしてbash、それからcsupをmake install。

適当にぐぐって出た頁を参考にする。 supfile持ってくるのを忘れていた。/usr/share/example/cvsup/stable-supfile を適当に書き換える。

/usr/srcに行き、 make update すると、sys以外(Makefileまで)全部消された。orz。
csup stable-supfile でやり直す。なんかTAGが間違っていたっぽい。

なんとかsourceをget。 Handbookを見ると、少し変わっているように見えた。
とりあえずはcd /usr/src; make buildkernel=GENERICから。

bash-completion

portsからbashを入れるとき、bash-completionというディレクトリが 目に留まった。懸案のbash補完だった。

ダウンロードサイト に飛んで行き、latestを貰ってPlamoに展開。
READMEに書かれていたスクリプトを~/.bashrcなどに貼ってみたが、 bashのバージョン判定か何かがおかしいようで、うまく動かない。
とにかくbash_completionを適当なところに置いて、sourceすれば いいらしい。
ちょっともたつく。流石に9299行は一瞬では読み終わらない。

$ dd if=/dev/zero <Tab><Tab>

すると

$ dd if=/dev/zero
--help     --version  bs=        cbs=       conv= 
count=     ibs=       if=        obs=       of=  
seek=      skip=

という塩梅。

etchには入ってないのかなぁ。と考えてPowerPCにscpしたが、

user@mac:~$ echo $BASH_VERSION
2.05b.0(1)-release
 
user@mac:~$ . bash_completion 
-bash: complete: w3m: no completion specification

どうしてw3mが。

GENERIC構築前後

[root@host ~]# uname -a
FreeBSD ma56.kuzuore.com 6.1-RELEASE FreeBSD  \
 6.1-RELEASE #0: Sun May  7 04:32:43 UTC 2006 \
 root@opus.cse.buffalo.edu: \
 /usr/obj/usr/src/sys/GENERIC  i386
[root@host ~]# uname -a
FreeBSD host.kuzuore.com 6.1-RELEASE-p11 FreeBSD    \
 6.1-RELEASE-p11 #0: Sat Dec 30 10:27:20 JST 2006   \
 root@host.kuzuore.com:/usr/obj/usr/src/sys/GENERIC \
 i386

またまたeth1394の転送実験

Plamo-4.21とDebianEtch。 こないだと似てるが、結果は大きく違うものになった。
/dev/urandomの吐き出した104,857,600バイトのファイル を、互いのftpサーバに、ieee1394を介して送信、受信する。

FTP Server | Client put to server get from server
Plamo 4m51.161s 1m47.467s
Etch 2m4.304s 4m52.923s

ずいぶん違ったデータになった。
どうもPlamoからEtchにデータが流れる方が早くなるようだ。 で、どう理解すべきなんだろうか。

IPFILTER_DEFAULT_BLOCK

IPFILTERの用意をしていて、configにうっかり追記してしまっていた。
当然、外からは全く繋がらない(pingも返さない)。シリアルポートを 開けといたので助かった。

そろそろこっちから始めてもよさそうな気がする。と考えて、 以前(2004年の夏は、まだ「昔」でもなさそうだ)のテキストをめくる。
適当に列挙しては、 ipf -Fa -v -Z ipf.rules のtry and errorを繰り返す。
pingとdnsとsshとwwwができれば、さしあたりはOKだろう。

$ cat /etc/ipf.rules
pass in  quick on lo0 all
pass out quick on lo0 all
 
pass in  quick proto icmp all icmp-type 0
pass out quick proto icmp all icmp-type 0
pass in  quick proto icmp all icmp-type 8
pass out quick proto icmp all icmp-type 8
 
pass out quick proto udp from any to $dns_server port = 53  keep state
pass in quick proto tcp from any to $localnet/mask port = 22  keep state
pass out quick proto tcp from any to any port = 80  keep state

2007-12-30(Sun)

早速

linux-image-2.6.18-5-xen-686をapt-getしてみた。
しかし、Xenなカーネルを上げようとすると、PAE-enabledが祟る らしく、たちまちPanicに続く強制リブート。さてと。

バッテリリフレッシュして考え直すとするか。

VirtualBoxのetchにも入れてみたが、Xenで起動させると、 たちまち「中断」してしまう。やっぱりダメか。


2008-12-30(Tue) はれ

pppd-2.4.3

# bmake
=> Bootstrap dependency digest>=20010302: found digest-20080510
=> Bootstrap dependency tnftp-[0-9]*: found tnftp-20070806
=> Checksum SHA1 OK for ppp-2.4.3.tar.gz
=> Checksum RMD160 OK for ppp-2.4.3.tar.gz
===> Installing dependencies for pppd-2.4.3nb2
===> Overriding tools for pppd-2.4.3nb2
===> Extracting for pppd-2.4.3nb2
===> Patching for pppd-2.4.3nb2
=> Applying pkgsrc patches for pppd-2.4.3nb2
**************************************
Ignoring patch file /usr/pkgsrc/net/pppd/patches/patch-ae: invalid checksum
**************************************
ERROR: Patching failed due to modified or broken patch file(s):
ERROR:  /usr/pkgsrc/net/pppd/patches/patch-ae
*** Error code 1

patchesディレクトリにある patch-* (aaからbpまで42個)のSHA1を調べてみた。
一つとしてdistinfoに記述されている値と合っているものはなかった。
他のソフトもいくつか見たが、合っていないのが普通みたい(patch以外は合ってるけど)。

ツッコミを受けて、改めて確認。
先頭行を抜いてsha1すると合った。patch-aeだけが合ってなかった。

/usr/pkgsrc/net/pppd:# grep patch-ae distinfo | awk '{print $4}'
9e45283b07dac0d3422b25ea80b4ebe0c18a10b7
 
/usr/pkgsrc/net/pppd:# sed "1{/./d}" patches/patch-ae | sha1sum | awk '{print $1}'
e21e7dbcbcc3dee08de92f4466c8e8fb3c1c1da3

Netで確認すると、既に更新されているようだった。早い。

rmd160

RIPEMD-160アルゴリズムに基づいたハッシュ関数...らしい。
FreeBSD-6.4にはある(man はsha1とかと一緒くた)が、 GNU-Coreutils-6.12には含まれていない。
オプション無しでbootstrapしたpkgsrcでも作られないようだ。

ツッコミを受けて、これも確認。

/usr/pkgsrc/net/pppd:# grep RMD distinfo 
RMD160 (ppp-2.4.3.tar.gz) = 845821496bacb07d93bb7572a171854853ef722b
 
/usr/pkgsrc/net/pppd:# digest rmd160 ../../distfiles/ppp-2.4.3.tar.gz
RMD160 (../../distfiles/ppp-2.4.3.tar.gz) = 845821496bacb07d93bb7572a171854853ef722b
本日のツッコミ(全3件) [ツッコミを入れる]

obache [hash値は NetBSD RCS ID ($NetBSD ...$)を抜いて計算します(そんこは commit す..]

obache [rmd160は pkgsrc では何かbuildすると漏れなくインストールされる pkgtools/digest に..]

kuzu [ツッコミおよび対応ありがとうございます_o_]


2009-12-30(Wed) たぶん、はれてるはず

git初体験(じゃなかったかも)

nkf もう少し追ってみた。
まずリポジトリを clone。ああでもないこうでもないの 試行錯誤ひとしきりを経て、リセットとビルドとテストを 繰り返すに至る。
最終的にこんな感じ。

$ alias RESET
alias RESET='make clean && git reset --hard HEAD^'
 
$ alias TEST1
alias TEST1='echo '\''test&#12390;&#12377;&#12392;'\'' | ./nkf --numchar-input'
 
$ alias TEST2
alias TEST2='echo '\''&#12390;&#12377;&#12392;test'\'' | ./nkf --numchar-input'

あとはwhileループで回しながら、しばらくぼんやり眺めていた。

git/nkf$ while :; do RESET ; make ; TEST1 ; TEST2 ; sleep 4 ; done
.
.
.
rm -rf nkf.o nkf nkf.exe nkf.in nkf.out nkf-2.0.8 *~ *.bad utf8tbl.o
cd NKF.mod; if [ -f Makefile ]; then make clean; fi
HEAD is now at d5ff582 Introduce nkf_state.
cc -O -Wall -pedantic -c nkf.c
cc -O -Wall -pedantic -c utf8tbl.c
cc -O -Wall -pedantic -o nkf nkf.o utf8tbl.o
testてすと ; TEST1 が正常に実行された
fすとtest ; TEST2 は正常に実行されない
; で、またダウングレード
rm -rf nkf.o nkf nkf.exe nkf.in nkf.out nkf-2.0.8 *~ *.bad utf8tbl.o
cd NKF.mod; if [ -f Makefile ]; then make clean; fi
HEAD is now at c122807 Change to MIT License.
cc -O -Wall -pedantic -c nkf.c
cc -O -Wall -pedantic -c utf8tbl.c
cc -O -Wall -pedantic -o nkf nkf.o utf8tbl.o
testてすと ; TEST1 が正常に実行された
てすとtest ; ここまで降りた結果、TEST2 も正常に実行された
^C

さて、このあたりの変更が効いた...のかもしれないが、 そこまで。

nkf --katakana-hiragana

$ echo いろはニホヘト | nkf --katakana-hiragana
イロハにほへと

2012-12-30(Sun) 年末の悪天候

Raspberry Pi 最初の壁

ダウンロードしたrasbianのイメージを展開すると約1.9GB。
とりあえずは手元のMicroSDカードにddする。
USBキーボードとマウス、HDMIケーブルは手元にあった。

しかしながら、PCのUSBから電源を供給するコネクタが ない。手元のe-mobileなどのコネクタは、いずれも 一回り大きい"miniUSB"だったが、必要なのは "microUSB"端子(メス)だった。

手許のMicroSDにしても実は携帯電話向けに買った 2GB。イメージがやっと入るサイズである。
他にストレージを設けるとすれば、USBの口を増やすか それともネットワークにするか...


2013-12-30(Mon) 晴れてたのが幸い

Serial Console of RaspberyPi

raspi_serial

ようやく できた

共立で買ったsparkfun.comのFT232R (Lがない) Breakout。
PCのUSBに挿すと、すぐ/dev/ttyUSB0になった。
三ヶ所のはんだづけは、ますます下手になったことを実感。

$ cat serial.txt 
FT232R     RaspberryPi
GND 黒     黒 GND 6
RXI 茶     茶 UART TXD 8
TXO 赤     赤 UART RXD 10

落とし穴としてkermit。
まず起動時に文字化け。これは set speed 115200 で正常に なった。
そして、シリアルからの文字は流れてくるのに、端末の打鍵 は全然伝わらない。RaspberryPi上で

$ sudo sh -c "/usr/games/sl > /dev/ttyAMA0"

などとやると端末にSLが走ったが、ログインプロンプトに 何を入力しても何も。はんだづけをやり直したり、 テスタを当てたり、違うRaspberryPiに繋ぎ直したりと、 ひとしきり試行錯誤。
やがて kermit のマニュアルと睨めっこ。

$ cat .kermrc
set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set flow xon/xoff

でようやく。

USBを外して、それから。

USB

ピンが曲がったUSBを、RaspberryPiから外そうと小二時間。
流石にあっさりとは抜けなかった。RaspberryPiは思ったより 頑丈にできているようだった。

なんとか外したいものの半分は外せた。さて、端子が抜きにくいので ここで次を考えることとする。
とりあえず、プラスとマイナスがどれかは分かった。
ここに何を繋いだものか。

このあたりが

今日の限界のはず


2015-12-30(Wed) さんさんと日が

fbi(1)

Rasbianのコンソールで画像を表示できるコマンド。

JPEGおよびPNGができた。
-a で自動ズームし、 -t NUM -1 で何秒後に終了とかできる。
嵌ったのは任意の端末から表示させる機能。/dev/pts/3など からコマンドを叩くと、

$ fbi hoge.jpg
using "DejaVu Sans Mono-16", pixelsize=16.67 \
 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
ioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)

でうまくできず。コンソールにログインしていてもしてなくても同様。
man pageと睨めっこの末、なんとか以下のオプションを与えて、 リモートから表示させることに成功。

$ sudo fbi -a -t 5 -1 -T 1 -d /dev/fb0 foo.png
using "DejaVu Sans Mono-16", pixelsize=16.67 \
 file=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf

man pageによれば-d でフレームバッファデバイスを指定し、-T で 仮想端末の番号を指定するが、これをスーパーユーザ でやるのがミソと思われた。

-d は無くても動いた。


2016-12-30(Fri) 晴れて10度以下

とりあえず暗号化

Debian再インストール。今度はパーティションを2つに切った。
ルートパーティションに30GBを割り当て、残りを/homeにして 暗号化する。
8Gのメモリを考えて、Swapは無しにする。

$ df -h | grep ^/dev
/dev/sda1                 37G  4.7G   30G   14% /
/dev/mapper/sda2_crypt    81G   35G   42G   46% /home

起動/再起動が「若干」面倒になったが、とりあえずはこれで。

twインストール失敗

gem の依存関係地獄にしばらく嵌る。

敗因の一つに、ruby-devパッケージが入ってないことがあったが、 それだけではなかった。
oauthにも問題があったらしい(エラーメッセージ省略)。

$ gem list oauth --remote | grep "^oauth "
oauth (0.5.1)
 
$ gem list oauth --local | grep "^oauth "
oauth (0.4.7)

で、一応twが動くようになった。
0.5.1かそれ以上に対応させられなければ捨てるしかないか。


2018-12-30(Sun) 昨日と同じく、よく晴れて

lxcbr0ができない。

dnsmasqは入ってる。bridge-utilsとかもある。
lxcは起動するが、vethで通信できない。vagrant up できても vagrant ssh はできない。

$ sudo systemctl status -l lxc-net
lxc-net.service - LXC network bridge setup
   Loaded: loaded (/lib/systemd/system/lxc-net.service; enabled;
 vendor preset: enabled)
   Active: active (exited) since Sun 2018-12-30 10:02:51 JST; 13min ago
  Process: 421 ExecStart=/usr/lib/x86_64-linux-gnu/lxc/lxc-net start
 (code=exited, status=0/SUCCESS)
 Main PID: 421 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/lxc-net.service
 
12月 30 10:02:48 macmini systemd[1]: Starting LXC network bridge setup...
12月 30 10:02:51 macmini lxc-net[421]: dnsmasq: failed to create listening
 socket for 10.0.3.1: アドレスは既に使用中です
12月 30 10:02:51 macmini lxc-net[421]: Failed to setup lxc-net.
12月 30 10:02:51 macmini systemd[1]: Started LXC network bridge setup.

libvirtdと干渉しているらしいが、未解決。

色々組み合わせて

手元のStretchからsshでVPSのStretchへ。そこでLXCのコンテナの中に入り、 一般ユーザになってクラウドのubuntuをvagrant upする。
その中でvagrant-lxcしようとしたが、うまくできなかった。
lxc自体は動く。コンテナができて、起動できて、attachもできた。
でもvagrant ssh は失敗。ユーザがいなかったからかしら。

色々コマンドを覚えて、結果を読めないと駄目っぽい。

ubuntu@debian:~/vagrant/sakura$ vagrant status
Current machine states:
 
default                   up (sakura)
 
The server is up and running.
ubuntu@debian:~/vagrant/sakura$ vagrant global-status
id       name    provider state  directory
---------------------------------------------------------------------
6f15f25  default sakura up     /home/ubuntu/vagrant/sakura
 
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date. To interact with any of the machines, you can go to
that directory and run Vagrant, or you can use the ID directly
with Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"
$ VAGANT_LOG=info vagrant status
 INFO global: Vagrant version: 1.9.1
 INFO global: Rubyversion: 2.3.3
 INFO global: RubyGems version: 2.5.2.1
 INFO global: VAGRANT_LOG="info"
.
. (ざっと250行)
.
The server is up and running.
 INFO environment: Running hook: environment_unload
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_unload #<Vagrant::Action::Builder:0x005587faaf7418>

行ったり来たり

VPSにLXCを入れて、WordPressをインストールする。
All-In-One Migrationプラグインを突っ込み、インポートデータサイズを広げておく。

インポートするファイルを、さてどこから突っ込むか。「ファイル」 以外は別途拡張が必要っぽい。

VPSに置いてあるファイルを、sshfsで手元にマウントしてみた。
VPSから手元にはIPv6でsshを通し、同じVPSのLXCコンテナには IPv4でhttps。

IPv6が一つしか使えず、LXCコンテナにはIPv4+natという形になると、 そんな感じになる、らしい。
一応うまくいったけど。


2020-12-30(Wed) まだ天気はよく分からない

DMARC

dmarc_google

メールサーバのリソースレコードに追記してみた。

$ dig  +noques  -t txt  _dmarc.kuzuore.com | grep ^_dmarc
_dmarc.kuzuore.com.	2979	IN	TXT
	"v=DMARC1; p=none; rua=mailto:dmarc_report@kuzuore.com"

流石にp=rejectとかなんとかはまだ。
さしあたり Gmailは'PASS'したようだ。

smtp.mailfrom=$USER@kuzuore.com;
 dmarc=pass (p=NONE sp=NONE dis=NONE)
 header.from=kuzuore.com

mx.iijmio.jp も。

Authentication-Results: mx.iijmio.jp; spf=pass
 smtp.mailfrom=$USER@kuzuore.com; dkim=pass
 header.i=@kuzuore.com; dkim-adsp=pass
 header.from=$USER@kuzuore.com;
 dmarc=pass header.from=$USER@kuzuore.com

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。