僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
KNOPPIX、もう一発。今度はターミナルサーバで ネットワークブート。
まずデスクトップでKNOPPIX、普通に起動。
Kメニューを辿ってKNOPPIX->Services->
Start Terminal Service に至る。DHCPの設定に
ミスがあり、ちょっと手間取ったが、
CDROMをつないでないNotePCで 無事KNOPPIXを起動できた。
実は/etc/resolv.conf
にミスがあり、そのままでは外に出られなかったが、
それでも、この通りFirefoxで日記を更新できた。
デフォルトの
IMEはSCIM+PRIMEである。
$ mount /dev/root on / type ext2 (rw) /dev/cloop on /KNOPPIX type iso9660 (ro) $TERM_SERVER:/cdrom on /cdrom type nfs (ro,nosuid,\ rsize=8192,wsize=8192,hard,intr,addr=$TERM_SERVER) /ramdisk on /ramdisk type tmpfs (rw,size=192244k) /UNIONFS on /UNIONFS type unionfs (rw,dirs=\ /ramdisk=rw:/KNOPPIX=ro) $TERM_SERVER:/cdrom on /cdrom type nfs (ro,nosuid,\ v3,rsize=8192,wsize=8192,hard,intr,udp,lock,addr=\ $TERM_SERVER) /dev/cloop on /KNOPPIX type iso9660 (ro) /UNIONFS/dev/pts on /UNIONFS/dev/pts type devpts \ (rw) /proc/bus/usb on /proc/bus/usb type usbfs \ (rw,devmode=0666) automount(pid2442) on /mnt/auto type autofs \ (rw,fd=4,pgrp=2442,minproto=2,maxproto=4)
しかし、こいつまでがTerminal Serverに化けたら...
なんかネズミ講もどきな発想は、ここまで。
シャットダウン、なかなか落ちなかった。
Kメニューのログアウトを辿らず、sudo shutdown -h now
したのは不味かったかも。結局、電源ぶっちり。
何かやったように見せかけるが、何もしない。
user@host:~$ sudo apt-get -s install apache2 Password: パッケージリストを読みこんでいます... 完了 依存関係ツリーを作成しています... 完了 以下の特別パッケージがインストールされます: apache2-mpm-worker apache2-utils apache2.2-common \ libapr1 libaprutil1 libsqlite3-0 以下のパッケージが新たにインストールされます: apache2 apache2-mpm-worker apache2-utils \ apache2.2-common libapr1 libaprutil1 libsqlite3-0 アップグレード: 0 個、新規インストール: 7 個、\ 削除: 0 個、保留: 22 個。 Inst libapr1 (1.2.7-8.2 Debian:testing) Inst libsqlite3-0 (3.3.8-1 Debian:testing) (ry Conf libapr1 (1.2.7-8.2 Debian:testing) Conf libsqlite3-0 (3.3.8-1 Debian:testing) (ry
/etc/ipnat.cfの元アドレスが間違っていた(滝汗
とりあえずは開通した。
前にやったはずだけど、手元のアカウントが有効かどうか、また貼り付ける書式など、よく覚えてない。
端末がログインしているかとは関係なく取れたが、どうなのかしら。
違うドメインに貼ってみないと分かりそうにないな。
今度はext3同士。FUSEも関係ないはず。
昨日と同じファイルの山をhda3から
これdo台を介してsda1へrsync。
転送スピードが十倍以上だった。
$ rsync -av dir/ /mnt/sata/dir/ (ry sent 12468056759 bytes received 5658 bytes \ 21258418.44 bytes/sec total size is 12466520064 speedup is 1.00 real 9m46.189s user 4m7.835s sys 1m42.842s
こないだの失敗からしばらく意気消沈。
バイナリパッケージ(neon-0.25.4-i386-P1.tgz 及び
subversion-1.3.0-i386-P2.tgz)を頂戴したものの、
結局またソースからビルドでインストールしてしまった。
失敗原因のひとつは、新しすぎるaprにあったらしい。
subversion-1.4.6のINSTALL には、apr-0.9.7が
指定されている。流石にこれはダウンロードサイトに
ない。apr-0.9.16 と apr-util-0.9.15を入れた。
apr-utilsは、"--with-apr=PATH"と"--with-berkeley-db=PATH"
をつける。
neonも0.25xか0.26xが要るとあったので、0.26.4にする。
"--with-ssl=openssl" と "--enable-shared"。
subversion自体は"--with-apr=PATH" と "--with-apr-util=PATH"を
指定するだけであっさり。
今度はちゃんと動いている、はずだ。
記憶にも、$HOME/.bash_historyにも残ってなかった。ましてメモを取っている
わけもない。
どこかにキャッシュの形で残ってるはずだけど、探し出せない。
結局tcpdumpとWiresharkに教えてもらった。自分のアカウントだからいいだろう。
おっと、今度は気をつけて、**せねば。
呟きスクリプトは適当に手を入れながら使っていたが、
今日少し
書き換えた。
パスワードを別ファイルにして、testとstatで
パス名とパーミッションを確認するようにする。
それから、解析ファイルも位置を指定するようにして、
どこからでも実行できるようにする。
SFILE=$PWFILE RFILE="twitter.rb" DIR=$SOME_DIR ERROR="There is no secret file or wrong permission." if [ ! -f ${DIR}/${SFILE} ]; then echo $ERROR exit 1 fi if [ `stat --printf=%a ${DIR}/${SFILE}` -ne 600 ]; then echo $ERROR exit 2 fi // 以下略
stat(1)は、本ブログでも何回か使ってたらしい。でも 全然覚えてなかった。また、欲しい情報だけ表示する ことができることも、知らなかった。
JavaScriptでプロキシの設定ができるらしい。
タイトルでぐぐると色々。
squidを立てたので、ちょっと試してみる。
function FindProxyForURL(url, host) { return "PROXY $PROXY_SERVER:$PORT; " + "DIRECT"; }
でFirefoxがプロキシを通って接続できるようになった(プロキシ以外通らないように ファイアウォール設定済み)。
例えば sed なんかによるフィルタで改行を全部毟り取るのは 難しいようだけど、気づけば特別な事じゃなかった。
$ cat foo.txt First Second Third Forth
$ for line in `cat foo.txt` do echo -n $line done; echo "" FirstSecondThirdForth
でも、これでは終わらない。
$ cat foo.txt
First
*
Second
Third
$ for line in `cat foo.txt`
do echo -n $line
done; echo ""
Firstfoo.txtSecondThirdForth
E-mobile でNet接続した状況で試す。
pptpd に嵌ってたことを考えると、比較的あっさりと使えてしまった。
$ sudo pptpsetup --create $DEVICE \ --server $SERVER \ --user $USERNAME \ --password $PASS \ --encrypt --start
Using interface ppp1 Connect: $DEV <--> /dev/pts/$DESCRIPTOR CHAP authentication succeeded MPPE 128-bit stateless compression enabled local IP address $LOCAL_IP remote IP address $REMOTE_IP
これだけだと、ルーティングがうまくできなかった。
$ sudo route add $NET dev $DEV
もっとスマートにできるかもしれない。
追記。
書き忘れていた。 strings(1)のために binutils が要ったってことを。
某MLはメールヘッダにReply-To: ヘッダをつけて
くれない。
「頼む」というソリューションはとりあえずおいて。
$ cat /etc/postfix/testhead /^x-test:\ MY header/ PREPEND x-mytest: Success! $ sudo postmap testhead $ grep testhead /etc/postfix/main.cf header_checks = regexp:/etc/postfix/testhead
で、メールヘッダに(本文は無関係) x-test: MY header
というエントリがあれば、x-mytest: Success!
というヘッダが入るようになった。
なんか大文字小文字を区別しないようだ。
Subject: とか本文とか、あるいはMY headerを
違うものに変えたりして、余計な処理をしないことを
確認。
まずはaliase map から。mysql(1)なんて すっかり忘れていると。
mysql> desc $DBNAME.$TABLE; Field Type Null Key Default Extra id int(11) NO PRI NULL name text YES NULL aname text YES NULL mysql> grant select on $DBNAME.$TABLE to '$SEARCH_USER'@'localhost' identified by '$PASSWD'; mysql> insert into aliases values (1, "$USER1", "$LOCAL_USER"); Query OK, 1 row affected (0.00 sec) mysql> insert into aliases values (2, "$USER2", "$LOCAL_USER"); Query OK, 1 row affected (0.00 sec)
Postfixのどれかが検索するときのmysqlのユーザは、 いまのところ参照ができれば十分だろう。
$ cat /etc/postfix/$CONFIG hosts = 127.0.0.1 user = $SEARCH_USER password = $PASSWD dbname = $DBNAME query = select $TABLE from aliases where name='%s' $ grep ^alias /etc/postfix/main.cf alias_maps = mysql:/etc/postfix/$CONFIG
hosts も"localhost"では駄目っぽい。
設定が合っているかは
postmap -q で確認可能であった。
ともかく/etc/passwdにも、/etc/aliasesにもない宛名のメールを受け取るように
できた。
システムから半歩離陸。
letcencryptの秘密鍵とサーバ証明書をNASにインストールしてみた
のは三ヶ月近く前だけど、書いてなかった。
当該機器には工場出荷時でSSLが入ってるから、特に証明書を
用意しなくても暗号化通信は不可能ではない。だが、
ドメイン名で怒られることは言うまでもない。
また、通信が幾分不安定だったように記憶するが、それが不適切な
証明書のせいかどうか、よく分からなかった。Letsencrypt
で比較的安定していたはずだ。
lxc環境下にstretchを用意する。
IPアドレスを勝手に取りに行かないよう、
/etc/network/interfacesを次のようにする。
$ cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0
ルータで外からの80/tcpと443/tcpの行き先に
設定したIPを割り当てる。
lxcのconfigは次のようになった。
$ sudo grep -v "^$\|^#" /var/lib/lxc/$HOST/config lxc.network.type = veth lxc.network.flags = up lxc.rootfs = /var/lib/lxc/$HOST/rootfs lxc.rootfs.backend = dir lxc.include = /usr/share/lxc/config/debian.common.conf lxc.tty = 4 lxc.utsname = cert lxc.arch = amd64 lxc.network.link = br0 lxc.network.hwaddr = XX:XX:XX:XX:XX:XX lxc.network.ipv4 = $IP/$MASK lxc.network.ipv4.gateway = $ROUTER
certbotを入れておく。
何度か--dry-runで確認していたので、
certbot renew -n はあっさりできた。
/etc/letsencrypt/live/$DOMAINの下にあるもの
はシンボリックリンクだった。三ヶ月ごとに
/etc/letsencrypt/archive/$DOMAIN/下の、新しい
*.pemにリンクを張り直す実装になっている、
らしい。
ブラウザの設定画面から秘密鍵(privkey*.pem)と証明書
(fullchain*.pem...のはず)の一番新しいもの
を読み込ませる。特にエラーは表示されなかった。
...でも、PCのブラウザでアクセスして、有効になっていないことに気づく。
実は再起動が必要だった。
履歴を消して、なおかつプライベートモードのFirefoxでアクセスして
更新を確認。スマホでもアクセスして確認。
このあたりは管理画面では確認できない。
また、ファームウェアのアップデートをかけると
証明書も初期化されると
書いてあった。
マニュアルには「 SSLキーファイル(server.key、server.crt)は、 Cドライブの直下などに置いてください」と 書いてあったが、Windows以外でできないのかまでは 確認しきれていない。
というか、三ヶ月に一回Webブラウザでなんだかんだ、なんて やってられる訳がない...
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。