2010. 7. 30. 04:48
[파이썬 설치]

 Windows
  • 공식 홈 (http://www.python.org) 다운로드.
  • 설치 디렉토리를 묻는 설치 초기화면.(기본값으로 설치).

  • 설치 구성 요소를 선택.(별 무리 없으면 모두 선택).

  • 설치 완료.

  • 파이썬 설치 요소들에 대한 간략한 설명
    • IDLE(Python GUI) - 파이썬 표준 GUI 대화식 인터프리터.
    • Module Docks – 원하는 모듈 검색 도구(파이썬 2.1 이상 지원)
    • Python (Command Line) – 도스창에서 수행되는 파이썬 대화식 인터프리터.
    • Python Manuals – HTML 파일 형식의 파이썬 온라인 문서 모음.


 Mac OS X

맥 OS X나 리눅스 계열에서는 대부분 Default로 설치 되어 있다.

다음과 같이 버전 확인을 하여 설치 유무를 확인 해 보자.

Devanix ~ $  python --version

Python 2.7.10


Posted by devanix
2010. 7. 29. 02:15


/ (root)
- 마운트 되는 리눅스 파일 시스템이 있는 최상위 디렉토리
- 시스템의 근간을 이루는 가장 중요한 디렉토리
- 파티션 설정 시 반드시 존재하여야 함
- 절대경로의 기준이 되는 디렉토리
※ 절대경로 - / 디렉토리 기준 예) /usr/local
상대경로 - 현재 작업 디렉토리 기준 예) ./local


/bin
- 리눅스의 기본 명령어(binary)들이 들어있는 디렉토리
- 시스템을 운영하는데 기본적인 명령어들이 들어 있음.


/sbin
- 시스템 관리에 관련된 실행 명령어들이 들어있는 디렉토리
- 시스템 점검 및 복구 명령, 시스템 초기 및 종료 명령 등 시스템 관리에 관련된 실행파일들 존재.


/lib
- 프로그램들이 의존하고 있는 라이브러리 파일들 존재.
- /lib/modules : 커널 모듈 파일들 존재.
- 대부분의 라이브러리들은 링크로 연결되어 있음.


/proc
- 시스템에 대한 정보를 제공하는 가상 파일 시스템.
- 커널의 어떤 기능을 제어할 수 있는 역할을 가지고 있음.
- 대부분 읽기 전용이나, 일부 파일중에는 쓰기가 가능한 파일이 존재 하는데 이러한 파일들에 특정 값을 지정하면 커널 기능이 변하게 됨.
- 이 디렉토리 내에 있는 파일을 cat 명령을 이용하여 보면 시스템 정보를 확인 할 수 있음.
예) 인터럽트 정보 확인 ---> cat /proc/interrupts


/etc
- 시스템 환경 설정 파일이 있는 디렉토리
- 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리
- /etc/CORBA : Common Object Request Broker Architecture (COBRA)에 관한 파일이 들어있음.
- /etc/X11 : 엑스 윈도우 설정에 관련된 파일들이 있음.
- /etc/cron.d : crontab 명령의 설정파일이 있음.
- /etc/cron.daily : 매일 작동하게 하는 crontab 스크립트 파일이 존재.
- /etc/gnome : GTK+ 정의파일들이 있음.
- /etc/httpd : 아파치 웹 서버의 설정 및 로그파일이 있음.
- /etc/logrotate.d : logrotate 설정 파일들이 있음.
- /etc/mail : 센드메일과 관련된 파일이 있음.
- /etc/ppp : ppp 설정에 관련된 파일들이 있음.
- /etc/profile.d : 쉘 로그인 하여 프로파일의 실행되는 스크립트에 대한 정의가 있음.
- /etc/rc.d : 시스템 초기화와 관련된 스크립트가 존재.
- /etc/samba : 삼바에 관련된 파일들이 있음.
- /etc/security : 터미널 보안에 관련된 설정이 있음.
- /etc/skel : 새로운 사용자를 추가할 때 자동적으로 생성되는 디렉토리와 파일이 있음.
- /etc/squid : squid 프록시 서버에 관련된 파일이 있음.
- /etc/ssh : secure shell 설정 파일이 있음
- /etc/sysconfig : 시스템과 네트워크 설정을 담고 있음.
- /etc/xinetd.d : 슈퍼데몬 xinetd.d의 서비스 영역을 설정하는 디렉토리.


