ほげり道
2008年06月03日
インストールは不要
webサーバのベンチマークを取得したくてabコマンドが必要となった。
- 対象サーバにはapache2がインストールされてない
- apache2のインストールは不要
- abコマンドだけ欲しい
- ビルドするサーバと同環境の他サーバでも実行可能状態としたい
$ wget httpd-2.x.x.tar.gz $ tar zxvf httpd-2.x.x.tar.gz $ cd httpd-2.x.x $ ./configure --enable-static-ab $ make $ ldd ./support/ab $ ./support/ab -hあとはabコマンドを他サーバへ配布するだけ。
ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
posted with amazlet at 08.06.03
Steve Souders スティーブ サウダーズ
オライリージャパン
売り上げランキング: 252
オライリージャパン
売り上げランキング: 252
2008年05月15日
coderepos.orgで公開しよう
アカウントが発行されたらいくつか登録したい物がある。
さらして、叩かれて。
そして人は強くなる。
筋トレに近いものを感じる。
ところで
「CPAN」は「CPAN Author」であるように、
「coderepos」の人達の事をどうやって呼ぶのだろう。
これと言って特に無いのかな。
2008年03月14日
サーバの診断
whois.hansode.orgのリバースプロキシ用サーバが先日異常終了した。
その後、不安定なプロセスが多発。その場しのぎの対応を続けていた。
このままじゃ駄目だ。
色々と捜査してみたら、犯人を特定出来た。
犯人を逮捕した後、再起動…しようとした。
$ sudo shutdown -h now
あれ…立ち上がってこない?
あ・・・!!
haltとrebootで
リブートのつもりで、
shutdownコマンドを-hオプション指定で実行していたのだ。
超凡ミス。
サーバの目の前で作業をしていたのが、不幸中の幸い。
即時halt、即時rebootの場合は、
haltとrebootを使うのが良いね。
2008年02月24日
何故か起動に3〜4分かかる
ThinkPad T41にUbuntuをインストールした。
何故か起動に3〜4分かかっている。
ググってみたら同じ現象に遭遇している人を発見。
解決策を書いてくれたた。素晴しい。
ブートスプラッシュスクリーンの解像度を変更して黒い表示をなおそう!より
スクリーンの解像度問題だったようだ。
$ sudo vi /etc/usplash.conf xres=1024 yres=768
$ sudo update-initramfs -u -k all
起動が早くなった。
快適。
2008年02月15日
feed出力時にエラーが出てた
理由は「機種依存文字」が混入していたからだ。
使われていた機種依存文字は「数字」。
ゴリっと一撃一発置換で対応して完了。
影舞に限らず、機種依存文字は積極的に使わない事だ。
→ 影舞
2008年01月21日
2008年01月18日
例えば「2008/01」のリストを出力。
月間レポートスクリプトを書く時などに使える。
月間レポートスクリプトを書く時などに使える。
$ export LC_ALL=C
$ year=2008; mon=1; for day in $(cal ${mon} ${year} | egrep -v '[a-z]'); do printf "%04d%02d%02d\n" ${year} ${mon} ${day}; done
20080101
20080102
20080103
20080104
20080105
20080106
20080107
20080108
20080109
20080110
20080111
20080112
20080113
20080114
20080115
20080116
20080117
20080118
20080119
20080120
20080121
20080122
20080123
20080124
20080125
20080126
20080127
20080128
20080129
20080130
20080131
絶対パス
$ cat abspath.sh #!/bin/sh echo $(cd $(dirname $0) && pwd)/$(basename $0)
$ ./pwd.sh /home/user/hansode/pwd.sh $ ../hansode/pwd.sh /home/user/hansode/pwd.sh $ /home/user/hansode/../hansode/pwd.sh /home/user/hansode/pwd.sh
使い所
「$(cd $(dirname $0) && pwd)」をウマク利用してファイルをインクルード。
$ cat abspath.sh
#!/bin/sh
absdir=$(cd $(dirname $0) && pwd)
. ${absdir}/../etc/common
command foo bar ...
プロジェクトディレクトリごと移動してもスクリプトは動くようになる。どのディレクトリに配置しても良い訳だ。自分はこれを良く使う。
2007年12月19日
おじいちゃんの血圧が高い
「おじいちゃんサーバ」のload averageが2.0前後をうろちょろしている。原因を調査してみると、estmasterがメモリを使いまくっている事が分かった。
物理メモリだけでなく、スワップもまた使っている。
おじいちゃんの記憶力
$ egrep '^MemTotal|^SwapTotal' /proc/meminfo MemTotal: 515732 kB SwapTotal: 995988 kB大分古いマシン。
2ヶ月前くらいにメモリを128Mから512Mへ増やした。
緊急オペ
キャッシュサイズを少なくすると改善しそうだ。昨夜、緊急オペをする事にした。
手術内容は下記の通り。
$ cd /var/lib/hyperestraier/estmaster/; pwd /var/lib/hyperestraier/estmaster $ sudo cp -pi _conf _conf.0 $ sudo vi _conf $ diff _conf.0 _conf 62c62,63 < scalepred: 2 --- > #scalepred: 2 > scalepred: 3 87c88,89 < cacheanum: 8192 --- > #cacheanum: 8192 > cacheanum: 4096 90c92,93 < cachetnum: 1024 --- > #cachetnum: 1024 > cachetnum: 512 93c96,97 < cachernum: 256 --- > #cachernum: 256 > cachernum: 128 $ sudo /etc/init.d/hyperestraier restart
手術後の経過
今朝の血圧を測ってみた。1.0以内で落ち着いている。手術成功だ!
老体にはキャッシュを少なくするのが良い様だ。
2007年12月11日
2007年10月02日
■失って気付く…
キーバインドが変更されていて<と>を多様していた事に気付いた。
多用していたがゆえに、戸惑いを覚えている…。
自分は毎日「cvs update」して最新版を取得している。
▼以前
▼現在
・Messageモードが80文字以上だと <と> の挙動に気付くけど、
・Messageモードが80文字以下だと <と> の挙動に気付かない。
『あれ…?何も起きないぞ?』
■対策
おとなしく、Emacsのキーバインドで対応するか。
直ぐに慣れるはずだ。
▼今後
普段は「Ctrl-[」を愛用している。
キーバインドが変更されていて<と>を多様していた事に気付いた。
多用していたがゆえに、戸惑いを覚えている…。
自分は毎日「cvs update」して最新版を取得している。
▼以前
・< Summaryモードの一行目 ・> Summaryモードの最終行
▼現在
・< Messageモードの行頭 ・> Messageモードの行末▼混乱時…
・Messageモードが80文字以上だと <と> の挙動に気付くけど、
・Messageモードが80文字以下だと <と> の挙動に気付かない。
『あれ…?何も起きないぞ?』
■対策
おとなしく、Emacsのキーバインドで対応するか。
直ぐに慣れるはずだ。
▼今後
・Esc-< ・Esc->Escはキーボードの隅っこで遠いので、
普段は「Ctrl-[」を愛用している。
2007年09月27日
2007年08月27日
Google Toolbarをインストールした。
理由は1つ。
半袖blogのページランクを確認してみたかったからだ。
インストール後、早速確認。
結果は…4/10
個人blogではこんなものなのだろう。
理由は1つ。
半袖blogのページランクを確認してみたかったからだ。
インストール後、早速確認。
結果は…4/10
個人blogではこんなものなのだろう。
2007年07月23日
アクセス六本木のジータさんが使っていたvisitorsをホゲってみている。
■特徴的な部分だけツマミ食い
▼レポート情報
・時間帯アクセスの増減を色の2次元マトリクスと色の濃厚で表現
・時間帯アクセス同様に、日別アクセスも色の濃厚で表現
▼Graphviz によるグラフ生成
・これは他に無い
▼リアルタイム集計
・『$ tail -f accesslog | visitors --stream ...』と言う事が可能
■足りない機能
・接続元の排他処理
・ここはegrep等でなんとかする
・URIの同一視
・/foo?args=1 と /foo?args=2 を同一視したい場合
・これもgrepやsedなどのフィルタでなんとかする
■まとめ
・足りない所はvisitorsのラッパーをシェルスクリプトで書く
・適材適所。臨機応変に解析ツールを使い分ける。
visitorsはまだ開発途中と言う所だろうか。
今後の機能追加に期待したい。
■特徴的な部分だけツマミ食い
▼レポート情報
・時間帯アクセスの増減を色の2次元マトリクスと色の濃厚で表現
・時間帯アクセス同様に、日別アクセスも色の濃厚で表現
▼Graphviz によるグラフ生成
・これは他に無い
▼リアルタイム集計
・『$ tail -f accesslog | visitors --stream ...』と言う事が可能
■足りない機能
・接続元の排他処理
・ここはegrep等でなんとかする
・URIの同一視
・/foo?args=1 と /foo?args=2 を同一視したい場合
・これもgrepやsedなどのフィルタでなんとかする
■まとめ
・足りない所はvisitorsのラッパーをシェルスクリプトで書く
・適材適所。臨機応変に解析ツールを使い分ける。
visitorsはまだ開発途中と言う所だろうか。
今後の機能追加に期待したい。
2007年07月21日
あいまい空きドメイン名検索 『rickdom』 を改良の続き
バックエンドの改良をした後、見える部分をカイゼンしてみた。
■概要:『検索中である事を見える化』
▼カイゼン前
・以前は検索中だと『...』を表示していた
・これだと検索中なのかがイマイチ分かり辛い
▼カイゼン方法
・Ajax Loading Gif Generatorでグルグル回るGifを生成
・検索中に表示していた『...』をグルグルGifへ変更
▼カイゼン後
・レスポンスタイムが短くなったわけではない
・検索中であることを見える化する事によりユーザーのストレス軽減
バックエンドの改良をした後、見える部分をカイゼンしてみた。
■概要:『検索中である事を見える化』
▼カイゼン前
・以前は検索中だと『...』を表示していた
・これだと検索中なのかがイマイチ分かり辛い
▼カイゼン方法
・Ajax Loading Gif Generatorでグルグル回るGifを生成
・検索中に表示していた『...』をグルグルGifへ変更
▼カイゼン後
・レスポンスタイムが短くなったわけではない
・検索中であることを見える化する事によりユーザーのストレス軽減
2007年07月04日
いつもは'y'を使う
勢い余って yy と答えてしまったのに、ファイルが消えていた。
yeah!!!でもファイルは消えてくれた。
$ ls -l nagasode
ls: nagasode: そのようなファイルやディレクトリはありません
$ :&glt; nagasode
$ ls -l nagasode
-rw-r--r-- 1 hansode hansode 0 2007-07-04 14:52 nagasode
$ rm -i nagasode
rm: remove 通常の空ファイル `nagasode'? yeah!!!!!
$ ls -l nagasode
ls: nagasode: そのようなファイルやディレクトリはありません
このように、長袖は削除された。
勢い余って yy と答えてしまったのに、ファイルが消えていた。
yeah!!!でもファイルは消えてくれた。
$ ls -l nagasode
ls: nagasode: そのようなファイルやディレクトリはありません
$ :&glt; nagasode
$ ls -l nagasode
-rw-r--r-- 1 hansode hansode 0 2007-07-04 14:52 nagasode
$ rm -i nagasode
rm: remove 通常の空ファイル `nagasode'? yeah!!!!!
$ ls -l nagasode
ls: nagasode: そのようなファイルやディレクトリはありません
このように、長袖は削除された。
2007年06月08日
▼env.
OS : Debian GNU/Linux 4.0
repos : debu
trac : /home/svn/tracs http://svn.example.com/trac/debu/
svn : /home/svn/repos http://svn.example.com/repos/debu/
▼subversion
# apt-get install subversion
# mkdir /home/svn
# cd /home/svn
# mkdir repos
# svnadmin create /home/svn/repos/debu
# chown -R www-data /home/svn/repos
▼trac
# apt-get install trac
# cd /home/svn
# mkdir tracs
# trac-admin /home/svn/tracs/debu initenv
# chown -R www-data /home/svn/tracs/debu
▼apache2, apache2-modules
# apt-get install apache2 libapache2-mod-fcgid libapache2-svn
# a2enmod fcgi rewrite
# /etc/init.d/apache2 force-reload
# htpasswd -c htpasswd $(username)
▼apache namevirtual
# cd /etc/apache2/sites-available
# cat > svn.example.com
--------------------------------------------------
<VirtualHost *>
ServerName svn.example.com
DocumentRoot /home/svn/tracs
Options -Indexes
RewriteEngine On
<IfModule mod_fcgid.c>
DefaultInitEnv TRAC_ENV_PARENT_DIR /home/svn/tracs
</IfModule>
ScriptAlias /trac /usr/share/trac/cgi-bin/trac.fcgi
RedirectMatch ^/$ /trac/
<Location /repos>
DAV svn
SVNParentPath /home/svn/repos
</Location>
<Location />
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/htpasswd
Require valid-user
Order Deny,Allow
Deny from All
Allow from 192.0.2.0/24
</Location>
</VirtualHost>
--------------------------------------------------
# /usr/sbin/a2ensite svn.example.com
# /usr/sbin/apache2ctl configtest
# /etc/init.d/apache2 reload
----------------------------------------------------------------------
2007年05月19日
一番身近な開発サーバは、今となってはお爺ちゃんマシン。
▼スペック
HDD: 40G
CPU: PentiumIII 550MHz
Mem: 256M
Swap: 1024M
ガッツリと瞬時に処理させたいのに、老体には急な運動がキツイ。
老体とのやり取りをして数年。付き合い方は経験で分かって来る。
▼今回過負荷原因
spamd(SpamAssassin)
利便性、運用、ベイズDB管理を考慮し、spamd-rw,spamd-roとして
2つのspamdを立ち上げている。spamメールを4万通を学習させよう
としたら、著しくパフォーマンスが低下。
▼老体と上手く付き合う
・メールの登録処理には1通登録したら sleep 3 を入れる
・spamd-rwはniceを使って優先度を下げる。『nice -19』で落ち着いた。
・一度に大量のメールを登録しない。目安は100エントリ。その後にsleep 60。
・MRTGでサーバ負荷統計を定期的に観察
・時々spamcの処理中、無呼吸(spamd-rwが無反応)になるのでtimeout処理を入れる
▼老体を苛め過ぎると…
メモリ不足になる
↓
Swapを使い始める
↓
I/O負荷が急上昇
↓
パフォーマンス急低下
呼吸困難となり、意識レベルが低過ぎるお爺ちゃん。
▼まとめ
・急激な運動は避ける
・適度な休憩を入れる
自分の期待に応え続けるおじいちゃんサーバ、まだまだ頑張って下さい。
若者サーバとばかり接する人には関係の無い話。
こう言う窮屈な環境はチューニングを意識させられるので大事だ。
▼スペック
HDD: 40G
CPU: PentiumIII 550MHz
Mem: 256M
Swap: 1024M
ガッツリと瞬時に処理させたいのに、老体には急な運動がキツイ。
老体とのやり取りをして数年。付き合い方は経験で分かって来る。
▼今回過負荷原因
spamd(SpamAssassin)
利便性、運用、ベイズDB管理を考慮し、spamd-rw,spamd-roとして
2つのspamdを立ち上げている。spamメールを4万通を学習させよう
としたら、著しくパフォーマンスが低下。
▼老体と上手く付き合う
・メールの登録処理には1通登録したら sleep 3 を入れる
・spamd-rwはniceを使って優先度を下げる。『nice -19』で落ち着いた。
・一度に大量のメールを登録しない。目安は100エントリ。その後にsleep 60。
・MRTGでサーバ負荷統計を定期的に観察
・時々spamcの処理中、無呼吸(spamd-rwが無反応)になるのでtimeout処理を入れる
▼老体を苛め過ぎると…
メモリ不足になる
↓
Swapを使い始める
↓
I/O負荷が急上昇
↓
パフォーマンス急低下
呼吸困難となり、意識レベルが低過ぎるお爺ちゃん。
▼まとめ
・急激な運動は避ける
・適度な休憩を入れる
自分の期待に応え続けるおじいちゃんサーバ、まだまだ頑張って下さい。
若者サーバとばかり接する人には関係の無い話。
こう言う窮屈な環境はチューニングを意識させられるので大事だ。
2007年04月25日
・cfengineはcfservdとcfagentが鍵交換をする
・鍵ファイルの命名規則は $(ユーザー名)-$(IPアドレス).pub
NATやDHCPだとcfagentが起動しているサーバは別なのに、
cfservdにはIPアドレスを同一視され、鍵が重複する可能性あり。
実際、この状況に遭遇している。
この状況を打開する方法が無いか、リファレンスを眺めていたら発見。
http://www.cfengine.org/docs/cfengine-Reference.htmlより
5.1.18 DynamicAddresses
Hosts which are included in this list are assumed to have
IP addresses which can change with time, e.g. hosts which
are given IP addresses by DHCP or a BOOTP like protocol.
control:
DynamicAddresses = ( 128.39.74.100-200 ) # DHCP range
If cfservd receives a connection from an IP address that is
in this list, and trustkey is true, the existing key for that
IP address can be replaced with a new key, and the old key is
recorded in a "used keys" list, access is granted. If trust is
switched off, the server looks in the "used key list" to see
if the key has been seen before. If not access is refused.
If it has been seen before – it uses this earlier trust to accept
the connection and replace the IP-key binding. Note that used
keys are kept in a database for easy lookup, whereas fixed keys
are kept in files for easy administration. If host keys change or
are reinstalled on the dynamically allocated hosts, then this
database should probably be deleted to purge keys that become
illegal.
DHCP addresses have no effect on hosts that use IPV6, since
IPV6 addresses are generally issued based on an interface
MAC address and do not therefore change.
なるほど。
▼ゲートウェイが192.0.2.1となる場合
/etc/cfengine/cvservd.conf
control:
domain = ( example.org )
AllowConnectionsFrom = ( 192.0.2.1 )
TrustKeysFrom = ( 192.0.2.1 )
DynamicAddresses = ( 192.0.2.1 )
AllowUsers = ( root )
update.confやcfagent.confで trustkey=true を指定すると
NAT環境下で期待する動作をしてくれた。
・鍵ファイルの命名規則は $(ユーザー名)-$(IPアドレス).pub
NATやDHCPだとcfagentが起動しているサーバは別なのに、
cfservdにはIPアドレスを同一視され、鍵が重複する可能性あり。
実際、この状況に遭遇している。
この状況を打開する方法が無いか、リファレンスを眺めていたら発見。
http://www.cfengine.org/docs/cfengine-Reference.htmlより
5.1.18 DynamicAddresses
Hosts which are included in this list are assumed to have
IP addresses which can change with time, e.g. hosts which
are given IP addresses by DHCP or a BOOTP like protocol.
control:
DynamicAddresses = ( 128.39.74.100-200 ) # DHCP range
If cfservd receives a connection from an IP address that is
in this list, and trustkey is true, the existing key for that
IP address can be replaced with a new key, and the old key is
recorded in a "used keys" list, access is granted. If trust is
switched off, the server looks in the "used key list" to see
if the key has been seen before. If not access is refused.
If it has been seen before – it uses this earlier trust to accept
the connection and replace the IP-key binding. Note that used
keys are kept in a database for easy lookup, whereas fixed keys
are kept in files for easy administration. If host keys change or
are reinstalled on the dynamically allocated hosts, then this
database should probably be deleted to purge keys that become
illegal.
DHCP addresses have no effect on hosts that use IPV6, since
IPV6 addresses are generally issued based on an interface
MAC address and do not therefore change.
なるほど。
▼ゲートウェイが192.0.2.1となる場合
/etc/cfengine/cvservd.conf
control:
domain = ( example.org )
AllowConnectionsFrom = ( 192.0.2.1 )
TrustKeysFrom = ( 192.0.2.1 )
DynamicAddresses = ( 192.0.2.1 )
AllowUsers = ( root )
update.confやcfagent.confで trustkey=true を指定すると
NAT環境下で期待する動作をしてくれた。
2007年04月18日
2007年04月12日
どうもpuppetを思い通りに動かせないのでcfengineを触り始めた。
最低限やりたい事はファイルの配布なのでcfengineで事足りる。
▼参考ページ
・cfengineによるシステム管理の自動化: その1
・cfengine [1/3] : A simple overview of cfengine
・Cfengine-Tutorial
・Cfengine-Reference
とりあえず無事に動いた。
あとは内容理解を深め、cfengineの効率良い管理方法の考察。
これでシステム管理コストを大幅に減らせる。
最低限やりたい事はファイルの配布なのでcfengineで事足りる。
▼参考ページ
・cfengineによるシステム管理の自動化: その1
・cfengine [1/3] : A simple overview of cfengine
・Cfengine-Tutorial
・Cfengine-Reference
とりあえず無事に動いた。
あとは内容理解を深め、cfengineの効率良い管理方法の考察。
これでシステム管理コストを大幅に減らせる。
2007年04月11日
scpでファイル転送ではなくftpで転送しようとした。
しかし、検証サーバにFTP接続しようとしても接続出来ない。
■検証サーバの環境
OS: Debian GNU/Linux
proftpd: 1.3.0
補足: proftpdはtcpserver経由で起動、daemontoolsで管理
該当エラーメッセージ
2007-04-11 10:08:25.832790500 tcpserver: status: 1/40
2007-04-11 10:08:25.832797500 tcpserver: pid 26014 from 127.0.0.1
2007-04-11 10:08:25.832801500 tcpserver: ok 26014 0:::ffff:127.0.0.1:21 :::ffff:127.0.0.1::41493
2007-04-11 10:08:25.900058500 hansode - error opening scoreboard: No such file or directory
2007-04-11 10:08:25.901804500 tcpserver: end 26014 status 0
2007-04-11 10:08:25.901812500 tcpserver: status: 0/40
何だコレは。初めて見た。scoreboardが無いと言われている。
ちなみにproftpdのバージョンはこれ。
$ /usr/sbin/proftpd -v
- ProFTPD Version 1.3.0
以前は不要だったscoreboardファイルは、
とあるバージョンからか使うようになった様だ。
とりあえずstringsでproftpdを調べてみる。
$ strings /usr/sbin/proftpd | grep scoreboard
...(省略)...
error opening scoreboard: bad version (too new)
/var/run/proftpd/proftpd.scoreboard
...(省略)...
なるほど。
ディレクトリが存在していないのでディレクトリを作成。
$ ls -l /var/run/proftpd
ls: /var/run/proftpd: No such file or directory
$ sudo mkdir /var/run/proftpd
$ sudo svc -t /service/proftpd
$ telnet localhost 21
Trying 127.0.0.1...
Connected to black.
Escape character is '^]'.
Connection closed by foreign host.
まだ駄目か。
2007-04-11 10:14:05.020934500 tcpserver: status: 1/40
2007-04-11 10:14:05.020942500 tcpserver: pid 26750 from 127.0.0.1
2007-04-11 10:14:05.050110500 tcpserver: ok 26750 0:::ffff:127.0.0.1:21 :::ffff:127.0.0.1::41507
2007-04-11 10:14:05.240759500 hansode - error setting IPV6_V6ONLY: Protocol not available
2007-04-11 10:14:05.240895500 hansode - Failed binding to ::, port 21: Address already in use
2007-04-11 10:14:05.240944500 hansode - Check the ServerType directive to ensure you are configured correctly.
2007-04-11 10:14:05.242199500 tcpserver: end 26750 status 256
2007-04-11 10:14:05.242206500 tcpserver: status: 0/40
作業前にproftpd.confを上書きしてしまったのを思い出す。
$ grep ServerType /etc/proftpd/proftpd.conf
ServerType standalone
このproftpdはtcpserver経由で起動するようなrunスクリプトにしている。
standaloneだとtcpserver経由で起動するはずが無い。inetdへ書き換え。
$ grep ServerType /etc/proftpd/proftpd.conf
ServerType inetd
$ sudo svc -t /service/proftpd
$ telnet localhost 21
Trying 127.0.0.1...
Connected to black.
Escape character is '^]'.
220 ProFTPD 1.3.0 Server (Debian) [::ffff:127.0.0.1]
^]
telnet> close
Connection closed.
proftpdを再起動したら無事に接続出来た。
proftpdを触ったのは久しぶりだ。
しかし、検証サーバにFTP接続しようとしても接続出来ない。
■検証サーバの環境
OS: Debian GNU/Linux
proftpd: 1.3.0
補足: proftpdはtcpserver経由で起動、daemontoolsで管理
該当エラーメッセージ
2007-04-11 10:08:25.832790500 tcpserver: status: 1/40
2007-04-11 10:08:25.832797500 tcpserver: pid 26014 from 127.0.0.1
2007-04-11 10:08:25.832801500 tcpserver: ok 26014 0:::ffff:127.0.0.1:21 :::ffff:127.0.0.1::41493
2007-04-11 10:08:25.900058500 hansode - error opening scoreboard: No such file or directory
2007-04-11 10:08:25.901804500 tcpserver: end 26014 status 0
2007-04-11 10:08:25.901812500 tcpserver: status: 0/40
何だコレは。初めて見た。scoreboardが無いと言われている。
ちなみにproftpdのバージョンはこれ。
$ /usr/sbin/proftpd -v
- ProFTPD Version 1.3.0
以前は不要だったscoreboardファイルは、
とあるバージョンからか使うようになった様だ。
とりあえずstringsでproftpdを調べてみる。
$ strings /usr/sbin/proftpd | grep scoreboard
...(省略)...
error opening scoreboard: bad version (too new)
/var/run/proftpd/proftpd.scoreboard
...(省略)...
なるほど。
ディレクトリが存在していないのでディレクトリを作成。
$ ls -l /var/run/proftpd
ls: /var/run/proftpd: No such file or directory
$ sudo mkdir /var/run/proftpd
$ sudo svc -t /service/proftpd
$ telnet localhost 21
Trying 127.0.0.1...
Connected to black.
Escape character is '^]'.
Connection closed by foreign host.
まだ駄目か。
2007-04-11 10:14:05.020934500 tcpserver: status: 1/40
2007-04-11 10:14:05.020942500 tcpserver: pid 26750 from 127.0.0.1
2007-04-11 10:14:05.050110500 tcpserver: ok 26750 0:::ffff:127.0.0.1:21 :::ffff:127.0.0.1::41507
2007-04-11 10:14:05.240759500 hansode - error setting IPV6_V6ONLY: Protocol not available
2007-04-11 10:14:05.240895500 hansode - Failed binding to ::, port 21: Address already in use
2007-04-11 10:14:05.240944500 hansode - Check the ServerType directive to ensure you are configured correctly.
2007-04-11 10:14:05.242199500 tcpserver: end 26750 status 256
2007-04-11 10:14:05.242206500 tcpserver: status: 0/40
作業前にproftpd.confを上書きしてしまったのを思い出す。
$ grep ServerType /etc/proftpd/proftpd.conf
ServerType standalone
このproftpdはtcpserver経由で起動するようなrunスクリプトにしている。
standaloneだとtcpserver経由で起動するはずが無い。inetdへ書き換え。
$ grep ServerType /etc/proftpd/proftpd.conf
ServerType inetd
$ sudo svc -t /service/proftpd
$ telnet localhost 21
Trying 127.0.0.1...
Connected to black.
Escape character is '^]'.
220 ProFTPD 1.3.0 Server (Debian) [::ffff:127.0.0.1]
^]
telnet> close
Connection closed.
proftpdを再起動したら無事に接続出来た。
proftpdを触ったのは久しぶりだ。
2007年04月03日
嫌われがちなDebianを使おうと計画中。
どうも所属部署の偉い人にはDebian嫌いが多いんだよね。
『ったく、Linux使えねー!!』とデカイ声で罵声を浴びせる某上長。
これはDebianを使わせない為のパワハラだろう(笑)。
そんなの事は置いておいてDebian Debian。
考えているのはUML(User Mode Linux)を使う事。
ホスト環境は最小構成にしてゲスト環境はガッツリ構築して行く。
・コピーを作りやすい
・要らなくなったら停止
・必要になったら起動
何だかんだで所属グループにおける効率の良い開発環境作りが進ん
でいないので、1つの開発スタイルとして作業工程をまとめ、報告
してみるのは良い機会だろう。
どうも所属部署の偉い人にはDebian嫌いが多いんだよね。
『ったく、Linux使えねー!!』とデカイ声で罵声を浴びせる某上長。
これはDebianを使わせない為のパワハラだろう(笑)。
そんなの事は置いておいてDebian Debian。
考えているのはUML(User Mode Linux)を使う事。
ホスト環境は最小構成にしてゲスト環境はガッツリ構築して行く。
・コピーを作りやすい
・要らなくなったら停止
・必要になったら起動
何だかんだで所属グループにおける効率の良い開発環境作りが進ん
でいないので、1つの開発スタイルとして作業工程をまとめ、報告
してみるのは良い機会だろう。
2007年02月25日
気軽に使え、そして手軽にデザインを切り替えられるような
テンプレートを探していた。
そして見つけたのが『CSS着せ替えテンプレートプロジェクト』
> このプロジェクトは『htmlファイルには一切手を加えず、CSSファ
> イルと画像を変更することでデザインをチェンジする』ことを可能
> とする、htmlテンプレートを作ろうという試みです。最終的には複
> 数のテンプレート配布サイトが同じhtmlを基にCSSを描いていくこと
> で、多くのデザインを服を着せ替えるようにチェンジできるように
> できれば、と考えております。基本的な構想は、zen gardenの影響
> を強く受けています。
テンプレートを欲しかった理由は、作っているアプリケーションが
あまりにも素のデザインで作っている最中のやる気がどうも上がら
ない。ある程度の見栄えがあればやる気は上がるだろうと思ってテ
ンプレートを探した事が動機となっている。
ベースのHTMLさえ崩さなければCSSの切替のみで見栄えを変更可能。
テンプレートを探していた。
そして見つけたのが『CSS着せ替えテンプレートプロジェクト』
> このプロジェクトは『htmlファイルには一切手を加えず、CSSファ
> イルと画像を変更することでデザインをチェンジする』ことを可能
> とする、htmlテンプレートを作ろうという試みです。最終的には複
> 数のテンプレート配布サイトが同じhtmlを基にCSSを描いていくこと
> で、多くのデザインを服を着せ替えるようにチェンジできるように
> できれば、と考えております。基本的な構想は、zen gardenの影響
> を強く受けています。
テンプレートを欲しかった理由は、作っているアプリケーションが
あまりにも素のデザインで作っている最中のやる気がどうも上がら
ない。ある程度の見栄えがあればやる気は上がるだろうと思ってテ
ンプレートを探した事が動機となっている。
ベースのHTMLさえ崩さなければCSSの切替のみで見栄えを変更可能。
2007年01月07日
リポジトリのあるサーバの22番ポートには接続元制限をかけている。
接続拒否される環境からCVSを使おうとしたら接続出来なかった。
22番ではないポート番号で接続元制限をかけていないsshdを立ち上
げている。そっちに接続すれば解決する。しかし、ポート番号指定
で少々手こずった。
$ export CVS_RSH="ssh -p [port]"
これで解決できると思ったら -p をコマンドとして認識してくれな
かった。configを書く事で解決できるのを思い出して解決した。
$ vi ~/.ssh/config
Host [remote]
Port [port]
無事に解決。
接続拒否される環境からCVSを使おうとしたら接続出来なかった。
22番ではないポート番号で接続元制限をかけていないsshdを立ち上
げている。そっちに接続すれば解決する。しかし、ポート番号指定
で少々手こずった。
$ export CVS_RSH="ssh -p [port]"
これで解決できると思ったら -p をコマンドとして認識してくれな
かった。configを書く事で解決できるのを思い出して解決した。
$ vi ~/.ssh/config
Host [remote]
Port [port]
無事に解決。
実用SSH 第2版―セキュアシェル徹底活用ガイド
posted with amazlet on 07.01.07
Daniel J. Barrett Richard E. Silverman Robert G. Byrnes 小島 肇 坂井 順行 鹿田 幸治 園田 道夫 高橋 基信 根津 研介 宮本 久仁男
オライリー・ジャパン
売り上げランキング: 75599
オライリー・ジャパン
売り上げランキング: 75599
2006年11月01日
2006年09月27日
検証環境が欲しくなった。
UMLは手軽に検証環境を構築出来るのが良い。
■環境
Windows XP / 10.x.x.x
|
coLinux(Debian) / 192.168.0.10
|
UML(Debian) / 192.168.0.100
■作業内容
$ ./uml-manager.sh build spam
$ ./uml-manager.sh setup spam
$ ./uml-manager.sh boot spam
無事にbootしたらnetworkの設定
colinux:~# vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.10<
UMLは手軽に検証環境を構築出来るのが良い。
■環境
Windows XP / 10.x.x.x
|
coLinux(Debian) / 192.168.0.10
|
UML(Debian) / 192.168.0.100
■作業内容
$ ./uml-manager.sh build spam
$ ./uml-manager.sh setup spam
$ ./uml-manager.sh boot spam
無事にbootしたらnetworkの設定
colinux:~# vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.10<


