AVD 작성

Posted by 백창
2014. 9. 13. 17:02 개발/Android
반응형


 AVD란?


- 에물레이터에 설정할 단말 정보를 지정하는 것으로 안드로이드 플랫폼의 타겟 정보 등에 의해 구성된다. 

- AVD의 도입에 따라 에물레이터의 실행에는 AVD의 지정이 필수가 되었다.

- 여러 개 작성한 AVD를 바꾸면서 사용하는 것으로 에물레이터에 여러 단말의 움직임을 에물레이션시키거나 여러개의 에물레이터를 실행하거나 하는 것이 가능

- API 레벨이란 Android의 버전에 대응하는 정수를 말한다.


 AVD 작성


AVD를 작성하기 위하여 AVD Manager를 실행한다.



Create 버튼을 누르고 Device, Target, CPU, Skin과 Size 를 설정하고 확인을누른다



Start를 누르고 실행한다.



하지만.. 매우 느리다



반응형

'개발 > Android' 카테고리의 다른 글

[eclipse 오류]PermGen space  (0) 2014.09.23
지니모션 설치  (0) 2014.09.14
Android 설치  (0) 2014.09.13

Android 설치

Posted by 백창
2014. 9. 13. 16:04 개발/Android
반응형

JDK와 이클립스 또한 설치되어 있어야 한다.


 Android-SDK 설치


http://developer.android.com/sdk/installing/index.html?pkg=tools


다음 사이트에서 SDK를 다운받는다.




다운 받은 파일을 실행하여 설치를 진행한다.


SDK 매니저를 실행시켜 API를 설치한다.



엄청나게 오래걸린다 ㅠ


설치가 완료되면 JDK와 같이 환경변수를 설정한다.



SDK가 설치된 폴더의 변수를 설정하고



Path변수에 넣어준다.


 ADT-Plugin 설치


설치된 이클립스를 실행하여 Help 메뉴에 Install New Software를 선택한다.



Add 버튼을 눌러 다음 주소를 입력하여 Android ADT-Plugin을 설치한다.


https://dl-ssl.google.com/android/eclipse/




설치 후 이클립스를 다시 키면 다음과 같은 아이콘이 나타남을 알 수 있다.



반응형

'개발 > Android' 카테고리의 다른 글

[eclipse 오류]PermGen space  (0) 2014.09.23
지니모션 설치  (0) 2014.09.14
AVD 작성  (0) 2014.09.13

[samba] 외부 네트워크에서 접속하기 - ssh 터널링

Posted by 백창
2014. 9. 13. 13:12 리눅스/서버 구축
반응형


 개요


ISP에서 막혀있는 삼바포트를 SSH 터널링을 사용하여 외부 네트워크에서 접속해보자


 루프백 어뎁터 설치


내 컴퓨터에 관리를 클릭



장치관리자에 네트워크 어뎁터를 선택한다.



동작메뉴에 레거시 하드웨어 추가를 클릭한다.



다음 과정을 따라하여 루프백 어뎁터를 설치한다.







 루프백 어뎁터 설정


네트워크 센터에서 새로추가된 어뎁터의 속성에 들어간다


다음 두 가지를 체크 해제 한다.



루프백 네트워크의 IP와 서브넷마스크를 등록하고 고급버튼을 누른다.



다음 항목을 체크한다.



 445포트 개방


Samba의 포트 445는 넷바이오스 포트로 먼저 windows에서 그리고 ISP에서 포트를 막아놨다. 그래서 먼저 다음 파일을 받아 관리자 모드로 실행하여 windows의 포트를 개방한다.


localsmb.exe





 ssh 터널링


다음 putty 프로그램을 다운받아 ssh 연결을 한다.(ssh 설치 편 참조)


HangulPuTTY-0.60h.setup.exe



다음 포워드 포트 부분에 다음과 같이 추가해준다.


원포트 : 139

대상 : Host - IP : 139


원포트 : 10.0.0.1:139

