티스토리 툴바


2010/06/21 17:15 Unix관련

 

# ./test.sh

 

Can't locate Net/Telnet.pm in @INC (@INC contains: /opt/perl_32/lib/5.8.8/IA64.ARCHREV_0-thread-multi /opt/perl_32/lib/5.8.8 /opt/perl_32/lib/site_perl/5.8.8/IA64.ARCHREV_0-thread-multi /opt/perl_32/lib/site_perl/5.8.8 /opt/perl_32/lib/site_perl /opt/perl_32/lib/vendor_perl/5.8.8/IA64.ARCHREV_0-thread-multi /opt/perl_32/lib/vendor_perl/5.8.8 /opt/perl_32/lib/vendor_perl .) at -e line 2.
BEGIN failed--compilation aborted at -e line 2.

 

 

알고보니 Telnet.pm 라이브 러리가 없어서 나는에러

/opt/perl/lib/5.8.8/ 와 같은 perl library 디렉토리밑에

Net 디렉토리 밑에 카피해 주면 된다.(대소문자유의)

/opt/perl/lib/5.8.8/Net/Telnet.pm

 

posted by starland
2010/03/01 23:52 Unix관련

리눅스 관련

http://blog.daum.net/warmfeel/105
http://www.linux.co.kr/  리눅스 포탈

 

아파치 참고 자료 즐겨찾기 WEB/WAS

posted by starland
2010/02/16 09:57 Unix관련

출처 : http://dakrink.tistory.com/38

 

 

최근에 출시되는 리눅스 베포판의 경우 기본 FTPD로 vsftpd를 사용하는 경우가 많다 그러나 RHEL WS나 Desktop 버전 처럼 FTPD 패키지가 없는 경우 혹은 기본 vsftpd가 이상동작하는 경우(이런 경우가 있겠냐고 말하겠지만 있다. 오늘 경험했다 --;) xinetd아래 있는 gssftp를 사용할 수 있다.

gssftp는 xinetd 하위로 동작하는 데몬이기 때문에 반드시 xinetd를 설치해야된다.

안하고 안된다고 나한테 뭐라고 그러시면은 난감하다...

서비스 활성화 방법은 레드헷 기반으로 만들어진 배포판(레드헷 엔터프라이즈  리눅스, 수세 리눅스)등은 아래의 명령으로 서비스 활성화를 할 수 있다.

  • chkconfig gssftp on
그러나 다른 리눅스 배포판(데비안 리눅스)의 경우에는 /etc/xinetd.d나 혹은 xinetd 서비스 설정 디렉토리에 gssftp를 수정해야 된다.

  • /etc/xinetd.d/gssftp(RHEL 기준) 에디터로 오픈
    disable = yes에서 disable = no 로 변경
이렇게 작업을 한 뒤 xinetd 데몬을 리스타트 해줘야 적용이 가능하다.

위와 같이 작업한 뒤 FTP를 접속해서 로그인을 하면은 로그인이 안된다.(뭐니 --;)

기본적으로 로그인이 안되도록 설정이 되어 있는데 이를 해제하는 방법은 아래와 같다.

  • /etc/xinetd.d/gssftp(RHEL 기준)
    server_args   = -l -a 부분을 server_args = -l 로 수정 저장
posted by starland
2010/02/10 09:19 Unix관련

   

## 일시적 변경(리부팅 후에 다시 원래 hostname으로 셋팅됨)

sl_rac_nfs|/root> hostname

starland_old

sl_rac_nfs|/root> hostname starland_new

sl_rac_nfs|/root>

sl_rac_nfs|/root>

sl_rac_nfs|/root> hostname

starland_new

sl_rac_nfs|/root>

   

## 리부팅 후에도 유지

sl_rac2|/> vi /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=starland_new

 

 

## NETWORK 서비스 재시작

sl_rac_nfs|/root> service network restart 또는 /etc/rc.d/init.d/network restart

Shutting down interface eth0: [ OK ]

Shutting down interface eth1: [ OK ]

Shutting down loopback interface: [ OK ]

Bringing up loopback interface: [ OK ]

Bringing up interface eth0: [ OK ]

Bringing up interface eth1: [ OK ]

sl_rac_nfs|/root>

  

'Unix관련' 카테고리의 다른 글

[리눅스] 즐겨찾기  (0) 2010/03/01
[UNIX] 리눅스 FTP 사용하기  (2) 2010/02/16
[Unix] 리눅스 hostname 변경하기  (0) 2010/02/10
[Unix] 리눅스 커널 확인하기  (0) 2010/02/10
[UNIX] 메모리 덤프 뜨기(tusc)  (0) 2010/02/03
[Linux] telnet 사용하기  (0) 2010/01/20
posted by starland
2010/02/10 08:53 Unix관련

 

 

