Posted on 2012/02/02 09:40
Filed Under Linux/장애처리

DNS server, DNS service  


MySQL에서 사용하는 log-bin이라는 옵션은 사용된 쿼리들이 로깅되는 파일이며 innodb 혹은 replication 등에 사용된다. 하지만 이 파일의 문제점은 무한정 늘어난다는 것이다. relay-log-space-limit 이란 옵션이 있는데 이는 replication에 사용되는 용량을 제한하는 옵션이라 큰 해결은 안되다.

이를 해결하기 위한 방법으로 아래의 쿼리를 실행해본다.

 

PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)

INTERVAL 30 DAY란 30일 이전의 로깅 정보를 삭제하게 된다.

 

# root 계정으로 실행

>mysql -u root -p -e "PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY)"

>비번 입력

 

# 위의 파일을 가지고 복구

/usr/local/mysql/bin/mysqlbinlog /usr/local/mysql/var/localhost-bin.00001>backup.sql 로 일반 쿼리로 변환

 

# 특정 디비만 가지고 올 경우

-d 디비명

 

# 시간 지정

--start-datetime="2010-09-30 01:00:00" --stop-datatime="2010-10-09 01:00:00"

 

# 복원

/usr/local/mysql/bin/mysql -u 사용자 -p < backup.sql
2012/02/02 09:40 2012/02/02 09:40

Posted on 2012/02/01 17:25
Filed Under Linux/장애처리

DNS server, DNS service  




*. smtp 인증 기능은 Relay 설정 없이 계정만으로 외부에서 메일 서버를 이용하게 하는 방법이다. 기본적으로 Relay로 가능하니 필요없는 기능이나, 유동 IP대역에서 메일 서버를 활용해야 하는 경우 필요하다. (관련 설정 참조 : 클릭.)
*. SELinux가 활성화되어 있는 상태에서는 setup or system-config-securitylevel 명령을 이용하거나, iptable 설정을 직접 변경하여 외부 접속을 허용해줘야 한다.
*. SELinux가 비활성화되어 있는 경우, /etc/hosts.allow에 다음의 내용을 추가해줘야 한다.
# vi /etc/hosts.allow
sendmail : ALL : allow (보안 정책에 맞게 ALL을 수정해주길..)
2012/02/01 17:25 2012/02/01 17:25

Posted on 2012/02/01 16:40
Filed Under Linux/설정방법

DNS server, DNS service  

출처 : 리눅스 포털  : http://www.linux.co.kr/home/lecture/index.php?cateNo=&secNo=&theNo=&leccode=120



지금 써 내러 가는 강좌는 레드햇 9.0을 기반으로 써 내려갑니다. 물론 다른 버전과 어느정도 호환성은 가지고 있겠지만, 테스트 해보지 않고 씁니다. 앞의 설치 강좌를 보지 않았다면, 한번쯤 시간 내어 보기를 바랍니다.
 서버 설치후 메일 서버설치는 옵션이 아닌 필수가 되었습니다. E-mail 은 오래전부터 사용되었습니다. 개인적으로 메일서버는 qmail이 더 좋다고 생각합니다. 모든 면에서.. 하지만, qmail은 간단하게 설치 할 수 없고 배포판에 딸려 나오지 않았기 때문에 , 배포판 설치하면 기본적으로 설치된 sendmail을 사용하는 방법을 강좌로 써 보겠습니다.

1. 설치
  센드메일은 앞의 설치 강좌데로 설치했다면, 이미 설치되었을 것입니다.
하지만 설치가 되었는지 확인할 필요가 있습니다.  확인하는 법은 다음과 같습니다.

[root@test root]# rpm -qa | grep sendmail
sendmail-cf-8.12.8-4
sendmail-8.12.8-4

 위와같은 결과가 나왔다면 배포판과 함께 이미 설치된 것입니다.
만약 위의 2개의 패키지중 sendmail-cf-8.12.8-4 이 패키지가 설치 되지 않았다면, 걱정하실 필요 없이 다음에 설명하는 방법으로 설치하면 패치된 버전을 설치 할 수 있습니다.

2. 패치된 버전 업그래이드 설치
 sendmail은 보안에 취약하여, 항상 최신버전을 사용하라고 합니다. 하지만 소스 받고 컴파일 하기엔 너무 설치 작업이 오래 걸리기 때문에,.. 커널 처럼 패치판을 받아서 설치하도록 하겠습니다.
 항상 편하게 하기 위해서 서버에 깔려있는 wget을 사용합니다. 이 명령어는 위험하기 때문에.. 속성을
chmod 700 /usr/bin/wget 으로 해 두시기 바랍니다.^^:
2개의 패키지를 가져옵니다. 물론 간단한 wget 명령어를 사용합니다.
[root@test root]# wget http://ftp.superuser.co.kr/pub/redhat/9/update/sendmail-8.12.8-9.90.i386.rpm
--16:34:22-- http://ftp.superuser.co.kr/pub/redhat/9/update/sendmail-8.12.8-9.90.i386.rpm
           => `sendmail-8.12.8-9.90.i386.rpm'
Resolving ftp.superuser.co.kr... 완료.
Connecting to ftp.superuser.co.kr[210.114.223.221]:80... connected.
HTTP 요청을 보냅니다, 서버로부터의 응답을 기다림...200 OK
길이:   535,659 [audio/x-pn-realaudio-plugin]
100%[==================================================================>] 535,659      371.00K/s    ETA 00:00
16:34:24 (371.00 KB/s) - `sendmail-8.12.8-9.90.i386.rpm'가 보존되었습니다 [535659/535659]

[root@test root]# wget
 http://ftp.superuser.co.kr/pub/redhat/9/update/sendmail-cf-8.12.8-9.90.i386.rpm

--16:34:41-- http://ftp.superuser.co.kr/pub/redhat/9/update/sendmail-cf-8.12.8-9.90.i386.rpm
           => `sendmail-cf-8.12.8-9.90.i386.rpm'
Resolving ftp.superuser.co.kr... 완료.
Connecting to ftp.superuser.co.kr[210.114.223.221]:80... connected.
HTTP 요청을 보냅니다, 서버로부터의 응답을 기다림...200 OK
길이:   292,786 [audio/x-pn-realaudio-plugin]
100%[==================================================================>] 292,786      329.41K/s    ETA 00:00
16:34:42 (329.41 KB/s) - `sendmail-cf-8.12.8-9.90.i386.rpm'가 보존되었습니다 [292786/292786]

위와같은 방법을 사용하면 .. 간단하게 패키지를 서버로 가져올 수 있습니다.
이렇게 완벽하게 패키지 파일들을 가져 왔다면, 패키지를 설치 및 업그래이드 해야합니다.
[root@test root]# rpm -Uvh sendmail-8.12.8-9.90.i386.rpm
경고: sendmail-8.12.8-9.90.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                 ########################################### [100%]
   1:sendmail               경고: /etc/mail/submit.cf(이)가 /etc/mail/submit.cf.rpmnew(으)로 생성되었습니다
########################################### [100%]
[root@test root]# rpm -Uvh sendmail-cf-8.12.8-9.90.i386.rpm
경고: sendmail-cf-8.12.8-9.90.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                  ########################################### [100%]
   1:sendmail-cf           ########################################### [100%]

이렇게 2 패키지를 업데이트(-Uvh) 합니다. 물론 패키지가 설치 되어 있지 않았다면, 설치 되었을 것입니다.
모든 작업은 실행후에 확인을 철저히 해야합니다.
[root@test root]# rpm -qa | grep sendmail
sendmail-cf-8.12.8-9.90
sendmail-8.12.8-9.90
 위의 결과와 같이 업데이트 또는 설치되었다는 것을 확인하실 수 있습니다.

3. /etc/mail/sendmail.mc 파일 편집
  sendmail의 환경설정 파일인 sendmail.cf파일을 직접 건드려서 설정하면 보다 더 정확하고 상세 정보를 수정하고 성능 향상에 도움이 되겠지만, 하나의 언어를 익히는 것만큼의 노력과 시간이 필요합니다. 다행히 sendmail의 환경 설정 파일은 메크로 처리그를 이용해서 어느 부분만 설정하면, 간단하게 sendmail.cf파일을 작성할 수 있습니다.
  고급 설정을 원하시는 분들은 sendmail을 공부하시는 것 보다 qmail 에 시간을 더 투자 하시는게 좋을 것 같습니다.^^

/etc/mail/sendmail.mc 파일을 편집기를 이용해서 열어야 합니다.
 44, 45번째 줄의 내용을 편집합니다. 이는 smtp 인증 기능 사용을 위해서입니다. 이 smtp 인증기능을 사용하는 이유는 smtp 프로토콜은 아주 오래전에 만들어진 것입니다. 그 때는 스팸메일을 보내는 사람들도 없었기 때문에 모두 open relay이었습니다. 하지만 시간이 지나면서 이 open relay를 이용해 스패머들이 스팸메일을 뿌리기 시작했습니다. 이를 막기위해 인가된 사용자의 메일만 relay(중계)하는 방법이 필요했고, 이 방법을 smtp 프로토콜 위에 얹은 것 정도로 보시면 됩니다. 이 smpt 인증 방법이전에는 사용자의 ip로 인증하곤 했었습니다.

dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

위의 내용에서 빨간 부분을 지우시기 바랍니다.
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
위와같이 되죠^^;

85번재 줄을 편집합니다. senmail은 언제부턴가 로컬(서버)에서 보내는 메일만 relay(전달)하였습니다. 하지만, 메일서버로 사용하기 위해서는 이 설정을 지워야 합니다.
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
아래와 같이 빨간 부분을 적어 넣어 주석 처리 합닏.
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

이렇게 하면 sendmail.mc 파일 편집은 끝납니다. 물론 많은 내용이 있습니다. 하지만 알고 싶으면 서버 설치후 시간이 많이 난다면 하나 하나 분석 해 보시는 것도 좋습니다만~~^^;

이젠 만들어진 sendmail.mc 파일로 sendmail.cf 파을을 만들어야 합니다.
[root@test mail]# pwd
/etc/mail
[root@test mail]# m4 sendmail.mc > sendmail.cf 

 위와같이 한줄로 sendmail.cf파일은 생성됩니다. 이렇게 생성 하였다면, 반드시 sendmail을 재 시작해야 합니다. sendmail은 시작할 때 환경설정파일(sendmail.cf )을 로드 하기 때문입니다.
[root@test mail]# /etc/rc.d/init.d/sendmail restart
sendmail를 종료하고 있습니다:                             [  확인  ]
sm-client을 종료하고 있습니다:                            [  확인  ]
sendmail (을)를 시작합니다:                               [  확인  ]
sm-client을 시작하고 있습니다:                            [  확인  ]

4. /etc/mail/access 파일 편집
  이 파일을 잘 사용하면 조금의 스팸 필터링을 할 수 있습니다. 하지만 기본 설정만 하도록 하겠습니다.
이 서버에서 사용할 도메인을 다음과 같이 넣어줘야 합니다. 예를 들어 도메인이 0link.co.kr 이라면,
0link.co.kr                    RELAY
이렇게 relay가 가능하게 합니다. 이 설정은 메일을 보낼 때 위 도메인으로 메일을 보내면 relay를 하겠단 설정입니다.
이렇게 설정하고 다음과같이 db를 만둘어 주어야 합니다.
[root@test mail]# makemap hash access < access
이때 주의 하시기 바랍니다. "< " 이렇게 되죠^^:

5. /etc/mail/local-host-names
  이 파일은 쉽게 설명하면 메일을 받을 도메인을 넣어두는 파일입니다.. 예를들어 도메인이 0link.co.kr이라면,
0link.co.kr
위와같이 도메인을 달랑 적어주면 됩니다. 물론 다중 도메인이면 한 도메인에 한줄씩 줄~줄~ 적으면 됩니다.
위 파일설정을 바꾼 다음엔 반드시 sendmail을 재 시작해 줘야합니다.~

6. /etc/mail/virtusertable 파일 이용한 가상 유저 셋팅
 sendmail은 기본적으로 시스템(리눅스)의 계정을 사용합니다. 그래서 도메인이 다르다고 하더라도 계정이 이름이 같으면 같은 사람으로 취급합니다. 예를 들면, 셋팅한 서버에 2개의 도메인(0link.co.kr, hyung.co.kr)이 설정되어있다고 가정합니다. 모두 홈페이지를 운영하고 있다면, webmaster@0link.co.kr 과 webmaster@hyung.co.kr 이라는 메일 주소가 존재 할 것입니다. 그렇다면 서버에서 webmaster이라는 계정을 생성한 다음 메일을 받아보면, 위 2 주소로 보낸 메일 모두 webmaster라는 계정으로 들어오게 됩니다. 이런 경우 사용하는 것이 virtusertable입니다.
  webmaster@0link.co.kr 이라는 계정으로 오는 메일은 link 라는 계정으로
  webmaster@hyung.co.kr 으로 오는 메일은 hyung 라는 계정으로 받아보게 설정하는 것입니다.

webmaster@0link.co.kr             link
webmaster@hyung.co.kr          hyung위와같이 설정하면 가능합니다.
(주의) 메일 계정과 linux 계정 사이에는 키로 띄워 주시기 바랍니다. 그렇게 하지 않으면 인식하지 못합니다.

이렇게 설정하고 다음과같이 db를 만둘어 주어야 합니다.
[root@test mail]# makemap hash virtusertable < virtusertable
이때 주의 하시기 바랍니다. "< " 이렇게 되죠^^:


7. pop3 서버 설치
 지금까지 mail 서버를 설치하였습니다. 물론 지금까지 설치로 메일서버의 기능을 할 수 있습니다. 서버내에서 mutt등 메일 클라이언트를 사용하여 메일을 보내고 받을 수 있습니다. 하지만 모두다 outlook같은 프로그램으로 pc에서 받아보길 원할 것입니다. outlook에서 메일을 받아 보기 위해서는 imap 또는 pop3 서버를 설치해야 합니다. 대 부분의 사람들이 imap 보다는 pop3 서버를 많이 사용합니다. imap은 webmail에서 많이 사용합니다. pop3 서버는 개인적으로 qpopper이 더 좋다고 생각하지만. 그 프로그램을 컴파일 하여 설치하기엔 시간이 너무 많이 걸립니다. 간단하게 rpm으로 설치할 수 있는 pop3서버를 설치 해 보도록하겠습니다. 제가 쓴 설치 강좌데로 설치 했다면 아래의 패키지가 설치 되어있을것입니다.

[root@test mail]# rpm -qa | grep imap
imap-2001a-18

위와같이 설치되어 있지 않다면 다음 방법으로 설치하시기 바랍니다.
wget http://ftp.superuser.co.kr/pub/redhat/9/RPMS/imap-2001a-18.i386.rpm
rpm -Uvh imap-2001a-18.i386.rpm
이렇게 설치 하게 되면, imap, imaps , ipop3, pop3s 이렇게 4개의 서버가 설치됩니다.
여기서 ipop3 만 사용합니다.

ntsysv
명령어를 사용하여 다른 데몬은 채크를 지워 주시기 바랍니다. 물론 ipop3는 채크가 된 상태여야 합니다.

xinetd를 재 시작해야 합니다.
[root@test mail]# /etc/rc.d/init.d/xinetd restart
xinetd 를 정지함:                                          [  확인  ]
xinetd (을)를 시작합니다:                                 [  확인  ]

모두들 아실 것이라고 믿고 outlook설정은 설명하지 않겠습니다. 단지 설정하시고,
도구 -> 계정 -> 속성 -> 서버 -> 인증필요(채크) -> 적용
위와같이 설정하시기 바랍니다.(smtp 인증법)

8. 서버 데몬 확인 및 서비스 확인
  이렇게 설치 하셨다면, 간단한 메일 서버는 셋팅은 끝입니다.  이제 서비스를 확인해야 합니다.
[root@test mail]# netstat -an | grep LISTEN
tcp        0      0 0.0.0.0:1024            0.0.0.0:*              LISTEN      
tcp        0      0 127.0.0.1:1029         0.0.0.0:*               LISTEN      
tcp        0     0 0.0.0.0:110             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:111             0.0.0.0:*              LISTEN      
tcp        0      0 0.0.0.0:22             0.0.0.0:*               LISTEN      
tcp       0      0 0.0.0.0:25              0.0.0.0:*               LISTEN    

현재 열려있는 포트입니다. 다른 것들은 서비스에 따라 다를 수 있으니 신경쓰지 마시구요, 110 포트(pop3),
25번 포트(smtp 그러니까 sendmail)입니다. 위와같아야 합니다.

9. 메일큐 내용 확인하기
  홈페이지 운영하다 메일링 리스트에서 메일을 보내게 되면, 정상적인 메일주소로는 메일이 가지만, 정상적인 메일주소가 아닌 경우 가지도 않고 메일큐(/var/spool/mqueue)에 쌓여서 서버의 부하를 주는 경우가 있습니다.. sendmail은 기본설치된 것이 1시간마다 메일큐를 비우게 되어 있고, 한 번 보낸 메일은 7일동안 메일을 보내려고 시도하게 됩니다.. 메일큐에 보내지 못한 메일이 많으면 서버에 부하만 늘어납니다.  이런 경우 mailq라는 명령어로 큐 내용을 확인하여 지워줘야 합니다..
[root@test root]# mailq
/var/spool/mqueue is empty
                Total requests: 0
 위와 같은 경우 메일큐가 비어있는 상태입니다.
큐를 지우는 방법은
[root@test root]# rm -rf /var/spool/mqueue/* 
이렇게 해서 메일큐를 비울 수 있습니다.. 모두 지웠다면 반드시 sendmail을 재시작 해 주기 바랍니다.

10. 도메인 셋팅 스크립트
  서버를 많이 관리하다보면 파일 하나 하나 열어서 셋팅하는 일이 귀찮고도 시간이 많이 걸립니다. 항상 스크립트를 작성해두고 설정하는 것이 실수를 줄이고, 작업 시간도 줄일 수 있습니다. 다음과 같이 간단 한 스크립트를 작성해서 저장합니다.