대상 : 127.0.0.1: 139


원포트 : 445

대상 : Host - IP : 445


원포트 : 10.0.0.1:445

대상 : 127.0.0.1445



Putty에 접속하고 테스트를 해보자



 테스트





반응형

'리눅스 > 서버 구축' 카테고리의 다른 글

[tomcat] 웹서버 설치  (0) 2014.10.04
[samba] 공유 디스크 설치  (0) 2014.09.12
[openssh-server] 원격접속 설치  (0) 2014.08.04
[vsftpd] FTP 서버 설치  (0) 2014.08.04
[apache2] 웹서버 설치  (0) 2014.08.04

[samba] 공유 디스크 설치

Posted by 백창
2014. 9. 12. 18:26 리눅스/서버 구축
반응형


 samba 설치



 유저 생성


먼저 samba 에 유저를 할당하기 위해 유저 생성을 한다.



그 유저를 삼바에 할당해주는데 원격 접속으로는 안된다. 


연구실로 쫄래쫄래가서 삼바유저를 추가 완료




 설정



다음 파일을 다음과 같이 수정한다



[~]는 외부에서 접속하였을때 보이는 공유 이름이다.

path  는 공유 디스크의 경로

guest ok 는 누구나 접속 가능하다

writable 은 쓰기 가능하다

write list 는 쓰기 권한을 부여하는 것이다.


 사용




반응형

Open GL 설치

Posted by 백창
2014. 9. 12. 16:55 개발/Open GL
반응형


 API 다운로드 및 설치



 Library

 Internet Address

 GL

GLU

GLAUX

ftp://ftp.microsoft.com/softlib/mslfiles/opengl95.exe 

 GLUT

http://user.xmission.com/~nate/glut.html


GLUT 다운로드 사이트 화면


glut-3.7.6-bin.zip 파일을 다운로드 한다.


압축 해제 후 각 파일을 다음 폴더에 넣는다.


64bit 운영체제 기준입니다.


Classification 

Folder Location

Files 

 Header File

C:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\include\gl

gl.h

glaux.h

glu.h

glut.h

 Library File

C:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\lib

glaux.lib

glu32.lib

glut32.lib

opengl32.lib

 Dynamic Link Library File

C:\Windows\System32

C:\Windows\SysWOW64

 glu32.dll

glut32.dll

opengl32.dll


추가할 DLL파일은 3개 인데 두개는 이미 존재한다고한다. 그래서 일단 추가하지 않았음



 프로젝트 생성





 코드 작성


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <gl/glut.h>
#include <math.h>
 
#define    Pi    3.1415
 
void MyDisplay(){
    GLfloat Size[2], Angle;
 
    glClear(GL_COLOR_BUFFER_BIT);        //상태변수 설정, GL 버퍼를 초기화해라. 1번 칼라를 사용해라
    glColor3f(0.0, 0.0, 0.0);
 
    glGetFloatv(GL_POINT_SIZE_RANGE, Size);
 
    glPointSize(Size[0] * 10);
    glBegin(GL_POINTS);
 
    //계산
    for (Angle = 0.0; Angle <= 2.0*Pi; Angle += Pi / 20.0){
        glVertex3f(0.5*cos(Angle), 0.5*sin(Angle), 0.0);
    }
 
    glEnd();
    glFlush();
}
 
int main(int argc, char **argv){
 
    glutInit(&argc, argv);            //glut 라이브러리를 초기화 하고 윈도우와 연결하는 세션을 만들어라
 
    glutInitDisplayMode(GLUT_RGBA);  //윈도우의 기본 컬러모드를 RGBA로 설정
    glutInitWindowSize(500, 500);        //크기
    glutInitWindowPosition(0, 0);         //시작위치
    glutCreateWindow("Hello");           //타이틀
 
    glClearColor(1.0, 1.0, 1.0, 1.0);   //1번 칼라 (0~1 값을 가지고, 마지막 A는 불투명도 이다)
    glutDisplayFunc(MyDisplay);         //콜백함수 실행
    glutMainLoop();
    return 0;
}


 실습



