[서브버젼] 외부 접속 오류 대처법

TIP/LINUX | 2010.03.09 00:53 | Posted by imesu-문경원


http://srue.net/82 

1. svn이 외부 접속안될 경우 

  아래와 같은 오류 메시지가 나온다. 이런 메시지는 해당 svn 서버의 iptables가 문제가 있는 경우 발생한다

   [root@backup test]# svn checkout svn://xxx.xxx.xxx.xxx/just/trunk
   svn: 호스트 "xxx.xxx.xxx.xxx'에 접속할 수 없습니다.: 호스트로 갈 루트가 없음
   
   1) /etc/sysconfig/iptables 에 추가 한다.
   -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
   -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 3690 -j ACCEPT
   -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited            <-- (주의) 반드시 이 문장 위에 추가한다.
   
   2) 재가동한다.
     /etc/init.d/iptables restart

2. svn 자동 실행 (CendOS 경우)
 /etc/rc.d/rc.local에 아래문구를 추가한다.
  svnserve -d -r /home/svn

[팁] tar압축을 원하는 위치에 풀기

TIP/LINUX | 2010.02.18 14:25 | Posted by imesu-문경원
tar압축을 특정 디렉토리에 풀일이 생겼다.
그런대 불행이다. 압출이 현재 위치에서만 풀린다.
방법이 없을까????... 다행이 있다.

tar -xvf all.tar.gz 라는 압축파일을 dest 디렉토리에 풀어보자. !!!


[root@backup dir_ramdisk16M]# tar -xvf all.tar.gz -C dest/
1
2
[root@backup dir_ramdisk16M]# ls
all.tar.gz  dest
[root@backup dir_ramdisk16M]# cd dest/
[root@backup dest]# ls
1  2



즉 아래와 같은 방식으로 하면된다.
tar -xvf  대상.tar.gx -C 디렉토리

[Windows] 오피스 탭 사용하기

TIP/WINDOWS | 2010.01.09 18:09 | Posted by imesu-문경원

오피스 탭 사용하기

http://sirjhswin.tistory.com/316

[Windows] cmd 명령어

TIP/WINDOWS | 2010.01.08 17:19 | Posted by imesu-문경원

출처 : http://community.365managed.com/w_etc/664