sl_rac2|/> uname -rm

2.6.18-164.el5 i686

sl_rac2|/>

 

 

posted by starland
2010/02/03 11:45 Unix관련

파란부분을 변경해 주면된다.

1. 실행할 명령을 tusc 뜨려면

-> tusc -o tusc_20100203.log -T "%Y/%m/%d,%H:%M:%S" date

-> tusc -o output파일명 -T "시간찍을 양식" 수행할명령

2. 실행중인 명령을 tusc 뜨려면

-> tusc -o tusc_20100203.log -T "%Y/%m/%d,%H:%M:%S" -p 19233 &

-> tusc -o output파일명 -T "시간찍을 양식" -p 실행중인 pid


3. 유의할점은

-  파일로 떨굴때 양이 많으므로 떨어질 파일시스템에 여유가 있는지 꼭 체크할것!!

-  백그라운드(&)로 수행시 꼭 끊어줄것!!

posted by starland
2010/01/20 19:34 Unix관련


telnet 설치 하기


Redhat linux R5 의 경우 disk 5장 중 3번째 disk에 /server/ 디렉토리안에 설치파일rpm이 들어있으니

요놈을 설치해주면 됩니다^^


 

#rpm -qa | grep telnet  설치 확인후 install -y telnet-server
설치완료후
#vi /etc/xinetd.d/telnet
---------------------------------------------------------
service telnet
{
        disable = no                                       <======= no 로 바꿔야 텔넷서버 사용가능
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
}
---------------------------------------------------------
혹시나 tcp 23번이 막혀있으면 열어준다.
그리고 텔넷 서비스 시작
#service xinetd restart 또는 #/etc/init.d/xinetd restart
텔넷서비스는 기본값으로 root 의 접속이 제한되어있다.
이걸풀려면 #mv /etc/securetty /etc/securetty.back     securetty파일의 파일명을 바꿔주면된다.



===============================================================================

그래도 telnet 으로 root계정 로그인이 안된다면
/etc/securetty 파일에 아래 파란글자 부분을 추가해준다.

[root@slrac1 etc]# cat securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9

[root@slrac1 etc]#


posted by starland
2009/12/31 15:08 Unix관련
1.

* Telnet 의 접속후, 소스 컴파일, 실행 등을 하기 위하여 /etc/xinetd.d/telnet 에서
disable = no 로 수정.

user = root 고, server = /usr/sbin/in.xinetd 로 기본 설정.


1. 설정으로 아래와 같이 실패시 2. 시도

* 메뉴-실행에서 telnet IP ADDRESS 를 입력하고 telnet 접속을 아래와 같이 시도 했습니다.
------------------------------------------------------
Red Hat Enterprise Linux AS release 4 (Nahant)
Kernel 2.6.9-5.ELsmp on an x86_64
login: shseo
Password:
Login incorrect

login:
------------------------------------------------------


2.

/etc/securetty 파일에 아래의 내용을 추가한다.

pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9

posted by starland
2009/12/29 08:11 Unix관련

잘 정리된 글이 있어 퍼옵니다.

출처 : 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'로 대치.


posted by starland
2009/11/19 23:12 Unix관련

DOS와 UNIX간에 텍스트파일의 차이때문입니다.
DOS에서는 라인구분을 CR+LF를 사용하고, UNIX에서는 LF만을 사용합니다.
따라서 DOS의 텍스트파일을 UNIX로 보내면 끝에 CR이 보이게 됩니다.
(참고로 맥은 CR만을 사용합니다.)

^M을 안나오게 하려면 전송할때 binary대신 ascii로 재전송하거나,
vi등에서 ^M을 제거하면 됩니다.
또는 dos2unix등의 프로그램을 이용하셔도 됩니다.
vi를 사용할때는 :1,$s/^M//g 와 같이 입력하면 파일에서 ^M을 찾아서 지워줍니다.
(^M을 입력할때는 Ctrl키를 누른상태에서 v와 m을 누르면 됩니다.)


간단한 방법이 있습니다.

예를 들어 님께서 다운받은 파일이 aaa 라면..

명령라인에서 >dos2unix aaa aaa.txt 라고 쳐 보세요.

그리고 , aaa.txt를 vi로 열어 보시면 ^M이 모두 사라져 있을 겁니다.


from http://edu.hansung.ac.kr/~pscyc/cgi-bin/spboard/board.cgi?id=solaris&action=view&gul=44&page=3&go_cnt=0

posted by starland