반응형

'개발 > Open GL' 카테고리의 다른 글

정육면체 그리기  (0) 2014.11.21
도형 그리기 및 이동  (0) 2014.11.03
[빌드 오류] failure during conversion to COFF: file invalid or corrupt  (0) 2014.10.17
Menu & SubMenu 생성  (11) 2014.10.09
freeglut API 설치  (0) 2014.09.29

윈도우 원격 접속 포트 변경

Posted by 백창
2014. 9. 4. 23:13 컴퓨터네트워크/etc
반응형


 설정


윈도우 실행창에서 regedit (레지스터리 편집기) 실행


다음 경로로 이동


HKEY_LOCAL_MACHINE

> SYSTEM

> CurrentControlSet

> Control

> Terminal Server

> WinStations

> RDP-Tcp

에서 PortNumber에 원하는 포트로 변경


단위를 10진수를 선택해 보기 편하게 해서 변경한다.


변경 후 다음 경로에서도 같은 작업을 반복한다.


HKEY_LOCAL_MACHINE

> SYSTEM

> CurrentControlSet

> Control

> Terminal Server

> Wds

> rdpwd

> Tds

> tcp



재부팅은 필수!


 테스트



반응형

[게임] lightbot 게임 간단히 만들기

Posted by 백창
2014. 9. 3. 19:48 개발/C언어
반응형


 해커톤이란?


 '해킹(hacking)'과 '마라톤(marathon)'의 합성어다. 해커톤은 정보기술(IT) 기업에서 흔하게 활용되는데, 미국 소셜네트워크서비스 페이스북(Facebook)은 평소 직원들에게 밤새 음식과 간식을 제공하면서 아이디어와 생각을 직접 만들어 보게 하는 해커톤을 지속적으로 개최하여 많은 이득을 보았다.


 Lightbot


 유아용 소프트웨어 교육용 게임 Lightbot이다. 어린 아이들이 소프트웨어에 쉽게 접근할 수 있게 게임으로 소프트웨어의 특징을 나타낸 게임이다.



플레이 화면을 보면 마치 C언어를 짜듯이 프로시져와 메인 함수로 이루어진 UI를 볼 수 있다.



 구현


 이제 팀을 이루어 가장 자신있는 언어로 Lightbot 게임을 40여분 동안 제작하였다.

 4명이 팀을 이루었지만 소스코드는 단 한명이 작성을 해야하고 나머지 팀원은 여러 가지 의견을 제시하여 소스코드를 작성 하는 동시에 소스코드를 리뷰할 수 있게 진행되었다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <stdio.h>
int i;                //입력 받은 명령의 개수
int command[100];    //입력 받은 명령
int direction;        //캐릭터가 보는 방향
int x, y;            //x축 y축
 
int path[5][5] = {    //게임 맵
    { 2, 0, 1, 1, 1 },
    { 1, 0, 1, 1, 1 },
    { 1, 0, 1, 1, 1 },
    { 1, 0, 1, 1, 1 },
    { 1, 0, 0, 0, 3 }
};
 
/*게임 맵 출력*/
void printGame(){
    int i, j;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
            printf("%d ", path[i][j]);
        printf("\n");
    }
}
/*방향에 따른 전진*/
void foward()
{
    if (direction == 0&&y<4)
        y++;
    else if (direction == 1 && x<4)
        x++;
    else if (direction == 2 && 0<y)
        y--;
    else if (direction == 3 && 0<x)
        x--;
    path[x][y] +=1;
}
/*방향 전환*/
void turnLeft()
{
    direction=(direction - 1)%4;
}
void turnRight()
{
    direction = (direction + 1) % 4;
}
/*목적지 도달*/
void lightOn()
{
    path[x][y] -= 3;
}
/*성공여부 측정*/
int checkGame()
{
    int a, b;
    for (a = 0; a < 5; a++)
    {
        for (b = 0; b < 5; b++)
        {
            if (path[a][b] != 1)
                return -1;
        }
    }
    return 1;
}
/*명령 수행*/
void action()
{
    int a;
    for (a = 0; a <= i; a++)
    {
        if (command[a] == 1)
            foward();
        else if (command[a] == 2)
            turnLeft();
        else if (command[a] == 3)
            turnRight();
        else if (command[a] == 4)
            lightOn();
        else if (command[a] == -1)
        {
            if(checkGame()==-1)
                printf("실패\n");
            else printf("성공\n");
        }
        printf("\n");
        printf("<%d번째>\n", a + 1);
        printGame();
    }
}
 