ASSOC    파일 확장명 연결을 보여주거나 수정합니다.
ATTRIB   파일 속성을 표시하거나 바꿉니다.
BREAK    확장된 CTRL+C 검사를 설정하거나 지웁니다.
BOOTCFG  부팅 로딩을 제어하기 위해 boot.ini에서 속성을 설정합니다.
CACLS    파일의 액세스 컨트롤 목록(ACL)을 표시하거나 수정합니다.
CALL     한 일괄 프로그램에서 다른 일괄 프로그램을 호출합니다.
CD       현재 디렉터리 이름을 보여주거나 바꿉니다.
CHCP     활성화된 코드 페이지의 번호를 표시하거나 설정합니다.
CHDIR    현재 디렉터리 이름을 보여주거나 바꿉니다.
CHKDSK   디스크를 검사하고 상태 보고서를 표시합니다.
CHKNTFS  부팅하는 동안 디스크 확인을 화면에 표시하거나 변경합니다.
CLS      화면을 지웁니다.
CMD      Windows 명령 인터프리터의 새 인스턴스를 시작합니다.
COLOR    콘솔의 기본색과 배경색을 설정합니다.
COMP     두 개 또는 여러 개의 파일을 비교합니다.
COMPACT  NTFS 분할 영역에 있는 파일의 압축을 표시하거나 변경합니다.
CONVERT  FAT 볼륨을 NTFS로 변환합니다. 현재 드라이브는 변환할 수 없습니다.
COPY     하나 이상의 파일을 다른 위치로 복사합니다.
DATE     날짜를 보여주거나 설정합니다.
DEL      하나 이상의 파일을 지웁니다.
DIR      디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줍니다.
DISKCOMP 두 플로피 디스크의 내용을 비교합니다.
DISKCOPY 플로피 디스크의 내용을 다른 플로피 디스크로 복사합니다.
DISKPART 디스크 파티션 속성을 표시하거나 구성합니다.
DOSKEY   명령줄을 편집하고, Windows 명령을 다시 호출하고, 매크로를 만듭니다.
DRIVERQUERY  현재 장치 드라이버 상태와 속성을 표시합니다.
ECHO     메시지를 표시하거나 ECHO를 사용 또는 사용하지 않습니다.
ENDLOCAL 일괄 파일에서 환경 변경의 지역화를 끝냅니다.
ERASE    하나 이상의 파일을 지웁니다.
EVENTQUERY  지정된 영역에 대해 이벤트 로그 항목을 표시합니다.
EXIT     CMD.EXE 프로그램(명령 인터프리터)을 마칩니다.
FC       두 파일 또는 파일의 집합을 비교하여 다른 점을 표시합니다.
FIND     파일에서 텍스트 문자열을 찾습니다.
FINDSTR  파일에서 문자열을 찾습니다.
FOR      파일 집합에서 각 파일에 대해 지정된 명령을 실행합니다.
FORMAT   Windows에서 사용할 디스크를 포맷합니다.
FSUTIL   파일 시스템 속성을 표시하거나 구성합니다.
FTYPE    파일 확장 연결에 사용되는 파일 형식을 표시하거나 수정합니다.
GOTO     Windows 명령 인터프리터가 일괄 프로그램에서 이름표가 붙여진 줄로 이동합니다.
GPRESULT 컴퓨터 또는 사용자에 대한 그룹 정책 정보를 표시합니다.
GRAFTABL Windows가 그래픽 모드에서 확장 문자 세트를 표시할수 있게 합니다.
HELP     Windows 명령어에 관한 도움말을 제공합니다.
IF       일괄 프로그램에서 조건 처리를 수행합니다.
LABEL    디스크의 볼륨 이름을 만들거나, 바꾸거나, 지웁니다.
MD       디렉터리를 만듭니다.
MKDIR    디렉터리를 만듭니다.
MODE     시스템 장치를 구성합니다.
MORE     출력을 한번에 한 화면씩 표시합니다.
MOVE     하나 이상의 파일을 한 디렉터리에서 다른 디렉터리로 옮깁니다.
OPENFILES  파일 공유에서 원격 사용자에 의해 열린 파일을 표시합니다.
PAGEFILECONFIG 페이지 파일 속성을 표시하거나 구성합니다.
PATH     실행 파일의 찾기 경로를 보여주거나 설정합니다.
PAUSE    일괄 파일의 처리를 보류하고 메시지를 보여줍니다.
POPD     PUSHD 명령으로 저장된 디렉터리로 바꿉니다.
PRINT    텍스트 파일을 인쇄합니다.
PROMPT   Windows 명령 프롬프트를 바꿉니다.
PUSHD    현재 디렉터리를 저장한 후 디렉터리를 바꿉니다.
RD       디렉터리를 지웁니다.
RECOVER  불량이거나 결함이 있는 디스크에서 읽을 수 있는 정보를 복구합니다.
REM      일괄 파일 또는 CONFIG.SYS에서 주석을 기록합니다.
REN      파일 이름을 바꿉니다.
RENAME   파일 이름을 바꿉니다.
REPLACE  파일을 대체합니다.
RMDIR    디렉터리를 지웁니다.
SET      Windows 환경 변수를 보여주거나, 설정하거나, 지웁니다.
SETLOCAL 일괄 파일에서 환경 변경의 지역화를 시작합니다.
SC       서비스를 표시하거나 구성합니다(백그라운드 작업).
SCHTASKS 컴퓨터에서 실행할 명령과 프로그램을 예약합니다.
SHIFT    일괄 파일에서 바꿀 수 있는 매개 변수의 위치를 바꿉니다.
SHUTDOWN 컴퓨터의 로컬 또는 원격 종료를 허용합니다.
SORT     입력을 정렬합니다.
START    지정된 프로그램이나 명령을 별도의 창에서 시작합니다.
SUBST    경로를 드라이브 문자로 지정합니다.
SYSTEMINFO  특정 컴퓨터의 속성과 구성을 표시합니다.
TASKLIST 서비스를 포함한 실행 중인 모든 작업을 표시합니다.
TASKKILL 실행 중인 프로세스나 응용 프로그램을 중지합니다.
TIME     시스템 시간을 보여주거나 설정합니다.
TITLE    CMD.EXE 세션에 대한 창의 창 제목을 설정합니다.
TREE     드라이브 또는 경로의 디렉터리 구조를 그래픽으로 화면에 표시합니다.
TYPE     텍스트 파일의 내용을 보여줍니다.
VER      Windows 버전을 보여줍니다.
VERIFY   파일이 디스크에 올바로 쓰였는지 검증할지 여부를 지정합니다.
VOL      디스크 볼륨 이름과 일련 번호를 보여줍니다.
XCOPY    파일과 디렉터리 트리를 복사합니다.
WMIC     대화형 명령 셸 내의 WMI 정보를 표시합니다

