Timax윈도우는 운영체제? 에뮬레이터?
티맥스에서 티맥스OS를 만들고 있다고 발표했다.
ここには技術関連のみ投稿しようと思う。
티맥스에서 티맥스OS를 만들고 있다고 발표했다.
작성자:
WonYong Jung
0
コメント
場所
7/09/2009 09:42:00 오후
간만에 zdnet코리아를 들여다보았는데, 예전부터이지만 웹 표준화에 대한 기사가 종종 눈에 띄고 있다. 하지만 어느쪽인가 하면 zdnet코리아는 IE를 옹호하는 기사가 꽤 많은 편이다.
그럼 그렇지 않은 기사들은 IE를 비판하는 기사인가 하면 그렇지가 않다. 왜냐하면 IE는 웹브라우징도 가능한 윈도우용 확장 브라우저일 뿐이고, 웹브라우저에서 동작하는 태깅보다는 IE에서만 인식하는 태깅만을 고집하는 우리나라 개발행태에 문제가 있기 때문이다.
물론 금융감독원이 이를 조장하는것도 한몫 하고 있지만, 이것은 일단 제쳐두고라도 말이다.
한동안 왜 이 문제가 해결되지 않는가를 생각해 왔는데, 역시 결론은 웹페이지와 HTML을 이용한 IE용 페이지를 구별하지 못하고, Javascript와 Jscript를 인식하지 못하는 데 있는 것 같다.
사실 표준화에 관한 기사를 싣고있는 zdnet코리아는 IE가 아니면 로그인해도 답글조차 달 수 없는데다가, 로그인을 하라는 얼럿 창은 IE가 아니면 루프 현상을 보인다.
이는 자바스크립트인줄 알고 Jscript로 코드를 작성하여, 실제 Javascript로써 해당 코드를 실행하게 되면 어떻게 되는지를 모르고 있다고밖에 생각할 수 없다.
이것은 zdnet의 몇몇 영문 기사들 탓이기도 하다.
그 기사들을 보면 IE가 표준을 준수하는 것 때문에 웹이 깨지는것을 걱정하고 있다. 하지만 이것은 어디까지나 IE가 css버그를 고침으로 인해서 화면이 제대로 보여지지 않는다던가, IE가 Jscript의 처리를 보다 Javascript에 근접하게 동작하도록 해서 바뀌는 일부 장해를 이야기하는것이지, 애초에 IE용 페이지로 작성한 한국의 IE사이트들을 이야기하는것은 아니다. 이것은 마치 한국의 IE사이트들이 웹 사이트인양 착각하게 만든다.
내가 IE사이트라고 분류하는 기준은 간단하다.
그 사이트에서 제공하는 아주 기본적인 서비스가 웹 브라우저라면 동작하는지, 또 서비스에서 제공되는 정보를 제대로 볼 수 있는지가 좌우한다.
그런 면에서 지디넷 코리아의 페이지를 보면 태깅이 우선 틀렸다.
지디넷의 영문을 비롯한 다른 나라 사이트들의 소스를 보면 알 것이다.
보통의 웹 브라우저로 지디넷 코리아를 열면, 별도의 인코딩 판별 기능을 갖추지 않은 웹브라우저의 경우는 한글이 몽땅 깨진다. 당연하지만 인코딩 지정이 와야 할 곳에 위치해 있지 않기 때문이다. IE는 인코딩 지정이 없는 경우 독자적인 인코딩 판별 기능으로 페이지를 판별한다(자동으로 설정한 경우). 파이어폭스도 자체 인코딩 판별 기능을 갖추고 있다.
그럼 예를 들어서 한국어와 일본어가 혼재한 페이지의 경우 어떻게 될까? IE와 파이어폭스의 인코딩 판별 기준에 따라 달라질 것이다. 물론 인코딩 판별 기능을 갖추지 않은 브라우저들은 기본값으로 처리할 것이다. (깨진다.)
표준을 따르자면 각 웹페이지는 처음 시작할 때 해당 페이지의 인코딩을 브라우저에 알려주는것이 맞다. 지정하지 않으면 각 브라우저가 알아서 판단할 것이다.
그럼 IE의 자동 판단기능에 의존하지 않더라도 페이지에 제대로 된 인코딩 지정을 해주면, 다른 브라우저에서도 글자가 깨지지 않고 제대로 보이게 된다. 웹 표준 준수라는것은 쉬운 부분을 들어 설명하자면 이런 정도다. 그런데 한국의 IE사이트 작성자들은 인코딩 지정을 제대로 해주기 보다 IE의 자동판단이 미치지는 않는지 살피는데 더 많은 시간과 노력을 들이는 것 같다.
css도 마찬가지다. 비록 IE에 버그가 있는것은 사실이지만, 솔직히 몇몇 사이트들을 제외하고 css버그를 회피할 수 있는 디자인들이 수두룩하다. 그런데도 IE의 버그에 맞추어 작성하는데 열을 올리는 것을 보면 무언가 종교적인 이유까지 있지 않은가 싶을 정도이다.
Javascript도 마찬가지다. IE페이지 작성자들이 Jscript가 웹브라우저들에서 동작하지 않는다고 불평하는것을 볼 수 있는데, Jscript는 어디까지나 IE를 위한 Javscript와 유사한 스크립트 언어일 뿐이다. 이를 Javascript로 착각하도록 한 것은 MS가 웹페이지와의 호환성을 위해 Javascript를 포함하고 있는 페이지의 경우 Jscript로도 동작할 수 있도록 해준것이 크지 않은가 싶다. IE에서는 스크립트 언어를 Javascript로 지정해도 Jscript로써 동작하기 때문인데, 이를 모르는 사람이 처음 스크립트를 보면 Javascript인줄 알 것이기 때문이다.
여기까지 읽고도 이해를 못하는 사람을 위해 아주 쉬운 비유를 하자면,
특정 회사가 만든 자의 눈금의 치수가 세계 표준과 틀리다는 것인데,
한국에서는 이 자가 표준인줄 알고 있다가 보니 한국에서의 1미터와 세계 표준의 1미터는, 그 길이가 다르더라, 뭐 정도로 생각해주면 좋겠다.
세계 표준의 1미터와 한국의 1미터가 다른것이 대수롭지 않다고 생각하는 사람이라면, 더이상 할 말이 없다. 그런 사람이라면 왜 지금 인터넷에서 세계적으로 통신이 가능할 수 있는지 자체를 이해할 수 없을테니까....
아직도 모르겠다는 사람은 인터넷은 해리 포터에 등장하는 마법 정도로 생각하고 생각하고 잊어버리길...
작성자:
WonYong Jung
0
コメント
場所
3/19/2009 10:09:00 오후
솔직히 모바일을 접하는 직종을 가진 나로써는 뭐가 폐쇄적인지 잘 모르겠다.
작성자:
WonYong Jung
0
コメント
場所
2/24/2009 09:47:00 오후
結局ソフトバンクとあまり関係のない話だが、
シャープ製921SH(多分920SHも同様)をUSB充電させようとパソコン(Windows)に差し込んでも充電されない。ただし、家のWindowsに差し込んだら充電される(赤ランプ点灯)。
携帯のヘルプにも出てくるが、専用ドライバーをインストールしないとできないとのこと。
ただし、MACでは問題なく充電できることを発見。追加でテストしてみたLINUXマシンでも問題なし。結局Windows以外のOSであり、USB電力が500mAであれば問題ないらしい。
(電源プラグから直接500mAの電力をUSBポートで提供してくれる装置を購入してやってみたがだめだった。)
おそらく、USB装置が完全に接続されないと行けないみたいだが、Windowsではドライバなしでは何もできないので充電できないらしい。(MAC(UNIX)/LINUXはドライバが無くても最低限の接続ができ、問題ないと思われる。)
とりあえず、どこでもUSBポートさえあれば充電OKはまだ満足していないが、Windowsでさえなければどこでも充電はできそうだ。
작성자:
WonYong Jung
1 コメント
場所
4/26/2008 02:02:00 오전
아... 짜증... 하는수없이 고객상담 페이지를 방문하려고 했다.


작성자:
WonYong Jung
3
コメント
場所
3/02/2008 11:32:00 오전