void main(void){
 
    printGame();
    printf("\n명령어를 입력해주세요(Foward: 1, LeftTurn: 2, RightTurn: 3, lightOn: 4, Exit: -1): ");
    for (i = 0;; i++)
    {
        scanf_s("%d", &command[i]);
        if (command[i] == -1)
        {
            break;
        }
    }
    path[x][y] -= 1;
    action();
}
//1 3 1 1 1 1 2 1 1 1 4 -1


 결과


 먼저, 게임 맵이 나타나고 2에서 시작하여 3으로 이동하고, 0이 이동할 수 있는 경로이다. 올바른 경로로 이동하면 모든 배열이 1이되어 게임이 종료된다.

프로그램을 실행하여 정답에 맞는 명령을 적으면 다음과 같이 성공 화면이 나타난다.



반응형

명령어 모음 - centOs

Posted by 백창
2014. 9. 3. 19:24 리눅스
반응형


 리눅스 시스템 종료 방법

shutdown -h now

halt

init 0


- shutdown 명령어

shutdown -h +10 (10분후 종료, h:halt)

shutdown -r 22:00 (오후 10시에 재부팅, r:reboot)

shutdown -c (예약된 shutdown 명령 취소)

shutdown -k now (종료 메시지는 보이나 종료 안됨)


 재부팅

shutdown -r now

reboot

init 6


 로그아웃

logout

exit


- init명령어(런레벨, Runlevel)

0번 : 종료모드

1번 : 단일 사용자 모드(시스템 복구시 사용)

2번 : NFS 없는 다중 사용자 모드

3번 : 텍스트 모드의 다중 사용자 모드

4번 : 없음

5번 : x윈도우 모드의 다중 사용자 모드

6번 : 재부팅 모드

</etc/inittab 에 지정되어 있음>



 vi ; vi editer

vi test.txt



 man ; man page

man <명령어>



 genisoimage ; iso 생성

genisoimage -r -J -o test.iso /boot

 "-r -J" : 8글자 이상의 파일명 및 대소문자를 구분해서 인식

 "-o" : 출력할 파일을 위한 옵션

 "test.iso" : 생성될 iso 파일명

 "/boot" : 포함될 파일 또는 디렉토리

 


 xdrecord ; cd로 굽기


 growisofs ; DVD로 굽기

 


 ls ; 목록보기

  : ls    ; 현재의 디렉토리 목록

  : ls /usr/bin ; /usr/bin의 디렉토리 목록

  : ls -a  ; 디렉토리 목록

  : ls -l  ; 디렉토리 목록 자세히

  : ls *.txt ; txt파일 보여줌

  : ls -l /usr/bin/a* ; /usr/bin/ 디렉토리에서 앞글자가 a인 목록

 


 cd ; 디렉토리 이동