/var
- 가변 자료 저장 디렉토리
- 시스템 운영중에 시스템 자료 데이터가 변경될 때 변경된 자료들이 저장되는 곳.
- 주로 시스템 작동기록(log)들을 저장.
- /var/log : 시스템에 발생된 일들에 대한 기록 파일이 있음
- /var/named : 네임서버 설정 파일들 존재
- /var/spool/mail : 수신 메일을 사용자 명으로 기록하는 디렉토리


/usr
- 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치.
- /usr/bin : 응용 프로그램의 실행 파일이 위치
- /usr/sbin : 주로 네트워크 관련 실행 명령어와 실행 데몬들을 많이 포함하고 있음.
- /usr/X11R6 : X-window 시스템에 관련된 파일 존재.
- /usr/include : 기본 C 라이브러리 헤더 파일과 각종 라이브러리 헤더파일들이 있음.
- /usr/lib : /usr/bin과 /usr/sbin에 있는 실행 바이너리를 실행하기 위한 라이브러리 존재.
- /usr/src : 프로그램소스 및 커널 소스들이 보관되어 있는 곳.
- /usr/man : 매뉴얼 페이지가 담겨있는곳.
- /usr/local : 새로운 프로그램들이 설치되는 곳 (windows의 Program Files 와 유사)


/mnt
- 다른 장치들을 마운트 할때 일반적으로 사용하는 디렉토리
- 다른 디렉토리를 사용하여도 됨.


/home
- 일반 사용자의 홈 디렉토리가 만들어 지는 디렉토리
- 사용자 계정을 만들면 게정과 같은 이름으로 새로운 사용자 디렉토리가 /home 디렉토리의 하위 디렉토리로 생성됨.


/boot
- 부팅에 핵심적인 커널 이미지와 부팅 정보 파일을 담고 있는 디렉토리
- /etc/lilo.conf에서 지정한 커널 부팅 이미지 파일이 들어 있으며 부팅시 매우 중요한 디렉토리


/root
- 슈퍼유저(root) 사용자의 홈 디렉토리.
- / 와 /root 디렉토리는 부르는 이름은 같지만 서로 다름.

'Linux' 카테고리의 다른 글

우분투(Ubuntu)에서 자바(Java) 설치. (add-apt-repository 이용)  (0) 2012.03.18
[centOS5.5]bonding 설정  (0) 2010.06.11
서버 데몬 유형  (1) 2010.05.29
[CentOS]Consol Network 설정  (0) 2010.05.26
Job 스케줄링  (0) 2010.05.18
Posted by devanix
2010. 7. 3. 23:03

1.SET PASSWORD 사용하기

# mysql –u root –p mysql

Enter password:*******

 

mysql> SET PASSWORD FOR root@localhost=PASSWORD('aaa');

Query OK, 0 rows affected (0.04sec)

àFLUSH PRIVILEGES; 명령을 사용하지 않아도 바로 적용.

 

2. UPDATE 문으로 user 테이블 수정하기

# mysql –u root –p mysql

Enter password:*******

 

mysql> UPDATE user SET Password=PASSWORD('aaa') WHERE user='root';

mysql> FLUSH PRIVILEGES;

à UPDATE문을 사용하여 MYSQL 시스템 데이터베이스 안의 user 테이블을 수정하는것으로,

FLUSH PRIVILEGES;명령을 주어야 적용.

 

▣ PASSWORD() 함수

à PASSWORD() 해독할 수 없는 암호화 방식이다. Base64 인코딩 방식은 디코딩이 가능 하지만,

Password()는 해독 함수가 존재하지 않는다.

그러나 기본적으로 for 루프 등을 돌려서 추측할 수 있으므로, 비밀번호는 최소 8자 이상으로 설정해 주는 것이 좋다.

비밀번호의 길이가 길어지면, 해독 시간이 늘어나기 때문이다.

'DBMS(Database)' 카테고리의 다른 글

ALTER 명령(테이블명, 칼럼명, 수정)  (0) 2010.07.02
MySQL 내장 함수 정리  (0) 2010.06.26
DBMS 개념  (0) 2010.06.23
Posted by devanix
2010. 7. 2. 11:26

Syntax (ALTER TABLE 문)

ALTE TABLE 테이블명 변경옵션

 

컬럼명 변경

ALTER TABLE 테이블명 CHANGE 예전컬럼명 새로운컬럼명 데이터형

  • 데이터형은 반드시 써주어야 함.

 

♧ 칼럼 삭제하기

ALTER TABLE 테이블명 DROP 삭제하려는칼럼명

 

