トップ «前の日(08-19) 最新 次の日(08-21)» 追記

屑俺日記

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


2005-08-20(Sat) ならむうゐ

jus関西

こないだ(は"関西"はつかないが)程には混まなかった模様。 情報教育(大学、専門職大、そして業界) についての現状と対応、それに討論若干。終了後森ノ宮駅裏の酔虎伝。

<pre>の中の<span>が祟ったか?

タグを何度も確認したり、"文字実体参照" を "数値文字参照" に 変えたりしたが、それでも w3m で表示が崩れる。原因さえわからない...

追記。閉じタグのつもりが閉じてなかっただけだった...
orz

タグにスタイル属性

初めて書いてみた。

タグにスタイル属性
<p>
を
<span style="
  background: lightgreen; 
  color: OrangeRed; 
  font-size: 1.5em;">
初めて</span>書いてみた。
</p>

MovableType再試行

今度はBerkeleyDBを使って(かつ、もうちょっと マニュアルをよく読むよう注意しながら)再度構築してみた。
体感上はだいぶましになった。「快適だ」と 信じこむのは難しそうだけど。

インデックスを開けません

危うくnamazuのインデックスまで消すところだった。 cache(の下にhtml化した日記とindexのディレクトリがあった) を消したわけでなく、 単にmvしただけだった...安堵。


2006-08-20(Sun) きたく。

SPAMが届くまで

アドレスがNetに晒されたのは2006年8月16日午前零時頃。
最初のSPAMは2006年8月18日午前8時10分48秒(JST)らしい。
タイムラグは56時間10分48秒。

公開MLは目的を果たしたが、アドレスを捨てるまでもう少し待つか。

php-4.4.4

4.4.3から、同じオプションであげた。
若干のセキュリティ強化が図られているようだ。

不正アクセス企図!?

220.213.201.100 - - [20/Aug/2006:17:44:46 0900] \
"GET /~kuzu/diary/?date=200509 HTTP/1.1" 200 155177 \
"http://search.yahoo.co.jp/search?p=掲示板 パスワード抜き取り\
&ei=UTF-8&fr=top_v2&x=wrt&meta=vc=" "Mozilla/4.0 (compatible;\
MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"

2005年9月24日の記事は役に立ったのかい?


2007-08-20(Mon)

PPCのEtchで鯖

NATの下で実験的に鯖を立ててみた。以下適当に。

phpinfo.phpにアクセスして確認後、すぐ $DOCUMENTROOTの下から消した。
/etc/ssh/sshd_configを書き換えて、公開鍵未登録さん を撥ねるようにする。勿論スーパーユーザは ご法度だ。それから/etc/hosts.denyも手を入れて、 接続もとのIPをぎゅっと絞めておく。

まだ色々。

auにメールが届かない

main.cfをいじる。結局$myhostnameと$mydestinationと$inet_interfaces を変えた。これでいくつかのアカウントにメールが飛ぶようになった。
受信もさしあたりOK。それからtelnet 25 で叩く。rcpt to:が変だったら 当然 "Relay access denied" することも確認。
でも、mail(1)で ケータイに送信したら、あっさり Connection Refused。やっぱりdyndnsはダメ?

いつまでかかるか