10. cd 명령어 : 디렉토리 이동 명령어

  : cd ; 사용자의 홈디렉토리로 이동

  : cd ~root ; root사용자의 홈 디렉토리로 이동

  : cd.. ; 상위 디렉토리로 이동

  : cd /usr/bin ; /usr/bin 디렉토리로 이동(절대경로)

  : cd ../usr/bin ; 상대경로로 이동

 


 pwd ; 현재 작업중인 경로

  : pwd ; 현재 작업중인 디렉토리 경로 출력

 


 rm -삭제

  : rm abc.txt ; 삭제(내부적으로 rm -i 로 연결됨

  : rm -i abc.txt ; 삭제시 확인을 물어본다

  : rm -r abc ; abc라는 디렉토리 삭제

  : rm -rf abc ; abc 이하 전부 강제 삭제

 


 cp ; 복사

  : cp abc01.txt abc02.txt ; abc01.txt를 abc02.txt파일로 복사

  : cp -r abc01 abc02 ; 디렉토리 복사

 


 touch ; 크기 0파일 생성 또는 수정 시간 변경

  : touch abc.txt

 


 mv; 파일 이름 변경 또는 위치 이동

  : mv aaa bbb ccc ddd ; aaa,bbb,ccc, 파일을 ddd 디렉토리로 이동

  : mv abc.txt bbb.txt ; 이름 변경

 


 mkdir; 새 디렉토리 생성

  : mkdir abc ; 현재 디렉토리 아래 abc 디렉토리 생성

  : mkdir -p def/fgh ; 현재 디렉토리 아래 def/fgh 생성

 


 rmdir ; 디렉토리 삭제(파일 존재시 불가)

  : rmdir abc

 


 cat ; 텍스트 파일 화면에 출력

  : cat install.log

 


 head, tail ; 텍스트 파일 앞 또는 뒤 10행 출력

  : head install.log

  : tail install.log

 


 more ; 텍스트 파일 페이지 단위 출력

(space : 다음페이지, b : 앞페이지, Q : 뒷페이지)

  : more install.log

  : more +100 install.log : 100행부터 보여줌

 


 file ; 파일의 종류 표시

  : file install.log

  : file /bin/gzip

 


 clear ; 명령창 청소

  ; clear



<사용자 및 그룹 관련 명령어>


23. useradd or adduser

  실행시 /etc/passwd, /etc/shadow, /etc/group 에 새로운 행 추가

  : useradd newuser

  : useradd -u 555 newuser ; 555라는 이름의 유저 추가

  : useradd -g mygroup newuser ; mygroup에 포함된 newuser 생성

  : useradd -d /newhome newuser ; 홈디렉토리가 newhome 인 newuser 생성

  : useradd -s /bin/csh newuser ; 기본 쉘 /bin/csh 지정

 

24. passwd - 비밀번호 지정 및 변경

  : passwd newuser ; newuser의 비밀번호 지정 및 변경

 

25. usermod -useradd와 사용법 동일, 사용자 속성 변경

  : usermod -g root newuser ; newuser의 그룹을 root 그룹으로 변경

 

26. userdel -  사용자 삭제

  : userdel newuser

  : userdel -r newuser

 

27. change - 소용자 암호 주기적 변경

  : change -l newuser ; newuser에 설정된 사항 확인

  : change -m 2 newuser ; 설정암호 최소 일자(2일)

  : change -M 30 newuser ; 설정암호 사용가능 일자 (30일)

  : change -E 2013/12/12 newuser ; 2013/12/12에 암호 만기

  : change -W 10 newuser ; 만기 10일부터 경고 메시지 출력

 

28. group - 사용자가 속한 그룹을 보여줌

  : groups

 

29. groupadd - 새로운 그룹 생성

  : groupadd newgroup

  : groupadd -g 555 newgroup ; 그룹 ID가 555인 newgroup생성

 

30. groupmod - 그룹 속성 변경

  : groupmod -n newgroup mygroup ; newgroup 이름을 mygroup 으로 변경

 

31. groupdel - 그룹 삭제

  : groupdel newgroup

    (해당 그룹을 주요 그룹으로 지정한 사용자가 없을때 사용 가능)

 

32. gpasswd - 그룹의 암호를 생성하거나 관리를 수행

  : gpasswd newgroup ; newgroup 의 암호지정

  : gpasswd -A newuser newgroup ; newuser를 newgroup의 관리자로 지정

  : gpasswd -a user1 newgroup ; user1을 사용자로 추가

  : gpasswd -d user1 newgroup ; user1을 사용자에서 제거

 

33. <RPM>

* 설치

  : rpm -Uvh (패키지파일)

  - U : (대문자) 설치되어 있지 않다면 'i'와 같이 설치, 

        설치되어 있다면 업그레이드한다. 

  - v : 설치 진행상황 확인

  - h : 설치 진행과정을 화면에 출력

* 삭제

  : rpm -e (패키지 이름)

  -e : Erase

* 이미 설치된 패키지 질의

  : rpm -qa (패키지) ; 설치되었는지 확인

  : rpm -qf (파일의 절대 경로) ; 어느 패키지에 포함된 것인지 확인

  : rpm -ql (패키지) ; 어떤 파일이 포함되었는지 확인

  : rpm -qi (패키지) ; 상세정보

* 설치되지 않은 패키지 질의

  : rpm -qlp (패키지) ; 어떤 파일이 포함되었는지

  : rpm -qip (패키지) ; 상세정보

 

34. <YUM>

* 설치

  : yum (-y) install (패키지)

    -y 옵션을 쓰면 무조건 yes로 넘어감

* rpm 파일 설치

  : yum install (rpm파일)

* yum check-updata ; 업데이트 가능한 목록 보기

* yum updata (패키지) ; 패키지 업데이트, 없다면 install

* yum remove (패키지) ; 패키지 제거

* yum info (패키지) ; 패키지 요약 정보

* yum localinstall (패키지) ; 로컬에서 설치 (iso파일에서 설치)

* yum groupinstall "(패키지그룹)" ; yum grouplist로 확인후 통째로 설치

* yum list (패키지) ; 패키지 리스트 출력

  ex) yum list all(모든 리스트), yum list mysql*(mysql이 들어간 목록)