[리눅스 디바이스 드라이버] 영문책

TIP/LINUX | 2010.01.04 11:36 | Posted by imesu-문경원



Linux Device Drivers, Third Edition

Linux Device Drivers, Third Edition This is the web site for the Third Edition of Linux Device Drivers, by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman. For the moment, only the finished PDF files are available; we do intend to make an HTML version and the DocBook source available as well.

This book is available under the terms of the Creative Commons Attribution-ShareAlike 2.0 license. That means that you are free to download and redistribute it. The development of the book was made possible, however, by those who purchase a copy from O'Reilly or elsewhere.

LDD3 is current as of the 2.6.10 kernel. See the LWN 2.6 API changes page for information on subsequent changes.

LDD3 chapter files

Title page PDF
Copyright and credits PDF
Table of Contents PDF
Preface PDF
Chapter 1: An Introduction to Device Drivers PDF
Chapter 2: Building and Running Modules PDF
Chapter 3: Char Drivers PDF
Chapter 4: Debugging Techniques PDF
Chapter 5: Concurrency and Race Conditions PDF
Chapter 6: Advanced Char Driver Operations PDF
Chapter 7: Time, Delays, and Deferred Work PDF
Chapter 8: Allocating Memory PDF
Chapter 9: Communicating with Hardware PDF
Chapter 10: Interrupt Handling PDF
Chapter 11: Data Types in the Kernel PDF
Chapter 12: PCI Drivers PDF
Chapter 13: USB Drivers PDF
Chapter 14: The Linux Device Model PDF
Chapter 15: Memory Mapping and DMA PDF
Chapter 16: Block Drivers PDF
Chapter 17: Network Drivers PDF
Chapter 18: TTY Drivers PDF
Index PDF

Downloads

Also available:

[셀스크립트]

TIP | 2009.12.07 12:38 | Posted by imesu-문경원
<출처> http://linuxian.innori.com/15

문자열 길이