MewはHyperEstraierと連携できるらしい。
~/.mew.elに(setq mew-search-method 'est)追記してやって M-x load-file。
問題はその先。"kM"と打鍵するのは寝る前にすべきだった。
それより、crontabにmewest(1)でも追記しておくべきだった。...orz

で、Emacsがbusyなので、久し振りにnviにて日記編集。
隠れた"本日のリンク元"をこっそり鑑賞。


2008-08-20(Wed) たしか、晴れ

LFS Development 続く

GCCは(6.3安定版の4.1.2に対し)4.2.3 だった。
2回目のビルド(Chapter 5.11)で、make する前の処理が少し変わったようだ。
patchをあてない代りに、やや長いスクリプトでGCCのデフォルトのダイナミックリンカ の位置を変更するようになっていた。
目的はあまり変わらないように見える(どちらもld-linux.so.2 を/libから/tools/lib/ の下に置換するなど)けど。

昼前にchrootに至る。ビルドしたgcc の readelf -l a.out も問題なし。

File-4.23 は、既にダウンロードサイトに見当たらなくなっていた。
File-4.25を代りにビルドする。
読むものをちゃんと読めば、Chapter3.2で既出であること、代りの ダウンロードサイトも書かれていることがわかったはずである。

modules-init-tools-3.4 は、ダウンロードサイトのパスが違っているようだ。
webから http://www.kernel.org/pub/linux/kernel/people/jcm/module-init-tools/ の下にある module-init-tools-3.4.tar.bz2 をダウンロードしようとしても、404だ。
改めて確認すると、http://www.kernel.org/pub/linux/kernel/people/jcm/module-init-tools/attic/ の下にあった。
よく分からないが、今回のURLの変更は最初というわけでもないみたい。

なんとかlinux-2.6.24.4のビルドまで漕ぎつけたが、再起動後早くも"kernel Panic"。
今日はこれまで。

w3m -dump -cols $NUM

幅を指定してやると、改行されたくない部分をそのまま抜き出せる。


2009-08-20(Thu) いつもどおりのはれ

LFS6.5

カーネルにひとしきり苦戦。
USB HDDでビルドしていたので、そのホスト・システムで 動作していたカーネルをLennyから借りた。
でも、ファイルシステムを認識できないようで、起動中に止まってばかり。
Enter打鍵で電源Off。
そのHDDからの起動を諦めた。
CF-Y4のFreeBSDスライスを殺し、ext3にしてrsyncし、ここで カーネルをビルドする。
/etc/fstabの編集を忘れて同じトラブルに遭遇したが、 そこをやり直すと、問題なくlogin: に至る。やれやれ。


2012-08-20(Mon) 朝と夕は、かなり涼しいが

Converter モードで

久々にGW-MF54G2。のことを書いたら、submitした途端に消えてしまっ た。のが7時間前。ようやく気を取り直す。

e-mobile を有線で、USB経由で使えないシステムが使えるように。

Linux の bridge では、Wireless をブリッジに加えると どうもうまく動作しないようだった。
WinXPなどで「ブリッジ」にするとできるのだけど。

で、ずっと使ってなかったGW-MF54G2を試す。
"Converter" モードにして、ESSID と wpa をGP02に合わせる。IPアドレスを適当に変更し、 DHCPサーバを無効にする。
「ステータス」を確認すると、既にe-mobileと繋がっていた。

有線で接続して設定したPCでdhclient。無事にGP02から IPアドレスを貰ってNetに繋がるようになった。


2014-08-20(Wed) ひと寝入りしてから

分割コンパイルのてすと

あれこれチラ見して試す。
どうするのか、一応エラーが出ないことだけをまず確認。

$ cat hoge.c 
#include<stdio.h>
int main2();
 
int main()
{
	printf("foo\n");
	main2();
	return 0;
}
 
$ cat fuga.c 
#include<stdio.h>
int main2()
{
	printf("bar\n");
	return 0;
}
$ gcc -Wall hoge.c fuga.c -o hogefuga
 
$ ./hogefuga
foo
bar

で、お馬鹿な分割コンパイル

を実現する pythonスクリプトを書いた。
いや汚い。

$ python div.py 34
 
$ ls *.c
func_0.c  func_1.c  func_2.c  main.c

printfでfizzbuzzを15の倍数まで出力する関数func0(), func1(),... を定義し、それを一つずつ ソースファイルfunc_0.c, func_1.c ... に書き出す。
これは末尾。

$ cat func_2.c 
#include<stdio.h>
int func2()
{
	printf("31\n32\nfizz\n34\n");
	return 0;
}

で、全関数のプロトタイプ宣言を書いて、 main関数内で全部実行する main.c も。

$ cat main.c 
#include<stdio.h>
int func0();
int func1();
int func2();
int main()
{
	func0();
	func1();
	func2();
	return 0;
}

最終的なオブジェクトファイルは、やはり かなり大きくなってしまう。

$ time python div.py 2000000                       
 
real    0m8.227s
user    0m4.388s
sys     0m3.276s
 
$ time for x in func*.c main.c ; do gcc -Wall -c $x ; done
 
real    66m37.258s
user    38m31.260s
sys     16m26.678s
 
$ time gcc -Wall *.o -o 2000000
 
real    13m52.712s
user    0m25.854s
sys     0m49.535s
 
$ ls -lh 2000000 
-rwxr-xr-x 1 user group 32M  8月 20 16:34 2000000

200万行は、一応ビルド、実行できた(SWAPかなり)。
ちなみに こないだの200万行は14MBだった。 あと、stripさせると、こないだの方はあまり変らなかったが こっちは32MBが23MBになった。

Makefileは、考える気になったら考えよう。

結局考えて実装してしまった。

お馬鹿なfizzbuzzを吐くCソースを出力する Pythonスクリプトで Makefileも出力させるようにする。
オブジェクトのファイル名はfizzbuzzの末尾 (ただし"fizz"とかではない)。
stripするとかなり小さくなったので、 後でこれも加えた。

$ python div_make.py 83
 
$ ls
Makefile     func_0.c  func_2.c  func_4.c  main.c
div_make.py  func_1.c  func_3.c  func_5.c
$ cat Makefile 
all:
	gcc -Wall -c func_0.c
	gcc -Wall -c func_1.c
	gcc -Wall -c func_2.c
	gcc -Wall -c func_3.c
	gcc -Wall -c func_4.c
	gcc -Wall -c func_5.c
	gcc -Wall -c main.c
link:
	gcc -Wall *.o -o 83
	strip 83
clean:
	rm -rf Makefile func_*.c *.o main.c 83

さて、make(1)は巨大なMakefileを解釈できるのだろうか。


2018-08-20(Mon) なんとなく

パスワード発給省略

新規ユーザのパスワードを、自分で設定できるようにする方法。
sshの公開鍵認証(ログイン時にパスワードを入力しない)と組み合わせる。
visudo で以下のように。

NEWUSER ALL=(ALL) NOPASSWD /usr/bin/passwd NEWUSER

自分のパスワード新規作成が、sudoによりパスワードを 要求されずにできてしまう、という仕掛け。
変更はもちろんsudo不要。自分の権限でやればよい。
この例のNEWUSER は変数で置き換えたりグループ化したり する、はず。

$ sudo -l
Matching Defaults entries for NEWUSER on this host:
    !visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME
    HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME
    LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION
    LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC
    LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS
    _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
 
User NEWUSER may run the following commands on this host:
    (ALL) NOPASSWD: /usr/bin/passwd NEWUSER
    (ALL) /bin/cat

このsudo -l では、パスワードを聞いてこなかった。 NOPASSWDがそのユーザーに一行でもあるとそうなるのかしら。

鍵をコピーしたら

違うマシンから、公開鍵を登録してあるホストに、特に文句も言われず あっさりログインできてしまった。
すべてlxc環境下の、Stretchにて確認。時刻はUTCのまま。

ホスト1(Host_1)から、リモートホスト(R1)に公開鍵登録。
ホスト2(Host_2)に、ホスト1と(名前もIDも)違うユーザ作成。
ホスト1の $USER/.ssh を、ホスト2の違うユーザの$HOMEに コピーさせ、起動。
ホスト1でリモートホストにログイン。
そのまま、ホスト2でもリモートホストに何も怒られずに ログイン。
違うIPから、同じフィンガープリントが記録された。

# tail -f /var/log/auth.log
Aug 20 04:26:53 R1 sshd[84]: Server listening on 0.0.0.0 port 22.
Aug 20 04:26:53 R1 sshd[84]: Server listening on :: port 22.
Aug 20 04:27:13 R1 sshd[346]: Accepted publickey for $USER from $Host_1
 port 34652 ssh2: ED25519 SHA256: $SAME_SSH_KEY_FINGERPRINT_XXXXXXXXXXXXXXXXX
Aug 20 04:27:13 R1 sshd[346]: pam_unix(sshd:session): session opened for
 user $USER by (uid=0)
Aug 20 04:27:19 R1 sshd[358]: Accepted publickey for $USER from $Host_2
 port 37428 ssh2: ED25519 SHA256: $SAME_SSH_KEY_FINGERPRINT_XXXXXXXXXXXXXXXXX
Aug 20 04:27:19 R1 sshd[358]: pam_unix(sshd:session): session opened for
 user $USER by (uid=0)

...なんての、他所でやったらいかんだろうな。
設定によってはwarningとかPermission deniedとかなる、かも。


2021-08-20(Fri) 夏らしく晴れたと思ったら集中豪雨とか

同じ場所から

two ping

前のpingとか、 ひとつ前のping とかで、Wifiが乱高下というか、ランダムというか、 が気になったので、 新旧Android端末で、ほぼ同時にルータに向けてPingしてみた。

旧い方はバッテリやSIMの認識が怪しくなってリプレースしたのだけど こういうあたりにもガタが来ていたのだろうか。


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

index.htmlは ここから。