* yum provides (파일이름) ; 특정 파일이 어느 패키지에 들어있는지..

* yum install --nogpgcheck (rpm파일) ; GPG키 검사 생략

  ; 페도라에서 인증되지 않은 rpm파일을 설치시 GPG키 생략하고 설치됨

 

35. <파일 압축, 묶기>

* bzip2 - bz2로 압축하거나 풀기

  : bzip2 (파일명) ; 파일명.bz2로 만든다. 

  : bzip2 0d "파일명.bz2" ; 파일명.bz2를 일반 파일로 만든다.

* bunzip2 - bzip2 -d 와 같다.

* gzip -gz로 압축하거나 풀기

  : gzip (파일명) ; 파일명.gz 로 만든다. 

  : gzip -d "파일명.gz" ; 파일명.gz를 일반파일로 만든다.

* tar - 확장명 tar로 묶거나 풀기

  [동작]

  : c ; 새로운 묶음

  : x ; 묶인 파일을 풀어줌

  : t ; 묶음을 풀기전에 경로 표시

  [옵션]

  : f(필수) - 묶음 파일명 지정 ; 생략시 tape로 백업

  : v - visual ; 과정을 보여줌

  : z - tar + gzip

  : j - tar + bzip2

  [사용예]

  : tar cvf xinetd.tar

  : tar xvfj (파일명.tar.bz2)

  : tar xvfz (파일명.tar.gz)

 

36. <파일 위치 검색>

* find [경로] [옵션] [조건] [action]

  [옵션] -name, -user(소유자), newer(전, 후) -perm(허가권), -size(크기)

  [경로] -print(디폴트), -exec(외부명령 실행)

  [사용 예]

  : find /etc -name "*.conf" ; /etc에 확장자 conf 파일 검색

  : find ~ -perm 644 ; 허가권이 644인 파일 검색

  : find /bin -size +10k -size -100k ; 10kb~100kb인 파일 검색

  : find ~ -size 0k -exec ls -l {} \ ; 

    --> 사용자 홈 디렉토리 하위에 파일 크기가 0인 파일 목록 상세히 출력

  : find /home -name "*.swp" -exec rm {} \ ; 

    --> /home 홈 디렉토리 하위에 확장자 swp 파일 검색