#!/bin/bash
echo "간단한 메일 셋팅 프로그램 by doly엣superuser.co.kr "
if [ "$1" == "" -o "$2" == "" ] ; then
        echo -e "n ############ 사용법 ############## "
        echo -e "$0 아이디 도메인 n"
        exit 0
fi

echo "webmaster@$2 으로 들어오는 메일은 $1@$2 메일계정으로 받습니다."
echo -e "$2 ttt RELAY" >> /etc/mail/access
echo "$2" >> /etc/mail/local-host-names
echo -e "webmaster@$2 ttt $1" >> /etc/mail/virtusertable
echo "1. db 생성중.."
makemap hash /etc/mail/access < /etc/mail/access
makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
echo "2. 센드메일 재 시작중 "
/etc/rc.d/init.d/sendmail restart


파일을 만들어서 위 내용을 붙여 넣은 다음에 실행 권한을 줍니다. 그리구 아래와같이 실행하면,
[root@test root]# ./mailsetup.sh
간단한 메일 셋팅 프로그램 by doly엣superuser.co.kr

 ############ 사용법 ##############
./mailsetup.sh 아이디 도메인

위와같이 실행시키면 간단한 사용법이 나옵니다.

[root@test root]# ./mailsetup.sh doly 0link.co.kr
간단하 메일 셋팅 프로그램 by doly엣superuser.co.kr
webmaster@0link.co.kr 으로 들어오는 메일은 doly@0link.co.kr 메일계정으로 받습니다.
1. db 생성중..
2. 센드메일 재 시작중
sendmail를 종료하고 있습니다:                              [ 확인  ]
sm-client을 종료하고 있습니다:                             [  확인  ]
sendmail (을)를 시작합니다:                                [  확인  ]
sm-client을 시작하고 있습니다:                            [  확인  ]

위와같이 id : doly , 0link.co.kr으로 입력하면 위와같이 자동 셋팅됩니다.
/etc/mail/access 파일, /etc/mail/local-host-names, /etc/mail/virtusertable 파일이 변경되고, db 갱신되며, sendmail 재시작 됩니다.

11. 마치며..

 메일서버는 이게 전부가 아니지만 최대한 간단하게 강좌를 쓰고 마치도록 하겠습니다. 본 강좌의 셋팅에서 여러 에러 가 나타날 수 있습니다. 설정 안되는 부분이 있으면, 아래의 메일 주소로 메일 한통 주시면 답변을 해 드리고 강좌를 수정하도록 하겠습니다.  부디 많은 도움이 되시길 바랍니다.
   혹시 본 강좌에 대한 질문 및 오타를 발견하게 되면, 메일 한통 보내주기 바란다. 메일주소는 doly 골뱅이superuser.co.kr 이다. 메일 주소를 무단 수집해서 스팸메일을 보내는 이를 막기 위해서 위와 같이 표기했으며, 골뱅이 부분은 @ 치환하면 됩니다.

  이상... 2004. 5. 24 ~ 수퍼유저 운영자 doly ...

2004.08.26 Fedora Core 2에서 smtp 인증기능 : /etc/rc.d/init.d/saslauthd 데몬을 띄워야 합니다.

2012/02/01 16:40 2012/02/01 16:40

Posted on 2012/02/01 15:49
Filed Under Linux/장애처리

DNS server, DNS service  


CentOS 4.4에 Sendmail로 송신 테스트를 하기 위해 설치 하던중
sendmail.cf를 만드는 과정에서 다음과 같은 에러가 났다.