♧ 칼럼 추가하기

ALTER TABLE 테이블명 ADD 새로운칼럼명 데이터형

 

♧ 데이터형 수정하기

ALTER TABLE 테이블명 MODIFY 칼럼명 새로운데이터형

 

♧ 테이블명 수정하기

ALTER TABLE 예전테이블명 RENAME 새로운테이블명

 

♧ 테이블명 삭제하기

DROP TABLE 테이블명

 

♧ 데이터베이스 삭제하기

DROP DATABASE 데이터베이스명

'DBMS(Database)' 카테고리의 다른 글

슈퍼 유저(root)패스워드 변경 2가지 방법  (0) 2010.07.03
MySQL 내장 함수 정리  (0) 2010.06.26
DBMS 개념  (0) 2010.06.23
Posted by devanix
2010. 6. 26. 17:07

1.숫자 관련 함수
 - ABS(
숫자) - 절대값 출력.
 - CEILING(
숫자) - 값보다 정수 가장 작은 .
 - FLOOR(
숫자) - 값보다 작은 정수 가장 [실수를 무조건 버림(음수일 경우는 제외)].
 - ROUND(
숫자,자릿수) - 숫자를 소수점 이하 자릿수에서 반올림.(자릿수는 양수,0,음수를 갖을 있다.)
 - TRUNCATE(
숫자,자릿수) - 숫자를 소수점 이하 자릿수에서 버림.
 - POW(X,Y) or POWER(X,Y) - X
Y
 - MOD (
분자, 분모) - 분자를 분모로 나눈 나머지를 구한다.(연산자 % 같음)
 - GREATEST(
숫자1,숫자2,숫자3...) - 주어진 제일 리턴.
 - LEAST(
숫자1,숫자2,숫자3...) - 주어진 제일 작은 리턴.
 - INTERVAL(a,b,c,d.....) - a(
숫자) 위치 반환