* which (실행파일명) -PATH에 설정된 디렉토리 검색(절대경로 포함)

* whereis (실행파일명) - 실행 파일 및 소스, man 페이지 파일까지 검색

* locate (파일명) - updatedb 명령 이후 사용 가능

                    파일 목록 데이터베이스 검색, 빠르고 유용.

 

37. <wine 설치하기>

http://kltp.kldp.net/stories.php@story=00/08/11/9653999

<시스템 설정> system-config-xxxx

  패키지 업데이트 ; yum -y install system-config-xxxx

  : boot ; 초기 부팅 설정

  : data ; 날짜, 시간 설정

  : firewall ; 방화벽

  : keyboard ; 키보드

  : language ; 언어

  : lvm  ; lvm 설정

  : printer ; 프린터

  : rootpassword ; root 비밀번호

  : service ; 서비스 가동/중지

  : users  ; 사용자 설정

  : bind  ; 네임 서버

  : display  ; x윈도우 환경 설정

  : httpd ; 웹서버 설정

  : ngs  ; NFS 서버 설정

  : samba ; 삼바 서버 설정

  : vsftpd  ; FTP 서버 설정

 

38. <CRON>

  - 주기적으로 반복되는 일 설정

  - /etc/conftab 파일

  ex) 01 * * * * root run-parts /etc/cron.hourly

   02 4 * * * root run-parts /etc/cron.daily

   04 4 * * 0 root run-parts /etc/cron.weekly

   42 4 1 * * root run-parts /etc/cron.monthly

 

39. <AT>

  - 일회성 작업 예약

  - 한번 실행되고 소멸

  ex) at 실행 후 #at <시간>,

 완료시  ctrl + D,

 확인 at-l,

 취소 atrm<작업번호>

 

40. <Network 관련 명령어>

  : system-config-network

  : system-config-network-tui ; 텍스트 기반

  : service network (start/stop/restart/status)

  : ifup <장치이름> / ifdown <장치이름> ; 장치 작동

  : ifconfig <장치이름> ; 해당장치의 ip주소 설정 정보 출력

  : nslookup ; DNS 서버 작동 테스트

  : ping (IP/URL) ; 네트워크 응답 테스트

 

<Network 설정 관련 파일> - system-config-network 후

  : /etc/sysconfig/network ; 네트워크의 기본적인 정보가 설정된 파일

  : /etc/sysconfig/network-script/ifcfg-eth0(or ifcfg-eth1)

    ; 장치에 설정된 네트워크 정보 모두

  : /etc/resolv.conf ; DNS 서버의 정보 및 호스트 이름이 들어있는 파일

  : /etc/hosts ; 현 컴퓨터의 호스트 이름 및 FQDN 이 들어있는 파일

 