${#string}
expr length $string
expr "$string" : '.*'

stringZ=abcABC123ABCabc

echo ${#stringZ}                 # 15
echo `expr length $stringZ`      # 15
echo `expr "$stringZ" : '.*'`    # 15

문자열 시작에서부터 매칭되는 문자열조각(substring)의 길이

expr match "$string" '$substring'

$substring정규 표현식입니다.

expr "$string" : '$substring'

$substring 은 정규 표현식입니다.

stringZ=abcABC123ABCabc
#       |------|

echo `expr match "$stringZ" 'abc[A-Z]*.2'`   # 8
echo `expr "$stringZ" : 'abc[A-Z]*.2'`       # 8

인덱스

expr index $string $substring

$string 에서 일치하는 $substring 의 첫 문자의 위치.

stringZ=abcABC123ABCabc
echo `expr index "$stringZ" C12`             # 6
                                             # C 의 위치.

echo `expr index "$stringZ" 1c`              # 3
# 'c' (3번째 위치에 있는) 가 '1' 보다 먼저 일치됨.

C 의 strchr()와 거의 비슷합니다.

문자열조각 추출(Substring Extraction)

${string:position}

$string$position 부터의 문자열조각을 추출.

string 매개변수가 "*" 이거나 "@" 라면 position에서 시작하는 위치 매개변수 [1] 를 추출해 냅니다.

${string:position:length}

$string$position부터 $length만큼의 문자를 추출해 냅니다.

stringZ=abcABC123ABCabc
#       0123456789.....
#       0 부터 시작하는 인덱싱.

echo ${stringZ:0}                            # abcABC123ABCabc
echo ${stringZ:1}                            # bcABC123ABCabc
echo ${stringZ:7}                            # 23ABCabc

echo ${stringZ:7:3}                          # 23A
                                             # 3글자짜리 문자열조각.

string 매개변수가 "*""@" 라면 위치 position에서 시작하는 매개변수의 최대 length를 추출해 냅니다.

echo ${*:2}          # 두번째 이후의 위치 매개변수를 에코.
echo ${@:2}          # 위와 같음.

echo ${*:2:3}        # 2,3,4번(3개) 위치 매개변수를 에코.

expr substr $string $position $length

$string$position부터 $length만큼의 문자를 추출해 냅니다.

stringZ=abcABC123ABCabc
#       123456789......
#       1 부터 시작하는 인덱싱.

echo `expr substr $stringZ 1 2`              # ab
echo `expr substr $stringZ 4 3`              # ABC

expr match "$string" '\($substring\)'

$string의 처음에서부터 정규 표현식$substring을 추출해 냅니다.

expr "$string" : '\($substring\)'

$string의 처음에서부터 정규 표현식인 $substring을 추출해 냅니다.

stringZ=abcABC123ABCabc

echo `expr match "$stringZ" '\(.[b-c]*[A-Z]..[0-9]\)'`   # abcABC1
echo `expr "$stringZ" : '\(.[b-c]*[A-Z]..[0-9]\)'`       # abcABC1
# 위의 두 가지 형태는 동일합니다.

문자열조각 삭제(Substring Removal)

${string#substring}

$string앞 부분에서부터 가장 짧게 일치하는 $substring을 삭제.

${string##substring}

$string앞 부분에서부터 가장 길게 일치하는 $substring을 삭제.

stringZ=abcABC123ABCabc
#       |----|
#       |----------|

echo ${stringZ#a*C}      # 123ABCabc
# 'a'와 'C' 사이에서 가장 짧게 일치되는 부분을 삭제.

echo ${stringZ##a*C}     # abc
# 'a'와 'C' 사이에서 가장 길게 일치되는 부분을 삭제.

${string%substring}

$string뒷 부분에서부터 가장 짧게 일치하는 $substring을 삭제.

${string%%substring}

$string뒷 부분에서부터 가장 길게 일치하는 $substring을 삭제.

stringZ=abcABC123ABCabc
#                    ||
#        |------------|

echo ${stringZ%b*c}      # abcABC123ABCa
# $stringZ의 뒷 부분부터 계산해서 'b'와 'c' 사이에서 가장 짧게 일치하는 부분을 삭제.

echo ${stringZ%%b*c}     # a
# $stringZ의 뒷 부분부터 계산해서 'b'와 'c' 사이에서 가장 길게 일치하는 부분을 삭제.

예 9-9. 그래픽 파일을 다른 포맷 확장자로 이름을 바꾸면서 변환

#!/bin/bash
#  cvt.sh:
#  특정 디렉토리의 모든 MacPaint 이미지 파일을 "pbm" 포맷으로 변환.

#  Brian Henderson(bryanh@giraffe-data.com)이 관리하고 있는 "netpbm" 패키지의
#+ "macptopbm" 을 사용함.
#  Netpbm 은 거의 대부분의 리눅스 배포판에 포함되어 있습니다.

OPERATION=macptopbm
SUFFIX=pbm          # 새 파일이름 확장자. 

if [ -n "$1" ]
then
  directory=$1      # 디렉토리 이름이 인자로 주어질 경우...
else
  directory=$PWD    # 아니면 현재 디렉토리에 대해서.
fi  
  
# 대상 디렉토리의 모든 파일을 ".mac" 확장자의 MacPaint 이미지 파일이라고 가정.

for file in $directory/*    # 파일이름 globbing.
do
  filename=${file%.*c}      #  파일이름에서 ".mac" 확장자를 떼어냄
                            #+ ('.*c' 는 '.' 과 'c'를 포함해서 둘 사이의 
                            #+ 모든 것과 일치함).
  $OPERATION $file > $filename.$SUFFIX
                            # 변환된 파일을 새 파일이름으로 재지향.
  rm -f $file               # 변환후 원래 파일 삭제.
  echo "$filename.$SUFFIX"  # 결과를 표준출력으로 로깅.
done

exit 0

문자열 조각 대치(Substring Replacement)

${string/substring/replacement}

처음 일치하는 $substring$replacement로 대치.

${string//substring/replacement}

일치하는 모든 $substring$replacement로 대치.

stringZ=abcABC123ABCabc

echo ${stringZ/abc/xyz}           # xyzABC123ABCabc
                                  # 처음 일치하는 'abc'를 'xyz'로 대치.

echo ${stringZ//abc/xyz}          # xyzABC123ABCxyz
                                  # 일치하는 모든 'abc'를 'xyz'로 대치.

${string/#substring/replacement}

$substring$string맨 앞에서 일치하면 $replacement로 대치.

${string/%substring/replacement}

$substring$string맨 뒤에서 일치하면 $replacement로 대치.

stringZ=abcABC123ABCabc

echo ${stringZ/#abc/XYZ}          # XYZABC123ABCabc
                                  # 맨 앞에서 일치하는 'abc'를 'xyz'로 대치.

echo ${stringZ/%abc/XYZ}          # abcABC123ABCXYZ
                                  # 맨 뒤에서 일치하는 'abc'를 'xyz'로 대치.


강력해...강력해...

[TIP]word에 tab 기능 넣기

TIP | 2009.09.02 15:28 | Posted by imesu-문경원

웹초보의 Tech 2.1::"워드, 엑셀, 파워포인트에 탭 기능 넣기  OfficeTab"


[tistory] 사용법

TIP | 2009.08.27 13:04 | Posted by imesu-문경원

http://guide.tistory.com/category

티스토리 블러그를 잘 사용해 봅시다. ㅋ

[LINUX TIP] 네트워크 설정 바꾸기

TIP/LINUX | 2009.04.12 23:24 | Posted by imesu-문경원


coLinux를 이용하여 nfs 를 사용하다 보니, 설치 위치에 따라 IP주소를 변경할 일이 자주 생기게 되었다.
방법이 궁금하다나 . 유영창 선배님에게 물어보니 좋은 방법을 가르쳐 주어서 나도 사용해 보기로했다.


1. 변경전 설정


현재 내가 사용하고 있는 IP 주소는 192.168.33.61 이다.

[root@coLinux ~]# /sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 00:FF:01:5A:80:00 
          inet addr:192.168.33.61  Bcast:192.168.255.255  Mask:255.255.0.0
          inet6 addr: fe80::2ff:1ff:fe5a:8000/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1213 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1263 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:67793 (66.2 KiB)  TX bytes:97780 (95.4 KiB)
          Interrupt:2

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:189 errors:0 dropped:0 overruns:0 frame:0
          TX packets:189 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:17077 (16.6 KiB)  TX bytes:17077 (16.6 KiB)






2. 변경후 설정


IP 주소를 192.168.10.61 로 IP를 변경하여 보자 .


2.1. IP 변경 스크립트 만들기

IP 변경 스크리트는 유영창 선배님이 만든 스크립트를 참조하여 만들어 보았다.
내용은 아래와 같다.

[root@coLinux ~]# cat idteck_network.sh
#!/bin/bash
ifconfig eth0 192.168.10.61 netmask 255.255.255.0
route del -host 192.168.33.61 eth0
route add -host 192.168.10.61 eth0
route add default gw 192.168.10.1 eth0




2.2. 변경 후 IP정보

[root@coLinux ~]# ls
anaconda-ks.cfg      fix.sh     fsp_network.sh     idteck_network.sh

[root@coLinux ~]# ./idteck_network.sh

[root@coLinux ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:FF:01:5A:80:00
          inet addr:192.168.10.61  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::2ff:1ff:fe5a:8000/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1244 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1413 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:69677 (68.0 KiB)  TX bytes:108829 (106.2 KiB)
          Interrupt:2

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:228 errors:0 dropped:0 overruns:0 frame:0
          TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:20902 (20.4 KiB)  TX bytes:20902 (20.4 KiB)





3. 미흡한 내용

IP를 변경하여 본 후 ifconfig 를 하면 내가 원하는대로 IP 주소가 변경 되었다. 

그런데. 변경된 IP주소를 TELNET 접속이 안된다.  이유가 뭐지???

그래서 아래 명령으로 다시 시작해 보았다.

[root@coLinux ~]# /etc/init.d/network restart


IP가 최초의 192.168.33.61 로 복구 되었다. ㅠㅠ 내가 원하는 결과는 192.168.10.61 로 변경하는 건데 다시 복구되네

내가 만든 IP변경 스크립트는 IP가 잠시만 변경 되는 거라는 걸 다시 확인했다. 

결론적으로 말하면, IP 변경은 되었지만, TELNET이 안된다. 

이점에 대해서 다음에 확인해 봐야겠다. 

<다음에 할일>
IP변경 스크립트를 이용하여 IP를 변경한 후 , TELNET 사용하기





 

[TIP-LINUX]한글 설정

TIP/LINUX | 2009.04.08 17:15 | Posted by imesu-문경원

리눅스 설치 후 한글이 깨지는 문제가 발생하곤한다.
요걸 어떻게 해결할까????

이거 참 짜증나는 일이다.

이럴 경우에 아래와 같이 수행하여 해결한다.


1. 현재 설정된 인코딩 설정 확인

[root@localhost etc]$ echo $LANG
ko_KR.UTF-8

 

2. 인코딩 설정 해제

[imesu@backup sysconfig]$ pwd
/etc/sysconfig
[root@localhost sysconfig]# unset LANG
[root@localhost sysconfig]# LANG=C



3. 사용 가능한 인코딩 설정 확인

[imesu@backup etc]$ pwd
/etc/

[imesu@backup etc]$ locale -a | grep ko
ko_KR
ko_KR.euckr
ko_KR.utf8
korean
korean.euc
ru_RU.koi8r
ru_UA.koi8u
tg_TJ.koi8t
uk_UA.koi8u



4. /etc/sysconfig/i18n 파일 수정

[root@localhost sysconfig]# vi /etc/sysconfig/i18n
#LANG="ko_KR.UTF-8"
LANG="ko_KR.eucKR"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="ko_KR.eucKR:ko_KR:ko"


요렇게 하면 한글 깨짐 현상 문제가 해결된다.
Good!!