에러:
]# m4 /etc/mail/sendmail.mc > ! /etc/mail/sendmail.cf
/etc/mail/sendmail.mc:10: m4: cannot open `/usr/share/sendmail-cf/m4/cf.m4': No such file or directory


검색해보니 sendmail-cf가 설치되어 있지 않아서 그런듯 했다.

(CentOS4.4에 기본적으로 들어있지 않는듯 하다.)




해결:
$ yum install sendmail-cf


위와 같은 방법으로 설치 해서 해결.
2012/02/01 15:49 2012/02/01 15:49

Posted on 2012/01/10 23:44
Filed Under Programming/PHP

DNS server, DNS service  

yyyy년mm월dd일 포멧의 날짜를 yyyymmdd 형식으로 바꾸는 다양한 방법들.

$date = '2010년04월20일'; // 형태는 4년2월2일

이 값에서 숫자 부분인 '20100420'만 뽑는 방법입니다.



먼저 문자열(배열 관련 함수를 많이 사용하지만) 처리 방법입니다.


▶ 문자열 처리 #1

고정 길이기 때문에 substr() 함수를 이용합니다.

────────────────────────────────────────
$date = substr($date,0,4).substr($date,6,2).substr($date,10,2);
────────────────────────────────────────

substr() : http://php.net/manual/kr/function.substr.php

참고로 .은 문자열 결합 연산자입니다.
String Operators : http://php.net/manual/kr/language.operators.string.php



▶ 문자열 처리 #2

str_replace() 함수를 이용해 년, 월, 일 문자를 제거합니다.

────────────────────────────────────────
1 $date = str_replace('년','',$date); // 201004월20일
2 $date = str_replace('월','',$date); // 20100420일
3 $date = str_replace('일','',$date); // 20100420
────────────────────────────────────────

str_replace() : http://php.net/manual/kr/function.str-replace.php

참고로 해석이 필요없는 문자열 값은 '(Single Quote)로 감싸주세요.
문자열 관련 : http://php.net/manual/en/language.types.string.php


▶ 문자열 처리 #3

strtr() 함수를 이용하면 #2 과정을 한 번에 처리할 수 있습니다.

────────────────────────────────────────
$remove['년'] = '';
$remove['월'] = '';
$remove['일'] = '';

// 또는

$remove = array('년'=>'','월'=>'','일'=>'');

// 둘 중 편한 형태로 미리 연관 배열을 할당합니다.

$date = strtr($date,$remove);

// 물론 변수에 담지 않고 바로 이용도 가능합니다.

$date = strtr($date,array('년'=>'','월'=>'','일'=>''));
────────────────────────────────────────

strtr() : http://php.net/manual/en/function.strtr.php
연관 배열 : http://php.net/manual/kr/language.types.array.php


▶ 문자열 처리 #4

explode() 함수를 이용해 년, 월, 일을 잘라줍니다.

────────────────────────────────────────
$a = explode('년',$date); // [0] => 2010 [1] => 04월20일
$b = explode('월',$a[1]); // [0] => 04 [1] => 20일
$c = explode('일',$b[1]); // [0] => 20 [1] =>
$date = $a[0].$b[0].$c[0];
────────────────────────────────────────

reset() 함수로 배열의 첫 번째 값을 쉽게 가져올 수 있습니다.
array_shift() 함수로 배열의 첫 번째 값을 뺄 수 있습니다.

explode() : http://php.net/manual/kr/function.explode.php
reset() : http://php.net/manual/kr/function.reset.php
array_shift() : http://php.net/manual/kr/function.array-shift.php


▶ 문자열 처리 #5

list() 함수를 이용하면 #4 변수 사용이 좀 더 간편해집니다.

────────────────────────────────────────
list($y,$date) = explode('년',$date); // $y=2010, $date=04월20일
list($m,$d) = explode('월',$date); // $m=04, $d=20일
list($d) = explode('일',$d); // $d=20
$date = $y.$m.$d;
────────────────────────────────────────

list() : http://php.net/manual/kr/function.list.php


▶ 문자열 처리 #6

explode()와 함께하는 implode() 함수를 이용해보겠습니다.

────────────────────────────────────────
$date = implode('',explode('년',$date));
$date = implode('',explode('월',$date));
$date = implode('',explode('일',$date));
────────────────────────────────────────

implode() : http://php.net/manual/kr/function.implode.php


▶ 문자열 처리 #7

sscanf() 함수를 이용하면 형식에 맞게 값을 뽑을 수 있습니다.
다 만, 앞에 0이 붙었으면 0을 제거해주기 때문에 조정이 필요합니다.

────────────────────────────────────────
$temp = sscanf($date,'%4d년%2d월%2d일'); // [0] => 2010 [1] => 4 [2] => 20
if ( $temp[1]<10 ) $temp[1] = '0'.$temp[1]; // 4 => 04
if ( $temp[2]<10 ) $temp[2] = '0'.$temp[2];
$date = implode('',$temp); // $date = $temp[0].$temp[1].$temp[2];
────────────────────────────────────────

sscanf() : http://php.net/manual/kr/function.sscanf.php


▶ 문자열 처리 #8

#7의 코드에 그 위에서 언급한 list() 함수를 이용해볼까요?

────────────────────────────────────────
list($y,$m,$d) = sscanf($date,'%4d년%2d월%2d일'); // $y=2010, $m=4, $d=20
if ( $m<10 ) $m = '0'.$m;
if ( $d<10 ) $d = '0'.$d;
$date = $y.$m.$d;
────────────────────────────────────────

참고로 each() 함수를 살펴보세요. list() 함수와 궁합이 좋습니다.
each() : http://php.net/manual/kr/function.each.php


▶ 문자열 처리 #9

sscanf()에서 곧바로 변수 할당도 가능합니다.
이번에는 sprintf() 함수로 형식에 맞는 문자열을 만들어보겠습니다.

────────────────────────────────────────
sscanf($date,'%4d년%2d월%2d일',$y,$m,$d); // $y=2010, $m=4, $d=20
$date = sprintf('%04d%02d%02d',$y,$m,$d);
────────────────────────────────────────

sprintf() : http://php.net/manual/kr/function.sprintf.php


▶ 문자열 처리 #10

strpos() 함수를 이용하면 지정한 문자(열)의 위치를 구할 수 있습니다.

────────────────────────────────────────
$py = strpos($date,'년'); // 4
$pm = strpos($date,'월'); // 8
$pd = strpos($date,'일'); // 12
$date = substr($date,0,$py).substr($date,$py+2,2).substr($date,$pm+2,2);
────────────────────────────────────────

strpos() : http://php.net/manual/kr/function.strpos.php


▶ 문자열 처리 #11

이번에는 고전적인 방법을 이용해보겠습니다.
문자열의 길이만큼 반복하며 1바이트씩 읽어 숫자일 때 붙여주는 것이죠.
먼저 풀어쓴 코드부터 보시죠.

────────────────────────────────────────
$original = $date; // $original에 기존 $date값을 할당
$len = strlen($date); // 문자열 길이 구해주고
$date = ''; // 결과값을 이곳에 담기 위해 빈 문자열로
for ($i=0;$i<$len;$i++) // 길이만큼 반복
{
    if ( is_numeric($original[$i]) ) $date.= $original[$i]; // 숫자인 경우 붙임
}
────────────────────────────────────────

for() : http://php.net/manual/kr/control-structures.for.php
strlen() : http://php.net/manual/kr/function.strlen.php
is_numeric() : http://php.net/manual/kr/function.is-numeric.php
ctype_digit() : http://php.net/manual/kr/function.ctype-digit.php

편 의상 is_numeric() 함수를 이용했습니다.
그리고 위에서 보다시피 '2010년04월20일'은 문자열 값이지만
[] 를 이용해 배열처럼 접근할 수 있습니다.


▶ 문자열 처리 #12

#11보다 더 고전적인 방법입니다. 아스키 값을 이용합니다.

────────────────────────────────────────
$original = $date; // $original에 기존 $date값을 할당
$len = strlen($date); // 문자열 길이 구해주고
$date = ''; // 결과값을 이곳에 담기 위해 빈 문자열로
for ($i=0;$i<$len;$i++) // 길이만큼 반복
{
    $c = $original[$i]; // 1바이트 문자
    $asc = ord($c); // 아스키 코드
    if ( $asc<48 || $asc>57 ) continue; // 숫자 범위 아니면 Skip
    $date.= $c;
}
────────────────────────────────────────

숫자 범위가 아니면 위와 같은 조건이면 됩니다.
숫자 범위로 조건을 바꾼다면? ( $asc>47 && $asc<58 )입니다.

참고로 <= 비교보다 < 비교가 빠릅니다.
그래 서 ( $asc>=48 && $asc<=57 )로 하기보다 위 조건을 권장합니다.
누누이 강조하는 부분이지만 쓰기 나름이니까 편한 대로 쓰면 됩니다.

또는 어차피 숫자 외의 문자열이라봐야 년, 월, 일이니
아 스키 값이 127 이상인 경우를 걸러주면 됩니다.

ord() : http://php.net/manual/kr/function.ord.php
ASCII Table : http://www.asciitable.com/


▶ 문자열 처리 #13

#11, #12의 for()문을 줄인 형태입니다.

────────────────────────────────────────
for($i=0,$o=$date,$date='',$l=strlen($o);$i<$l;$i++)if(is_numeric($o[$i]))$date.=$o[$i];
────────────────────────────────────────


▶ 문자열 처리 #14

#13 을 아예 for()문으로 끝내는 것도 가능합니다.

────────────────────────────────────────
for ($i=0,$l=strlen($o=$date),$date='';$i<$len;$i++,$date.=is_numeric($o[$i-1])?$o[$i-1]:'');
────────────────────────────────────────

빠질 뻔 했는데 값의 할당은 오른쪽부터 왼쪽으로 진행됩니다.
$l=strlen($o=$date)
$o에 $date가 할당되고, $o의 길이가 $l에 할당됩니다.
할당 연산자 : http://php.net/manual/kr/language.opera ··· ment.php
연산자 우선권 : http://php.net/manual/kr/language.opera ··· ence.php


▶ 문자열 처리 #15

"키=값" 형태로 가공해 parse_str() 함수를 이용하는 방법입니다.

────────────────────────────────────────
$date = 'y='.substr($date,0,-2); // y=2010년04월20
$date = str_replace('년','&m=',$date); // y=2010&m=04월20
$date = str_replace('월','&d=',$date); // y=2010&m=04&d=20
parse_str($date);
$date = $y.$m.$d;

────────────────────────────────────────

parse_str() 함수를 보면, extract() 함수가 떠오르죠.

parse_str() : http://php.net/manual/kr/function.parse-str.php
extract() : http://php.net/manual/kr/function.extract.php

두 번째 인자를 주면 그 변수에 값을 받게 됩니다.

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
// 위 3줄 동일
parse_str($date,$t); // 'y'=>'2010', 'm'=>'04', 'd'=>'20'
$date = implode('',$t); // $date = $t['y'].$t['m'].$t['d'];
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥


▶ 문자열 처리 #16

#11 ~ #14의 코드와 비슷합니다.
[]를 이용해 문자열도 배열 형태로 접근이 가능하다고 했죠?
이번에는 문자열을 정말 배열로 만들어 처리해보겠습니다.
그리고 똑같은 코드로 하면 재미없으니 다른 코드를 부르겠습니다.

────────────────────────────────────────
$temp = str_split($date);
$date = '';
foreach ( $temp as $char )
{
    if ( ord($char)<128 ) $date.= $char;
}
────────────────────────────────────────

1바이트로 나눠 배열 끝까지 반복, 아스키 값 비교로 결과값을 구합니다.
foreach()도 참 유용한 제어 구조 중 하나입니다. 배열과 찰떡 호흡!

str_split() : http://php.net/manual/kr/function.str-split.php
foreach() : http://php.net/manual/kr/control-structures.foreach.php


‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
$t=str_split($date);$date='';
foreach($t as $c)if(ord($c)<128)$date.=$c;
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥


▶ 문자열 처리 #17

substr_replace()를 깜빡했군요. str_replace()와 비교해보는 재미를···.

────────────────────────────────────────
$date = substr_replace($date,'',4,2); // 201004월20일
$date = substr_replace($date,'',6,2); // 20100420일
$date = substr_replace($date,'',8,2); // 20100420
────────────────────────────────────────

substr_replace() : http://php.net/manual/en/function.substr-replace.php



정규식으로 처리하는 방법 역시 다양합니다.


■ 정규식 처리 #1

제 일 간단한 방법은 숫자 외의 문자를 제거하는 것입니다.

────────────────────────────────────────
$date = preg_replace('/\D/','',$date);
────────────────────────────────────────

10진 숫자가 아닌 임의의 문자(\D)를 ''로 치환해주는 방법이죠.

정규 표현식 상세 : http://php.net/manual/kr/regexp.reference.php
정규 표현식 : http://php.net/manual/en/reference.pcre ··· ntax.php

임의의 10진 숫자는 \d로 표현합니다. 또는 [0-9]로 표현하죠.
여기에 부정 클래스를 사용하면 반대가 됩니다.

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
$date = preg_replace('/[^0-9]/','',$date);
$date = preg_replace('/[^\d]/','',$date);
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

preg_replace() : http://php.net/manual/kr/function.preg-replace.php

참 고로 ereg_replace(), eregi_replace() 등 POSIX Regex 관련 함수들은
PHP 5.3 버전부터 중지됩니다.
POSIX Regex 관련 함수 : http://php.net/manual/kr/ref.regex.php

그러니 어서 펄 호환 정규식으로 갈아타시길···.
Regular Expressions (Perl-Compatible) : http://php.net/manual/kr/book.pcre.php


■ 정규식 처리 #2

숫자만 뽑아 묶어주는 방법입니다.

────────────────────────────────────────
preg_match_all('/\d/',$date,$matches);
$date = implode('',$matches[0]);
────────────────────────────────────────

위 와 같이 실행했을 때 $matches의 값입니다.
문자열 처리 과정에서 언급한 implode() 함수로 깔끔하게 묶어주면 됩니다.

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
Array
(
    [0] => Array
        (
            [0] => 2
            [1] => 0
            [2] => 1
            [3] => 0
            [4] => 0
            [5] => 4
            [6] => 2
            [7] => 0
        )
)
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

preg_match_all() : http://php.net/manual/kr/function.preg-match-all.php


■ 정규식 처리 #3

preg_split() 함수로 대놓고 년, 월, 일로 잘라줘도 됩니다.

────────────────────────────────────────
list($y,$m,$d) = preg_split('/년|월|일/',$date);
$date = $y.$m.$d;
────────────────────────────────────────

preg_split() : http://php.net/manual/kr/function.preg-split.php

차근차근 읽어본 경우라면 위 두 줄의 코드를 한 줄로 바꿀 수 있겠죠?

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
$date = implode('',preg_split('/년|월|일/',$date));
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥


■ 정규식 처리 #4

#1의 코드와 기본은 같고 메타 문자만 다릅니다.

────────────────────────────────────────
$date = preg_replace('/\W/','',$date);
────────────────────────────────────────

어떠한 문자나 숫자, _가 \w며, \W는 그 반대입니다.
특성이 있지만, 년, 월, 일 정도야···. ^^);;;


■ 정규식 처리 #5

preg_grep()의 활용 예를 위해 하나 더 추가합니다.
str_split() 함수와 마찬가지로 잘라주고, 숫자 부분만 가져다 묶어줍니다.

────────────────────────────────────────
$split = preg_split('//',$date,-1,PREG_SPLIT_NO_EMPTY);
$date = implode('',preg_grep('/\d/',$split));
────────────────────────────────────────

preg_grep() : http://php.net/manual/kr/function.preg-grep.php

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
$date = implode('',preg_grep('/\d/',preg_split('/()/',$date,-1,PREG_SPLIT_NO_EMPTY)));
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥


■ 정규식 처리 #6

#2 에서 preg_match_all()을 사용했죠? 이번에는 preg_match() 사용입니다.

────────────────────────────────────────
preg_match('/(\d+)년(\d+)월(\d+)일/',$date,$match);
$date = implode('',array_slice($match,1));
────────────────────────────────────────

$match의 값은 아래와 같습니다.

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
Array
(
    [0] => 2010년04월20일
    [1] => 2010
    [2] => 04
    [3] => 20
)
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥

여기서 array_slice() 함수를 이용해 두 번째 배열부터 가져와 묶어줍니다.
문자열의 substr() 함수와 사용 방법이 같습니다. 대상만 배열이죠.

preg_match() : http://php.net/manual/kr/function.preg-match.php
array_slice() : http://php.net/manual/kr/function.array-slice.php



■ 정규식 처리 #7

응용 예입니다.

────────────────────────────────────────
preg_match('/(\d+)(\W.)(\d+)(\W.)(\d+)(\W.)/',$date,$matches);
$date = $matches[1].$matches[3].$matches[5];
────────────────────────────────────────

$matches 값은 아래와 같습니다.

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
Array
(
    [0] => 2010년04월20일
    [1] => 2010
    [2] => 년
    [3] => 04
    [4] => 월
    [5] => 20
    [6] => 일
)
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥



▣ 날짜 함수 이용

문자열 처리 응용, strtotime() 함수와 date() 함수가 등장합니다.
년, 월, 일을 제거하면 그것으로 끝이지만 응용 차원에서 추가했습니다.
참. 꼭 -으로 바꿀 필요는 없습니다.

────────────────────────────────────────
$date = str_replace('년','-',$date); // 2010-04월20일
$date = str_replace('월','-',$date); // 2010-04-20일
$date = str_replace('일','',$date); // 2010-04-20
$date = date('Ymd',strtotime($date));
────────────────────────────────────────

strtotime() : http://php.net/manual/en/function.strtotime.php
date() : http://php.net/manual/kr/function.date.php

한 줄로 줄이려면? 문자열 처리 #3에서 언급한 strtr()을 사용하면 됩니다.

‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
echo date('Ymd',strtotime(strtr($date,array('년'=>'/','월'=>'/','일'=> ''))));
‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥
2012/01/10 23:44 2012/01/10 23:44

Posted on 2012/01/05 10:48
Filed Under Linux/설정방법

DNS server, DNS service  

1. 필요한 데몬

  - portmap : NFS가 RPC 기반으로 돌아 가기 때문에 rpcbind의 매핑위해 필용한 데몬

  - rpc.nfsd : NFS데몬으로 실제로 NFS로 파일 시스템을 공유 가능하게 해줌

  - rpc.mountd : 마운트를 가능하게 해주는 데몬

  * nfs 관련 패키지가 설치 되어 있지 않으면 레드햇은 RPM으로 nfs-utils 와 portmap

    을 받아서 설치 하면 됨

    (대부분의 리눅스 시스템에서는 기본적으로 설치 되어 있음)

2. 데몬 실행 (portmap 을 먼저 실행 해야 함)

  - /etc/init.d/portmap start

  - /etc/init.d/nfs start

  - 실행 확인 : rpcinfo -p

  - checkconfig 명령을 이용 해서 리부팅 할때 자동으로 실행 하게 하면 편리 함

    checkconfig --leve 3 nfs on

3. 설정 파일

  - /etc/exports 파일을 수정하고 portmap restart 명령을 내리면 됨

  - 설정 방법

    /test   192.168.0.10(rw)  --> 192.168.0.10 서버에서 리드 라우트 권한을 가짐

    /test   192.168.0.10(ro)  --> 192.168.0.10 에서 읽기 권한만 가짐

    /test   192.168.0.10(rw)

    /test/test2   192.168.0.10(noaccess)  --> 하위 디렉토리 접근 권한 없음

    /test   192.168.0.10(rw,root_squash) --> 루트로 마운트시 루트 권한이 아닌

            nfsnobody 권한으로 사용 하게 됨

            no_root_squash 로 하면 root권한으로 사용(보안적인 문제로 인하여 잘

            사용 하지는 않음)

            기본 값은 root_squash 임

    /test   192.168.0.10(rw,all_squash) --> 일반 사용자 모두  nfsnobody 로 매핑

            되어 사용 함,  각각의 계정으로 사용 하려면 no_all_squash로 설정 함

            no_all_squash 가 기본 값임

   /etc  192.168.0.19(rw,anonuid=510,anongid=510) --> 특정 계정으로 권한을 줌

   * nfsnobody 로 할 경우 UID가 지 맘대로 정해 지는 현상이 있음으로 그것에 맞게

     nfs서버에서 디렉토리 권한을 바꾸주면 됨

4. 클라이언트에서 NFS 붙이기

 - NFS 서버에 공유된 디렉토리를 확인합니다.

   showmount -e <서버 IP>

 - 공유된 디렉토리를 마운트할 로컬 디렉토리를 만들어 줍니다. 이건 mkdir로 ㅎ

 - 이제 마운트 해줍니다.

   mount -t nfs <서버 IP>:<디렉토리> <로컬 디렉토리>

   ex) mount -t nfs 192.168.0.1:/usr/local /localmount

* 자동 마운트를 할경우

클라이언트의 /etc/fatab 에 다음 항목 추가

192.168.0.10:/home/jook /data nfs defaults 0 0

2012/01/05 10:48 2012/01/05 10:48

Posted on 2011/11/30 22:17
Filed Under Programming/C#

DNS server, DNS service  

C#에서 "내 문서"의 경로는

Environment.SpecialFolder 열거형을 사용하여
Environment.GetFolderPath() 메소드로 구하면 됩니다.

Console.WriteLine("GetFolderPath:{0}",Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));




자세한 사항은 아래의 MSDN을 참고하시기 바랍니다.


참고로 Windows에서의 환경변수는 아래와 같은 문자열을 사용합니다.

  • %HomeDrive% - 로그인한 계정의 정보가 들어있는 드라이브
  • %HomePath% - 로그인한 계정의 폴더
  • %SystemDrive% - 윈도우가 부팅된 드라이브
  • %SystemRoot% - 부팅된 운영체제가 들어있는 폴더
  • %ProgramFiles% - 기본 프로그램 설치 폴더
  • %TEMP%, %TMP% - 임시 파일이 저장되는 폴더
  • %ComSpec% - 기본 명령 프롬프트 프로그램
  • %USERDOMAIN% - 로그인한 시스템의 도메인 명
  • %USERNAME% - 로그인한 계정 이름
  • %USERPROFILE% - 로그인한 유저의 프로필이 들어있는 폴더명
  • %ALLUSERPROFILE% - 모든 사용자 프로필이 저장된 폴더
  • %APPDATA% - 설치된 프로그램의 필요 데이터가 저장된 폴더
  • %LOGONSERVER% - 로그인한 계정이 접속한 서버명
  • %Path% - 실행 참조용 폴더 지정 목록
  • %PathEXT% - 참조용 폴더에서 검색한 파일들의 확장자 목록

참고 : 네이버지식

2011/11/30 22:17 2011/11/30 22:17

Posted on 2011/11/29 13:11
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

원문 : http://blog.daum.net/rhfo10004/6039966

익스플로러9! 새로운 모습으로 업그레이드 되고 그래픽 카드를 이용해서 속도도 빨라진 버전이죠.

익스플로러9를 실행하고 있는 화면입니다.

사용자 삽입 이미지


그러나 익스플로러9를 깔고 나서 검색좀할려고 글씨를 쓰는 순간 버벅거리는 모습을 보신적이 있을겁니다...

그걸 해결하는 방법입니다.

1.오른쪽 구석에있는 톱니바퀴 모양을 클릭하신다음 인터넷 옵션(O)를 클릭하세요.

사용자 삽입 이미지

2.인터넷 옵션 창이 떴으면 고급 탭을 누르신다음 GPU 렌더링 대신 소프트웨어 렌더링 사용* 박스에다가 체크표시를 하신 뒤 적용을 누르시고 확인을 눌러서 창을 닫으신다음 익스플로러를 완전히 종료해 주세요.

사용자 삽입 이미지

3.다시 익스플로러를 시작하고 나면 글자칠때 버벅거리는 증상이 없어져 있을겁니다.


아직 익스플로러9랑 홈페이지랑 호환성 문제가 있어서 그러는게 아닐까 싶습니다.

얼릉 이 문제가 해결되었으면 좋겠네요.


2011/11/29 13:11 2011/11/29 13:11

Posted on 2011/11/28 09:42
Filed Under Linux/장애처리

DNS server, DNS service  


PHP 설치시 다음과 같은 오류 발생시.. 해결방법



/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1

#1 첫번 째 해결 방법

yum install libtool-ltdl-devel

이후 다시
make all


위와 같은 명령어를 실행해 libtool-ltdl-devel 를 설치 했음에도 오류가 발생된다면,

#2 두번 째 해결 방법

위와 같은 에러가 발생 시에는 아래와 같이 파일을 수정하도록 합니다.


$ vi ext/standard/dl.c


수정 전
23
24

#include "php.h"
#include "dl.h"


아래와 같이 #define HAVE_LIBDL 1 항목을 추가해주면 됩니다.


수정 후

23
24
25
26

#define HAVE_LIBDL 1

#include "php.h"
#include "dl.h"


이후 다시

make all

을 실행하여 컴파일 하니.. 정상적으로 컴파일 된다.

2011/11/28 09:42 2011/11/28 09:42

Posted on 2011/11/22 12:45
Filed Under Linux/장애처리

DNS server, DNS service  

CentOS 5.6 에서 CMake 로 MySQL 설치시 오류가 날 경우 해결 방법


-- The CXX compiler identification is unknown
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- MySQL 5.5.17
-- Configuring incomplete, errors occurred!

CMake 설치시 일부 패키지가 없어서 오류가 날 경우 다음의 패키지를 yum 으로 설치하면 된다.

No package libsdl-dev available.  => SDL-devel
No package libesd0-dev available. => esound-devel
No package libwxgtk2.6-dev available. => wxGTK-devel
No package build-essential available.  
=> yum groupinstall "Development Tools" "Development Libraries"
build-essential =>  yum install gcc 로도할수 있다.
2011/11/22 12:45 2011/11/22 12:45

Posted on 2011/11/06 18:36
Filed Under Mobile/Android

DNS server, DNS service  


## 갤럭시 노트 관련 글
* 해외판 삼성 갤럭시 노트에는 NFC가 없는것 같다.
* 해외판 삼성 갤럭시 노트 사용기 #1
* 해외판 삼성 갤럭시 노트 티맵 설치 및 사용기
* 해외판 삼성 갤럭시 노트 개통기



* 해외 출시된 갤럭시 노트에는 NFC가 없는것 같다..


일단 내가 구입한 갤럭시 노트는 폴란드에서 판매되는 제품이다. (다른 국가에서 판매되는 제품은 확인을 못해봐서 모른다!!~~)


NFC가 있다면 "설정" - "무선 및 네트워크"에 "NFC 설정" 이라는 항목이 있어야 하지만 내 갤럭시 노트에는 그러한 메뉴가 없다.


--;..


뭐 사실 이전에 있던 갤럭시 S2에서 NFC를 지원하기는 했지만 지갑 근처에 놔두면 울어되는 어플들 --;... 때문에 귀찮기도 했었고 한번도 써먹어 본적이 없는 기능이라 상관은 없다.


NFC로 핸드폰끼리 데이터를 주고 받는다고 하는데 현재 블루투스로도 그 기능을 충분히 활용할 수 있으며 NFC가 활성화 되기까지 1-2년 이상이 걸릴것 같아 상관은 없다고 스스로 달래는 중이다.


국내에 출시되는 갤럭시 노트는 NFC가 있을까?
그래도 스냅드래곤의 APU + NFC 와 엑시노스 APU 둘중 뭐 고를래? 라고 물어보면 100번을 물어봐도 엑시노스를 선택할 것이다!!~~
LTE 와 3G는? LTE가 무제한 요금제가 생겨나지 않는한 이것도 100번을 물어봐도 3G다. 속도가 필요하면 WIFI에서 쓰면 되고 길거리에서 인터넷 써봐야 뭘 얼마나 쓴다고 돈더내고 LTE를 쓰겠는가? 길거리에서 쓰는 카톡, 마플, 인터넷 뉴스보기 등은 3G로 충분하다!






* NFC가 장착된 국내 핸드폰의 설정 메뉴


사용자 삽입 이미지


* 하지만 갤럭시 노트 해외판에는 해당 메뉴가 없다.


사용자 삽입 이미지

2011/11/06 18:36 2011/11/06 18:36

Posted on 2011/11/06 18:12
Filed Under Mobile/Android

DNS server, DNS service  



## 갤럭시 노트 관련 글
* 해외판 삼성 갤럭시 노트에는 NFC가 없는것 같다.
* 해외판 삼성 갤럭시 노트 사용기 #1
* 해외판 삼성 갤럭시 노트 티맵 설치 및 사용기
* 해외판 삼성 갤럭시 노트 개통기



2010년 10월 18일 생산된 폴란드에서 구입한 갤럭시 노트 사용기 #1

* 외형 (앞면)
사용자 삽입 이미지


뒷면은 갤럭시S2랑 재질이 같은것 같다. 테러리 커버를 여는 방법도 오른쪽 상단 작은 틈에 손톰을 끼워 여는 방식도 동일하다. 상당히 뻑뻑해서 그냥 분리되는 일은 없겠으나, 열다가 손톱 나갈것 같다..


사용자 삽입 이미지

사용자 삽입 이미지


* 크기 비교

아이폰4와 크기를 비교하니.. 5.2인치가 크긴 크다 --;...
일단 그립감은 좋은것 같으나, 크기가 커서 한손으로 조작하다가 옆사람이 지나가다 살짝 건들이면 떨어질 수도 있을 것 같다. 일단 한손으로 조작하기에는 부담스런 크기다.

사용자 삽입 이미지


두께는 아이폰 4와 비슷하다. 일단 무척 얇다. 그리고 갤럭시S나 길럭시S2 처럼 오리궁댕이가 없다. 뒷면이 그냥 매끄럽다^^. 이건 상당히 마음에 든다.

사용자 삽입 이미지

사용자 삽입 이미지



* 해외판 어플..

역시 해외판이라 그런지 해외 통신아 어플들이 있다 --;. 우리나라에서도 SKT에서 개통안 삼성 폰들이 특히 갤럭시 S2는 5페이지나 될 정도의 어플들로 가득차있다. 과연 여기서 몇개나 쓰는지 모르겠지만..

나도 뭔지 모르는 어플들이라 폴더를 만들어 넣어버렸다.
사용자 삽입 이미지



* MMS 송수신에 대해..

갤럭시 노트에 SKT 유심을 연결하고 APN을 확인하니 SKT LET용으로 잡는것 같아 SKT 3G APN을 추가 했다.

추가 방법  : SKT Tworld 홈페이지 ( http://www.tworld.co.kr/normal.do?serviceId=S_ETC_0022&viewId=V_CMN_0005&serNum=16425&svcType=A )

사용자 삽입 이미지


위와 같이 셋팅하고 선택하니 MMS 송수신에 문제가 없었다. 데이터(인터넷)접속도 물론 가능했다.

(MMS 테스트)

사용자 삽입 이미지

* S-Pen의 몇몇 기능들..



문자보낼때 S-Pen으로 문자 인식이 된다 --;...
예전 PDA에서 문자인식할때와는 비교도 되지 않는 수준이다. 예전에는 또박 또박 써야 했지만.. 저렇게 날림으로 서도 문자인식이 잘된다. 요거 은근히 편하겠다.


사용자 삽입 이미지
사용자 삽입 이미지




* 고해상도로 인한 기존 어플의 호환성.


일부 어플의 레이아웃이 아래처럼 깨지는 경우가 있다. 이는 아이스크림 샌드위치로 넘어가면서 해결될 문제고, 심하게 깨지지 않아 사용하는게 문제는 없었다.


사용자 삽입 이미지




* 나머지 사용기는 다음에 올려야겠다 --;... 급 피곤하다..
2011/11/06 18:12 2011/11/06 18:12

Posted on 2011/11/06 17:49
Filed Under Mobile/Android

DNS server, DNS service  


## 갤럭시 노트 관련 글
* 해외판 삼성 갤럭시 노트에는 NFC가 없는것 같다.
* 해외판 삼성 갤럭시 노트 사용기 #1
* 해외판 삼성 갤럭시 노트 티맵 설치 및 사용기
* 해외판 삼성 갤럭시 노트 개통기

해외판 갤럭시 노트를 사용하면서 궁굼했던 점에 대해 테스트 하고 글을 남깁니다.
제 갤럭시 노트는 2010년 10월 18일 생산되었으며, 폴란드에서 판매된 것입니다.

* TMap 사용 여부

답변 : 가능합니다.

우선 TMap 홈페이지에서 갤럭시노트와 해상도가 동일(유사)한 갤럭시 탭 10.1 버젼의 TMap을 받아 설치하면 됩니다.

TMap 홈페이지 : http://tmap.tworld.co.kr
갤럭시 탭 10.1 용 TMap 다운로드 : http://tmap.tworld.co.kr/tmap2/common/include/jsp/mapdown_pop_p2.jsp?seq=1960&map_seq=106

사용시 문제점.
일단 동작은 정상적으로 합니다. 그러나 종종 티맵을 실행할 때 3G 모드임에도 3G 환경에서 실행하라고 메시지 뜨고 실행이 안되는 경우가 종종 있습니다. 이때는 3G를 사용안함 했다가 사용함으로 변경하면 됩니다. 제 생각에는 갤럭시 탭의 허니콤 운영체제용으로 만들어진 티맵이 진져브레드(갤럭시 노트 2.3.5)에서 동작하기 때문에 조금 맞지 않아 생기는 문제점 같습니다.

사용자 삽입 이미지
2011/11/06 17:49 2011/11/06 17:49

Posted on 2011/11/06 17:40
Filed Under Mobile/Android

DNS server, DNS service  


## 갤럭시 노트 관련 글
* 해외판 삼성 갤럭시 노트에는 NFC가 없는것 같다.
* 해외판 삼성 갤럭시 노트 사용기 #1
* 해외판 삼성 갤럭시 노트 티맵 설치 및 사용기
* 해외판 삼성 갤럭시 노트 개통기



갤럭시 노트!! 냐... 갤럭시 넥서스!! 냐..
무척고민을 하던 도중 지난 홍콩에서 발표된 갤럭시 노트의 사용 동영상을 보고 갤럭시 노트를 구입하기로 마음을 먹었다. 일단 S-Pen이라는 이 녀석에게 급 마음이... 움직였다.

그러나 국내에서는 LTE 모델로 발매가 될것이라는 이야기에 해외판으로 마음을 돌렸다.

왜냐하면 LTE 모델로 발표가 된다면 99%는 스냅드레곤 APU가 장착될 확율이 높은 상태에서 (LTE과 APU 원칩이 스냅드레곤 밖에 현재는 없다. 홍콩에서 발표할 당시 엑시노스 APU를 쓴다고 했지만 국내에서 LTE로 발표가 될 경우 삼성에서 굳이 LTE칩과 APU를 따로 장착할 가능성은 거의 없지 않겠는가..) LTE요금제도 마음에 들지 않았다.

그래서 해외판 갤럭시 노트를 찾던중 한 카페에서 공동구매를 했다.

이하 글에서는 모든 사이트 주소를 숨기지 않고 나열 할 것이다. 난 이 카페나 사이트와 아무련 관련이 없으며, 단지 내가 이와같은 경로를 통해 구입했다는 것만 밝히는 것이다.
아래 카페나 사이트에서 저처럼 구입했다가 혹시 불편한 상황을 맞이하더라도 난 책임지지 않는다.

네이버 익스펜시스(http://cafe.naver.com/expansyskr)라는 카페였는데 홍콩에서 물건을 수입(확보)하여 국내로 판매하는 곳 같았다.

일단 공동구매 시작은 10월 31일 (월요일) 시작하였으며 별로의 익스펜시스 쇼핑몰 (http://www.expansys-kr.com/samsung-galaxy-note-unlocked-16gb-promotion-225177/) 에서 구입했다.

한화 866,110원에 한국 Fedex 배송료 20,500원을 더해 결제 금액은 886,610원이였고, 실제 카드 결제금액은 806.16 (US $)였다. 난 국민 비자 카드로 결제 했는데 차후 실 결제 금액을 보니 수수료까지 포함하여 917,329원이였다.

자 이제 발송되어 도착할때까지 기다리면 되는데, 나는 현재 SKT와 KT회선 각각 하나씩 이용하고 있다. 그러나 개인적으로 KT의 고객응대에 몇번 당해서 KT를 SKT로 돌리고 싶어 이리저리 알아봤는데,

일단 KT에서 쓰던 회선을 SKT로 그냥 무약정 번호이동을 할경우, 다음과 같았다.
현재 KT에서 쓰고 있는 기기의 할부금이 남아 있다면, KT의 회선이 없어지는 것이 되므로 할부금 할인 없이 매달 꼬박꼬박 내거나 할인없이 일시불로 내고 번호이동 하는 방법.
이 경우 SKT에서 스마트폰 요금제를 사용할 경우 54 요금제일 경우 스마트폰 할인(더블할인?)으로 인하여 11,000원 할인 받아 43,000원(VAT별도)의 요금이 청구 된다. (가입비, 유심구입비 추가)
기기 약정으로 인한 추가할인은 받을 수 없다. 왜냐하면 기기를 구입한 것이 아니기때문에..

따라서 할부 원금이 낮은 스마트폰을 하나 구입하여 개통 후 스마트폰은 팔고 쓰면 더 이익인지 알아 봤다.

여러 카페를 돌아다녀보니 넥서스S와  아트릭스가 괜찮았다. 일단 아트릭스의 경우
2년 약정 조건하에 54 요금제 사용시 매달 41,350원(VAT포함, 할부이자 5.9%별도)가 청구되었다. 할부이자를 포함해서 월 42,000원대면 되는것이다. 아트릭스는 미사용제품으로 유심기변으로 중고시장에 팔면 약 35만원 정도의 돈도 추가로 생긴다.
일단 월 요금이 기기없이 가입하는 것보다 저렴하다. 그리고 유심구입비와 가입비도 대납해주므로 추가 금액이 들어가지 않는다.) 다만 2년 약정만 잡히는 것 말고는 여러모로 유리했다.

(공동구매 : http://cafe.naver.com/bjphone/1897214 )

그래서 11월 1일 화요일에 아트릭스 번호이동을 했다.

11월 1일 화요일 오후 Fedex에서 연락이 왔다. 내일 화물이 도착할 예정이며, 통관을 위해 인적사항을 메일로 보내달라고 요청했으며, 관세는 100만원 미만이라 없고 부가세 10%를 내라고 했다. 그래서 2일 오전 86,610원의 부가세를 냈다.

11월 2일 오전에 부가세를 납부하였다.

11월 3일 목요일 아트릭스와 갤럭시 노트가 도착하였다. 일단 아트릭스를 개통하기위해 개봉(조심스럽게... 왜냐하면 다시 팔아야 하므로..)하고 유심을 넣어 개통을 시켰다.  갤럭시 노트에 해당 유심을 넣어봤으나 역시 인식하지 못했다. 그래서 갤럭시 노트에는 데이터쉐어링 (SKT) 유심을 넣었더니 통화는 되지 않아지만 데이터는 사용할 수있었다. SKT 데이텨 쉐어링은 IMEI (기기 고유번호)의 관계없이 사용 가능해서 되는것 같았지만^^,,  일단 시간이 늦어 금요일 오전에 가서 기기 등록을 해 개통하기로 했다.
그리고 기기등록을 위해 방송통신 위원회에 방송통신기기 등록 신청을 했다.

해외폰 방송통신 기기 등록 방법 : http://cafe.naver.com/expansyskr/64
방송통신 위원회 홈페이지 : http://www.ekcc.go.kr

기기 일련번호가 필요하므로 미리 신청할 수 없었으며, 기기가 도착한 후 신청했다.신청에 소요된 시간은 대략 5분 정도. 공인인증서가 필요했으며, 인증완료까지는 15분 정도 걸린것 같다. 15분 정도 지나니 인증서를 프린터로 출력할 수 있었다.

11월 4일 금요일 오전에 갤럭시 노트를 들고 지점을 방문하여 기기등록을 신청하고 (소요시간 10분 정도) 아트릭스로 구입한 유심을 넣어 갤럭시 노트로 확정기변까지 했다.

그리고 아트릭스는 35만원에 다른 사람에게 입양되어 갔다. 번호이동 전에 사용했던 아이폰을 이전에 쓰던 SKT 회선으로 바꾸고 SKT에서 쓰던 갤럭시 S2도 중고로 55만원에 입양 시켰다.
따라서 나는 기기 두대를 팔아 90만원 정도를 만들어 갤럭시 노트를 구입하면서 사용했던  1,003,939원에 보탤수 있어 큰돈없이 갤럭시 노트로 기변 할 수 있었다. 물론 통신 요금도 54요금제로 월 43,000원대 요금으 나오는 것으로 하여 2년 약정으로 개통할 수 있었다.



이 글은 제가 구입한 방법입니다. 이 방법이 좋다 나쁘다, 옳다 그르다, 합법이다 불법이다를 떠나서 다만 제가 구입한 방법을 이야기 했을 뿐입니다. 그러나 분명 편법은 편법이겠지요.

이 글과 같이 구입하시다가 잘 안되시거나 하셔도 저는 책임이 일체 없음을 밝혀 드립니다.


* 자주 있는 질문중..

Q. 기변은 3개월 후에 가능하다던데요?
맞습니다. 유심기변은 바로 가능하지만, 확정기변(전산기변)은 3개월 후에 가능합니다. 저도 아트릭스를 중고시장에 판매할 때 3개월 후에 확정기변 해드리겠다고 하고 판매했습니다.
유심기변을 하셔도 상대방이 사용하는데 아무런 지장은 없습니다. 단지 전산에 확정기변이 되지 않았다는 차이가 있고요.
확실한 답변은 해당 통신사 상담원에게 물어보는것이 확실할 것 같습니다. 상황마다 다를수 있어서...
2011/11/06 17:40 2011/11/06 17:40

Posted on 2011/10/20 11:54
Filed Under Linux/설정방법

DNS server, DNS service  


참고 : http://heewon0117.blog.me/120123652471
추가하고자 하는 모듈 대부분은 php 소스에 있으므로 처음 PHP 설치시 모듈을 추가하지 않았다면 다음의 방법으로 추가할 수 있다. (php 재설치 없이)

EX) curl 모듈을 기존 php에 추가하는 방법

Ex . 모듈 설치(curl)
cd php소스 디렉토리/ext/curl  
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl
make
make install
------------------------------------------------------------------------------------------
을 하면 대충 Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/
curl.so 이 생긴다
------------------------------------------------------------------------------------------
cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20050922/
cp curl.so /usr/local/apache/modules/

vi /usr/local/php/lib/php.ini
------------------------------------------------
;extension_dir = "./"
extension_dir = "/usr/local/apache/modules"

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=curl.so

2011/10/20 11:54 2011/10/20 11:54

Posted on 2011/10/18 20:30
Filed Under Programming/XE Board

DNS server, DNS service  

일단 XE 보드 1.4.x 버젼(그 이하버젼도 마찬가지겠지만..) 운영시 쉬운설치에서 업데이트 및 설치를 클릭하여 모듈등을 설치할때 "msg_permission_adjust_failed" 오류를 만나는 경우 다음과 같이 해결 가능.

* 원인

소스는 보니 CHMOD 를 FTP상에서 적용(실행)하지 못해 발생하는 오류로 판단되며, 내 Linux 서버에서는 proftpd를 사용하므로, proftpd 에서 다음의 옵션을 주석처리

/usr/local/proftpd/etc/proftpd.conf


# Bar use of SITE CHMOD by default
#<Limit SITE_CHMOD>
#  DenyAll
#</Limit>

저 녀셕을 주석처리!!

웹호스팅을 이용할 경우 서버 관리자에세 ftp 명령어 상에서 chmod 가 가능하도록 요청해야한다.
2011/10/18 20:30 2011/10/18 20:30

Posted on 2011/06/28 16:38
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

결론 : 옮기(또는 삭제)지 말자

WinSxS폴더 삭제시

1.윈도우 업데이트 실패 가능성 있음.

2. 프로그램 오작동 가능성 있음.

WinSxS파일은 대부분 하드링크로 존재한다.

Windows Vista 이전에는

보안 업데이트나 BugFix를 위해 시스템을 업데이트를 하면 INF기반으로 exe나 dll같은 시스템 파일이나 레지스트리 값들을 각 파일단위로 업데이트

Vista에서 부터는

Servicing이라는 새로운 Coimponent 관리 메커니즘을 통해 파일, 레지스트리 값, 서비스, Generic Command, Dependencies, Category를 묶어 하나의 Component 단위로 관리.

여러 Component 들을 하나로 묶은 것을 Deployment

여러 Deployment들을 하나로 묶은 것을 Package

윈도우 업데이트는 패키지단위로한다

WinSxS 폴더는 Component 를 모아 저장해둔 공간(Component Store)

Projection : 하드링크가 걸려있고 사용자가 사용할수 있는 상태

Stage : Component Store 에 저장만 되어있는 상태

새로운 업데이트가 있으면 업데이트를 다운로드 한뒤 이전 버전의 Component는 Component Sotre(WinSxS)에 놔두고

새로운 componet를 Projection 한다,

업데이트 Component에는 해당 OS버전의 오리지널 버전과, 서비스팩 버전을 모두 가지고 있다.

- 현재 설치된 환경에 맞는 것만 Projection 시키고 나머지는 Stage시킨다.

윈도우 설치시 모든 시스템 파일을 Component Store인 WinSxS폴더에 넣어둔다.

- 그래서 XP와 같이 시스템 파일이 변경되면 원본 CD를 넣으라는 메세지가 안뜬다.

2011/06/28 16:38 2011/06/28 16:38

Posted on 2011/06/28 15:40
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

어느날 보면 꽉 차 있는 디스크 공간.

Windows Vista 이후 주범인 Winsxs 파일 ..

무려 20G 넘는 경우도 봤다.

이 경우 아래와 같이 삭제하면 된다.

Windows 2008 SP2 버전에서는 SP2에 포함되어있는 COMPCLN.exe 파일을 이용하여 서비스 팩 이전 버전의 파일들을 WinSxS 폴더에서 삭제할 수 있으나, (, 이 명령을 실행하면 서비스 팩을 제거 할 수 있는 옵션도 사라지고 해당 서비스팩 이전 상태로는 돌아 갈수 없으니 신중해야 한다.)

Windows 2008(SP1) 2008 R2 버전에서는 VSP1CLN.exe 파일이나 COMPCLN.exe 파일은 사용되지 않으며, 그 외 다른 방법도 제공하고 있지 않는다.

Winsxs 폴더 안의 내용을 삭제할 수 있지만, 추후에 발생할 수 있는 문제들로 인하여 모두 제거는 권장하지 않으며, 만약 Winsxs\ManifestCache 폴더가 많은 용량을 차지하고 있다면 해당 폴더 안의 bin 파일을 삭제하기 위해 아래 작업을 진행하면 된다.

1. command 창을 관리자 권한으로 실행한다.

2. 아래 과정으로 bin 파일을 제거 한다.

c:\windows\winsxs>Net stop trustedinstaller [Enter]

Takeown /f %windir%\winsxs\ManifestCache\* [Enter]

Icacls %windir%\winsxs\ManifestCache\* /GRANT administrators:F [Enter]

Del /q %windir%\winsxs\ManifestCache\* [Enter]

2011/06/28 15:40 2011/06/28 15:40

Posted on 2011/06/28 15:38
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

WinSxS는 호환성 보전을 위하여 버전업 된 DLL 들을 모아 놓는 저장소군요.
그래서 디스크 공간이 부족할 때는 삭제하더라두 크게 문제가 없을 것 같습니다.

하지만 Backup은 받아 두셔야 겠죠??
뭐 섬뜩하게 니 시스템이 부팅 되지 않을꺼라는 애기도 있지만 대체적인 포스팅 내용들을 통해 확인해 보면 삭제해도 시스템을 정상적으로 동작시키는 것에는 큰 문제가 없습니다.

(하지만 Microsoft에서는 해당 디렉토리의 컨텐츠를 삭제하지 말자가 권고 사항입니다.)

아래는 WinSxS에 대한 포스팅 들입니다.

WinSxS를 삭제하기 위해서는 해당 오브젝트에 대한 소유권을 가져온 후 자신의 계정에 풀 컨트롤 권한을 부여 해야 해당 내용들이 삭제가 됩니다.

What is the WINSXS directory in Windows 2008 and Windows Vista and why is it so large?
http://blogs.technet.com/askcore/archive/2008/09/17/what-is-the-winsxs-directory-in-windows-2008-and-windows-vista-and-why-is-it-so-large.aspx

Deleting from the WinSxS directory
http://blogs.msdn.com/jonwis/archive/2007/01/02/deleting-from-the-winsxs-directory.aspx

Demystifying the WinSxS directory in Windows XP, Vista and Server 2003/2008
http://blog.tiensivu.com/aaron/archives/1306-Demystifying-the-WinSxS-directory-in-Windows-XP,-Vista-and-Server-20032008.html

2011/06/28 15:38 2011/06/28 15:38

Posted on 2011/06/28 15:36
Filed Under Windows/최적화 및 팁

DNS server, DNS service  

hiberfil.sys 삭제 방법
명령프롬프트에서 powercfg.exe /h off 입력

최대 절전모드를 필요로 하지않는다면 하이버네이션 파일 삭제시 메모리 용량 만큼 HDD 공간 확보
SSD 처럼 디스크 용량이 부족한 경우 페이지 페이지 파일과 더불어 삭제하면 좋습니다.


하이버네이션을 키려면 powercfg.exe -h on 입력
2011/06/28 15:36 2011/06/28 15:36

About

by CoCo

Notice

Counter

· Total
: 852808
· Today
: 50
· Yesterday
: 75