僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
2005/06/26 21:34:42 ADSL回線通信中へ移行 2005/06/26 21:34:04 ADSL回線トレーニング中へ移行 2005/06/26 21:34:01 ADSL回線切断 2005/06/26 20:03:47 ADSL回線通信中へ移行 2005/06/26 20:03:09 ADSL回線トレーニング中へ移行 2005/06/26 20:03:02 ADSL回線切断 2005/06/26 20:02:41 ADSL回線通信中へ移行 2005/06/26 20:02:03 ADSL回線トレーニング中へ移行 2005/06/26 20:01:56 ADSL回線切断
日記を見直したが、気付かなかったようだ。
少しmysqlに慣れてきた気がした。
で、もう一発blogツールを試す。
というか、nucleusをいじっている時間より、スクリーンショットを
gimpで加工している時間の方がずっと長かったり。
結局、newcleusは10分いじったらどうでもよくなった。
もう少しWordPressに入れ込んでみる。
問題はコメントスパム。管理者の承認後に表示、をデフォルトとする。
メールで更新可能とあったので、表示通りPOPサーバを設定したが、WordPress
がそっちを見に行く間隔はどのくらいなのか不明。
WordPressは2.0.3だったが、2.0.4にあげた。差分パッケージをコピーするだけだった。
もう一度、Plamoにデフォで入っている9.3.2-P1
でもってchrootやってみる。
ただ打鍵しただけでは、どうしてexitしたのか分かりにくいので、
-gオプション(バックグラウンドに回さず、ログはすべて標準
エラーに吐く)をつけながら色々。
結局chrootの下に入れておいたものは、/dev/random)、/etc/localtime、
named.confやzoneファイル(root.hintsとlocalhostだけ)、
/etc/group(-uのGIDだけ)、/var/run(pid置き場)、それから共有ライブラリ。
なくても動くかどうかは確認していないファイルも加わっている。
動作によっては他にも要るかもしれない。
ちなみに/dev/randomがないと、chrootする前の/devから"entropy source"を
読み込んでいた。
# named \ -c etc/namedb/named.conf \ -t /var/named/ \ -u named -g 06-Aug-2007 15:00:40.148 starting BIND 9.3.2-P1 -c\ etc/namedb/named.conf -u named -t /var/named/ -g 06-Aug-2007 15:00:40.150 loading configuration from \ '/etc/namedb/named.conf' 06-Aug-2007 15:00:40.151 listening on IPv4 interface \ lo, 127.0.0.1#53 06-Aug-2007 15:00:40.151 listening on IPv4 interface \ eth2, 192.168.0.25#53 06-Aug-2007 15:00:40.152 couldn't add command channel \ 127.0.0.1#953: not found 06-Aug-2007 15:00:40.152 couldn't add command channel\ ::1#953: not found 06-Aug-2007 15:00:40.152 ignoring config file logging \ statement due to -g option 06-Aug-2007 15:00:40.153 zone localhost/IN: loaded serial 3 06-Aug-2007 15:00:40.153 running
chroot内のセキュリティアップデートを怠って攻撃成功な話も聞くと、
これじゃ保守管理(特に共有ライブラリのアップデート)の手間をかける
に値する強度が確保できるかは疑わしい。
特に、Linuxはchroot内でスーパーユーザになったら(-u オプション
はつけてるけど)簡単に脱出できるし。
ファイル名の文字コードをを一括で変換する
Perlスクリプト。らしい。
PPCのEtchにapt-getしてつつく。
convmv --list で変換対象の一覧(123行)が 表示された。日本語に関係のありそうなのは、 7bit-jis、euc-jp、iso-2022-jp、iso-2022-jp-1、jis0201-raw、 jis0208-raw、jis0212-raw、MacJapanese、 MIME-Header-ISO_2022_JP、 shiftjis、それにUTF-7からUTF-32とかだろうか。
$ convmv --notest -r -f eucjp -t utf8 $dir
とか。
処理対象に文字コードが複数混じっていると、
何もやってくれない。
このあたり、nkfか何かでスクリプトを組む方が堅実かも。
[global] dos charset = CP932 unix charset = UTF-8 display charset = UTF-8
というところか(3.0.2-3.0.7以上?)。
テーブルタップの一つが怪しいような気がするが、未確認。
Plamo-4.22でようやく動いた。
いまいち不安定な気がするが、複数回接続に成功したから、
偶然ではないだろう。
$ cat /etc/wpa_supplicant.conf network={ ssid="TESTSTATION" #psk="YYYYYYYYYYY" psk=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\ XXXXXXXXXXXXXXXXXXXXXXXXXX key_mgmt=WPA-PSK pairwise=TKIP proto=WPA priority=1 }
で、wpa_supplicant -Bddw -D madwifi -i ath0 -c /etc/wpa_supplicant.conf &
した上で、dhclient ath0。
wpa_supplicant.conf の雛形ファイルは、大抵一行目にctrl_interface=/var/run/wpa_supplicant とか書かれているが、それを外さないと動作しなかった。
上のコマンドを実行すると、さっきからシステムがフリーズするようになった。
まだ色々あたらないと。
なんとなくPython3で書いてみたくなった。
例外とか上限とかは考えてない。
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from sys import argv num = int(argv[1]) orig, tnum, lnum = 2, 0, 0 for num in range(num): num += 1 lname = chr(74 + num) lnum = 2 * (num) ** 2 print("{} 環の電子の最大数は {} です。" .format(lname, lnum)) tnum += lnum print("") print("この場合、電子の数は合計 {} です。" .format(tnum))
$ ./electric_num.py 4 K 環の電子の最大数は 2 です。 L 環の電子の最大数は 8 です。 M 環の電子の最大数は 18 です。 N 環の電子の最大数は 32 です。 この場合、電子の数は合計 60 です。
記法なんてすぐ忘れる。前に自分が書き散らしたはずの
スクリプトを grep したり、また書き散らして確認
したりしながらなんとか。
もう少し詰められそうな気もするが、
もう根気が尽きたようだ。
$ uname -a FreeBSD bsd9 10.0-CURRENT FreeBSD 10.0-CURRENT #0:\ Mon Jun 18 07:58:25 JST 2012 \ root@bsd9:/usr/obj/usr/src/sys/GENERIC amd64 $ ls -i /usr/bin/*grep | sort 551247 /usr/bin/pgrep 1329550 /usr/bin/bsdgrep 1329550 /usr/bin/lzegrep 1329550 /usr/bin/lzfgrep 1329550 /usr/bin/lzgrep 1329550 /usr/bin/xzegrep 1329550 /usr/bin/xzfgrep 1329550 /usr/bin/xzgrep 1333204 /usr/bin/bzegrep 1333204 /usr/bin/bzfgrep 1333204 /usr/bin/bzgrep 1333204 /usr/bin/egrep 1333204 /usr/bin/fgrep 1333204 /usr/bin/grep 1333204 /usr/bin/zegrep 1333204 /usr/bin/zfgrep 1333204 /usr/bin/zgrep
pgrep は、/bin/pgrep のシンボリックリンクだった。
printf("%d\n",1);
printf("%d\n",2);
printf("fizz\n);
.
.
pythonで。
#!/usr/bin/env python from sys import argv try: last = int(argv[1]) except: print "No last number" exit(2) last = last + 1 print '#include<stdio.h>\nint main(){' for x in range(1,last): if not (x % 15): print ' printf("fizzbuzz\\n");' elif not (x % 5): print ' printf("buzz\\n");' elif not (x % 3): print ' printf("fizz\\n");' else: print ' printf("%d\\n",',x,');' print ' return 0;\n}'
$ python print_fizzbuzz.py 10 #include<stdio.h> int main(){ printf("%d\n", 1 ); printf("%d\n", 2 ); printf("fizz\n"); printf("%d\n", 4 ); printf("buzz\n"); printf("fizz\n"); printf("%d\n", 7 ); printf("%d\n", 8 ); printf("fizz\n"); printf("buzz\n"); return 0; }
最終値が指定できて、一応のインデントはあって、 出た百行ほどのCソースが gcc -Wall で 通ることは確認しておいた。
一億行は無理だった。
手元でWebやらmikuやらが動いてるマシンではpythonが強制終了させられたので、
暇そうな6GBのi7なwheezyで試す。
$ time python print_fizzbuzz.py 100000000 > eazy_fizzbuzz.c real 1m26.509s user 1m21.605s sys 0m2.736s $ wc -l eazy_fizzbuzz.c 100000004 eazy_fizzbuzz.c $ ls -lh eazy_fizzbuzz.c -rw-r--r-- 1 user group 2.3G 8月 6 11:54 eazy_fizzbuzz.c
でも、GCCが通らない。
$ time gcc -Wall -o eazy_fizzbuzz eazy_fizzbuzz.c gcc: internal compiler error: 強制終了 (program cc1) Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-4.7/README.Bugs> for instructions. real 1m40.183s user 1m7.988s sys 0m5.944s $ echo $? 4
仮想メモリを増やすと、強制終了はされなくなったが、 やはりメモリ不足で止まる。23GBでも足りなかった。
head と tail だかを組み合わせるより、sed の方が。
$ cat -n foo.txt 1 first 2 second 3 third 4 fourth $ cat -n foo.txt | sed -n '1p;3,$p' 1 first 3 third 4 fourth
westonパッケージは最初から入っていた(らしい)。
weston-launch をユーザ権限で実行すると、地味なグラフィック画面が出た。
さしあたり使えるのはweston-terminalくらい。
スクリーンショットはWindows Key + "s"。で、
$HOME/wayland-screenshot.png ができた。
なんかASCII文字の表示が変。日本語は綺麗に出ていたはずだけど。
諦めるか。
前に書いたかもしれないが、まぁいいか。
$ for x in `seq 9`; do touch -d 2019070${x} 2019070${x}.txt; done $ ls -l 合計 0 -rw-rw-r-- 1 user group 0 7月 1 00:00 20190701.txt -rw-rw-r-- 1 user group 0 7月 2 00:00 20190702.txt -rw-rw-r-- 1 user group 0 7月 3 00:00 20190703.txt -rw-rw-r-- 1 user group 0 7月 4 00:00 20190704.txt -rw-rw-r-- 1 user group 0 7月 5 00:00 20190705.txt -rw-rw-r-- 1 user group 0 7月 6 00:00 20190706.txt -rw-rw-r-- 1 user group 0 7月 7 00:00 20190707.txt -rw-rw-r-- 1 user group 0 7月 8 00:00 20190708.txt -rw-rw-r-- 1 user group 0 7月 9 00:00 20190709.txt
$ find . -type f -mtime -33 -exec ls -alFh {} \; | sort -rw-rw-r-- 1 user group 0 7月 5 00:00 ./20190705.txt -rw-rw-r-- 1 user group 0 7月 6 00:00 ./20190706.txt -rw-rw-r-- 1 user group 0 7月 7 00:00 ./20190707.txt -rw-rw-r-- 1 user group 0 7月 8 00:00 ./20190708.txt -rw-rw-r-- 1 user group 0 7月 9 00:00 ./20190709.txt
$ find . -type f -mtime +30 -exec ls -alFh {} \; | sort -rw-rw-r-- 1 user group 0 7月 1 00:00 ./20190701.txt -rw-rw-r-- 1 user group 0 7月 2 00:00 ./20190702.txt -rw-rw-r-- 1 user group 0 7月 3 00:00 ./20190703.txt -rw-rw-r-- 1 user group 0 7月 4 00:00 ./20190704.txt -rw-rw-r-- 1 user group 0 7月 5 00:00 ./20190705.txt -rw-rw-r-- 1 user group 0 7月 6 00:00 ./20190706.txt
$ find . -type f -mtime +30 -and -mtime -33 -exec ls -alFh {} \; | sort -rw-rw-r-- 1 user group 0 7月 5 00:00 ./20190705.txt -rw-rw-r-- 1 user group 0 7月 6 00:00 ./20190706.txt
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。