젠장... 꼭 vmware 돌리게 만드네... 돌리는김에 데스크탑도 돌려봤다.
위에건 신한은행으로 설치한 신한은행 전용 윈도우즈...
은행 하나씩 늘 때마다 윈도 하나씩 깔아서 띄워야 할듯. (써본바로는 국민은행하고 신한은행 양쪽을 한개의 윈도우에서 돌리면 엄청난 부작용이...)
그나마 리눅스에서 윈도우 돌리는게 더 깔끔하고 잘돌아가니까 걍 쓴다.
참고로 신한은행 전용 프로그램을 돌리려면 .net 프레임워크를 설치한 '오염된' 윈도우이어야만 한다. 근데 다른 사람들은 윈도우에 개인정보를 저장하고도 불안하지도 않나???
차라리 문서, 메일등의 정보를 모두 구글에 올려놓는게 더 안전한 느낌이 드는데...
아니면 맥을 쓰던가... 좀 비싸긴 해도 그만큼 확실히 안전하니..
이전에 주민등록 새어나간것만 해도 길거리에 돈을 흘려놓고, 줍지말라고 표지판 세우는 꼴이었다. 주워갈 사람은 다 주워가는것을..
그러고 보니 네이버같으면 알아서 결과를 손으로 막겠지... 검색결과가 권력을 쥔 세력에 알아서 기는데, 그래도 1위 하는거보면 참 눈가리고 아웅하는걸 좋아하는 사람들이야 거참.....
그러니 맨날 윈도우가 세계 제일의 OS고 다른 OS는 다 쓰레기인줄 알지..
하긴 오히려 나한테는 여러모로 좋은 현상이다. 맨날 불평만 하면서 뭔가 개선할 노력을 안하는 이 사람들이 리눅스를 쓴다면 오히려 세계적으로 한국망신만 당할거 같다. 차라리 윈도나 쓰면서 나름대로 컴퓨터를 잘한다고(이런 표현 자체가 말이 안되는 표현이지만) 한국내에서나 떠드는 현실이 백배 낫다.
(윈도우는 포토샵이 있어서 매킨토시보다 훨씬 좋다느니<어느 사진관 아저씨 이야기. 개인 경험 실화..>, 윈도우로 서버를 돌리니까 리눅스 서버 쓸때보다 서버수가 줄었다느니<서버 새로 샀으니 스펙이 올라가서 당연히..>, 윈도우는 리모트로 데스크탑도 쓸 수 있다느니
하고싶은말을 좀 적어보면...
제발 TCP/IP를 말하기 전에 TCP와 IP가 별개라는 사실부터 좀 알고 떠들자.
인터넷은 유닉스 시절부터 쓰던것인데 윈도우에서만 된다고 생각하지 말자.
FTP가 뭐하는 물건인지도 모르고 네트워크로 파일을 주고 받을때 MSN없으면 어떻하냐고 불평하지좀 말자(지금은 네이트온인가?)
마지막으로... 현존하는 OS에서 윈도우에서 구현하고 있는 기술을 다른데서 안쓰는 이유는 MS가 소송거니까 안하는거지 기술력이 없어서 안하는게 아니라는 사실을 좀 알자.
참고로 윈도에서 쓰는 기술과 거의 동일한 것들은 윈도우에 추가되기 전에 이미 다른데서 쓰고있던것들이 많다. AERO를 극찬하기 전에 XGL이나 한번 조사해보고 떠들자.
다른데서도 잘 돌아갈 수 있는 프로그램을 만들 수 있는 길이 충분히 있는데, 왜 굳이 MS전용으로 만들고 싶어하는지 모르겠다. 전국민이 MS제품 밀어주기 운동을 자원해서 하는 이상한 한국이여...
작성자:
WonYong Jung
0
コメント
場所
1/29/2008 09:45:00 오후
SCIMのAnthyを使用すると、ユーザ辞書がEUC-JP, EUC-JP-MSのどちらかのみ対応していないため、UTF-8のシステムにも関わらず①等、丸文字が登録出来ず入力が難しい。
そこであまり使うことが無かったRAWCODE入力機に挑戦することにした。
この入力機はUnicodeかUTF-8の文字コードを入力することで文字を入力できる。
早速、unicode.orgからチャートを探り、①(2460)を発見。
これをRAWCODE入力機で入力する方法だが、
①入力機をRAWCODEに合わせる
②英数字(16進数で入力)でコードが入力可能状態なので、数字を2460を入力
③変換テーブルが246の時点で見え始め、0を押すと数字がない状態で①が表示される
④スペースを1回押す。
変換と似ている感じではあるが、これは変換ではなくあくまでも入力であるためスペースを押した瞬間に文字が完成された状態である。
つまり、日本語入力時のEnterで変換を決定した状態と同じなのでちょっと慣れる必要がある。
Windows日本語入力機よりは少し不便ではあるが、これで特殊文字を入力してコピーする手間は省けるだろう。
작성자:
WonYong Jung
0
コメント
場所
1/27/2008 07:26:00 오후
Gustyf로 업그레이드 한 이후에 impress자체가 기동하지 않거나 전체화면모드로 창 크기를 조절할 수 없는 문제가 발생하였는데, 이 문제는 오픈 오피스는 물론이고 Sun의 star suite에서도 동일한 증상이 발생하였다.
우선 그래프가 100%에 도달한 이후 기동하지 않고 멈추는 현상은, 이것저것 실험해 본 결과 openoffice.org-gnome 패키지를 설치할때 같이 설치되는 openoffice.org-gtk가 범인인 듯 하다. 어디가 어떻게 잘못되어서 이런 증상이 일어나는지는 모르겠으나 아무래도 XGL(compiz-fusion)이 gtk쪽 컨트롤을 잘 먹지 않게 방해하는지도 모르겠다.
gtk모듈을 언인스톨하면 기동자체는 가능하나 impress가 전체화면으로 기동되고 창 크기 자체가 변경할 수 없는 현상도 발생하였는데, 이는 CCSM(CompizConfig Setting Manager)을 설치하면 Utility카테고리에 Workarounds항목이 존재하는데 여기서 Legacy Fullscreen Support를 off시키면 해결된다.
-----
最近UBUNTUをGustyをアップグレードしたが、Impressが起動しない問題を発見した。
これはSunで発売しているStar Suiteでも同様だった。(まあ、基本が同じだから同然といえば同然だが。。)
まず、起動しない問題だがこれはやっと解決できた。openoffice.org-gnomeをインストールする際に依存しているopenoffice.org-gtkもインストールされるのだが、これをアンインストールすることで起動が出来た。もちろんopenoffice.org-gnomeが一緒にアンインストールされるのだがopenoffice.org-gnomeがなくてもGNOMEでの起動には支障がない。
起動したのはいいものの今回はフルスクリーンモードでウィンドウのサイズ変更が出来ない状態に遭遇した。ただし、外見設定からcompiz-fusion機能をOffにすることで正常に起動することを見るとcompiz-fusionが原因らしく、色々設定を試してみた所、結局Utility->Workarounds->Legacy Fullscreen Supportが関連している事が分かった。
恐らく、最初に最大サイズで起動しているものをフルスクリーンにしてしまうらしい。
この機能を解除することでウィンドウサイズも問題なく変更可能な状態で起動できた。
英語でも書こうと思ったが流石に面倒だ。どなたか英語が得意で同じ問題を経験した人がこの記録を発見してくれることを望む限りだ。いや、日本語が上手な英語圏の方でも構わない。
작성자:
WonYong Jung
0
コメント
場所
10/30/2007 11:30:00 오후
PCLINUXOSを使用している途中Hintingが適用されない現象あり。
ただし、一部は確かに設定の影響を受けていた。
早速いろいろためして見た結果。。。
なんじゃ〜こりゃ
この設定を外すことで成功。つまり、8ptと15ptの間のサイズに対してはアンチエイリアスが聞かないようにしていた。(しかもデフォルトで。。)
設定チェックを外すことで問題は回避できた。。が、なんで?
작성자:
WonYong Jung
0
コメント
場所
8/12/2007 04:44:00 오후
最終的にまあまあと動いてくれているBeryl用のxorg.conf設定だ。
ただし、Berylにはnvidiaで動いて貰わないと白い画面のみが向かえてくれるのだ。
最初は端末で
$ beryl --force-aiglx
とかやってみて、画面が白くなる場合はCtrl+cとかで元に戻ってから
他のオプションを試してみること。
$ beryl-manager --no-force-window-manager で起動させてから、Nvidia設定できた。
注意すべきことは、設定後一度beryl-managerを終了させて、以後からも
その設定で起動するように記憶させておくことだ。
機種は東芝のdynabook E8/X19PDE。i82852/82855GMEだが、なんでかATIの規格で
動いているらしい。fglrxドライバーもUbuntuのマークが付いているものではなく
ATI系のfglrxドライバーをインストールしないと動作しない。(beryl起動自体が失敗)
下記、xorg.confの内容
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "dbe"
Load "dri"
Load "glx"
# Load "i2c"
Load "bitmap"
# Load "ddc"
Load "extmod"
Load "freetype"
# Load "int10"
# Load "type1"
# Load "vbe"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
Option "XkbVariant" "jp106"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
# Option "ZAxisMapping" "4 5"
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
Option "ButtonMapping" "1 2 3 6 7"
Option "Emulate3Buttons" "true"
EndSection
Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/wacom" # Change to
# /dev/input/event
# for USB
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/wacom" # Change to
# /dev/input/event
# for USB
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/wacom" # Change to
# /dev/input/event
# for USB
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection
Section "Device"
Identifier "Intel Corporation 82852/855GM Integrated Graphics Device"
Driver "i810"
BusID "PCI:0:2:0"
Option "XAANoOffscreenPixmaps"
EndSection
Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-70
VertRefresh 43-60
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Intel Corporation 82852/855GM Integrated Graphics Device"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 4
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 8
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 15
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 16
Modes "1400x1050"
EndSubSection
SubSection "Display"
Depth 24
Modes "1400x1050"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "Synaptics Touchpad"
Option "AIGLX" "true"
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
Section "DRI"
Mode 0666
EndSection
작성자:
WonYong Jung
0
コメント
場所
7/16/2007 12:10:00 오후
역시나 조금은 한국어로도 적지 않으면...
여기를 방문하는 사람들이 일본사이트인줄 착각할 수도 있을거 같아서...
우연히 구글 데스크톱의 리눅스판을 발견..
偶然、グーグルデスクトップのLinux版を見付けた。
http://desktop.google.com/ja/linux/gettingstarted.html
원래는 이쪽을 먼저 찾았던 것이지만... 구글의 리눅스용 리파지터리 세팅안내 페이지다.
元々はこちらが先だが。。。Googleのレポジトリー設定
http://www.google.com/linuxrepositories/ubuntu704.html
인스톨 해보면 아래와같은 느낌으로 등장한다. 윈도우용하고 별 차이는 없지만, 윈도우용처럼 여러가지 애플릿은 없나보다. 뭐 윈도우에는 Gdesklet같은게 없으니 구글에서라도 지원해주지 않으면 없었겠지만서도....
インストールしてみたが、以下のような感じ。Windows用と変わらないがWindows用にAppletなどはないそうだ。
작성자:
WonYong Jung
0
コメント
場所
7/16/2007 11:38:00 오전
Tomcatにてcatalina.outに
「致命的:/WEB-INF/web.xmlが見付かりません。」が出力された。
Googleでサーチして見るとweb.xml内部にValidationのためdtdを定義している部分がある。
このdtdをダウンロードしようとしたところで失敗するとこの現象が発生する。
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
4/12/2007 06:49:00 오후
Tomcat으로 ConnectionPool을 사용할 경우 발생하는 문제들이다.
WEB-INF/lib에다가 ojdbc14.jar 을 둘 경우 로딩이 안되는 문제에 대한 이야기도 들어있다.
http://www.microdeveloper.com/html/JNDI_Orcl_Tomcatp4.html
ラベル:
知識
작성자:
WonYong Jung
1 コメント
場所
4/11/2007 12:31:00 오전
## Add comments (##) in front of any line to remove it from being checked.
## Use the following sources.list at your own risk.
deb http://archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu edgy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse
## MAJOR BUG FIX UPDATES produced after the final release
deb http://archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse
## UBUNTU SECURITY UPDATES
deb http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse
## BACKPORTS REPOSITORY (Unsupported. May contain illegal packages. Use at own risk.)
deb http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse
## PLF REPOSITORY (Unsupported. May contain illegal packages. Use at own risk.)
deb http://medibuntu.sos-sts.com/repo/ edgy free
deb http://medibuntu.sos-sts.com/repo/ edgy non-free
deb-src http://medibuntu.sos-sts.com/repo/ edgy free
deb-src http://medibuntu.sos-sts.com/repo/ edgy non-free
## CANONICAL COMMERCIAL REPOSITORY (Hosted on Canonical servers, not Ubuntu
## servers. RealPlayer10, Opera, DesktopSecure and more to come.)
deb http://archive.canonical.com/ubuntu edgy-commercial main
## Major bug fix updates produced after the final release of the
## distribution.
deb http://kr.archive.ubuntu.com/ubuntu/ edgy-updates main restricted universe multiverse
deb-src http://kr.archive.ubuntu.com/ubuntu/ edgy-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ edgy universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ edgy universe multiverse
## Japanese update repositories
deb http://archive.ubuntulinux.jp/ubuntu-ja edgy/
deb http://archive.ubuntulinux.jp/ubuntu-ja edgy-ja/
deb http://archive.ubuntu.com/ubuntu/ edgy universe multiverse main restricted
deb http://ubuntu.beryl-project.org/ edgy main
# Treviño's Beryl-SVN Ubuntu Repository
# GPG key: 81836EBF
deb http://3v1n0.tuxfamily.org edgy beryl-svn
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
4/03/2007 12:18:00 오후
그러고 보니 예전에 이거 적은거 기억이 나는데...
네이버 지식검색에서 우연히 발견 - -;
출처를 적어주신데에 감사... -_-a
음.. 감회가 새롭군...
---------------------------------------------------------------------------------
Windows XP 와 Office XP사용중인 경우
한동안 사용하다가 보면 오피스계열과 익스플로러 쪽에서 한영전환키가 동작하지
않는 경우가 발생합니다.
이걸 전에는 시스템 복구 기능을 사용해서 복구했었습니다만...
근본적인 해결책을 찾은것 같아서 올려봅니다.
원인은 잘 모르겠지만, 기본적으로 사용하는 키보드 모듈이 레지스트리에서
바뀌는 현상이 일어나는것 같습니다.
위치는 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts입니다.
하위 키에 00000412 와 E0010412 가 있습니다. 한국어 키보드를 한개 이상
설치하셨다면 뒤에 412가 붙은 키들을 모두 살펴보세요. (기본적으로는 2개의
키가 존재합니다.)
안의 Layout File의 값이 KBDKOR.DLL이 아닌 다른 파일이름이 씌여있는것은
KBDKOR.DLL로 고쳐주시면 됩니다.(참고로 저는 00000412의 Layout File값이
KBDUS.DLL로 바뀌어 있었습니다. 아마도 00000412가 익스플로러와 오피스가
사용하는 한글페이지 코드인 듯합니다.)
이 문제로 제가 MS도움말 페이지란 페이지는 다 뒤지고, 구석에 처박힌 같은
문서를 50번이상 다시 봤습니다. 그런데 도저히 알수가 없더군요. 모두 다른
문제뿐이었습니다...
그런데 우연히 웹을 검색하다가 98에서 2000으로 업그레이드 하는 경우 한영키
동작 문제에 관한 글이 있더군요. 거기서 해결책으로 제시한 레지스트리 키값을
보고 혹시.. 하는 생각에 정상적인 시스템과 해당 키값을 비교해 본 결과
찾아냈습니다.
MS측에서 권장하는 키보드 재설치보다는 확실한 방법일겁니다.. 한번 점검해
보시길..
참고로 노트북에서 발생하는 문제는 또 다른 문제인 듯 싶습니다.
노트북 사용자가 아니라서...-_-; 하지만, 잘 동작하다가 중간에 갑자기 키가
안먹는다 싶으면 한번 점검해 보시는 것도....
그럼....
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
4/03/2007 12:06:00 오후
흠.. 잘깔은 우분투, 열 비스타 안부럽군.
http://www.youtube.com/watch?v=xC5uEe5OzNQ&mode=related&search=
사실 말해서 윈도 XP도 버벅대는 사양에서 돌아가는 XGL이랑,
윈도 XP날아갈 사양에서 버벅이는 비스타랑 비교해도 되는건가 이거?
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
3/27/2007 11:45:00 오후
あれ?XGL? まじかよ〜 MS〜
Novelに手を出したのはXGLを真似したことに対しての予防策だったのか。
既存のゲームもよく回らなくなって、
XGL見たいな効果回すとXGLより重くて、
Gdesklet見たいなものをプレーインストールしていて、
OperaとFireFoxの長点を真似したIE7が入っていて、
Gnomeでやっている管理者暗号確認など(画面全体が暗くなるやつ)をやっていて…
一体、Vistaの特徴ってなに?
タスクバーにスキンが適用されているとこ?
それとも、すごいリソース食っているとこ?
構造的に重くなるしかないXwindowより重いのは一体…。
まあ、たしかにゲーム以外に何もインストールしない状態だったら
確かに軽いけど、それはXPまでの話になったのか。
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
2/12/2007 11:54:00 오후
色々あるけど、YahooDaysから取得されるのでこれからは日本語で書こうと思う。
多分、あまりこのブログ見られてないし。。。まっいいか〜
最近は日本語で書くのが自分の気持ちがもっと正確に表現出来る場合が多いかな。
でも、やっぱり韓国語でしか表現できないものも結構あるから、日本語でなにもかも書けるのは難しいけどね。
そろそろ寝ないとやばいか〜。このブログ日記のつもりではないけど、Yahoo DaysはYahoo JapanだからUTF-8で書けないし、同然だけど韓国語だめだからな〜
どうしよう?
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
2/05/2007 02:43:00 오전
MS가 이번에도 자기 명성에 부끄럽지 않은 한건을 해냈다.
http://peterent.com/ENTClic/145
이제는 좀 정신차릴때도 되었지 않나? 하긴 우리나라에서는 한나라당같은 놈들이니...
한국에서는 계속 인기를 누릴 MS이긴 하지만....
최소한 한국을 제외한 다른 나라들이라도 분발해주기를 기대한다....
일본이나 중국에 기대하는 수밖에...
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
2/04/2007 12:03:00 오전
1. mod_caucho.so 컴파일시
> cd /usr/local/resin
> ./configure --with-apxs
....
> make
> make install
주의할점은 컴파일이 실패하면 apache와 resin의 상성관계(resin이 해당 apache와 동작가능한지)를 먼저 체크해야 할 것이다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
1/24/2007 05:51:00 오후
Ubuntu에서 공유폴더 설정을 해도 윈도우에서 접근할수 없기에 찾아보았더니 이러한 것을 찾았다.
https://bugs.launchpad.net/ubuntu/+source/gnome-system-tools/+bug/14774/comments/6
결국 윈도우에서는 유닉스처럼 체계적인 접근권한 설정이 불가능하기에, 윈도우의 파일공유를 구현하는 SAMBA에서는 SAMBA를 통해 접근해오는 유저들을 별도로 SAMBA에 등록시켜줘야 하며, 이 유저는 유닉스의 어카운트중 하나를 등록할 수 있다.
즉, UI를 이용해 Share Folder기능을 설치해서 폴더를 공유한 직후에는 아직 접근할 수 있는 어카운트가 하나도 존재하지 않는 상황이기에 접근이 불가능하다.
그러므로 아래와 같은 커맨드를 실행해서 SAMBA에서 로그인에 사용할 어카운트를 추가해 줘야 한다.
sudo smbpasswd -a user
위 예제에서는 user라는 어카운트를 SAMBA로그인이 가능하도록, 또 유닉스 패스워드와 별개로 접근이 가능하도록 해 주어야 한다. 그러면 윈도우즈에서는 위에서 지정한 유저명/패스워드로 로그인이 가능해진다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
1/10/2007 12:03:00 오전
이건 아예 특별판을 준비해달라는 기사군.
http://www.hankyung.com/news/app/newsview.php?aid=2006113088621&nid=930&type=0
새 OS손질하기 바쁜 MS가 미쳤다고 한국어판만 따로 만들겠냐만서도..
당연하다는듯이 떠드는것도 웃기다.
새 제품이 기존 제품의 기능을 제약하는건 부지기수고, 보통은 새 버전으로 업그레이드를 하던지
과거 제품으로 쓰던지다.
웹은 예전부터 다양한 OS와 다양한 브라우저에서 대응하여야 하기 때문에,
표준 준수에 대한 이야기를 수도 없이 했다.
그때는 "많이쓰는게 표준이야"라는식의 소리만 떠들어대더니, 표준대로 안만들어서 문제생기니까 엉뚱한데로 책임을 떠넘기는 식이다.
개인적으로 MS를 좋아하지 않지만, 이렇게 함부로 나대는것은 더더욱 보기 싫다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
12/27/2006 01:56:00 오후
윈도 비스타가 보안을 강화했다.
http://rrc.hannam.ac.kr/test.php?menu=sub4_4&echo=view&num=434&PHPSESSID=0ee52094d8513af37fe226c326007293
어이가 없다. 저게 어째서 MS탓인지.
애초에 한 업체의 제품에만 맞춰서 만들면서, 많이 쓰는게 표준이라고 지랄이더니
그 업체가 제품을 개선했는데, 왜 졸졸 따라다니던 놈들이 난리법석인지.
왜 표준 쓰는 이유도 전혀 모르고 있다가 이제와서 화풀이인가...
오이만 먹는다는 놈하고 동레벨이다. MS가 왜 한국만, 그것도 IT업계를 고려해줘야하는가?
그보다 더 많은 사용자를 고려하는게 당연하고, 자사 제품이 안정적인 평가를 받는게 더 중요하지.
언제나 세상은 자기를 중심으로 돈다고 생각하는거 아닌가 의심스럽다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
12/27/2006 01:44:00 오후
역시 윈도우는 반년정도마다 한번은 다시 깔아줘야 하는 숙명인가보다.
ActiveX차단해서 잡다한거 안깔아도, 벌써 탐색기가 괜히 에러를 내고, 디스크 체크를 요구하고 복구해도 복구해도 에러가 줄잇는 현상이 벌써 나타나기 시작했다.
윈도우를 조금만 오래 쓰면 나타나는 현상이니 어차피 다시 깔아야하는구나 하고 생각하면서도, 리눅스 깔고 싶은생각이 절실하다.
게임전용 PC니 윈도우 깔아야하겠지만.....
게임에 있어서는 윈도우즈가 PS2고 리눅스가 XBOX 같은 관계니 원....
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
12/15/2006 11:18:00 오후
| 通貨名 | T.T.S. | ACC. | CASH S. | T.T.B. | A/S | D/P・D/A | CASH B. | |
| 001 | USD (米ドル) | 117.92 | 118.28 | 119.72 | 115.92 | 115.56 | 115.26 | 113.92 |
| 071 | KRW (韓国ウォン)(*1) | 12.93 | **** | 14.23 | 12.53 | **** | **** | 11.23 |
ラベル:
日常
작성자:
WonYong Jung
1 コメント
場所
12/13/2006 12:21:00 오후
제네식 가오가이거 vs 우주탐정556
http://www.youtube.com/watch?v=pj-rSQDEK7E
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
12/11/2006 10:02:00 오후
회의하고 나서 좀 쉬게 해주면 좋겠다.....
남들한테 노는것도 나한텐 일인게 너무많다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
11/24/2006 05:01:00 오후
내가 웹 표준에 대해 이야기를 하면 흔히 보이는 반응은 "많이 쓰는게 표준이지" 라는 반응이다.
그러면서도, 표준어 제정에 대해서 이의를 제기하지는 않는 사람들이 대부분이다. 국어학자들이 정한게 표준어다 라고 생각하는 듯하다. 하지만 실제로는 정 반대여야 하기 때문에 우습다.
우선 표준어다. 표준어란 "교양있는 사람들이 사용하는 현대 서울말"이 표준이다. 절대 국어학자들의 탁상공론에서 나온것이 표준어가 아니다. 표준어의 표준은 한국 사람들이 가장 많이 모여있는 서울에서 사용하는 말이 한국에서 사용 비율이 가장 높기 때문에 표준이 된다 라는 것이다.
그래서인지 일본에서는 표준어란 말을 쓰지 않는다. 공통어라고 한다. 즉 여러가지 방언을 포괄한 각 지방의 말도 모두 일본어이나, 전국에서 공통으로 통용할 수 있는 말이라는 의미다. 즉 우리나라의 표준어정책과는 많이 다르다. 우리나라는 표준어가 아니면 우리나라 말을 제대로 못하는 병신 취급받기 때문이다.
아무튼 대한민국이 표준으로 삼는 말은 현대 서울말이다.
그러나, 기술에서의 표준은 조금 다르다. 언어처럼 사람들이 변해가고 문화가 변해감에 따라 변해가는 것과는달리, 과학 기술에 기반을 하고 있는 경우가 많으므로 확고한 과학적 사실을 기반으로 하고 있거나, 또는 그로 인하여 호환성을 높여 세계적으로 혼란을 가져오지 않도록 핵심적인 방안을 규정하는것이 기술적인 표준이다. 또한 표준을 지키지 않는다는것은 곧 지역적인 공간에서만 한정적으로 사용하겠다는것을 의미하기도한다.
그런 의미로 존재하는 표준중의 하나가 ANSI이다. 이것은 미국 내 표준이라는 것으로 세계적인 표준과는 다르다. 즉 미국 내에서는 이 ANSI만 지키면 서로 호환되지만 세계적으로 통용된다는 보장은 없다.
미국이 이 ANSI를 세계화를 고려해서 때로는 미국내 사정에 의해 특별하게 만들기때문에 어떤 부분에서는 문제가 없고 어떤 부분에서는 문제가 있다. 컴퓨터라는 것이 미국에서 많이 발전했기 때문에 ANSI에 기반을 둔 세계 표준도 상당하다.
자 그런데, 문제는 이 표준이 제정된것은 시장성에 좌우되는것이 아니라는 것이다.
이것은 제도와 비슷하다. 아무리 현실에서 토요일에 쉬지 못한다고 해서, 토요일이 휴일이 아닌것은 아니다.
다들 안 쉰다고 공식적인 휴일이 아닌것은 아니다.
본래 각 개인의 여가시간, 휴식시간과 그에따른 업무효율을 고려해 토요일을 휴일로 지정했으나 기업들이 무시하고 있는 꼴이다. 그러면 당연히 토요일 휴일 제도를 고려할때 염려한 문제들이 발생하는것이 당연하다.
그런데, 왜 토요일에 쉬지 않는가? 대기업이 쉬지 않기 떄문에? 왜 다른 대기업은 보지 않는가?
기술의 표준을 언어에 표준에다가 끌어다 적용하는 헛짓은 그만하자.
또 언어를 기술적인 표준으로 생각하는 짓도 그만하자..
이 둘을 왜 거꾸로 생각하고 있는가....
ラベル:
日常
작성자:
WonYong Jung
1 コメント
場所
11/20/2006 12:22:00 오후
본래 복장규제는 엄격히 이야기해서 좀 잘못된 단어입니다. 정확히는 제복규정 이라 해야 할 것입니다.
특정 단체나 조직에 있어서 구성원의 이미지가 곧 전체의 이미지와 연관되는 경우에, 또는 구성원들의 소속감 등을 배양하기 위해 많이 쓰입니다.
또, 다른 이유로써는 구성원들간의 상대적인 박탈감(예를들어 비싼 옷을 입고 다니는 사람과 그렇지 않은 사람)등을 줄이려는 의도로도 가끔 쓰입니다.
(실례로 일본 초등학고에서는 위와같은 이유로 초등학생들은 모두 동일한 책가방에 학교가 지정한 옷차림(규정된 제복은 아닙니다만)을 하게 되어있습니다.)
그런데, 이와같은 제복의 규정은 비단 옷 뿐만이 아니라 신체에도 적용되는 경우가 많습니다. 특히, 머리가 대표적이지요. 그렇다고 해서 이것이 강제되는것은 구성원이 해당 조직에 대해 지속적으로 소속되기를 원하는 경우에 해당되는것입니다.
만약 이 규정에 어긋나는 경우에 대해서는 각 조직에서는 그 처우에 대해 명시해야 할 것이고, 보통은 일정 회수의 지적 후 조직원 자격을 박탈하는것이 일반적입니다.
즉, 학교에서 복장이나 머리카락에 대해 규정하는것 자체를 나무라는것은 근거가 부족합니다. 학교라는 단체에 있어서 그러한 규정을 지니는 것 자체는 위법하지 않기 때문입니다. 그렇기 때문에 교직원들에게도 아마도 매우 강도는 약하지만 복장에 대한 제한이 존재하기는 할 것입니다.
여기서, 문제가 되는것은 머리카락이 규정에 어긋난 경우에 강제적으로 바로잡을 권한이 있는가 하는데에 있다고 봅니다. 즉 학교의 규정에 어긋났다고 하더라도 규정상 선생이 그자리에서 머리카락을 자르는 등의 시정조치를 취할 수 있다 라는 규정이 존재하는가와 만약 존재한다고 하더라도 그것이 과연 문제가 없는가에 대한 문제입니다. 머리카락은 신체의 일부분이므로 시정조치 라는 말 한마디로 자칫하면, 신체의 다른부분에도 상해를 입힐 가능성이 있으므로, 사실상 위험하다고 할 수 있습니다.
비록 옷이라고 하더라도 그것은 개인의 재산에 해당하는 사유물이므로 지적은 할 수 있으나 함부로 침해해서는 안 될 것입니다.
그렇기 때문에 상습적으로 위반하는 경우에 있어서 규정대로 경고와 함께 지속적인 위반에는 자격상실이 뒤따른다는 사실과 그 근거를 제대로 인지하여 본인 스스로가 결정하도록 하는것이 바람직합니다만, 현재는 그렇지 못하고 있습니다.
그점에 대해서는 우리나라의 문화적인 배경이 영향을 미치고 있습니다만, 현재 우리나라 선생님들 대다수가 학생들에 대해서 강제적으로라도 학교에 머무르게 하려는 경향을 보이고 있습니다. (예전에도 그랬습니다만..)
이는 아마도 좋게는 학생들이 만약에 일시적인 반감으로 학교를 그만두게 되면 흔히 인생을 망친다는 진심어린 걱정에 의한 것과, 나쁘게는 자기반의 학생들이 이미지가 나쁘면 자기 자신에 대한 평가도 낮아진다는 개인적인 이유일 수 있겠습니다.
(자기반의 학생들중 특정 대학에 많이 들어갈수록 상여금이 나온다는 뒷 이야기가 돌 정도였습니다.)
개인적으로 전자의 경우가 대다수이기를 바랍니다만, 이 기사와 같은 수준의 제재가 가해진 케이스라면 아무래도 전자라고 보여지지 않습니다.
그렇게 때문에 이러한 불상사를 줄이기 위해서라도 이와같은 제재행위는 엄금해야 할 것입니다. 만약 적정한 정도의 제재가 취해졌다고 학생 대다수가 납득하는 수준이라면, 이렇게 편지로 하소연하는 일도 없겠지요.
아니면, 학생회의 본래 취지를 살려서 이러한 규정실천에 대해서는 학생들 스스로가 자율적으로 지켜나갈수 있도록 하는것도 좋겠습니다.. (우리나라의 현실상 무리입니다만...)
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
11/05/2006 03:46:00 오후
Thread Tools Search this Thread
Old 03-10-2004, 04:57 PM #1
Dee62
Newbie
Registered: Mar 2004
Location: London ON Canada
Posts: 4
Distribution:
Question Getting rid of highlighting in a vi editor text file.
I am just learning Red Hat 9 Linux. Today in class we learned how to highlight text by using the command /Mother. When the lesson was over no one really knew how to get rid of the highlighting of Mother so that the text was all normal again. Any hints or knowledge of how to get rid of it?
Dee62 is offline Reply With Quote
Dee62
View Public Profile
View LQ Blog
View Bookmarks
View Review Entries
View HCL Entries
Find More Posts by Dee62
Old 03-10-2004, 05:02 PM #2
Mega Man X
Senior Member
Registered: Apr 2003
Location: Stockholm, Sweden
Posts: 4,656
Distribution: Solaris Sparc | Xubuntu x86 | NetBSD Sparc | Windows XP SP2
Hi Dee62!
Welcome to LinuxQuestions.org. To enable vim syntax highlighting do, while editing a file:
ESC: syntax on
To disable it:
ESC: syntax off
I don't know if that would work with Mother (nor have I heard of that command). But try it out.
Cheers!
Mega Man X is offline Reply With Quote
Mega Man X
View Public Profile
View LQ Blog
View Bookmarks
View Review Entries
View HCL Entries
View LQ Wiki Contributions
Send email to Mega Man X
Visit Mega Man X's homepage!
Find More Posts by Mega Man X
Old 03-10-2004, 05:10 PM #3
Genesee
Member
Registered: Dec 2002
Posts: 927
Distribution: Slackware
http://www.linuxdocs.org/HOWTOs/Vim-...1.html#ss11.18
Genesee is offline Reply With Quote
Genesee
View Public Profile
View LQ Blog
View Bookmarks
View Review Entries
View HCL Entries
Find More Posts by Genesee
Old 03-10-2004, 05:11 PM #4
Dee62
Newbie
Registered: Mar 2004
Location: London ON Canada
Posts: 4
Distribution:
Thank you megaman X. I will try that and let you know. it is the command that finds the next occurence of the word Mother in the file and highlights it but don't know how to turn it off.
Dee62 is offline Reply With Quote
Dee62
View Public Profile
View LQ Blog
View Bookmarks
View Review Entries
View HCL Entries
Find More Posts by Dee62
Old 03-10-2004, 05:20 PM #5
Mega Man X
Senior Member
Registered: Apr 2003
Location: Stockholm, Sweden
Posts: 4,656
Distribution: Solaris Sparc | Xubuntu x86 | NetBSD Sparc | Windows XP SP2
Quote:
Originally posted by Dee62
Thank you megaman X. I will try that and let you know. it is the command that finds the next occurence of the word Mother in the file and highlights it but don't know how to turn it off.
Thanks mate!. Cool, I will check it out. We learn something new everyday here
Mega Man X is offline Reply With Quote
Mega Man X
View Public Profile
View LQ Blog
View Bookmarks
View Review Entries
View HCL Entries
View LQ Wiki Contributions
Send email to Mega Man X
Visit Mega Man X's homepage!
Find More Posts by Mega Man X
Old 03-11-2004, 12:54 AM #6
Qzukk
Member
Registered: Jun 2003
Posts: 132
Distribution:
The highlighting is enabled throgh ":set hlsearch" and disabled through ":set nohlsearch". Personally when I'm too busy to type that, I just type /asfijaelkfe so it goes away
Qzukk is offline Reply With Quote
Qzukk
View Public Profile
View LQ Blog
View Bookmarks
View Review Entries
View HCL Entries
Find More Posts by Qzukk
Old 03-11-2004, 03:55 PM #7
Dee62
Newbie
Registered: Mar 2004
Location: London ON Canada
Posts: 4
Distribution:
Sorry Megaman X...it didn't work. Nothing happened when I tried your idea.
Thanks Qzukk. I found out that :noh works faster than typing all that and the :set nohlsearch can be set in the .erxc file(ex runtime configuration) in the home directory. Thank you for your help.
Dee62 is offline
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
10/31/2006 02:04:00 오전
어제 건탱크 C형 무장을 받았다.
드디어 확산이다. 스나이퍼는 이 꽉 악물어라.
아무리 그레이트 캐년에서는 스나이퍼가 좋아도 명당자리에 포격해주마.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
10/23/2006 09:43:00 오전
문태준님이 작성한 시스템관리 문서인데 2001년에 작성되었지만 현재에도
아주 유용한 시스템관리 요령을 담고있어서 올려봅니다.
원본은 DOC문서지만 txt로 변환해 올립니다.
출처 : http://tunelinux.pe.kr/bbs/read.php?table=linuxinfo&no=345
---------------------------------------------------------------------------------------
리눅스 시스템 최적화 튜닝
지난 호까지 다루었던 ‘최고의 시스템 관리자가 되자’의 연재를 통해 시스템 관리자가 어
떤 역할을 해야 하고 어떻게 시스템을 모니터링하여 최적화할 것인가를 알아보았다. 이번
호부터는 그 내용에 이어 시스템 관리자가 시스템을 모니터링하고 운영체제와 커널, 응용프
로그램에서의 최적화 및 모니터링을 자동화하는 방법 등 실제 현장에서 필요한 시스템 관리
자의 노하우를 하나씩 알아보도록 한다.
글 - 문태준 대한매일뉴스넷 서비스지원팀장 taejun@tunelinux.pe.kr
tunelinux.pe.kr/database.sarang.net 운영자
연재 순서
1. 시스템 모니터링 I
2. 시스템 모니터링 II
3. 운영체제와 커널 차원에서의 튜닝과 보안
4. 응용프로그램에서의 최적화
5. 시스템 모니터링 자동화
시스템의 성능은 여러 가지 프로그램의 요청에 대해 현재의 시스템 자원을 얼마나 효율적
으로 조정하여 사용하는가에 달려있다. 일반적으로 가장 중요한 시스템 자원은 CPU, 메모
리, 디스크 입출력이며 인터넷 서비스가 일반화된 상황에서 네트워크에 대한 부분도 중요하
게 다뤄져야 한다. 시스템을 안정적으로 관리하기 위해서는 지속적인 시스템 관리를 통해
문제 발생시 적절히 대처할 수 있는 기술이 필요하다. 이와 관련된 내용은 일반적인 시스템
관리 서적 및 여러 가지 자료를 통해 많이 언급되었기 때문에 여기서는 시스템 모니터링 결
과를 정확히 판단하는 방법과 시스템의 문제에 대한 효과적인 대처 방법을 중심으로 알아보
겠다.
1. 시스템 모니터링 분야와 관련 프로그램
문제를 점검할 모니터링 분야에 대한 시스템 모니터링 프로그램을 먼저 알아보자. 여기
있는 프로그램들은 대부분 운영체제를 설치하면서 자동으로 설치가 되는 프로그램들이다.
(sar, iostat, nmap, netcat, ntop 등은 별도로 설치를 해야 하는 모니터링 프로그램이다)
분야
모니터링 프로그램
CPU
top, ps, uptime, vmstat, pstree, iostat, sar
메모리
free, vmstat, sar
디스크 I/O
df, du, quota, iostat, sar
네트워크
ping, netstat, traceroute, tcpdump, nmap, netcat, ntop
파일(소켓포함)
Lsof
표 1 . 시스템 분야별 모니터링 프로그램
시스템이 정상적으로 작동하고 있을 때 정기적으로 모니터링을 해 두어야 시스템에 문제가
생겼을 경우 신속하게 분석하여 문제를 해결할 수 있다. 즉, 주기적인 점검이 계속되어야
한다는 것이다. 보통 이런 작업등은 반복적이고 지루한 과정이므로 자동화하기 위한 노력이
필요하며 관리자가 직접 스크립트를 작성할 수도 있고 SNMP(Simple Network
Management Protocol, 간이 망 관리 프로토콜) 등의 프로그램을 응용하여 자동화할 수도
있다. 모니터링 자동화에 대해서는 이후 강의에서 다룰 예정이다.
2. 시스템 모니터링과 문제 찾기
2.1 시스템의 부하 확인
시스템에 문제가 생겼을 경우 가장 먼저 어떤 프로그램을 실행하고 어떻게 사용하고 있었
는지 점검해야 한다. 그리고 uptime을 이용하여 시스템의 부하를 확인한다. 일반적으로 웹
서비스의 경우에는 낮 시간대에 접속이 폭주하므로 점심시간 무렵에 시스템의 부하가 올라
갈 것이다. 그런데 접속이 폭주할 시간이 아닌대도 시스템의 부하가 높아지고 있다면 특정
한 프로그램에서 문제가 발생하여 시스템의 자원을 소비하고 있을 가능성이 크고 서비스 거
부 공격을 받고 있을 수도 있다. 시스템 부하가 어떻게 변동하고 있는지 확인을 했다면 ps
와 top을 이용하여 구체적으로 프로세스의 상태를 점검한다.
2.2 ps와 top를 이용한 프로세스 모니터링
ps와 top을 살펴보면서 주의할 점과 중요하게 살펴볼 내용에 대해서 설명하겠다. top에서
CPU 상태는 사용자 모드, 시스템 모드, 우선 순위가 조정된 작업(niced task) 과 cpu 휴지
시간(idle) 을 모두 포함한다. 그런데 여기서 우선 순위가 조정된 작업은 시스템과 사용자
시간에서 이미 계산이 되어 있으므로 100퍼센트가 넘을 수 있다.
ps와 top을 이용하여 모니터링을 할 경우 먼저 살펴보아야 하는 것이 디스크 액세스나
페이징을 기다리고 있는 프로세스가 있는가이다. 이런 경우에는 I/O와 메모리를 같이 점검
해야 한다. 리눅스에서 프로세스 대기 상태는 인터럽트 허용과 인터럽트 금지의 두 가지 형
태가 있다. 세마포어를 기다리거나 파일을 읽을 수 있게 되길 기다리는 것처럼 자원을 기다
리는 일반적인 대기상태는 대개 인터럽트로 처리가 가능하다(인터럽트가 허용되는 sleep 상
태는 ps, top 등에서 S로 나타난다). 그렇지만 인터럽트가 금지되는 대기 상태는 스왑 파일
에서 메모리로 페이지를 읽어들이는 것과 같이 일이 끝마치기를 기다리고 있는 상태이다.
프로세스 상태에서 D는 인터럽트가 불가능한 sleep 상태로 page fault 등을 의미하며
page fault 등을 통해 I/O중인 상태를 나타낸다. W는 상주하는 페이지가 없다는 것을 의미
하며 프로세스가 스왑아웃된 상태를 나타낸다. 여기서 W는 커널 프로세스에 대해서는 정확
히 동작을 하지 않는다는 의미이다. 일반적인 응용프로그램을 실행하면 주기억장치에 상주
한 후 프로세스가 처리되고 상대적인 주소를 가지게 된다. 그런데 커널은 다른 응용프로그
램처럼 상대적 어드레스를 가지는 것이 아니라 시스템이 부팅된 후 가장 먼저 주기억 상치
에 상주하기 때문에 언제나 같은 주기억 장치의 번지에 상주하게 된다. 그러므로 커널 프로
세스에서 스왑을 하는 일도 없고 당연히 해서도 안되는 것이다.
ps와 top에서 메모리와 관련된 부분중 차이가 나는 것이 있다. 프로세스의 메모리 구조는
텍스트, 데이터, 스택 등으로 이루어져 있다. 텍스트에는 프로그램 코드와 상수가 정의되어
있으며 읽기만 가능한 메모리 영역이다. 데이터는 정적 변수가 저장되어 있는 영역이고 스
택은 동적으로 할당되는 데이터, 함수 내의 변수, 함수의 리턴 어드레스 등이 저장되는 영
역이다.
ps에서 보는 프로세스 정보는 ‘/proc/PID/’의 정보를 보여주는 것이다. ‘/proc/PID/status’
의 내용을 확인해 보자. ps의 VSZ는 가상 메모리에서 사용중인 모든 메모리를 합친
VmSize를 보여준다. 그러나 top에서 SIZE는 코드, 데이터, 스택을 합친 크기를 보여준다.
가상 메모리는 커널에서 자동으로 조절하기 때문에 문제가 생길 일은 없으며 RSS를 통해서
실제 물리적 메모리에서 사용하는 메모리 양을 알 수 있다. 그리고 SIZE와 RSS 필드에는
페이지 테이블과 프로세스의 task_struct는 포함되어 있지 않은데 최소 12KB의 메모리를
항상 사용한다.
# cat /proc/413/status
Name: named
State: S (sleeping)
Pid: 413
PPid: 1
TracerPid: 0
Uid: 25 25 25 25
Gid: 25 25 25 25
FDSize: 32
Groups: 25
VmSize: 2596 kB
VmLck: 0 kB
VmRSS: 852 kB
VmData: 756 kB
VmStk: 28 kB
VmExe: 560 kB
VmLib: 1196 kB
SigPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 8000000000000000
SigCgt: 0000000009015a0b
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
리스트 1 . /proc 에서 프로세스 정보 확인하기
2.3 vmstat를 이용한 메모리와 디스크 I/O 확인
# vmstat 5 5
procs memory swap io system cpu
r b w swpd free buff cache si so bi bo in cs us sy id
7 0 0 96940 1588 14712 337044 0 9 18 27 116 40 3 0 96
4 0 0 96940 1648 14700 336172 0 0 805 118 197 260 91 9 0
1 1 0 96940 1588 14700 335680 0 0 1000 106 203 268 93 7 0
3 1 0 96940 1708 14496 334652 0 0 1273 604 220 272 94 6 0
리스트 2. vmstat 이용한 cpu, i/o 모니터링
vmstat를 이용하여 CPU와 I/O 활동을 모니터링할 수 있는데 vmstat에서 나오는 첫 줄은
부팅 이후의 각 통계치에 대한 평균값을 보여주므로 무시하고 두 번째 줄부터 통계를 보면
된다. vmstat에서 중요한 것은 procs 영역의 b 필드이다. r은 현재 실행중인 프로세스 수이
고 b는 인터럽트가 불가능한 sleep 상태에 있는 프로세스로 I/O 처리를 하는 동안 블럭 처
리된 프로세스이며 w는 강제로 스왑아웃된 프로세스 수이다. si와 so는 스왑인, 스왑아웃을
말한다.
스왑아웃이 지속적으로 발생한다면 메모리가 부족한 것이다. 그러나 일정 간격을 두고 주
기적으로 스왑아웃이 발생하는 것은 정상적인 일이다. BSD 시스템에서는 비상호 대화적인
작업을 스왑아웃 한다. 현재 실행하고 있는 프로그램에서 스왑아웃이 계속 발생한다면 프로
그램이 멈출 수도 있으며 심각하게 메모리가 부족하다는 것을 의미한다. 스왑아웃필드(so)
는 항상 0에 가까워야 한다. 그렇지 않다면 프로세스들은 가상 메모리를 놓고 경쟁하게 되
며 시스템은 페이징 상태가 된다. 페이징 활동은 심각한 가용 메모리(free)의 부족과 직접적
인 관련을 가지며 간접적으로는 시스템의 높은 CPU 사용 시간 비율(sy)과 관련이 있다. 프
로세스가 시작할 때 항상 이미지와 데이터를 page-in 해야 하므로 page-in 열에서 높은 숫
자가 항상 심각한 것은 아니라는 사실은 기억하고 있어야 한다.
시스템에서 사용하는 시간이 지나치고 높으면(50퍼센트 이상) 디스크 I/O에서 문제가 있
을 가능성이 크다. 시스템 전체의 부하가 높은데 CPU에서 휴지시간(idle time, id 항목)이
일반적으로 10퍼센트를 넘는다면 I/O나 메모리에 문제가 있을 가능성이 크다. 휴지시간(id)
이 항상 0이라면 CPU를 100퍼센트 사용하고 있는 상태이다. CPU의 기능을 최대한 활용하
는 것은 좋은 현상이다. 그런데 항상 100퍼센트로 활용중인 상태라면 어떤 작업이 계속 축
적되고 있다는 것이며 CPU가 과부하를 가진다는 의미한다. 이 때는 CPU를 계속 사용하고
있는 프로세스를 찾아야 하며 디스크의 활동이 분산되지 않았다면 I/O 작업을 효율적으로
분산시켜야 한다.
대부분의 사용자가 vmstat에서 si, so(스왑인, 스왑 아웃)를 주로 보고 id가 넉넉하면 시
스템에 무리가 없는 것으로 생각한다. 이는 시스템의 상황에 대해서 잘못 파악할 가능성이
많은 것으로 b의 수치가 높은 경우 I/O작업을 위해 CPU가 계속 대기 상태로 있는 경우이
다. 이런 경우에는 디스크 I/O 문제를 확인해야 한다.
2.4 nice를 이용한 우선 순위 조정
nice는 프로세스의 우선 순위를 조정하는 것이다. 그런데 시스템에 문제가 있는 경우
nice를 이용하는 것은 임시방편일 뿐이다. 부하가 계속 증가한다면 nice를 이용하는 것에도
한계가 있다. 시스템을 업그레이드하거나 부하를 분산할 시스템을 구입해야 한다.
커널이나 프로그램의 컴파일을 하는 경우에도 nice를 이용하면 조금이나마 속도의 향상이
있다. 그렇지만 때로는 nice를 잘못 사용하여 문제가 생길 수 있으니 조심해야 한다. 예를
들어 오라클에서는 오라클 사용자 프로세스와 백그라운드 프로세스들을 같은 우선 순위에
유지해야 한다. 오라클 DB의 설계가 그러한 우선 순위로 되어 있기 때문이다. 우선 순위를
변경할 경우 내용과 반응 시간에 원하지 않는 효과를 초래할 수도 있다. 예를 들어 로그 작
성 프로세스(LGWR, log write process)에 낮은 우선 순위를 부여할 경우, 이 프로세스는 충
분한 횟수만큼 작동하지 못하고 LGWR은 병목현상을 일으키게 된다. 반대로 LGWR이 높은
우선 순위를 부여받게 되면, 사용자 프로세스는 느린 반응시간에 시달리게 될 것이다. 세부
적인 원리를 이해하지 못한채 이런 기능을 사용하면 시스템에 커다른 문제가 생길 수 있다
는 것을 꼭 기억하기 바란다.
2.5 free를 이용한 자유 메모리 확인과 버퍼 캐쉬
메모리를 점검하기 위해 흔히 free를 사용한다. 그런데 free의 결과를 잘못 이해하면 전
혀 이상한 결과를 초래할 수 있다.
$ free
total used free shared buffers cached
Mem: 513368 508316 5052 0 12688 339436
-/+ buffers/cache: 156192 357176
Swap: 1028152 96940 931212
리스트 3. free 이용하여 메모리 확인하기
먼저 버퍼 캐쉬에 대하여 알아보자(kldp.org/Translations/html/SysAdminGuide-
KLDP/buffer-cache.html 참조) 디스크를 읽는 일은 메모리를 읽는 것보다 아주 느리다. 더
구나 디스크의 동일한 영역을 짧은 시간 동안 반복해서 계속 읽는 일은 아주 빈번하다. 예
를 들어, 누군가 e메일 메시지를 읽고, 답장을 하기 위해 편집기로 불러들이고, 그걸 보내기
위해 메일 프로그램에게 다시 읽게 하는 과정을 생각해 보자. 또한 ‘ls’와 같은 명령어를 시
스템의 모든 사용자들이 얼마나 자주 사용할지 생각해 보자. 따라서 디스크로부터 한번 읽
어들인 정보를 메모리에 상당시간 보관한다면 읽을 때만 시간이 소요될 뿐 속도가 전반적으
로 빨라질 것이다. 바로 이런 것을 가리켜 디스크 버퍼링(disk buffering)이라고 하며, 이런
목적으로 쓰이는 메모리를 버퍼 캐쉬(buffer cache)라고 부른다.
그러나 메모리는 아쉽게도 한정되어 있는 중요한 자원이기 때문에 버퍼 캐쉬는 일반적으
로 큰 크기를 가질 수 없다. 즉, 우리에게 필요한 모든 데이터를 담아둘 수 있을 정도로 크
지는 않다. 따라서 캐쉬가 가득 채워지면 오랫동안 쓰이지 않은 데이터는 버려지며 그 빈
공간을 새로운 데이터가 채우게 된다.
이런 디스크 버퍼링은 쓰기에도 똑같이 적용된다. 데이터들은 쓰여지자 마자 곧바로 다시
읽혀지므로(예를 들어, 소스 코드 파일은 일단 파일로 저장된 후, 컴파일러에 의해 다시 읽
혀진다), 이런 데이터들을 캐쉬에 넣어두는 것이 효율적이다. 또한 쓰기 작업을 디스크에
직접 하지 않고 캐쉬에 넣어두면, 프로그램들이 그만큼 출력을 빨리 끝낼 수 있기 때문에
전반적인 시스템 성능 향상에도 도움이 된다.
대부분의 운영체제들이 버퍼 캐쉬를 갖고 있기는 하지만 모두 위와 같은 원리로 동작하는
것은 아니다. 한가지 방법은 ‘write-through’라는 것인데, 이 방법은 쓰기를 할 때면 언제
나 디스크에도 즉시 기록하는 것이다(물론 캐쉬에도 남겨둔다). 또 다른 방법은 write-back
이라 불리는 것으로 일단 캐쉬에 기록해 두었다가 나중에 한꺼번에 디스크에 기록하는 방식
이다. 효율적이기는 write-back 방식이 뛰어나지만, 대신 약간의 에러가 발생할 소지가 있
다. 즉, 시스템이 갑자기 멈춰버린다거나, 갑자기 전원이 꺼진다거나 캐쉬 내용을 미처 기록
해 두기 전에 플로피 디스크를 빼 버린다면, 캐쉬에 담겨 있던 내용들은 고스란히 없어져
버리고 만다. 특히 손실된 정보가 파일 시스템 유지에 필요한 데이터였다면, 자칫 전체 파
일 시스템을 망가뜨리고 마는 결과를 초래할 수도 있다.
그런데 사실상 캐쉬는 파일을 버퍼링하는 것은 아니고, 실제로는 디스크 입출력의 가장
작은 단위인 블럭을 버퍼링한다(리눅스에서는 보통 1KB 크기이다). 그러므로 디렉토리라든
가, 수퍼 블럭들, 다른 파일 시스템의 유지 데이터, 심지어 파일 시스템이 없는 디스크까지
도 캐쉬될 수 있는 것이다.
캐쉬의 효율성은 기본적으로 그 크기에 좌우된다. 캐쉬의 크기가 너무 작으면 다른 데이
터를 캐쉬하기 위해서 캐쉬된 데이터를 계속 내보내야 하므로, 사실상 작은 캐쉬는 별 쓸모
가 없는 셈이다. 캐쉬의 최소 크기는 얼마나 많은 데이터가 읽고 씌여지는 지와, 같은 데이
터가 얼마나 자주 액세스 되는지에 달려있는데 이것을 알아보기 위한 유일한 방법은 실험해
보는 것 뿐이다.
만일 캐쉬의 크기가 고정되어 있다면, 그 크기가 너무 큰 것도 곤란한 일이다. 캐쉬가 너
무 크면 여유 메모리는 그만큼 줄어들 것이고, 많은 스와핑을 일으켜서 시스템은 느려지게
된다. 리눅스는 자동적으로 모든 램의 빈공간을 버퍼 캐쉬로 사용하여 메모리의 효율성을
높이려 하는데, 프로그램들이 많은 메모리를 필요로 할 때는 자동적으로 캐쉬를 크기를 줄
여 준다. 그래서 완전 자동화된 리눅스는 캐쉬를 사용하는 데 있어서 전혀 신경쓸 필요가
없는 OS인 것이다. 다만 셧다운 할 때와 플로피를 빼낼 때의 절차는 꼭 지켜야 한다.
위와 같이 디스크 접근을 줄여 시스템의 성능을 향상시킬 목적으로 있는 것이 버퍼 캐쉬
이다. 만일 캐쉬의 크기가 고정되어 있다면 그 크기가 너무 커도 메모리 부족 현상이 생길
수 있고 지나친 스와핑을 발생하게 해서 시스템이 느려질 가능성이 크다. 리눅스에서는 자
동적으로 모든 램의 빈 공간을 버퍼 캐쉬로 사용하여 메모리를 효율성을 높이고 있으며 프
로그램에서 많은 메모리를 필요로 하는 경우에는 자동으로 캐쉬의 크기를 줄인다. 위에서
실제로 사용 가능한 메모리는 ‘free+buffers+cached’이다. 다음 내용을 보면 현재 메모리
를 알아볼 수 있는 원리를 잘 반영하고 있다.
-/+ buffers/cache: 156192 357176
자 그러면 이제 올바른 답을 내릴 수 있을 것이다. 현재 여유가 있는 메모리는
‘free+buffers+cached’를 합친 양으로 위의 소스에서는 357M이다. 그리고 전체 열에 나
오는 수치도 실제 물리적인 램 양보다는 약간 적은 양이 표시된다. 왜냐하면 커널이 자체적
으로 사용하고 있는 메모리를 뺀 양이기 때문이다.
2.6 iostat와 sar 활용한 디스크 I/O 및 시스템 모니터링
vmstat 명령을 통해 I/O부하를 확인할 수 있다는 것을 알았다. 그런데 여러 개의 하드 디
스크를 사용하는 경우 vmstat를 이용해서는 어느 디스크에서 속도가 느리거나 병목 현상이
생기는지 확인을 할 수 없다. 다만 디스크 전체의 평균값만 나타내기 때문이다. 이런 경우
에 사용할 수 있는 프로그램이 iostat이다. iostat 프로그램은 레드햇 6.2에는 기본으로 들어
있지 않지만 레드햇 7.0 이후 버전에는 기본으로 들어있다(배포본은 6.2이지만 커널은 2.4
대에 보안 및 reiserfs, lvm패치 등을 사용하고 있다). iostat는 sysstat라는 패키지에 들어
있으며 현재 설치되지 않은 경우에는 다음 사이트에서 다운로드 받을 수 있다.
http://perso.wanadoo.fr/sebastien.godard/
http://freshmeat.net/에서 검색을 해도 된다.
그림 1 sysstat 웹 사이트 (http://perso.wanadoo.fr/sebastien.godard/)
# lynx ftp://metalab.unc.edu/pub/Linux/system/status/sysstat-4.0.1-1.i386.rpm
# rpm -Uvh sysstat-4.0.1-1.i386.rpm
sysstat
##################################################
# rpm -ql sysstat
/usr/bin/iostat
/usr/bin/isag
/usr/bin/mpstat
/usr/bin/sar
/usr/lib/sa/sa1
/usr/lib/sa/sa2
/usr/lib/sa/sadc
/usr/man/man1/iostat.1
/usr/man/man1/isag.1
/usr/man/man1/mpstat.1
/usr/man/man1/sar.1
/usr/man/man8/sa1.8
/usr/man/man8/sa2.8
/usr/man/man8/sadc.8
/usr/share/locale/de/LC_MESSAGES/sysstat.mo
/usr/share/locale/es/LC_MESSAGES/sysstat.mo
/usr/share/locale/fr/LC_MESSAGES/sysstat.mo
/usr/share/locale/pt/LC_MESSAGES/sysstat.mo
/var/log/sa
리스트 4. sysstat 프로그램 설치
iostat만이 아니라 isag, mpstat, sar, sa1, sa2, sadc 등의 프로그램이 같이 들어있다. 여
기서 iostat와 sar는 다른 유닉스에서도 시스템 모니터링을 위해서 자주 사용하고 있는 프
로그램이다. 여기서도 iostat와 sar을 같이 살펴보겠다.
# iostat
Linux 2.4.4 (tunelinux.pe.kr) 07/17/01
avg-cpu: %user %nice %sys %idle
0.30 0.00 27.30 72.40
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
dev8-0 252.20 4.80 60099.20 24 300496
dev8-1 0.00 0.00 0.00 0 0
dev8-2 379.80 48880.00 9.60 244400 48
dev8-3 0.00 0.00 0.00 0 0
리스트 5. iostat 이용하여 디스크 I/O 모니터링하기
위에서 보듯이 iostat는 CPU와 디스크 I/O에 대한 통계를 보여준다. CPU가 여러 개 있는
SMP 시스템에서 CPU 통계는 모든 프로세스를 합한 평균값을 나타낸다. 사용자 모드(응용
프로그램), nice 우선권을 가진 사용자 모드, 시스템 모드(커널), CPU idle 시간으로 통계를
보여준다. CPU 관련 통계는 다른 프로그램을 이용해도 확인을 할 수 있으므로 여기에서 관
심이 가는 것은 디스크 드라이브에 대한 통계이다. 여기에서는 현재 네 개의 디바이스가 있
다. 출력한 결과가 나타내는 의미는 다음가 같다.
Tps
해당 디바이스에 대한 초당 전송 숫자인데, 여기서는
디바이스에 대한 I/O 요청을 말한다
Blk_read/s
해당 디바이스에서 초당 읽은 블럭 수
Blk_wrtn/s
해당 디바이스에서 초당 기록한 블럭 수
Blk_read
전체 읽은 총 블럭 수
Blk_wrtn
전체 기록한 총 블럭 수
표 2. iostat 의 모니터링 대상
이외에도 초당 읽은 섹터 수, 디바이스에 요청한 평균 크기(섹터 단위) 디바이스에 요청
한 평균 큐의 크기, 해당 디바이스 I/O요청을 했을 때의 CPU 시간 등도 모니터링이 가능하
다. 그런데 이 기능을 위해서는 커널 패치가 필요한데 아직까지 2.4 버전은 보이지 않는 것
같다. 리눅스에서는 아직까지 디스크 어카운팅 기능이 부족해서 각 블럭 디바이스에 대한
KB/s는 기본적으로 사용하지 못하고 있다고 프로그램 제작자는 지적하고 있다. 그래서 위
에서 확장된 다른 기능을 보기 위해서는 커널 패치를 해야 한다는 것이다. ‘/proc/stat’와
‘/proc/partitions’가 iostat 패키지와 연관된 파일이다. 솔라리스에도 iostat 프로그램이 있
는데 여기에서는 ‘-xn’이라는 옵션을 이용하여 큐에서 기다린 시간, 디스크의 바쁜 정도,
평균 서비스 시간 등을 확인할 수 있다. 큐에서 서비스를 받기 위해 기다린 시간을 통해 디
스크 병목 여부를 판단하고 디스크의 바쁜 정도의 변화에 따른 응답 시간 변화를 살펴 볼
수 있다.
Sysstat 패키지에 같이 들어있는 모니터링 프로그램 중 하나인 sar 프로그램은 시스템의
다양한 활동에 대하여 모니터링을 할 수 있는데 모니터링 대상이 상당히 넓은 편이다. 기본
값은 CPU 활동에 대한 통계를 출력한다. sar는 각종 활동에 대한 통계를 다른 프로그램을
이용하여 파일로 저장하고 통계치를 출력할 수 있는 기능을 제공한다.
# sar ?A 5
Linux 2.4.4 (tunelinux.pe.kr) 07/17/01
02:31:58 AM proc/s
02:32:03 AM 0.00
02:31:58 AM cswch/s
02:32:03 AM 8.80
02:31:58 AM CPU %user %nice %system %idle
02:32:03 AM all 0.00 0.00 0.20 99.80
02:32:03 AM 0 0.00 0.00 0.40 99.60
02:32:03 AM 1 0.00 0.00 0.00 100.00
리스트 5. sar 이용한 시스템 모니터링
sar에서 모니터링 가능한 항목은 다음과 같다.
- I/O 전송량
- 페이징
- 프로세스 생성 숫자
- 블락 디바이스 활동
- 인터럽트
- 네트워크 통계
- run 큐 및 시스템 부하 평균
- 메모리와 스왑 공간 활용 통계
- 메모리 통계
- CPU 이용도
- 특정 프로세스에 대한 CPU 이용도
- inode, 파일, 기타 커널 테이블에 대한 상태
- 시스템 스위칭 활동(context switch)
- 스와핑 통계
- 특정 프로세스 통계
- 특정 프로세스의 자식 프로세스 통계
- TTY 디바이스 활동
sar을 이용해 iostat와 비슷하게 I/O통계를 낼 수 있음은 물론 위의 내용과 같이 다양한 시
스템 상태를 모니터링할 수 있다. 일반적인 리눅스 서적이나 자료에는 iostat나 sar에 대한
소개가 거의 없는 편이어서 아직까지는 사용하는 사람이 적은 듯 하다. 예를 들어 메모리
규모에 맞게 최대 열 수 있는 파일 갯수 (file-max)와 아이노드 개수를 조정하는데 sar를
이용하여 실제 얼마나 파일 핸들을 사용했는지 최대 file-max와 실제 사용한 파일 핸들의
비율 등도 통계를 낼 수가 있다. 이러한 통계를 주기적으로 내어 적절하게 활용하기 바란다.
참고로 최대 파일 핸들의 경우 4M당 256개로 잡아주고 아이노드 개수는 이의 3-4배 정도
로 설정을 한다. file-max 는 /proc/sys/fs/file-max 를 이용하여 설정하며
/proc/sys/fs/file-nr 파일을 이용 현재 할당된 파일수를 확인할 수 있다.
# sar -v 5 5
Linux 2.4.4 (tunelinux.pe.kr) 07/17/01
03:30:21 dentunusd file-sz %file-sz inode-sz super-sz %super-sz dquot-sz %dquot-sz rtsig-sz %rtsig-sz
03:30:26 97582 92 0.28 92582 8 3.12 0 0.00 0 0.00
03:30:31 97582 93 0.28 92600 8 3.12 0 0.00 0 0.00
03:30:36 97582 93 0.28 92610 8 3.12 0 0.00 0 0.00
03:30:41 97582 93 0.28 92622 8 3.12 0 0.00 0 0.00
03:30:46 97582 93 0.28 92636 8 3.12 0 0.00 0 0.00
Average: 97582 93 0.28 92610 8 3.12 0 0.00 0 0.00
리스트 6. sar 이용하여 파일 및 아이노드 상황 모니터링
2.7 df 이용하여 하드 디스크 공간 확인하기
df는 현재 시스템에 마운트된 드라이브의 빈 디스크 공간을 보여준다. 간단한 프로그램이므
로 길게 설명할 필요는 없지만 한가지 알아두어야 할 것이 블락 크기이다. 리눅스에서 기본
블락 크기는 1,024byte이다. df, du 등을 사용할 때 블락 크기를 잘못 지정하면 나오는 결
과에 대하여 잘못 파악할 수 있는 가능성이 있다. (물론 아래처럼 블락 크기를 바꾸어서 내
용을 보는 경우는 거의 없을 것이라 생각이 된다) 지나친 노파심일수 있겠지만 컴퓨터에서
는 기본 단위에 대해 잘못 파악을 하는 경우 전혀 엉뚱한 일이 생길 수 있는 것은 한두가지
가 아닐 것이다.
리스트 7. df 이용하여 하드 디스크 공간 확인하기
3. 마치며
ps와 top, free를 모르는 시스템 관리자는 없을 것이다. 그러나 또 이에 대해서 자세히 그
의미를 알지 못하고 사용하는 경우도 무척 많은 것 같다. 이번 강의에서는 누구나 알고 있
지만 그 내용에 대해 오해하기 쉬운 부분에 대하여 설명을 하였고 이를 기반으로 어떻게 시
스템 모니터링을 하고 시스템의 문제를 찾을 수 있는지에 대해 설명하였다. 두 번째 강의에
서도 시스템 모니터링 관련한 내용을 계속 다룰 예정이며 여기에는 네트워크 모니터링도 포
함이 되어 있다. 굳이 컴퓨터가 아니라고 하더라도 자신이 가진 지식이 옳은지에 대하여 항
상 다시 생각하고 회의할 수 있는 정신을 가지는게 항상 필요한 것 같다.
마지막으로 언제나 모자란 나에게 지식을 채워주고 정보를 공유하고 있는 수많은 사람들에
게 감사한 마음을 전한다. 글과 관련하여 궁금한 것이 있으면 필자의 사이트를 이용하기 바
란다(http://tunelinux.pe.kr)
4. 관련 서적 및 참고자료
System Performance Tunning (O'REILLY 출판사, 영문판)
시스템 관리의 핵심 (한빛미디어,, 장훈역)
리눅스 커널 옵션 문서 : 커널 소스 디렉토리/Documentation/filesystems/proc.txt (커널
2.4 수정 반영하고 있음)
UNIX의 내부 구조(홍릉과학출판사, 조유근 역편)
The Linux Kernel 번역판 (돌도끼) : http://linuxkernel.to/
리눅스 시스템 튜닝 전략 (문태준)
http://tunelinux.pe.kr/bbs/read.php?table=linuxinfo&no=17
리눅스 Accounting 이용한 서버 시스템 모니터링 (문태준)
http://tunelinux.pe.kr/bbs/read.php?table=linuxinfo&no=16
SYSSTAT 홈페이지
http://perso.wanadoo.fr/sebastien.godard/
리눅스 시스템 관리자 가이드 Version 0.6.2 번역판
http://kldp.org/Translations/html/SysAdminGuide-KLDP/book1.html
관련 링크
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
10/18/2006 12:48:00 오전
http://www.chosun.com/politics/news/200610/200610140031.html
무단 전제/재배포 금지라 여기에 등록은 못하겠지만....
좆선일보는 여기서 내가 뭔가 지적하면 몰래 고쳐놓고나서 그런일 없다고 딱 잡아떼어도
전혀 위화감이 없으니 무단 전재는 하지 않더라도 백업쯤은 해두고 싶다.
도대체 이런 기사를 쓰는 인간의 머리통 내용물도 궁금하긴 하지만,
아마도 좆선에서 이런 기사를 쓰지 않으면 밥먹고 살기 힘들겠지 라는 생각에
기자가 만약 제정신 박힌 사람이라면, 이러한 현실속에 힘들게 살아가는것에
동정하고 싶다.
그러나 저러나 도대체 이런 글을 떳떳하게 기사라고 게재하는 자체가 정말 한심스럽다.
뭐 좆선이 그렇지 머, 라고 생각하면 이해 못할일도 없지만
아무리 이해하고 있어도, 아무리 익숙해져 있어도 가끔 열받는건 어쩔수 없는 것 같다.
윈ME가 자주 죽는다는걸 아무리 이해하고 있어도 블루스크린을 연짱으로 3,4번 마주치고
열받는거랑 비슷하다고나 할까....
친북/반미 글이 법이 없어서 삭제가 안되는 건 좆선일보 금지령이 존재하지 않는것이랑
같은 이유 아닌가.
만약 내가 하고 싶은대로 법을 하나 만들라고 하면 당장 조/중/동멤버 및 구독자의
전원 국외추방령을 시행할 것이다. (물론 시민권도 박탈)
그래도 그런일이 안된다는것은 당연한 일일 터, 친북은 뭐 감정상 이해해준다고 치고
반미 글이 법이 없어서 못지우는게 이상하다? 반미 글을 지우는 법이 있다면 그게 더 이상하거늘..
자칭 언론사(실제로는 아니라고 생각하지만)라는 것들이면 언론이란 것에 대해 좀더 공부나
하던가 할 일이지, 이렇게 바이트수와 패킷만 낭비하는 정보(라기보다는 ByteStream이겠다
정보라는것은 그 자체가 의미가 있을때 정보라고 부르는 것이기 때문에)를 생산하는
무의미한 일이나 하고 자빠졌냐.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
10/15/2006 01:11:00 오전

애들이라 생각이 없는건지.... 저작권 가지고 깽판부린 음반업계 보구선 저작권이 뭔지도 모르고 그런가보다 하고있는 사람인지...
애초에 남의 캐릭터 등장하는 게임을 만들려면 캐릭터 저작권부터 계약하고 시작하고, 나중에 캐릭터 쓰면 안된다 라고 나오면 계약 위반으로 손해배상 하는것이 정상이다.
캐릭터 우선 가져다 쓰고 협조 안해줘서?
대체 어떤 인간이, 모르는 사람이 대뜸 내 돈 훔쳐다 쓰고 난 다음에"좀 빌립시다" 하는데 웃는얼굴로 "네~ 아유 그러세요. 빌려 드려야죠." 할 수 있는지 궁금하다.
그리고 정식으로 계약 했으면, 캐릭터 바꾸는건 바꾸는거고 출시 연기 / 재개발 등등 손해액을 청구하는것이 당연하다.
만약 캡콤하고 당당하게 계약해서 만든 게임이라면 정식으로 사과통지하고, 캐릭터 변경등을 모색하여야 정상일 것인데, 이런식으로 캐릭터만 슬쩍 다시 그려서 내놓는것이라면 어딘가 찔리는 구석이 있는것이 틀림없지 않을까?
이미 캡콤에서 소송준비하고 있어도 이상할 것이 없다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
10/04/2006 07:53:00 오후
갸오에서 다 본 소감.
"최고다"
왜 로봇대전에서 그렇게 개사기인지 이해가 간다. 그냥 전진이다. 수리고 뭐고 그런거 없다.
다 애정이 있어서 열혈걸고 한방에 날리는거다. (원래 다 돈이지.. 돈이야.. 행운!행운!행운!행운!)
그나마 제오라이마가 파워다운된 로봇대전이 행복한거다.
원래대로면 시작하고 적기지 본진에서 내부에서부터 폭발하고 The end다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
10/03/2006 10:45:00 오전
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-sg-ko-4/index.html
우홋, 멋진 매뉴얼. 보안설정 하지 않겠는가?
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
10/02/2006 12:04:00 오후
쓰르라미 울 적에 ???
"쓰르라미 울 무렵에"가 좀더 정확하지 않을려나?
한국어에서 "~적에" 라고 표현하는것은 과거에 있었던 일을 나타내지 않던가?
뭐 해석은 자유라지만, 한국어 번역에서 이미 의미에 차이가 생겨나고 있다.
왜냐하면, 일본어만 놓고 보면 미래일수도, 현재진행일수도, 과거일수도 있다.
그러나 "쓰르라미 울 적에"라는 한국어는 과거로 보는것이 옳다.
왜냐하면 -적 의 용법은 과거의 한 때, 경험등을 나타내는 말이기 때문이다.
혼동하기 쉬운 예를 들어보면
"한여름, 매미가 울 적엔 뒷산에 올라가 뛰어놀곤 하였지요" 라는 문장을 들어보자.
이것은 "어느 일정 시기동안, 매 해 여름이 되어 매미가 울어대는 시기에 뒷산에서 놀았었다" 라는 과거의 일을 이야기하고 있다. 즉 현재는 그렇지 않다 라는 것을 내포함과 동시에, 미래에 대해서는 어떠한 언급도 없는 문장이다. 미래는 어떠할지 모르나 과거는 그랬었다 라는 의미로 쓰이는 것이다.
그러나 "쓰르라미 울 무렵에" 라는 문장을 생각해보자.
이 경우에는 과거/현재/미래의 어느쪽에도 기울어져 있지 않다.
즉, 원문에서 전하는 의미와 시간적인 중립성을 지키고 있기 때문에,
순수 우리말같은 느낌을 좀더 전해주지 않을 뿐 (사실은 "무렵"도 순수 우리말이다),
좀더 원문의 내용을 충실하게 전달하고 있다고 본다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
10/02/2006 10:45:00 오전
http://www1.cts.ne.jp/~fleet7/Museum/Muse062.html
애니메니션 자막들을 보면 대부분 전함속력에 관해서 제대로 번역하지 못하는 경우가 많아, 한번 찾아보았다.
흔히 자주 들리는 第三戦速(だいさんせんそく:제3전투속도)또는 最大戦速(さいだいせんそく:최대 전투속도)가 짐작대로여서 기쁘기는 한데....
난 왜 이걸 그냥 때려맞출수 있었지? -_-a
아니 애초에 처음부터 듣자마자 이렇게 생각했었다....
ラベル:
日常
작성자:
WonYong Jung
1 コメント
場所
9/28/2006 08:56:00 오후
프로세스 개수가 너무 많으면 곤란할수도 있을거 같다.
ps -ef |egrep -e'^hirameki' | grep -v login | grep -v grep | awk '{p=p" "$2}END{p="kill "p; system(p)}'
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
9/24/2006 01:35:00 오전
하나은행 257-910030-59004 (예금주 : 법무법인 한결)으로 송금하시기 바랍니다. 송금인은 “오픈웹 ***”로 표시하기 바랍니다(***는 자기 이름)
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
9/18/2006 05:47:00 오후
http://www.worldofwarcraft.co.kr/company/recruit/parts.html#web
블리자드가 드디어 홈피를 표준에 맞춰서 작성하려고 나서는군.
아주 좋은 현상이다. 후후....
특히, IE전용의 태그 속성을 표준 HTML태그로 착각하고 있는 사람,
CSS관련 버그에 맞춘 웹 제작만 하는 사람은 사양한다는 의지가 보이는데서 한표 주고싶다.
-웹 표준에 대한 정확한 이해 및 이에 준수한 UI 개발 가능한 분
![]()
- xhtml, CSS2에 대한 정확한 이해도와 javascript에 대한 기본적인 이해를 바탕으로 작업 가능한 분
이제 와우 페이지는 리눅스에서도, 솔라리스에서도 오페라 가지고도, 모질라로도, 텍스트기반 브라우저로도 접속이 가능할 것 같아서 기대된다. 이제 우리나라에서도 telnet으로 웹페이지를 볼 수 있는 사이트가 등장하는 시대가 온 것인가.(사실 정상적으로라면 TUI 웹페이지를 보는 시대에서 GUI로 보는 시대순이 옳겠지만)
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
9/16/2006 09:43:00 오전
나도 오픈웹 소송에 참여하기로 하였다.
http://open.unfix.net
그런데 이놈의 건망증때문에 하루는 안가져오고, 오늘은 우체국이 문닫는 시간 전에 부치는것을 잊어버렸다. 에구구...
이걸로 신한은행(안의 구조흥은행)이 파이어폭스와 오페라에서 결재되는 모습을 볼 수 있는 날이 가까워진다고 믿는다. 또, 내가 25000원을 들여 참여하는것은, 절대 쓸데없는 돈낭비가 아니고 우리나라의 진정한 정보화 수준을 끌어올리기 위한 작은 투자라고 믿어 의심치 않는다.
지금 현 시점에서... 우리나라의 정보화라는것은 대체 누구를 위한 정보화인가?
이 프로젝트는 진행한 담당자와 MS만의 잔치라고 하지 않을 수 있는가?
우리나라의 거대한 MS망은 MS가 기술지원을 끊는 날 불안에 떨지 않을 자신이 있는가?
MS가 앙심을 품고 의도적으로 자체시스템 파괴 업데이트를 한국에만 배포하는 날이 오지 않는다고 장담할 수 있는가? 또는 의도적으로 가상 크래커 단체를 만들어 해킹을 가장한 파괴공작을 하지 않는다고 믿어 의심치 않는가?(P2P를 네트워크를 죽이기 위해 가짜 서버를 대량으로 만들어 방해하는 등의 방해공작을 하는 대표적인 기업이 MS가 아니라고 말할 수 있는가?)
개인적인 감정은 점점 깊어만 가지만, 이런것은 일단 잊고 정말 순수한 목적으로 소송을 제기하려고 한다. 일을 해야할 사람이 내팽개치고 방관한다고 나까지 내버려 두면 정말로 돌이킬 수 없게 될 것 같기도 하고, 사회적으로 독립적인 개체로써 영향력을 조금이라도 가지는 나이인 이상,또 이 바닥에서 밥먹고 사는 이상, 나를 위해서라도 당장 힘든 것도 고쳐야 하는것은고치는 자세가 의무이자 권리라고 생각하기 때문이다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
9/12/2006 05:23:00 오후
정보지배하 영역 개입
http://www.youtube.com/watch?v=4szBbciDLl8&mode=related&search=
밀실 개입
http://www.youtube.com/watch?v=dadw15d5W8c&mode=related&search=
폐쇄공간 개입
http://www.youtube.com/watch?v=yEGCwX2s9m0&mode=related&search=
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
9/11/2006 08:58:00 오후
이거야 원 리듬게임들에 이게 있다니 -_-;
하루보고 뒤집어진 기억이 다시 생생하게...
http://www.youtube.com/watch?v=Xy1MDKTYq6E&mode=related&search=
http://www.youtube.com/watch?v=PsF15HcuAg8
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
9/11/2006 08:55:00 오후
http://www.breaknews.com/new/sub_read.html?uid=48975§ion=section1
심심해서 우연히 들어간 링크다.
이따위 극친미 기사는 역시 속이 편하지가 못하다.
이런 글 쓰는 사람들이 보면 난 때려죽일 반미주의자에, 친북, 친일세력일 것이기 때문이다.
게다가 잘만 하면 중국 공산당 추종세력까지도 될지 모르겠고, 가끔 딴따라당이 망하면 좋겠다는 소리도 떠들기 때문에 잠재 테러리스트이며 이적 단체에 몸담고 있는건지도 모르겠다.
뭐, 사람 잣대가 자기 기준이니, 어떤 종교든 맹신하게 되면 다른 종교는 다 이단이요 악마숭배자이니 할말은 없지만, 기사랍시고 많은 사람들이 보는 매체에다가 그런 글들을 올려대면 역시 한심한건 사실이다. 객관적으로 지적할 것은 지적하고, 칭찬할 것은 칭찬해야 하지만, 그 객관적이란것이 제 3자의 입장이라고 해서 제 3자의 "주관"으로 본다는 이야기가 아니라, 아무런 이해관계도 선입관도 없이 일어난 사실과 증거를 가지고 평가한다는 이야기가 되어야 할 것이다.
오히려 같은 레벨의(같은 방법이 아니다, 같은 수준이라는 의미다. 상대의 정신수준이 초딩이면 초딩 레벨로 대응해 본다는 의미로 쓴 것이다.) 비약으로 이 기사를 평가하면, "미국 언론조작부 한국지부"라는 있는지는 모르겠지만, 내 상상속에서는 있을것으로 추정되는 기관의 소속단체에서 작성한 것 같은 분위기다.
반미=친북이란 공식을 아무런 근거없이 깔고 우길수 있는 과감성에 찬사를 보낸다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
9/09/2006 11:03:00 오전
http://jspgeek.com/tt/rserver.php?mode=tb&sl=18621
싱글톤 방식의 위험성. 테스트 코드로 테스트하기 위한 디자인을 하는데 있어서의 조언으로 받아들이면 좋을것 같다.
현재 싱글톤 방식으로 작성된 프로젝트를 보수하고 있는데, 이 글에서 지적한 대로 매우 복잡해지고 테스트 코드로는 테스트 할 수 없게 되어버렸다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
9/08/2006 03:25:00 오후
여태까지는 소스포지의 새나루 입력기를 사용하고 있었으나 최근 버그수정등의 진전이 없는 관계로 다른 한글입력기를 찾아본 결과, 날개셋 한글입력기라는것을 알게되었다.
날개셋 한글 입력기의 장점이라면(윈도우즈 IME와 비교하여...)
1. 새나루와 같이 shift + space로 한/영전환을 할 수 있다.(한글 키보드 타입 3를 설치할 수 없는 환경에서)
2. 3벌식을 지원한다.
3. 외장 IME면서도 설치가 간단하다.
4. 키보드 입력으로 만들어지는 글자를 조절할 수 있다.
아직 제대로 써보지 않아서 잘 모르겠으나 꽤 쓸만할 것으로 기대된다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
9/06/2006 12:48:00 오전
(출처 : http://teamsera.net/zboard/view.php?id=tos2&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=name&desc=asc&no=544)
언제나처럼 폐인생활을 하던 P씨는 오랜만에 바람좀 쐴 겸 담배냄새에 찌든 자신의 집을 나왔어요. 바깥은 햇볕이 내려쬐고 있었어요. 갑자기 P씨는 스피양이 일하는 골동품가게에 가고싶어졌어요. 오랜만에 햇볓을 받아 비타민 D를 생산하던 P씨는 기분이 좋아져서 스킵을 하며 노래를 흥얼거렸어요.
"햇볓은 쨍쨍 모래알은 반짝, 머리가 하늘까지 닿겟네..어 이게 아닌데"
스피양의 골동품 가게는 걸어서 10분정도 거리라서 예전에 많이 가본 가게랍니다. 골동품 가게의 어디에서나 볼 수 있는 갈색 나무문을 열고 들어가니 스피양이 웃는 얼굴로 반갑게 맞아주려다 굳어버렸어요. 가게 오픈 후부터 셀 수 없을 정도로 왔지만 P씨는 정작 한번도 물건을 산 적이 없고, 접시의 강도를 테스트한다면서 깨뜨릴 뻔하거나 하루종일 '스피와 대화한다' 커맨드로 카운터에서 죽치고 있어서 장사를 방해하는 등의 행패를 부렸었거든요. 순간 내쫓을까 하는 생각이 드는 스피였지만 그래도 일단은 손님이니 놔두기로 했어요.
골동품들은 가격이 비싸기때문에 물건을 사가는 사람이 한정되어있어서 매물들은 대개 진열대에 정해진 자리가 있어요. 어떤것은 수십년이 넘어도 팔리지가 않아서 계속 그 자리에 있죠. 그런데 가게를 둘러보던 P씨는 못 보던 물건을 발견했어요. 어떤 동화책에 나올 듯 한 생김새의 램프였어요. 거기 달려있는 이름표에는...'알라딘의 요술램프'. 괴악한 네이밍센스보다, 그 동화책의 이름 자체인 램프를 보고 P씨는 대략 정신이 멍해지기전에 가격표에 눈을 돌렸어요. 3 x 10^69엔. 충격에 휩싸인 P씨는 고뇌했어요. 이 가격은 뭐지? 어떻게 읽는거야? 아니 그것보다 이거 팔려고 내놓은거 맞아?
한동안 OTL포즈를 취하던 P씨는 혼란이 가라앉자 램프에 대한 호기심이 생겼어요. 도대체 어떤 물건이길래 저런 가격에 팔리는걸까? 혹시 정말로 소원을 들어주는건 아닐까?
P씨는 주변을 둘러보았어요. 가게 안에는 자신과 카운터에 앉아서 자신을 경계하고 있는 스피양밖에는 없었어요. P씨는 램프와 스피양의 사이에 서서 자신의 손이 보이지 않도록 그녀에게 등을 돌렸어요. 그리고 조심스레 P씨가 램프를 문지르자 놀랍게도 램프가 뜨겁게 달아올랐어요. 하지만 그것 뿐, 별다른 변화가 없자 P씨는 실망했어요. 그리고 P씨가 램프를 내려놓고 다른 진열대로 발을 옮길려는 찰나, 어딘가에서 목소리가 들려왔어요.
"뭐야, 불렀으면 말을 하라고."
갑작스럽게 들려온 목소리에 깜짝 놀란 P씨는 흠칫하며 제자리에 멈춰서서 주위를 두리번거렸어요. 하지만 가게 안에는 P씨의 이상한 행동에 눈을 가늘게 뜨며 경계하는 스피양밖에 없었어요. 그 목소리는 P씨에게만 들린 듯 했어요.
"말좀 해보라니까 너 귀 먹었냐? 아 참, 나는 투명해서 안보이지."
P씨는 목소리가 들려온 쪽으로 돌아섰어요. 신기하게도 램프 위에서 들려오는 것 같았어요. 또 목소리가 들려왔어요.
"그럼 소개하지. 난 투명드래곤이야. 난 한사람에 한해서 세가지의 소원을 들어주지."
뭐, 누구?
"거짓말! 넌 죽었잖아!" 당연히 지니가 나올 줄 알았던 P씨는 분노해서 외쳤어요. 카운터에서 스피가 미친놈 보듯 하는 눈빛은 느껴지지 않았어요.
"죽어? 아 그랬었지. 근데 샹아가 인체연성을 해서 램프안에 혼이 머물게 되었어."
투명드래곤틱한 대답에 P씨는 뭐라 할 말이 생각나지 않았어요. 하지만 그가 정말 투명드래곤이라면 대한민국따위는 콧바람 한번으로 지도상에서 사라질테니 P씨는 몸을 사릴 수 밖에 없었었지만 이미 캐나다에서 만드는 지도에서는 사라져있으므로 인지부조화가 일어나서 괴로웠어요.
"그래서, 소원은?"
목소리가 다시 묻자 P씨는 정신이 들었어요. 그래, 저게 뭐든간에 소원만 들어주면 상관 없어. 그리고 P씨는 말했어요.
"내 첫번째 소원은, 내가 죽을 때까지 나의 모든 소원이 이루어지는거야."
"거절."
0.5초만에 거절당한 P씨는 외쳤어요. "워째서여!"
"그건 네가 더 잘 알텐데."
꽁수는 안된다고 하는 투명드래곤의 즉답에 P씨는 잠시 풀이 죽었지만, 곧 남자의 3대 욕구을 성취하고 싶어졌어요. 첫번째 소원은 돈이었어요. 그리고 이런 종류의 소원은 그냥 돈을 달라고 하면 1엔만 줄 수 도 있기 때문에 정확하게 말해야 했어요.
"네 램프 가격만큼의 돈을 줘."
잠시 꾸물거리던 투명드래곤은 말했어요. "너의 소원은 이루어졌다." 그리고 P씨의 발앞에 뭐가 툭 떨어졌어요.
P씨는 발 앞에 떨어진 것을 주워들었어요. 그것에는 이렇게 씌어있었어요: 통합우주은행. P씨는 물었어요.
"이거 뭐야?"
"통장인데."
"아니 그거 말고, 통합우주은행은 뭐야?"
"999개의 우주에서 쓰이는 화폐를 입금, 출금해주고 대출해주는 곳이지. 유명한 곳인데, 몰라?"
"유명하건 개뿔이건 이딴건 여기선 못쓰잖아!"
"아 거 되게 까다롭네. 보석으로 바꿔주면 되잖아. 쳇"
투명드래곤의 말이 끝남과 동시에 위에서 보석들이 쏟아지기 시작했어요. P씨는 바닥에 쌓인 보석을 한웅큼 쥐어봤어요. 다이아몬드, 오팔, 흑진주, 사파이어..짜식 센스있네. 갑작스런 날벼락에 당황하는 스피양의 의지와는 상관 없이 보석은 가게 안에 계속 쌓여만 가고 있었어요. P씨는 흡족한 미소를 지으며 두번째 소원을 말했어요.
"차가 필요해. 람보르기니 무르시엘라고."
보석의 산 위에 차 한대가 뚝 떨어지며 투명드래곤의 대답이 바로 들려왔어요. "너의 소원은 이루어졌다. 이제 하나의 소원이 남았다."
보석이 람보르기니 위로 떨어져 철판을 두드리는 소리가 시끄러웠지만 P씨는 생각했어요. 남자의 3대 욕구. 첫번째가 돈, 두번째가 차, 그리고 세번째는...
P씨는 이윽고 말했어요.
"난 할렘에서 살고싶어."
"너의 소원은 이루어졌다." 투명드래곤이 말을 마치자 P씨의 모습이 일렁이며 어디론가로 사라졌어요. P씨가 사라진 후에도 가게에는 보석이 쏟아지고 있었어요.
며칠 후, P씨는 뉴욕의 어느 빈민가에서 구걸로 하루하루를 연명하는 모습으로 발견되었어요. P씨가 살고있던 마을은 보물의 산에 매장되어 사라졌고, 일본 경제는 극심한 인플레이션에 시달렸답니다.
*할렘과 하렘, 바로 알고 씁시다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
8/23/2006 09:44:00 오전
나만 모르고 있었던 사실일지도 모르겠지만 -_-;
통상 GROUP BY A, B를 했을때 A에 대해서 소트된다는 막연한 지식만을 가졌던 내게,
A로 소트되지 않는 케이스가 다가왔다...
여러모로 수소문한 결과 원인은 대강 알았으나, 너무 오라클을 몰랐다는 사실을 뼈저리게 느끼게 되었다.
알아낸 사실은 다음과 같다.
1. GROUP BY는 실제 내부에서 소트를 하는것이라기보다 컬럼에 걸려있는 INDEX의 순으로 출력을 하는것 같다.
2. 그러므로 통상 GROUP BY를 행할때 GROUP BY에 걸어주는 컬럼중 첫번째 컬럼이 INDEX가 걸려있는 컬럼임을 고려해보면 이 케이스와 맞부딪히는 경우는 많지 않은것 같다.
소트될것이라는 막연한 기대를 가지고 만든 프로그램에서 뒤통수를 맞고나니 정신이 좀 들긴 하는데.. 잊어먹으면 나중에 된통 망신당할지도...
----- 추가 자료-----
group by를 사용한다고 해서 group by 절 기술 순서 컬럼대로 반드시 sort가 이루어지는 것은 아닙니다.
group by를 할 수 있는 방법에는 해당 컬럼으로 sort를 하여 value가 바뀔 때 마다 grouping action을 하는 방법도 있지만 만일 group by 시킬 특정 컬럼의 순서가 보장될 만한 요건(인덱스/클러스터 등)이 있다고 한다면 해당 요건을 활용할 수 있는 상황에서 굳이 sort를 할 필요가 없다는 예기입니다.
실제 사례를 가지고 살펴 봅시다.
만일 emp table에 존재하는 컬럼인 deptno+job 를 가지고 인덱스를 생성해 놓은 상황이라고 가정하고 다음의 사례 group by SQL을 사용했다고 가정합시다.
인덱스 상황 : emp_idx2 = deptno + job
사용 SQL문장 :
select job, deptno, count(*)
from emp
where deptno between 10 and 30
group by job,deptno;
상기 SQL문장의 실행계획은 다음과 같이 나타날것 입니다.
SELECT STATEMENT Optimizer=CHOOSE
SORT (GROUP BY)
INDEX (RANGE SCAN) OF EMP_IDX2 (NON-UNIQUE)
그리고 수행 결과는 job별 deptno 순으로 나타나지 않고 다음과 같이 emp_idx2 인덱스에 생성된 컬럼 순서로 정렬되어 나타날것 입니다.
JOB DEPTNO COUNT(*)
--------- ---------- ----------
CLERK 10 8
MANAGER 10 8
PRESIDENT 10 8
ANALYST 20 16
CLERK 20 16
MANAGER 20 8
CLERK 30 8
MANAGER 30 8
SALESMAN 30 32
이 결과와는 다르게 group by 컬럼 순서대로 정렬되기를 원한다면 다음과 같은 SQL을 사용해 보도록 하시죠.
select /*+ full(emp) */
job, deptno, count(*)
from emp
where deptno between 10 and 30
group by job,deptno;
인덱스 사용을 못하게 하여 수행을 하게 되면 실행계획은 full scan sort group by execution plan이 나오며 결과는 우리가 의도한 job별 deptno별 정렬 순서가 유지될 것 입니다.
JOB DEPTNO COUNT(*)
--------- ---------- ----------
ANALYST 20 16
CLERK 10 8
CLERK 20 16
CLERK 30 8
MANAGER 10 8
MANAGER 20 8
MANAGER 30 8
PRESIDENT 10 8
SALESMAN 30 32
위에서 사례로 제시한 것을 토대로 정리하면 group by operation을 하는 방법 중 옵티마이져가 가장 효율적인 방법을 실행계획 상황에 따라 우리가 예상하는 실제 sort operation이 발생할 수도 있으며 발생하지 않을 수 도 있다는 예기입니다.
인덱스 특성상 실제 인덱스를 생성한 컬럼의 value를 가지고 있으며 sort된 Balanced tree 구조이므로 인덱스 스캔 실행계획일 경우 해당 인덱스에 존재하는 컬럼으로 group by를 하고자 할 경우 해당 인덱스 스캔을 하게 되면 해당 컬럼들의 순서대로 sort되어 있음을 옵티마이져가 알고 있으므로 별도로 전체를 다시 sort하여 group하지 않더라고 group by 목적을 달성할 수 있기 때문에 인덱스 생성 컬럼의 순서대로 나타나게 되는 겁니다.
즉, 인덱스에 존재하는 컬럼의 group by라면 인덱스 스캔을 하면서 해당 인덱스 컬럼의 value가 바뀌면 buffer change group operation을 한다는 예기입니다.
group by의 목적 집합은 반드시 sorted group by가 아니고 같은 값대로 묶어 내는 것이라는 점을 유념하시기 바랍니다.
하므로 group by operation 의 특성을 고려하여 실행계획과 인덱스 구성 컬럼의 관련성을 잘 파악하셔야 됩니다.
또한 Full scan을 하여 sort를 하여야 되는 상황이라 하더라도 Parallel Query Operation이 발생하게 되면 Parallel Proccess background process 별로 Group by Operation이 발생하므로 Query cordinator가 취합하는 대로 return하는 결과는 sort의 순서가 지켜지지 않을 수 있으니 유념하셔야 합니다.
그렇다면 인덱스 스캔을 하면서도 우리가 원하는 group by 순서 정렬을 하기 위해서는 어떻게 해야 하겠습니까 ?
그렇다고 엄청난 량의 테이블에서 full scan하게 해서는 안되겠지요... 많지 않은 적은량의 추출이었기에 인덱스 스캔을 유도하였을 테니...그렇다고 group by 한 다음에 또 order by를 사용하는것은 왠지 중복 sort operation이 부담스럽구... 간단한 해결법이 있습니다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
8/07/2006 05:42:00 오후
fedora에서 firefox이용중 로케일을 일본어로 설정하고 textarea에 글을 쓰다보면,
문장의 첫두에 = 과 같은 기호를 쓰고 한글을 쓸때 폰트가 순간적으로 한글폰트로 변하면서
글자가 가려지거나 제대로 표시되지 않는 문제가 생긴다.
이것은 firefox가 자동으로 로케일을 인식하여 페이지 표시 폰트를 Japanese로 적용하면서
기본 ascii의 기호를 표시할때는 로케일의 폰트를 참조하다가, 한글을 쓰는순간 한글 폰트로
다시 적용하면서 생기는 문제인데, 이 경우 일본어 폰트의 = 의 글자폭이 적용되어 커서 위치가
결정되지만 실제로 화면에는 전각 크기만한 = 이 표시되는 바람에 생기는 문제이다.
이 경우 일본어 폰트의 설정을 LucidaTypeWriter와 같은 영문폰트로 지정해 버리면
일본어가 깨지지 않으면서도 기호표시때는 영문폰트로 하기 때문에 제대로 된 편집을
할 수 있다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
8/03/2006 04:54:00 오후
fedora 5에서 스크린세이버가 동작하지 않는 문제가 발생해서 뉴스 그룹등을 찾아봤지만
KDE의 버그가 수정된 3.5.3 버전을 설치하라는 정도밖에 해답이 나오지 않았었으나
여전히 문제가 발생하고 있었다.
일부, KDE의 power management 에서 power manage설정을 해제하라는 답변이 있었으나
KDE의 3.5.2 버전을 쓰고 있던 나에게는 control center에서 유사한 설정이 발견되지 않았었다.
게다가 3.5.3을 설치해도 아무런 변화가 없었기에 문제해결을 하지 못하고 있었으나,
방금 해결을 했기에 여기에 적는다.
우선 증상으로써는 스크린 세이버 설정에 설정된 시간이 지나면 모니터는 자동으로
아무것도 표시하지 않는 상태(단 전원은 꺼지지 않은 blank 표시 상태) 로 들어가고
lock설정을 주어도 화면이 lock되지 않았었다.
해결한 절차로써는
우선 control center에서 display항목을 찾아보면 power control 탭이 존재하는데
여기서 Enable display power management에 체크가 풀려있기에 체크해 주었는데
그 이후부터는 스크린 세이버가 동작하기 시작했다.
아무래도 체크가 풀려있는 상태에서 스크린 세이버가 동작하기 이전에
스크린 세이버를 동작시키기위해 호출하는 처리에서 모니터가 먼저 반응하여
제대로 스크린 세이버가 동작하지 않고, 그 이후 처리가 멎어버리는 듯 하다.
-------------------------------------------------------------------------------------------------------------
KDE screen saver do not work on fedora 5.
It pasts three days from this problem occured. And I found my fault, to setting power management.
Unfortunatly display power management setting is disabled at the first time.
So, I did not know why screen saver did not work on KDE but works well on Gnome.
I did set screen saver and test each of them completely, and my monitor just display blank, screen saver and lock did not work.
I found that display power management item of control center is disabled.
And I turn it on for test. Finally screen saver and lock function works well!!
Try it! good luck!
---------------------------------------------------------------------------------------------------------------
fedora 5でKDEを使っている際、スクリーンセーバが起動しない問題が発生。
原因探しにニュースグループなどを探して見てもKDEのバグであって
3.5.2から3.5.3にアップグレードしろとの内容しが見つからなかった。
そこで、一部参考になったのはコントロールセンターの設定から
PowerManagementの設定が原因になっている可能性があるとの記述もあったが
3.5.2ではその項目自体は無かったのでどうしようもない状況だった。
そこで、以前から知ってはいた設定だがDisplayの設定項目にある
Power Controlのタブを試して見ることにした。
単純にテストのつもりでPowerManagementにチェックを入れてみたら
スクリーンセーバも画面ロック機能も起動するようになった。
どうやらスクリーンセーバが動作する際コールする部分で
モニターの電源管理機能と何か間違ってしまい、電源管理機能をKDEでコントロールする
ことによって正しく動くような感じだ。
とにかく解決したので。。 めでたしめでたし〜
ラベル:
知識
작성자:
WonYong Jung
1 コメント
場所
7/19/2006 01:40:00 오후
KDEにて動作設定をしていてもスクリーンセーバが動作しない問題について
http://dot.kde.org/1092139173/1092161593/
screensaver are not working on suse 9.1
by GJ Eldering on Tuesday 10/Aug/2004, @11:13
Hi,
Did a update tru apt-get - synaptic to 3.3.0-1, after that the screensavers are not working any more?????
With 3.2.92-1 all was oke.
Thanks Gerrit Jan
Related Links
· Articles on KDE Official News
· Also by GJ Eldering
· Contact author
Thread Threshold:
The Fine Print: The following comments are owned by whomever posted them.
( Reply )
Re: screensaver are not working on suse 9.1
by Anonymous on Tuesday 10/Aug/2004, @13:38
Could be a binary package problem. Work fine here.
[ Reply To This | View ]
Re: screensaver are not working on suse 9.1
by Julio on Friday 20/Aug/2004, @18:38
Same here with 3.3 Final version. Suse 9.1.
[ Reply To This | View ]
Re: screensaver are not working on suse 9.1
by GJ Eldering on Saturday 21/Aug/2004, @10:42
I have the same problem....
Only the fireworks works!
[ Reply To This | View ]
Re: screensaver are not working on suse 9.1
by Beeblebrox on Wednesday 25/Aug/2004, @06:24
After upgrading to KDE 3.3 only few of them are working for me...
[ Reply To This | View ]
Re: screensaver are not working on suse 9.1
by GJ Eldering on Wednesday 25/Aug/2004, @06:41
this will fix it (as root)
ln -s /usr/X11R6/lib/xscreensaver /usr/lib
ln -s /usr/X11R6/lib/X11/xscreensaver/config/ /etc/xscreensaver
[ Reply To This | View ]
Re: screensaver are not working on suse 9.1
by Beeblebrox on Wednesday 25/Aug/2004, @07:49
G.J., thanks a 1,000,000 :)
It's working perfectly now (another note to my personal Linux FAQ).
[ Reply To This | View ]
Re: screensaver are not working on suse 9.1
by Linux Newbee on Wednesday 15/Sep/2004, @06:03
Nice GJ,
It worked for me too, and now my day is saved. I just forgot the space in ..../xscreensaver(space)/usr/...., but when i got that it worked perfect.
Thanks.
[ Reply To This | View ]
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
7/14/2006 04:48:00 오후
윈도우 NT계열(Windows 2000/XP/2003)에서 프린터의 공유명을 12바이트 이상으로 주었을 때 SAMBA 및 WINDOWS 95 / ME에서 제대로 인식할 수 없다.
사실 공유명을 알아내어 그대로 쓰면 작동은 하지만 이 공유명을 알기 위해서는
$ net share -S servername -U%
의 커맨드를 날려보아야 한다.
$ smbclient -S servername -U username
등으로 확인하는 경우에는 12바이트가 넘는 공유명은 나타나지 않기 때문에
알 수 없는 경우가 있다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
6/30/2006 04:02:00 오후
나는, 여태까지 다른 리눅스 버전들을 많이 써보지는 않았고, 이전에도 제대로 사용할 줄 알았다고 할 수준은 아니었다. 그래서 새로이 알아낸 사실에 대해서 이전버전과 섣불리 비교할수는 없겠다.
하지만 뭔가 달라졌다고 생각되는것이 /etc/profile.d 인데이건
solaris에는 없으니까 fedora에서만 먹는것으로 생각한다.
뭐 상투적인건 각설하고..
/etc/profile.d 에다가 각 응용프로그램에서 필요로 하는 환경변수나
패스 변경들을 행하기 위한 쉘 파일을 작성해두면 /etc/profile파일에 넣는것과 같은 효과를 볼 수 있다.
파일을 쪼갬으로써 응용프로그램 저마다의 설정이 뒤죽박죽이 되는 일은 없게 관리하기가 더 편해진것 같은 느낌이다.
참고로, 알아낸 후 만들어 둔 것이
$cat maven.sh
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
$cat java.sh
export JAVA_HOME=/usr/java/j2sdk1.4.2_12
export PAHT=$PATH:$JAVA_HOME/bin
간단하지만 유용하게 써먹었다.
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
6/16/2006 07:46:00 오후
Fedora core 5를 설치하고 났더니 core 4에와 마찬가지로 MX-310마우스의 뒤로가기 / 앞으로 가기 버튼이 먹질 않았다.
그래서 좋은 방법을 찾던 결과 core 4 에서 xmodmap으로 재설정해주던것을 core 5에서는 /etc/X11/xorg.cfg 를 설정하는것만으로 성공하였다.
참조 : http://lists.freedesktop.org/archives/xorg/2006-February/012689.html
아래는 전문을 복사한 것이다. 혹시나 글이 지워질까봐 백업차원에서 허가없이(-_-a) 복사했다.
On Feb 01, 06 11:16:06 -0600, Jason Dravet wrote:
> I am using rawhide (fedora core development). They just updated to xorg 7
> final and I was hoping that my mouse problem would be fixed, but it wasn't.
> I have a 5 button + scrollwheel mouse (MS intellimouse explorer). I want
> to use the side buttons. In xorg 6.8 it worked great, but in 7 it does not
> work. Here is the mouse part of my xorg.conf:
>
> Section "InputDevice"
> Identifier "Mouse0"
> Driver "mouse"
> Option "Protocol" "ExplorerPS/2"
> Option "Device" "/dev/input/mice"
> Option "Buttons" "7"
> Option "Emulate3Buttons" "no"
> Option "ZAxisMapping" "6 7"
> EndSection
>
> I also have this file called mouse.sh in /etc/X11/xinit/xinitrc.d/
> #!/bin/sh
> # /etc/X11/xinit/xinitrc.d/mouse
> # Required for the configuration of a 5-button mouse
> xmodmap -e "pointer = 1 2 3 6 7 4 5"
No longer required, actually harmfull now.
man mouse (default was wrong, have commited that now):
Option "ButtonMapping" "N1 N2 [...]"
Specifies how physical mouse buttons are mapped to logical but‐
tons. Physcial button 1 is mapped to logical button N1, physi‐
cal button 2 to N2, and so forth. This enables the use of phys‐
ical buttons that are obscured by ZAxisMapping.
Default: "1 2 3 8 9 10 ...".
So if you want to get buttons events 6 and 7 with physical buttons 4 and 5
you want
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
Option "ButtonMapping" "1 2 3 6 7"
But as mice with two wheels are getting more available now, applications
might be configured to use buttons 6 and 7 for horizontal scrolling
soon. You might want to use the default configuration and configure
applications to use buttons 8 and 9 for button actions.
Though it is largely undecided right now whether the default like it is
now is a good idea, or whether other buttons should be reserved for the
secondary wheel.
> If I run mouse.sh I get this:
> xmodmap: commandline:1: bad number of buttons, must have 11 instead of 7
> xmodmap: 1 error encountered, aborting.
This is because due to default ButtonMapping you get 4 more buttons than
configured. But you don't want to use xmodmap any more.
> I was run xorg7 rc something and there was a discussion about the number of
> buttons being hard coded or something like that the point is this is/was a
> known problem. I can't find the thread now that I need it.
No. Different thing.
Matthias
--
Matthias Hopf
Maxfeldstr. 5 / 90409 Nuernberg (_ | | (_ |__ mat at mshopf.de
Phone +49-911-74053-715 __) |_| __) |__ labs www.mshopf.de
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
6/16/2006 02:01:00 오후
한나라당의 놀라운 응용력과 기동력을 보라 - 오마이뉴스
열린우리당이 참패한것이 맞다. 단지, 한나라당이 다시 태어나서가 아니고 하나의 작지만 작지않은 이벤트로 인해 결정타를 먹인 것뿐 한나라당이 딱히 잘하는것도 아니다.
열린우리당이 기대에 제대로 부응하지 못하는 것뿐. 맹목적인 지지세력이 있는 한나라당에 비해 지지가 떨어지면 바로 몰락하는것이 그 외의 당의 운명일 뿐이다.
재탕이지만 만약 고이즈미가 한나라당으로 출마했을때 낙선할 수가 있는지 궁금할 뿐이다.
그러하기에 우리나라의 정치역량은 아직도 만만하다....
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
6/02/2006 02:27:00 오후
아래 스크립트 들은 SuperMacro에서 동작시켜야 한다. (너무 길어서-_-;)
■식량제조LUA스크립트 - 선택한 플레이어의 레벨에 맞춰 만든다. 아무도 선택하지 않았으면 자기 레벨에 맞게 맞든다.
-- 지정한 타겟에 맞게 가능한 물빵 각각 20개 넘을때까지 제조
-- 매크로 지정
/script ----[[
createFood()
----]]
-- LUA코드
local maxFood,maxDrink=20,20;
function createFood()
local targetLv = UnitLevel("target");
if(targetLv == 0) then targetLv=UnitLevel("player"); end;
if (spellCreateFood(targetLv) == 1) then
DEFAULT_CHAT_FRAME:AddMessage("레벨"..targetLv.."을 위한음식창조를 마쳤습니다. ("..count.."/"..maxFood.."개, 목표레벨"..targetLv..")" , 1.0, 1.0,0.0);
return;
else
DEFAULT_CHAT_FRAME:AddMessage("음식 창조가 실행되지 않았습니다. ("..count.."/"..maxFood.."개, 목표레벨"..targetLv..")" , 1.0, 0.5,0.0);
end;
if (spellCreateDrink(targetLv) == 1) then
DEFAULT_CHAT_FRAME:AddMessage("레벨"..targetLv.."을 위한음료창조를 마쳤습니다. ("..count.."/"..maxDrink.."개, 목표레벨"..targetLv..")" , 1.0, 1.0,0.0);
return;
else
DEFAULT_CHAT_FRAME:AddMessage("음료 창조가 실행되지 않았습니다. ("..count.."/"..maxDrink.."개, 목표레벨"..targetLv..")" , 1.0, 0.5,0.0);
end;
DEFAULT_CHAT_FRAME:AddMessage("-----------------------------------------------------", 1.0,1.0,1.0);
end
function spellCreateFood(targetLv)
local rank=6;
local topRank=1;
local food={"창조된 머핀","창조된 식빵","창조된 흑빵","창조된 호밀빵","창조된 효모빵","창조된 롤빵"};
if(targetLv < 50 ) then rank=rank-1;end;
if(targetLv < 40) then rank=rank-1;end;
if(targetLv < 35) then rank=rank-1;end;
if(targetLv < 15) then rank=rank-1;end;
if(targetLv < 5) then rank=rank-1;end;
topRank=GetSpellTopLvByName("음식 창조");
if (rank > topRank) then rank = topRank; end;
count=countItemInAllBag(food[rank]);
if (count < maxDrink) then
-- DEFAULT_CHAT_FRAME:AddMessage("디버그:"..food[rank].."을 제조합니다." , 1.0, 0.0,0.0);
CastSpellByName("음식 창조("..rank.." 레벨)");
return 1;
else
return 0;
end;
end
function spellCreateDrink(targetLv)
local rank=6;
local topRank=1;
local drink={"창조된 샘물","창조된 지하수","창조된 정제수","창조된 용천수","창조된 광천수","창조된 탄산수"};
if(targetLv < 50 ) then rank=rank-1;end;
if(targetLv < 40) then rank=rank-1;end;
if(targetLv < 30) then rank=rank-1;end;
if(targetLv < 10) then rank=rank-1;end;
if(targetLv < 5) then rank=rank-1;end;
topRank= GetSpellTopLvByName("음료 창조");
if (rank > topRank) then rank = topRank; end;
count=countItemInAllBag(drink[rank]);
if (count < maxDrink) then
-- DEFAULT_CHAT_FRAME:AddMessage("디버그:"..drink[rank].."을 제조합니다." , 1.0, 0.0,0.0);
CastSpellByName("음료 창조("..rank.." 레벨)");
return 1;
else
return 0;
end;
end
function countItemInAllBag(name)
local total=0;
for bagId=0, 4 do
for slot=0, GetContainerNumSlots(bagId) do
if(GetContainerItemLink(bagId,slot)) then
if(string.find(GetContainerItemLink(bagId,slot), name) ) then
local texture, itemCount, locked, quality, readable = GetContainerItemInfo(bagId,slot);
total=total+itemCount;
end
end
end
end
return total;
end
function GetSpellTopLvByName(spellName)
local spellId,rank=1,0;
while (spellId <100) do
local name = GetSpellName(spellId,BOOKTYPE_SPELL);
if (name ~= nil) then
if (string.find(name, spellName)) then
rank = rank+1;
end
end
spellId = spellId + 1;
end
return rank;
end
■신비한 지능 LUA스크립트 - 선택한 캐릭터에 맞는 신비한 지능을 건다. 아무도 선택하지 않았으면 자기 자신의 레벨에 맞는 신비한 지능을 자기 자신에게 건다.
-- 신비한 지능 타겟 레벨별 자동 스크립트
-- 매크로 부분
/script----[[
smartInt()
----]]
-- LUA코드
function smartInt()
local targetLv=UnitLevel("target");
local rank=6;
local topRank=GetSpellTopLvByName("신비한 지능");
if (targetLv==0)then
targetLv=UnitLevel("player");
TargetUnit("player");
CastSpellByName("신비한 지능("..rank.." 레벨)");
end;
if (targetLv<56)then rank=rank-1;end;
if (targetLv<46)then rank=rank-1;end;
if (targetLv<36)then rank=rank-1;end;
if (targetLv<26)then rank=rank-1;end;
if (targetLv<16)then rank=rank-1;end;
if (rank > topRank) then rank = topRank; end;
CastSpellByName("신비한 지능("..rank.." 레벨)");
end
function GetSpellTopLvByName(spellName)
local spellId,rank=1,0;
while (spellId <100) do
local name = GetSpellName(spellId,BOOKTYPE_SPELL);
if (name ~= nil) then
if (string.find(name, spellName)) then
rank = rank+1;
end
end
spellId = spellId + 1;
end
return rank;
end
ラベル:
知識
작성자:
WonYong Jung
0
コメント
場所
5/30/2006 08:50:00 오전
이번 사태에 대해 매우 유감스런 면이 많다.
피해자가 정치인이라는 것을 떠나 대한민국 국민 여성의 얼굴에 상처를 입었다는것.
그 자체만으로도 상당히 안타깝게 생각한다.
그러나, 정치에서는 이런 불행한 사건마저도 기회로 이용하는듯하다.
범행 흉기라고 비슷한 커터를 사들고 떠들어대지않나, 배후세력이 정치적으로 반대 세력일 것이라는 암시를 풍기면서 신나게 떠들고 있다. 정작 사건의 피해자한테 위로의 마음이나 가지고있는지 궁금할 정도로...
솔직히 이야기해서 이번 사건을 더이상 크게 벌려서 당사자 기분만 찜찜하게 만드는 일은 그만 두었으면 하는 심정이다. 하지만 1나라당을 좋아하지 않기 때문에 배후수사에 착수한다고 하면 오히려 반가울것 같다. 수사의 기본중 하나는 가장 이득을 취한 자를 찾는것.. 즉 이번 사태로 가장 이득을 취한 1나라당이 제 1용의선이기 때문이다.
세간에서 흔히 말하는 "고이즈미가 출마해도 뽑힐 당" 이라고 불릴 정도로 맹목적인 지지층이 있는 1나라당이 대표가 도중에 사고를 당해 출마할 수 없는 지경이라고 해도 대타는 얼마든지 내세울 수 있다는 점이 그 배경이기도 하다. 즉, 피해자가 만약 심각한 상처를 입어 출마할 수 없게 되더라도 앞서 말한 이유로 인해 그 반대세력이 크게 이득 볼 만한 점이 없다는것과, 오히려 여론에 의해 손해가 막심할 것이 자명하기 때문이다.
범인도 불쌍할 정도이다. 자기가 한 짓을 더이상 정치에 이용하지 말아달라는 말은 얼마나 억울하면 저럴까... 범인에게 한마디 하고 싶다.
"시간은 상응하는 댓가만큼 가치있는 것에 투자하세요. 이번 사건은 인생에서 너무도 긴 시간을 낭비한 겁니다."
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
5/29/2006 08:59:00 오후
ZDNet Korea...MS「유닉스,리눅스 마이그레이션」박차
리눅스 100대로 하던일을 윈도우로 50대 가량으로 해결?
무슨일을 어떻게 하면 리눅스 100대분의 일을 윈도우 50대로 해결하는지 정말 궁금하다.
ラベル:
日常
작성자:
WonYong Jung
0
コメント
場所
4/18/2006 10:27:00 오전
테스트 코드를 작성하는 프레임워크로 한번 구성해 봐도 좋을듯하다.
Jakarta Cactus
작성자:
WonYong Jung
0
コメント
場所
4/10/2006 01:56:00 오후
공부해보자. 퍼시스턴트보다 에러가 나오기 힘들지도 몰라....
iBATIS News
작성자:
WonYong Jung
0
コメント
場所
4/10/2006 01:55:00 오후
예를 들어 소스상에
sql = sql
+ " SELECT test, test2, test3 "
+ " FROM test_table "
+ " WHERE a in ( SELECT data1 "
+ " FROM data_table) "
;
find : ^(\s+\+\ )\"(\s*)(\s.*[^\ ])\s*\"$
replace : $1$2\"$3\ \"
sql = sql
+ " SELECT test, test2, test3 "
+ " FROM test_table "
+ " WHERE a in ( SELECT data1 "
+ " FROM data_table) "
;
sql =와같이 +가 뒤에 오는 형태로 복사된다.(다만 QuantumDB에서 복사하면 뒤에 공백이 생기지는 않는다. 일반적인 에디터로 컬럼모드등을 이용해서 만들었을때도 포함하기 위해서 뒤에 공백이 들어있다.)
" SELECT test, test2, test3 " +
" FROM test_table " +
" WHERE a in ( SELECT data1 " +
" FROM data_table) "
;
로 변형된다.
sql =
" SELECT test, test2, test3 " +
" FROM test_table " +
" WHERE a in ( SELECT data1 " +
" FROM data_table) "
;
작성자:
WonYong Jung
0
コメント
場所
3/15/2006 07:12:00 오후
메일 서버 세팅하다가 알게된 smrsh.... 중요하다...
Manpage of SMRSH
작성자:
WonYong Jung
0
コメント
場所
3/09/2006 12:54:00 오후
resin-interest: RE: Compiling mod_caucho
RPM으로 설치한 APACHE에 RESIN을 붙이는 방법
작성자:
WonYong Jung
0
コメント
場所
3/08/2006 01:19:00 오후
http://www.zdnet.co.kr/pda/pdaarticle.htm?id=39142281
MS가 이제사 표준을 지키겠다니...
역시 한방 먹어봐야 정신을 차리지...
우리나라는 맨날 얻어맞으면서도 익스 전용 페이지만 만들게 하더니만...
이제 좀 바뀌려나...
IE7이 표준을 엄격하게 준수하기를 바랄뿐.....
작성자:
WonYong Jung
0
コメント
場所
2/25/2006 06:47:00 오후
SQLPLUS를 이용해서 엔터가 존재하는 데이터를 삽입할때는 다음과 같이
INSERT INTO table VALUES('문장이'||CHR(13)||'연결되는'); 으로 하면
문장이
연결되는
과 같은 내용이 삽입 가능하다.
작성자:
WonYong Jung
0
コメント
場所
1/20/2006 11:33:00 오후
/usr/lib/mailman/binから
1../newlist 「listname 」でリストを作る
2.すると以下のようなAliasが出力される。
## administrators mailing list
administrators: "|/usr/lib/mailman/mail/mailman post administrators"
administrators-admin: "|/usr/lib/mailman/mail/mailman admin administrators"
administrators-bounces: "|/usr/lib/mailman/mail/mailman bounces administrators"
administrators-confirm: "|/usr/lib/mailman/mail/mailman confirm administrators"
administrators-join: "|/usr/lib/mailman/mail/mailman join administrators"
administrators-leave: "|/usr/lib/mailman/mail/mailman leave administrators"
administrators-owner: "|/usr/lib/mailman/mail/mailman owner administrators"
administrators-request: "|/usr/lib/mailman/mail/mailman request administrators"
administrators-subscribe: "|/usr/lib/mailman/mail/mailman subscribe administrators"
administrators-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe administrators"
上記の文字列を /etc/aliases ファイルを開き、後ろに追加する。(rootにて)
3.root状態で newaliases コマンドを実行
ーー終わりーー
작성자:
WonYong Jung
2
コメント
場所
12/06/2005 03:05:00 오후
상황에 맞게 조금씩 조절할것
set echo off;
set pagesize 0;
set feedback off;
set ver off;
set heading off;
set linesize 500;
작성자:
WonYong Jung
0
コメント
場所
11/28/2005 11:29:00 오전
fedora core3 에서 rpm으로 sendmail, cyrus-imapd 를 조합하여 SMTP AUTH기능을 사용하는 메일 서버를 구성하는데 참조한 자료들과 설치 과정을 기록한 것이다.
1. sendmail 및 saslauthd, cyrus-imapd 의 설치
yum으로 설치하면 되지만 애초에 anaconda에서 메일서버 구성요소를 선택하고 설치한 경우에 이미 설치되어있으므로 특별히 패키지 설치는 생략한다.
소스로 설치하는 방법은 솔직히 해보지 않아서 모르겠음.
단 saslauthd는 cyrus-imapd를 설치하기 전에 이미 설치되어있어야 한다.
2. sendmail측 설정관련 자료. 인용한것을 알수있게 전문을 복사했다.
(https://www.redhat.com/archives/fedora-list/2005-April/msg01514.html)
[Date Prev][Date Next] [Thread Prev][Thread Next] [Thread Index] [Date Index] [Author Index]
Re: Sendmail & Cyrus-imapd
* From: GPL
* To: fedora-list redhat com
* Subject: Re: Sendmail & Cyrus-imapd
* Date: Thu, 7 Apr 2005 21:17:41 -0400
Thank you for the help guys. I have been deep into the reading, and
hair pulling :)
On Apr 5, 2005 1:02 PM, Aleksandar Milivojevic
> GPL wrote:
> > Hi folks, I'm starting my first jump into working with a Linux mail
> > server. So far from what I have read I need sendmail for SMTP and some
> > other service for POP/IMAP. From what I see the thing to use with
> > fedora is Cyrus-imapd. My goal is to run a mail server for a handful
> > of people in a non mission critical environment that can be accessed
> > by outlook/thunderbird, etc.. A learning experience mainly.
>
> There are two IMAP servers distributed with Fedora.
>
> Cyrus IMAPD is very powerfull IMAP server. It is very fast, and has
> many features needed for large installations. It also allows you to
> setup virtual users (in other words, you can setup mail accounts without
> need to create actual system accounts). It implements complete
> separation of system accounts and email store.
>
> Dovecot is simple IMAP server. It is trivial to setup, and uses
> existing system accounts, and user's home directories to store email.
> If you simply want something that is fast and easy to get working, it
> might be better choice. There's not much to learn with that one ;-)
>
> If you want to lear advanced thing about IMAP, Cyrus is the right way to
> go, because Dovecot does not have support for some features. If you
> decide to go Cyrus route, couple of hints to get you going.
>
> The configuration files distributed with Fedora will make use of system
> accounts for authentication. It is easy to change them to use LDAP or
> some other form of athentication if you want to go that way. By
> default, /etc/imapd.conf is setup to saslauthd to perform
> authentication, and saslauthd is configured (in
> /etc/sysconfig/saslauthd) to use /etc/shadow file. If you want to take
> advantage of PAM, you can instruct saslauthd to use pam mechanisms
> instead of directly accessing /etc/shadow.
>
> This will take care of authentication.
>
> Since email store is completely separate from system accounts, you will
> need to manually create mailboxes, or let Cyrus IMAPD create them
> automatically when they are accessed for the first time.
>
> Fire up cyrus-imapd and saslauthd services (and make sure they are
> started on boot using chkconfig command).
>
> To create mailboxes manually, set the password for cyrus account
> ("passwd cyrus" as root). Than execute "cyradm --user cyrus localhost".
> It will prompt you for cyrus' password. Inside cyradm, you can type
> "help" to get list of all commands. To create mailbox for user foobar
> (for example), you would type "cm user.foobar". The "user." part is
> important, since if you type only "cm foobar", you would create shared
> folder, not user's mailbox!
>
> You'd probably want to create mailbox for root, yourself, and all other
> accounts that you want to receive mail for (most system accounts are
> aliased to root, so you don't need mailboxes for them, unless you
> changed /etc/aliases file). You can get list of all mailboxes and
> folders by typing "lm".
>
> To delete mailbox, you first need to allow cyradm to do that.
> Basically, you would grant priviledge with "sam user.foobar +c cyradm",
> and than delete mailbox with "dm user.foobar". It is kind of safety
> mechanism to prevent you from wiping out your entire mail store (yes,
> "dm user" would delete *all* mailboxes). There are many more things you
> can do from within cyradm, including setting up ACLs if you want users
> to be able share folders and so on.
>
> If you want mailboxes to be created automatically, instead of you
> creating them by hand, edit /etc/imapd.conf and add something along the
> lines:
>
> autocreatequota: -1
> autocreateinboxfolders: Drafts|Templates|Sent Items
> autosubscribeinboxfolders: Drafts|Templates|Sent Items
>
> When user logs in for the first time to check email, his mailbox will be
> created, and some common folders will be also created and user
> subscribed to them. Note that user will not be able to receive email
> before he logs in for the first time (since mailbox isn't existing),
> unless you created mailbox manually. I would advise against using
> "createonpost" option, since that would create mailboxes for
> non-existing users too. For more details, check imapd.conf man page.
--> 이부분은 옵션에 불과하지만 꽤 중요한 내용을 담고있다. 각 메일박스는 손으로 만들어주거나, 위의 옵션을 /etc/imapd.conf 에 추가해서 자동으로 만들어지게 할 수 있지만, 자동으로 만들어지는 시점은 POP이나IMAP으로 로그인한 시점에서야 가능하다.
즉, 메일박스가 만들어지기 전까지는 메일 수신이 불가능하다.
>
> You also need to instruct sendmail that email is no longer to be stored
> in /var/spool/mail directory. Go to /etc/mail directory, and edit
> sendmail.mc file. Remove (or comment) this two lines:
>
> FEATURE(`local_procmail')
> MAILER(procmail)
>
> And add this three lines:
>
> define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')
> define(`confLOCAL_MAILER',`cyrusv2')
> MAILER(cyrusv2)
>
> Rebuild sendmail.cf (type "m4 sendmail.mc > sendmail.cf"), restart
> sendmail, and off you go.
--> 내게는 이부분이 중요했다. cyrus-imapd는 일반적인 유저 디렉토리상의 mbox가 아닌 별도의 mailbox를 사용하므로 이부분을 바꿔주지않으면 cyrus-imapd로는 메일을 받아볼수가 없다. (mail명령으로는 메일수신을 확인할수 있지만...)
>
> There are many resources about Cyrus IMAPD. The O'Reilly book is sadly
> out of date, so I wouldn't recommend spending any money on it (until
> there is an updated version). There are some helpfull resources on
> Cyrus web site:
>
> http://asg.web.cmu.edu/cyrus/imapd/
>
> Sligtly out-of-date HOWTO (most stuff from it was already done for you
> by Red Hat, but you might want to check it out):
>
> http://en.tldp.org/HOWTO/Cyrus-IMAP.html
>
> There's also mailing list (you'll find links on Cyrus web site), that
> might be helpfull in some cases (in my experience too many bigshots on
> the list who don't want to be bothered with begginers questions).
>
> --
> Aleksandar Milivojevic
> Systems Administrator 1499 Buffalo Place
> Tel: (204) 474-2323 ext 276 Winnipeg, MB R3T 1L7
>
* References:
o Sendmail & Cyrus-imapd
+ From: GPL
o Re: Sendmail & Cyrus-imapd
+ From: Aleksandar Milivojevic
[Date Prev][Date Next] [Thread Prev][Thread Next] [Thread Index] [Date Index] [Author Index]
3. cyrus-imapd의 설정 수정(cyrus-imapd가 데이터베이스를 준비한다는 메시지 이후 기동실패하는 현상 해결)
(http://bbs.fedora.jp/read.php?FID=2&TID=967)
| Top | 掲示板 | wiki |
Google
このスレッドに返信する
Fedora JP BBS ≫ Fedora Core 3 ≫ スレッド : file誤認識によるcyrus-imapdの不具合
1
全 1 ページ
名前 コメント
K. Ishida
03/01/05 09:16
編集
file誤認識によるcyrus-imapdの不具合 cyrus-imapdを起動すると以下のエラーメッセージが出て
起動しません。
# more cvt_cyrusdb_all.log
you are using /var/lib/imap/sieve as your sieve directory.
fatal error: can't open old database
Converting from /var/lib/imap/mailboxes.db (berkeley) to /var/lib/imap/mailboxes.db.flat (flat)
ERROR: unable to convert /var/lib/imap/mailboxes.db from berkeley to flat
調べてみると cvt_cyrusdb_all で呼び出している
file コマンドが、mailboxes.db を誤認識しているようです。
# file mailboxes.db
mailboxes.db: Apple QuickTime movie (modified)
その場しのぎで以下のように
「Apple」の場合「skiplist」を返すように変更を加えたところ、
skiplistとして処理でき、cyrus-imapdが起動できました。
# more cvt_cyrusdb_all
file_type() {
this_type=$(file -b -m "$system_magic:$cyrus_magic" "$1" 2> /dev/null)
if echo "$this_type" | grep -qi skip > /dev/null 2>&amp;amp;1; then
echo skiplist
elif echo "$this_type" | grep -qi Apple > /dev/null 2>&1; then
echo skiplist
elif echo "$this_type" | grep -qi text > /dev/null 2>&1; then
echo flat
else
echo berkeley
fi
}
FC3インストール後、全てのパッケージを更新していますが、
この問題が生じています。
--> 동일한 현상이었으므로 해당파일을 수정하니 cyrus-imapd가 정상기동 되었다.
위에서 나타났다는 에러 메시지는 /var/lib/imap/rpm/cvt_cyrusdb_all.log
파일내에서 발견된다.
おそらくfileコマンドが使用するファイル
/usr/share/file/magic
に問題がありそうです。
なみ
03/01/05 10:36
編集
Re: file誤認識によるcyrus-imapdの不具合 Bug 148808 - cyrus-imapd doesn't start if started for the first time with the 2.2.10-3.fc3
https://bugzilla.redhat.com/beta/show_bug.cgi?id=148808
これでしょうか。ステータスがまだNEWなので、追加情報を書いてやると、向こうは助かるかと思います。
1
全 1 ページ
このスレッドに返信する
Access Count:5,579,537
Powered by F-board Ver0.3
Fedora and Red Hat are registered trademarks of Red Hat Inc.
4. mailman의 기동실패 현상 해결(mailman이라는 sitelist가 존재하지 않음)
(http://mail.python.org/pipermail/mailman-developers/2002-December/014184.html)
-->단순히 mailman이라는 메일링 리스트를 하나 작성하면 정상기동되었다.
[Mailman-Developers] "Site list is missing"
Stonewall Ballard sb.list at sb.org
Tue Dec 3 00:32:37 2002
* Previous message: [Mailman-Developers] "Site list is missing"
* Next message: [Mailman-Developers] [ mailman-Bugs-647102 ] MemoryError when generating indexes
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
You need to have a mailing list named "mailman". The INSTALL file says:
- Create a "site-wide" mailing list. This is the one that
password reminders will appear to come from. Usually this
should be the "mailman" mailing list, but if you need to change
this, be sure to change the MAILMAN_SITE_LIST variable in
mm_cfg.py (see below).
% bin/newlist mailman
Follow the prompts, and see the README file for more
information.
- You should then subscribe yourself to the mailman list.
- Stoney
On 12/2/02 5:20 PM, "NOW Website Coordinator"
> I can't find this answer in the archives, or in the scripts. The first
> time that 2.1 (right now I'm using 2.1b5) would send out password
> reminders, it failed with this message:
>
> Your "cron" job on now
> /usr/local/bin/python -S /usr/local/mailman/cron/mailpasswds
> produced the following output:
> Site list is missing: mailman
>
> When I look at the mailpasswds script, I find the section it came from:
>
> # This is the list that all the reminders will look like they come from,
> # but with the host name coerced to the virtual host we're processing.
> try:
> sitelist = MailList.MailList(mm_cfg.MAILMAN_SITE_LIST, lock=0)
> except Errors.MMUnknownListError:
> # Do it this way for I18n's _()
> sitelistname = mm_cfg.MAILMAN_SITE_LIST
> print >> sys.stderr, _('Site list is missing: %(sitelistname)s')
> syslog('error', 'Site list is missing: %s', mm_cfg.MAILMAN_SITE_LIST)
> sys.exit(1)
>
>
> but I'm not sure what exactly the problem is. Is there something in
> mm_cfg.py I should set?
>
> Thanks in advance.
>
> By the way, this worked for 2.0.
>
> Also: 2.1b5 fixed my earlier problem of not being able to see the
> members! Thanks.
>
>
> Sarah Stapleton-Gray
> --------------------------------------------
> Web Site Coordinator
> National Organization for Women
> http://www.now.org
>
>
>
> _______________________________________________
> Mailman-Developers mailing list
> Mailman-Developers@python.org
> http://mail.python.org/mailman/listinfo/mailman-developers
* Previous message: [Mailman-Developers] "Site list is missing"
* Next message: [Mailman-Developers] [ mailman-Bugs-647102 ] MemoryError when generating indexes
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Mailman-Developers mailing list
5. mailman관리 페이지상에서 list작성시
ERROR: Site list is missing: mailman 메시지 출현
--> site관리 암호가 지정되어있지 않아서이다.
/usr/lib/mailman/bin/mmsitepass 를 실행하여 패스워드를 지정한 뒤
웹 페이지상에서 위에서 지정한 패스워드를 사용하면 된다.
6. Unknown virtual host 메시지 출현
(http://mail.python.org/pipermail/mailman-developers/2004-February/016479.html)
[Mailman-Developers] Unknown virtual host
Robby Griffin rmg at terc.edu
Mon Feb 2 10:14:22 EST 2004
* Previous message: [Mailman-Developers] Unknown virtual host
* Next message: [Mailman-Developers] Unknown virtual host
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sunday, Feb 1, 2004, at 15:58 US/Eastern, Mark Edwards wrote:
> This is incorrect, secure.antsclimbtree.com most certainly is a known
> vitual host, both to apache and to exim. Obviously whatever method
> Mailman is using to check virtual host validity is consulting
> something other than apache or exim.
Right, mailman has to consult its own list of virtual hosts in order to
be sure it uses the correct, canonical mapping of webserver hosts to
mail domains for thru-the-web list creation. See bug #835870, fixed in
2.1.4 -- just because your 'create' CGI is reachable at some URL
doesn't necessarily mean you want people to be able to create lists
that refer to that hostname, especially for email. In your mm_cfg.py, I
believe you'd need to add this:
add_virtualhost('secure.antsclimbtree.com', 'secure.antsclimbtree.com')
--> add_virtualhost('실제 메일 서버의 호스트명(도메인까지)', '메일서버를 사용해서 메일을 보낼때 도메인부에 쓰이는 도메인명')
add_virtualhost('mail.mydomain.com', 'mydomain.com')
since you apparently intend both URLs and email addresses to contain
the full hostname. If you omit the second argument, mailman assumes the
corresponding emailhost is the same as the webserver minus the first
domain component, i.e. 'antsclimbtree.com'.
Or, you could set VIRTUAL_HOST_OVERVIEW = Off if you don't want to be
bothered with as many distinctions between virtual hosts. This sounds
useful if what you're really doing is running lists under some primary
domain with other possible domains acting like aliases for the primary.
> As I don't know python whatsoever, I can't figure out what test is
> being used here.
References to mm_cfg should be a big clue. Typically each python file
is a module with its own namespace, so mm_cfg.FOO is the FOO variable
set in (or imported by) mm_cfg.py. It's worthwhile when you're
upgrading Mailman to take a careful look at NEWS and Defaults.py to
check for new settings that you'll need to customize, things in your
mm_cfg.py that may have been changed or deprecated, etc. The virtual
host settings have been there for several releases.
That said, it might have been possible to resolve bug #835870 without
getting in your way, I just have no idea how. I would think list
creation would be ok if the domain were defined in mm_cfg.py, _or_ used
in any existing list, but that is probably too annoying to implement
and still confusing if you add a virtual host later. Certainly
consulting the apache or exim config is out of the question.
--Robby
* Previous message: [Mailman-Developers] Unknown virtual host
* Next message: [Mailman-Developers] Unknown virtual host
* Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Mailman-Developers mailing list
위의 자료들을 참조해서 무사히 메일서버 구축이 가능했다.
#################### 여기서부터는 추가 설정이다.
/etc/aliases에 설정한 mailman의 알리아스가 작동하지 않아 sendmail.mc를 고치던중
smrsh를 사용한 mailman에의 프로그램 redirect가 작동하지 않는것을 발견했다.
ESMTP및 IMAP을 사용하기 위해서는 위에서도 설정했지만 sendmail.mc의 맨 뒤에
....
MAILER(local)dnl
MAILER(smtp)dnl
dnl MAILER(procmail)dnl
dnl
dnl # Options for cyrus-imapd that sendmail stores mail
dnl
define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')
define(`confLOCAL_MAILER',`cyrusv2')
define(`CYRUSV2_MAILER_FLAGS',`A5@w')
MAILER(cyrusv2)dnl
의 설정을 추가했었다. 여기서 원래 메일러는 local 이었지만(지정가능한 MAILER들은 /usr/share/sendmail-cf/mailer 내의 *.m4파일들), cyrusv2로 송신하면서 alias의 프로그램 redirect설정이 메일 어드레스처럼 처리되어 버린다.
그래서 아래와 같은 에러메일로 반송되었다.
The original message was received at Thu, 9 Mar 2006 11:01:54 +0900
from xxx.xxxxxxxx.co.jp [xxx.xxx.xxx.xxx]
----- The following addresses had permanent fatal errors -----
"|/usr/lib/mailman/mail/mailman post test"
(reason: 550 5.1.1 User unknown)
(expanded from:)
----- Transcript of session follows -----
550 5.1.1 "|/usr/lib/mailman/mail/mailman post test"... User unknown
Reporting-MTA: dns; mydomain.co.jp
Received-From-MTA: DNS; xxx.xxxxxxxx.co.jp
Arrival-Date: Thu, 9 Mar 2006 11:01:54 +0900
Final-Recipient: RFC822; test@mydomain.co.jp
X-Actual-Recipient: RFC822; "|/usr/lib/mailman/mail/mailman post test"@mydomain.co.jp
Action: failed
Status: 5.1.1
Diagnostic-Code: SMTP; 550 5.1.1 User unknown
Last-Attempt-Date: Thu, 9 Mar 2006 11:01:55 +0900
| CYRUSV2_MAILER_FLAGS | [A@/:|m]The flags used by the cyrusv2 mailer. The flags lsDFMnqXz are always included. |
| CYRUSV2_MAILER_MAXMSGS | [undefined]If defined, the maximum number of messages to deliver in a single connection for the cyrusv2 mailer. |
| CYRUSV2_MAILER_MAXRCPTS | [undefined]If defined, the maximum number of recipients to deliver in a single connection for the cyrusv2 mailer. |
| CYRUSV2_MAILER_ARGS | [FILE /var/imap/socket/lmtp]The arguments passed to the cyrusv2 mailer. This can be used to change the name of the Unix domain socket, or to switch to delivery via TCP (e.g., `TCP $h lmtp') |
| CYRUSV2_MAILER_QGRP | [undefined]The queue group for the cyrusv2 mailer. |
| CYRUSV2_MAILER_CHARSET | [undefined]If defined, messages containing 8-bit data that ARRIVE from an address that resolves to one the Cyrus mailer and which are converted to MIME will be labeled with this character set. |
작성자:
WonYong Jung
1 コメント
場所
11/20/2005 06:03:00 오전
Oracle10g부터는 sqlplus를 사용하여 기동 및 정지를 행하도록 변경되었다.
4.2. Starting database services
Note: If you just installed Oracle, the database, TNS listener and enterprise manager are already running.
Start TNS Listener:
[oracle@denisnb ~]$ lsnrctl start
You can start the database via dbstart utility:
[oracle@denisnb ~]$ dbstart
or via SQL*Plus:
[oracle@denisnb ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.1.0.2.0 - Production on Fri Nov 12 17:13:01 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162537676 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
Database mounted.
Database opened.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@denisnb ~]$
Start Enterprise manager server (optional):
[oracle@denisnb ~]$ emctl start dbconsole
4.3. Stopping database services
Stop Enterprise manager server:
[oracle@denisnb ~]$ emctl stop dbconsole
You can stop the database via dbshut utility:
[oracle@denisnb ~]$ dbshut
or via SQL*Plus:
[oracle@denisnb ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.1.0.2.0 - Production on Fri Nov 12 17:21:32 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@denisnb ~]$
Stop TNS listener:
[oracle@denisnb ~]$ lsnrctl stop
4.4 Automating oracle startup and shutdown
To automatically start/shut oracle database during system startup/shutdown you need to write a script in /etc/rc.d/init.d directory. You can view or Download an example script.
Copy the script to /etc/rc.d/init.d as root user, edit environment variables to match your settings and modify its permissions:
[root@denisnb ~]# chown root.root /etc/rc.d/init.d/ora10
[root@denisnb ~]# chmod 755 /etc/rc.d/init.d/ora10
This startup/shutdown script uses chkconfig utility to simplify service management. It is configured to start oracle services in runlevels 3 and 5,with start priority 95 and stop priority 1.
Initialize new service:
[root@denisnb ~]# chkconfig ora10 reset
[root@denisnb ~]# chkconfig --list ora10
ora10 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Now oracle services will be automatically started when entering runlevels 3 and 5, and shut down when entering any other runlevel. For more information on chkconfig utility refer to its man page.
To manually start/stop oracle services you can use
[root@denisnb ~]# service ora10 start
and
[root@denisnb ~]# service ora10 stop
작성자:
WonYong Jung
1 コメント
場所
10/27/2005 08:55:00 오후
jsp 작성시 <@% .... %> 등의 선처리 부분이 처리되고나면
공백엔터가 삽입되게 되는데 이 경우 선처리 부분을 모두 연결해서 붙여버리면
문제가 해결되긴 하지만 소스의 가독성이 매우 떨어지게 된다.
그러므로 선처리 직후에 다음과 같은 줄을 추가하여
<% response.resetBuffer(); %><html>
버퍼를 삭제해 버리면 공백문제가 해결된다.
스태틱 인클루드의 경우는 버퍼가 아니므로 지워지지 않는다.
작성자:
WonYong Jung
0
コメント
場所
12/02/2004 11:34:00 오전

작성자:
WonYong Jung
0
コメント
場所
11/25/2004 01:34:00 오전
SourceForge.net: Quantum DB update site
이클립스용 SQL Editor 플러그인. 그럭저럭 쓸만하다.
단축키는 Ctrl + shift + Q 지만 익숙한 Ctrl+Enter를 하나 등록해서 사용하면 된다.
역시나 Toad 와 같은 한줄실행(블럭 지정안하고) 기능은 없다.
작성자:
WonYong Jung
0
コメント
場所
11/20/2004 11:53:00 오후
일본어는 JAVA상에서 Shift-JIS와 SJIS가 다른 문제가 존재한다.
그런데, 또 한가지 골치아픈 문제는 MS932와 Shift-JIS의 Tilde(~)가
서로 일치하지 않는것이 또 한가지의 문제이다.
이것은 기종 의존문자 영역을 MS932와 동일한 영역을 사용하고 있는 일본의 전화기들에 대해서 표시하는데 한가지 골치아픈 문제를 생산해낸다.
MS932는 JAVA내부에서 틸데를 전환할떄 ? 로 전환되어 버리는데, 이 틸데의 사용 빈도가 극히 낮다고 할 수 없다는것이 고민거리이다. 이것을 Shift-JIS(JAVA내에서는 SJIS로 사용해야 제대로 나옴)으로 표시하면 틸데 그 자신은 잘 표시되나, 이번에는 기종의존문자 영역이 제대로 표시되지 않고 깨져나와버린다. 그리하여 어느 한쪽을 골라야하지만 어느쪽도 고르지 못하는 딜레마에 빠지게 된다.(어느쪽도 문자깨짐이 발생하므로..)
그런데 최근의 일본 전화기에서(정확하게는 테스트한것이 OPEN WAVE사의 브라우저였으므로 전화기의 특성이 아닐지도 모르겠다.) UTF-8이 인식되는 현상이 보였다.
마찬가지로, "~"이나 "~" 로 출력하면 이 틸데가 정상적으로 보였다.
양쪽 코드 마찬가지로 유니코드에서 틸데의 위치를 차지하므로 눈으로는 정상적으로 보였다.
유니코드에서 틸데마크인 문자코드는 아래와 같다.
007E Tilde (라틴영역)
02DC small tilde
0303 combining tilde (틸데모양이 조금 다르다. 동그라미 위에 틸데가 얹힌듯한..)
223c tilde operator
FF5E fullwidth tilde
여기서는 전각 틸데를 표현하기를 원하므로 FF5E를 채택하는것이 맞다고 생각된다. 그러므로 65374=FF5E, 즉 출력할 문자열중에서 틸데를 찾아서 "~"로 변환하면 전화기에서 정상적으로 보는것이 가능하다. 이는 HTML, XHTML, DHML에서 동일한 동작을 보였다.
----------------- Japanese ----------------------
日本で開発をしている人なら一度は考えることになるだろうと思っている問題が文字コードだ。特にWEB系の開発、JAVAを利用したアプリならばなおさらだ。
何故かと言うと、JAVAではShift-JISとSJISの表記さえ同一のものではない。
また、携帯であればMS932で使われている機種依存文字も使っているためこの機種依存文字、たとえば「①、②…」などの文字を表示しようとする時、Shift-JISでページを表示させると機種依存文字+「~(全角ティルデ)」が使えない。SJISならば機種依存文字が使えない。
また、MS932ならば「~(全角ティルデ)」が使えない(文字化けする)問題が発生する。
なので、その機種依存文字+「~(全角ティルデ)」を使うためには、色んな方法があると思うが、既存の文字エンコードで一番効率よく表示できるMS932を使うのが賢明だと思われる。
だが、「~(全角ティルデ)」の表示はできない、ここで最近テストで分かったことだが日本の携帯(正確にはOPENWAVE社のブラウザ)がUnicodeを認識することだ。もちろん当然なことかもしれないが、"~", "~"などの表記がちゃんと文字に表示されている。
実際Unicodeで使われている「~(全角ティルデ)」は以下のようになっている
007E Tilde (ラティン領域)
02DC small tilde
0303 combining tilde (ティルデの模様が少し違う。丸の上に乗っているティルデ)
223c tilde operator
FF5E fullwidth tilde
ここで、「~(全角ティルデ)」は「FF5E fullwidth tilde」だと思われないのか。
FF5Eは10陣数で65374になるので、出力するまえに「~(全角ティルデ)」を"~"に変換する処理を追加することで「~(全角ティルデ)」を文字化けなく表示することが可能なのだ。
もちろん、これはMS932ではなくUnicodeだが、文字をいちいち検索して変換する処理よりは簡単な作業なのは確かだと思う。
また、この方法はHTML, XHTML, DHMLで同じ動作を見せたため、ある程度古い携帯にも通用すると考えられる。
작성자:
WonYong Jung
5
コメント
場所
11/16/2004 09:36:00 오후
Oracle JDBC Drivers
JDBC드라이버에 관한 자료
작성자:
WonYong Jung
0
コメント
場所
11/06/2004 05:59:00 오후
COCOBASE DEVELOPER SECTION "INTRODUCTION"
하이버네이트와 비슷한 목적을 가진 놈 같음
작성자:
WonYong Jung
0
コメント
場所
11/05/2004 01:30:00 오후
Eclipse Web Tools Platform Project
IBM의 이클립스용 WEB Tools Platform
작성자:
WonYong Jung
0
コメント
場所
11/02/2004 02:02:00 오전
IntelliJ Community . SQLQueryPlugin
IntelliJ용 플러그인 제공 사이트입니다.
작성자:
WonYong Jung
0
コメント
場所
11/01/2004 10:27:00 오후
작성자:
WonYong Jung
0
コメント
場所
11/01/2004 02:15:00 오후
What is Maven Workshop?
Maven Workshop is a free Eclipse plugin code generation tool and classpath management tool to be used with the Maven build system. The plug-in features a new project wizard which allows you to create project templates that include user input, class files/resources to be created, directories/packages to be created and Maven dependencies that are to be added to the classpath.
The other features that this plug-in gives you are the ability to create groups of related Maven dependencies to quickly add to (or remove from) your classpath as well as a build action integrated into Eclipse.
Features
* New Project Wizard
* Create Maven dependency groups to add/remove from your project classpath
* Change the dependency version of classpath entries
* Remove any selected set of Maven dependencies from your project classpath
* Synchronize project.xml dependencies to and from your project classpath
* Run Maven builds directly from Eclipse
How do I install this plugin?
You must have Eclipse 3.0 (at least, I haven't tested on older versions). The update site is below:
* http://www.binamics.com/mavenworkshop/eclipse3
작성자:
WonYong Jung
0
コメント
場所
11/01/2004 01:06:00 오후
www.naokis.net
여러군데를 여행다닌 한 일본인의 재미있는 여행기
작성자:
WonYong Jung
0
コメント
場所
10/27/2004 10:08:00 오전
Eclipse platform plugin
문법 컬러링 플러그인
인스톨 URL(이클립스)
http://colorer.sf.net/eclipsecolorer/
작성자:
WonYong Jung
0
コメント
場所
10/26/2004 02:40:00 오후
이클립스 3.x에 롬보즈 3.1을 설치하려면 우선 아래 링크로 가서
롬보즈 3.1 & emf-sdo runtime 다운로드
emf-sdo-runtime-2.0.0.zip
lomboz.301.zip
를 다운받는다.
이클립스를 일단 종료한다음
롬보즈는 plugins 디렉토리에 풀고, emf-sdo 도 역시 설치해야한다.(그렇지 않으면 이클립스에서 인지하지 못함)
그 다음은 http://www.objectlearn.com/support/docs/installation/install.jsp#의 설명대로 설정할 것
작성자:
WonYong Jung
0
コメント
場所
10/24/2004 01:39:00 오후
작성자:
WonYong Jung
0
コメント
場所
10/22/2004 11:49:00 오전
작성자:
WonYong Jung
0
コメント
場所
10/22/2004 11:48:00 오전
http://kr.sun.com/service/techdocs/0001/000045.html
작성자:
WonYong Jung
0
コメント
場所
6/24/2004 02:58:00 오후
FAQ Overview
Resin의 FAQ페이지. RESIN의 동시 처리 가능한 유저수를 알아볼것.
-> 아파치가 동시접속자수가 255라도 RESIN이 그 이하라면 APACHE도
그 이하로 작동할 것으로 추정.
그렇다면, 레신이 대략 50개정도의 유저를 처리할수 있다고 하면
아파치는 동시접속자수가 다 차지 않았는데도 불구하고 처리불능상태로
빠질 수 있음. 재기동이 필요한지는 모르겠음. 다만 재기동 기준이
일정시간 내에 답변이 없는 경우 좀비로 판단하고 있다면(아파치 내부에서)
레신으로부터 답변을 받지 못하고 있는 자식 프로세스를 재기동 시킬 가능성이
존재함. 이런 경우에 TCP의 SYN조차 받아들이지 못하는것인지
받아들인다음에 응답을 못하는것(이쪽일거라 생각)인지 판단할 필요가 있음.
작성자:
WonYong Jung
0
コメント
場所
6/21/2004 08:59:00 오전
ASH.JP 文字コードセットについて
日本のマルチミデア関係サイト。いろいろいい資料がある。
작성자:
WonYong Jung
0
コメント
場所
6/02/2004 01:32:00 오후