2.
문자 관련 함수

 - ASCII(
문자) - 문자의 아스키 코드값 리턴.
 - CONCAT('
문자열1','문자열2','문자열3'...) - 문자열들을 이어준다.
 - INSERT('
문자열','시작위치','길이','새로운문자열') - 문자열의 시작위치부터 길이만큼 새로운 문자열로 대치
 - REPLACE('
문자열','기존문자열','바뀔문자열') - 문자열 기존문자열을 바뀔 문자열로 바꾼다.
 - INSTR('
문자열','찾는문자열') - 문자열 찾는 문자열의 위치값을 출력
 - LEFT('
문자열',개수) - 문자열 왼쪽에서 개수만큼을 추출.
 - RIGHT('
문자열',개수) - 문자열 오른쪽에서 개수만큼을 추출.
 - MID('
문자열',시작위치,개수) - 문자열 시작위치부터 개수만큼 출력
 - SUBSTRING('
문자열',시작위치,개수) - 문자열 시작위치부터 개수만큼 출력
 - LTRIM('
문자열') - 문자열 왼쪽의 공백을 없앤다.
 - RTRIM('
문자열') - 문자열 오른쪽의 공백을 없앤다.
 - TRIM('
문자열') - 양쪽 모두의 공백을 없앤다.
 - LCASE('
문자열') or LOWER('문자열') - 소문자로 바꾼다.
 - UCASE('
문자열') or UPPER('문자열') - 대문자로 바꾼다.
 - REVERSE('
문자열') - 문자열을 반대로 나열한다.


3.
관련 함수
 - IF(
논리식,참일 ,거짓일 ) - 논리식이 참이면 참일 값을 출력하고 논리식이 거짓이면 거짓일 출력한다.
 - IFNULL(
1,2) - 1 NULL 이면 2 대치하고 그렇지 않으면 1 출력


4.
함수
 - COUNT(
필드명) - NULL 값이 아닌 레코드 수를 구한다.
 - SUM(
필드명) - 필드명의 합계를 구한다.
 - AVG(
필드명) - 각각의 그룹 안에서 필드명의 평균값을 구한다.
 - MAX(
필드명) - 최대값을 구한다.
 - MIN(
필드명) - 최소값을 구한다.


5.
관련 함수
 - NOW() or SYSDATE() or CURRENT_TIMESTAMP() - 현재 날짜와 시간 출력
 - CURDATE() or CURRENT_DATE() -
현재 날짜 출력
 - CURTIME() or CURRENT_TIME() -
현재 시간 출력
 - DATE_ADD(
날짜,INTERVAL 기준값) -날짜에서 기준값 만큼 더한다.
   (
기준값 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)
 - DATE_SUB(
날짜,INTERVAL 기준값) -날짜에서 기준값 만큼 뺸다.
   (
기준값 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND)
 - YEAR(
날짜) -날짜의 연도 출력.
 - MONTH(
날짜) -날짜의 출력.
 - MONTHNAME(
날짜) -날짜의 월을 영어로 출력.
 - DAYNAME(
날짜) -날짜의 요일일 영어로 출력.
 - DAYOFMONTH(
날짜) -날짜의 월별 일자 출력.
 - DAYOFWEEK(
날짜) -날짜의 주별 일자 출력(월요일(0),화요일(1)...일요일(6))
 - WEEKDAY(
날짜) -날짜의 주별 일자 출력(월요일(0),화요일(1)...일요일(6))
 - DAYOFYEAR(
날짜) -일년을 기준으로 날짜까지의 .
 - WEEK(
날짜) -일년 번쨰 .
 - FROM_DAYS(
) --00 00 00일부터 만큼 경과한 날의 날짜 출력.
 - TO_DAYS(
날짜) --00 00 00 부터 날짜까지의 일자 출력.
 - DATE_FORMAT(
날짜,'형식') : 날짜를 형식에 맞게 출력

'DBMS(Database)' 카테고리의 다른 글

슈퍼 유저(root)패스워드 변경 2가지 방법  (0) 2010.07.03
ALTER 명령(테이블명, 칼럼명, 수정)  (0) 2010.07.02
DBMS 개념  (0) 2010.06.23
Posted by devanix
2010. 6. 23. 10:03

▣ [그림: DBMS 개념도]

 

DBMS 개념

데이터(Data)

자료

(hong, 홍길동, 22살, 경기등 단편적인 정보)

테이블(Table)

데이터를 표 형식으로 표현

(단편적인 정보를 표 형태로 체계화시켜 구성한 것)

DB(DataBase)

테이블의 집합

('고객정보', '구매정보', 같은

테이블이 들어 있는 커다란 저장 장소)

DBMS(DataBase Management System)

DB들을 관리하는 소프트웨어

(원통 모양의 DB를 관리하기 위한 소프트웨어)

레코드(Record) or 튜플(Tuple)

테이블의 행

('hong-홍길동-22-경기'가 하나의 레코드)

필드(컬럼) or 컬럼(Column)

테이블의 열

('아이디', '이름', '나이', '주소'와

같이 각각의 필드는 반드시 이름이 있다.

각필드는 데이터타입 이라는 것이 지정)

데이터 타입

각 필드에 입력할 값의 형식(정수, 문자 등)

필드명

각 필드의 이름

주키(Primary Key)

레코드를 식별하기 위해서, 유일한 값을 가지고 비어 있지 않은 필드

외래키(Foreign Key)

다른 테이블의 주 키와 대응되는 필드

RDBMS(Relational DBMS)

관계형 DBMS

SQL

(Structured Query Language, 구조화된 질의 언어)

DB에서 정보를 얻거나,

생성 및 갱신하기 위해 정의된 표준언어.

 

Posted by devanix
2010. 6. 11. 19:04
○ bonding 이란?
여러장의 이더넷 카드를 묶어 하나의 ip를 부여하여 그만큼 대역폭을 확보하는 방법 입니다. 
물론 케이블 불량을 대비한 고장대비 방법이라고도 볼 수 있습니다.


○ /etc/sysconfig/network 파일

   GATEDEV=bond0 => 추가

○ /etc/sysconfig/network-scripts/ifcfg-bond0 작성
    
    DEVICE=bond0
    ONBOOT=yes
    BOOTPROTO=none
    IPADDR=192.168.10.xxx
    NETMASK=255.255.255.0
    NETWORK=192.168.10.0 
    GATEWAY=192.168.10.1
    TYPE=BOND

○ ifcfg-ethX 설정

    DEVICE=ethX
    ONBOOT=yes
    USERCTL=no
    MASTER=bond0
    SLAVE=yes
    BOOTPROTO=none


○ /etc/modprobe.conf   => 수정

    alias bond0 bonding
    options bond0 mode=0 miimon=100

○ bonding 모듈 적재
    # modprobe bonding

○ network 스크립트 재 시작
  
    # service network restart

○ # cat /proc/net/bonding/bond0   ( bonding 설정 내용 확인. )


Failover 의 작동상황 여부는 대략 /proc/sys/net/bonding/bond0 등의 파일을 읽었을때,

Link Failure count 의 변화 여부 확인.

본딩 옵션들

Mode : 본딩방식을 정하는 옵션.
   0 - RR 방식 로드밸런스. 인터페이스의 라운드로빈. ( 대역폭 상승 + Failover 용 )
   1 - Active-Standby ( NIC 의 Failover 만을 위한 모드 )
        한개는 대기상태로 기존것이 이상이 생길경우 active
   2 - XOR 방식. 수신시에는 MAC 어드레스로 매핑, 송신시 1번 NIC 사용.
   3 - Broadcast 방식. 모든 Slave NIC 으로 통신 failover 제공.
   4 - 802.3ad Dynamic Link aggregation.
   5 - 송신패킷만 로드밸런싱. 동일 스위치에 물려있어야 함.
   6 - 송수신 패킷 로드밸런싱. 동일스위치에 물려야함.

Miimon : 링크 감시설정 모드. 밀리세컨드단위. 디폴트값 0으로 사용안함이 된다.
           즉, 0으로 설정하면 Failover 가 되지 않는다.








'Linux' 카테고리의 다른 글

우분투(Ubuntu)에서 자바(Java) 설치. (add-apt-repository 이용)  (0) 2012.03.18
리눅스 디렉토리 구조  (0) 2010.07.29
서버 데몬 유형  (1) 2010.05.29
[CentOS]Consol Network 설정  (0) 2010.05.26
Job 스케줄링  (0) 2010.05.18
Posted by devanix
2010. 5. 29. 19:47
#! /bin/sh

usage(){
    echo "Usage: $0 [-a] [-f] [-h] [-p] [-s] [Directory]"
    echo " [Option] -a (-A) : directory and file"
    echo "          -f (-F) : output to file (dtree.text)"
    echo "          -h (-H) : help"
    echo "          -s (-S) : with block-number"
    exit 1
}

DIR=`pwd`
OPT=""
OPT1=""

tailr() {
    awk '{
        line[NR] = $0   
    }
    END {
        for(i=NR; i>0; i--) print line[i]
    }'
}

for kinta in $*
do
    case $kinta in
        -[aA]) OPT="-a"  ;;
        -[sS]) OPT1="-s" ;;
        -[fF]) dtree.sh $OPT $OPT1 $DIR > dtree.text
               echo " dtree.text [done]"
               exit 0    ;;
        -[hH]) usage     ;;
        *)  if [ -d $kinta ] ;then
                echo -n ""
            else
                echo -n "Directory or Option not found : "
                echo $kinta
                usage
            fi
            DIR=`(cd $kinta; pwd)`
            break 1
            ;;
    esac
done

#du | awk | tailr

du $OPT $DIR |

awk '
BEGIN {
    save_cnt=0
    base_cnt = length("'"$DIR"'")
    for(i=1; i<100; i++)
        nest[i]=0
    opt="'"$OPT1"'"
}
{
    cnt=1
    for(i=length($2); i>base_cnt; --i) {
        if(substr($2,i,1) == "/")
            cnt++
    }
    len=0
    for(scnt=length($2); scnt; --scnt) {
        if(substr($2,scnt,1) == "/") {
            scnt++
            break
        }
        len++
    }

    nest[cnt] = 1
    if (cnt < save_cnt) {
        nest[save_cnt] = 0
    }
    else if (cnt > save_cnt) {
        for(i=1; i<=save_cnt; ++i) {
            if(nest[i] == 1)
                printf "    |"
            else
                printf "     "
        }
        printf "\n"
    }
    for(i = 1; cnt != 1 && i <= cnt; ++i) {
        if (nest[i] == 1)
            printf "    |"
        else
            printf "     "
    }
    if (cnt == 1) {
        if (opt == "-s" )
            printf "   %s(%d)\n", $2, $1
        else
            printf "   %s\n", $2
    }
    else {
        if (opt == "-s")
            printf "-- %s(%d)\n", substr($2, scnt,len), $1
        else
            printf "-- %s\n", substr($2, scnt, len)
    }
    save_cnt = cnt
}
' | tailr


'Linux > ShellScript' 카테고리의 다른 글

ANSI Escape(ESC) character  (0) 2010.11.02
쉘내부 명령어  (0) 2010.10.28
[Script] 파일 점검 프로그램  (0) 2010.05.23
[if연산] test 관련 연산자  (0) 2010.05.23
쉘(Shell) 환경  (0) 2010.05.16
Posted by devanix