41. <파이프, 필터, 리다이렉션>

  <pipe> - 두 개의 프로그램을 연결해 주는 연결통로

  : | 을 이용함

  ex) ls -l /etc | more ; /etc에 파일이 너무 많아서 한페이지씩 보고자 함

  <filter> - grep, tail, wc, sort, grep, awk, sed 등

  ex) ps -ef | grep bash ; ps -ef 는 모든 프로세스 번호 출력하므로

                                  bash라는 글퀴가 들어간 프로세스만 출력

      rpm -qa | grep bind ; 설치된 패키지 중 bind라는 글자가 들어가 패키지만 출력

  <re-direction>

  - 표준 입출력 방향을 바꿈

  - 표준입력은 키보드, 출력은 모니터지만 이를 파일로 처리하고 싶을 때 주로 사용

  ex) ls -l > aa.lst ; ls -l 의 결과를 aa.lst 파일에 씀(overwrite)

      ls -l >> aa.lst ; 위와 같지만 append

      sort < aa.lst ; aa.lst 파일을 정렬해서 화면에 출력

      sort < aa.lst > bb.lst ; aa.lst 파일을 정렬해서 bb.lst 에 쓴다

 

 42. <프로세스 관련 명령어>

  1. ps - 현재 프로세스 상태 확인

    ex) ps -ef | grep (프로세스 이름)

  2. kill - 프로세스 강제 종료 "-9" 옵션을 함께 사용하면 무조건 종료

    ex) kill -9 (프로세스 번호)

  3. pstree - 부모 자식 프로세스 관계를 트리 형태로 보여줌

  <vi 에디터 비정상적인 종료시 대처법>

    ex) vi abc.log 를 비정상적으로 종료시

      --> abc.log.swp(임시 Swap File) 생성

      --> ls -a 로 파일 확인하고, "rm .install.log.swp" 로 삭제

 

  <데몬(Daemon) ~ = 서비스(Service)>

    : 눈에는 보이지 않지만 현재 시스템에서 활동중이 프로세스(백그라운드) 



반응형

pie 그래프 그리기

Posted by 백창
2014. 9. 3. 18:24 빅데이터/R-last
반응형


 기본 pie


 변수 값만 지정 후 pie 그래프 출력



 색상과 라벨이 추가 된 pie


> pie(weights, main="채권관리", col=rainbow(length(weights)), labels=c("채권계약","채권보전","채권시효","채권추심"))


 결과는 다음과 같다.

 main 파라매터에 그래프의 이름을 적고, col 파라매터에 색상을 지정한다. label 파라매터에 각 값에 대한 라벨을 적는다.



 색상, 라벨과 비율로 표시되는 pie


이번에는 pie에 바로 넣지 않고 변수에 담아서 넣어보자. 

 colors 변수에 원하는 색상을 담고, weights_labels에 각 값에 대한 비율을 계산하여 저장한다. 그 후 pie 함수를 사용하여 pie 그래프를 그리고 legend 함수를 사용해 범례를 작성하여 label에 비율을 적고 이전에 label에 있던 정보는 범례로 작성한다.


반응형

'빅데이터 > R-last' 카테고리의 다른 글

one-sample t-test  (0) 2014.08.26
이원분산분석  (0) 2014.08.26
일원분산분석  (0) 2014.08.26
기술통계  (0) 2014.08.26
R 맛보기  (0) 2014.08.26

[vyatta] 라우터 기본설정

Posted by 백창
2014. 9. 3. 17:43 컴퓨터네트워크/etc
반응형


 라우터 설정


  • 라우터 R1
    • 인터페이스
    • 프로토콜
  • 라우터 R2
    • 인터페이스
    • 프로토콜
  • 라우터 R3
    • 인터페이스
    • 프로토콜
  • 라우터 R4
    • 인터페이스
    • 프로토콜


 설정방법


(라우터 R2의 설정과정으로 vyatta 설정 방법을 배워보자)


 먼저 인터페이스에 대한 설정을 한다.


eth0은 192.0.30.0/24의 네트워크 (이전 포스트 환경도 참고)

eth1은 192.0.40.0/24의 네트워크

eth2는 R1 라우터

eth3는 R3 라우터와 연결되어 있다.


 인터페이스에 대한 설정을 완료하면 eth0과 eth1간의 통신은 문제없이 될 것이다.


 여기서 문제는 만약 R1라우터에 연결된 192.0.20.0/24의 네트워크에 있는 노드와 통신을 하기 원한다면 라우터 R2가 가진 정보만으로는 통신이 불가능하다. 그래서 라우팅 테이블이 필요하다.


그럼 OSPF 프로토콜을 설정해 보자.


그리고 loopback 10.0.0.2/32로 설정해 준다.

이렇게 OSPF 프로토콜을 설정해주면 라우터 R2가 가지지 못한 정보에 대해서는 라우터 R1 또는 라우터 R3로 전달한다.


 테스트



반응형