학습자료/리눅스 2013. 11. 6. 11:48

(ubuntu interface no IP address on the network)

 

vlan 구성 중, eth0에 이전에 사용하던 ip가 사라지지 않았다.

그때 interfaces 파일에 아래와 같이 기입하면 된다. 

 

 

$vim /etc/network/interfaces

auto eth0
iface eth0 inet manual
       up ifconfig $IFACE 0.0.0.0 up
       up ip link set $IFACE promisc on
       down ip link set $IFACE promisc off
       down ifconfig $IFACE down

 

$sudo ifdown eth0.20

$sudo ifdown eth0

 

$service networking restart

 

 

 

이전에 사용하는 interface를 down시켜 놓고 재시작하여야 적용된다.

 

[참고] http://www.cyberciti.biz/faq/setting-up-an-network-interfaces-file/

posted by cozyboy
:
학습자료/리눅스 2013. 11. 6. 10:39

만약 daum 의 ubuntu 저장소를 추가하고 싶다면

echo deb http://ftp.daum.net/ubuntu/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/daum.list

 

명령을 내려라.

 

현재 내 우분투 버전에서는 아래와 같이 입력된다.

 

deb http://ftp.daum.net/ubuntu/ raring main

 

내 우분투의 버전이 raring 이기 때문이다. lsb_release -sc 는 내 리눅스의 패키지 버전을 나타내준다.

 

위 방법은 저장소를 추가하는 방법이다. apt-get install 로 설치시 daum 사이트로 연결될지는 장담못한다.

 

 

 

저장소를 아예 바꾸고 싶다면 vi 로 /etc/apt/sources.list 를 열고

 

:%s/kr.archive.ubuntu.com/ftp.daum.net/g 명령을 통해 저장소위치를 치환해버려라.

 

혹은 sed -i 's/kr.archive.ubuntu.com/ftp.daum.net/g' /etc/apt/sources.list


[펌] oncellboy.tistory.com


posted by cozyboy
:
학습자료/네트워크 2013. 11. 6. 10:36

putty 의 기본설정으로 스위치 콘솔이 연결 되지 않을 떄가 있다.  장치 관리자에서 포트의 설정을 바꾸어 사용하면 된다.


1. 장치 관리자 -> 포트(COM & LPT) -> COM3 


2. 포트 설정

Baud rate : 9600

data bits : 8

stop bit : 1

parity none

flow control xon/xoff 


3. putty로 스위치 콘솔 접속


'학습자료 > 네트워크' 카테고리의 다른 글

[리눅스] route delete  (0) 2014.05.21
vlan 설정(ubuntu)  (0) 2013.11.06
MTU, MSS [펌]  (0) 2013.06.17
zero-copy[펌]  (0) 2013.02.27
netstat 명령어 사용법 - 펌  (0) 2013.02.13
posted by cozyboy
:
학습자료/네트워크 2013. 11. 6. 09:57

1. 설치

$sudo apt-get update

$sudo apt-get install vlan


2. 설정

$ vconfig add eth0 10    (vlan id 10을 위한 새로운 인터페이스 생성)

$ vi /etc/network/interfaces    (주소 할당)

auto eth0.10              #자동으로 eth0.10을 up 시키기

#iface eth0.10 inet dhcp

iface eth0.10 inet static

address {ip}

netmask {net mask}

vlan-raw-device eth0   #vlan에서 사용하는 물리 인터페이스는 eth0

 

$ service networking restart




개념

Vlan 이란 Virtual Local Area Network 의 약자로 물리적 배치와 상관없이 논리적으로 LAN을 구성할 수 있는 기술이다.

예를 들자, 집에 2개의 스위치가 있고 2개의 스위치가 각각의 컴퓨터들을 연결했다고하자. 이 2개의 스위치는 서로 연결되지 않았다고하자. 그럼 2개의 스위치의 컴퓨터들은 서로 통신할 방법이 없다. 이것이 물리적 lan 환경이다. 물리적으로 서로를 떨어트려 독립적인 네트워크를 구성한 것이다.

VLAN 은 이런 물리적 네트워크 구성이 아닌 논리적 네트워크 구성을 가능케한다. 하나의 스위치가 있고 이 스위치에는 포트가 1~10 까지 있다고 하자. 1~5 를 VLAN 1 로 6~10을 VLAN 2 로 설정했다면 물리적으로 같은 스위치에 존재해도 VLAN 1과 VLAN 2는 서로 통신하지 못한다.

스위치의 모든 인터페이스는 동일 브로드캐스트 도메인에 포함되어 있으나 VLAN을 적용할 경우 스위치의 일부 인터페이스를 하나의 브로드캐스트 도메인으로 구성하고, 다른 인터페이스를 또다른 브로드캐스트 도메인으로 구성하여 여러 개의 도메인을 만들수 있습니다. 이렇게 스위치에 의해 논리적으로 만들어진 브로드 캐스트 도메인을 VLAN이라고 합니다.







vlan 개념, 장점, 구성 : http://piaoguangyuan.wordpress.com/2013/09/25/vlan-%EA%B0%9C%EB%85%90-%EC%9E%A5%EC%A0%90-%EA%B5%AC%EC%84%B1/

* vlan 개념 정리 : http://helpboy.tistory.com/entry/%ED%8D%BC%EC%98%A8%EA%B8%80-VLAN-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC


'학습자료 > 네트워크' 카테고리의 다른 글

[리눅스] route delete  (0) 2014.05.21
스위치 콘솔 연결(시리얼 포트 연결)  (0) 2013.11.06
MTU, MSS [펌]  (0) 2013.06.17
zero-copy[펌]  (0) 2013.02.27
netstat 명령어 사용법 - 펌  (0) 2013.02.13
posted by cozyboy
:
학습자료/tools 2013. 9. 25. 17:33

Ctrl + O

클래스안에 있는 메소드들의 타입을 확인할 수 있습니다.




Ctrl + Shift + F

문자 자동정렬


Ctrl + Shift + P

매칭되는 괄호로 이동


Ctrl + Shift + O

자동으로 import할 때 사용합니다.



Ctrl + D

커서가 위치한 줄 소스 삭제할 때 사용합니다.



Ctrl + Space

클래스나 그에 소속된 메소드 등의 목록을 띄워 원클릭으로 적용하기 쉽게 선택할 수 있는 자동완성 기능입니다.



Ctrl + F

문자열을 검색할 때 사용합니다.

찾아 바꾸기 (Replace with) 기능을 제공하여 한번에 문자열 치환이 가능합니다.


 

Ctrl + L

위의 단축키를 누르고 줄번호를 입력 시 해당 줄(Line number)로 커서가 이동합니다.



Ctrl + K

Ctrl + f와 같은 기능입니다.

검색하려는 키워드를 블록 설정하고 위의 단축키를 누르면 검색이됩니다.



Alt +  ←

이전에 했던 Action



Alt +  →

이후에 했던 Action

 


Ctrl + F11

전에 실행된 Run as 파일 실행 됩니다. 



Ctrl + W

페이지 닫기 기능입니다.

인터넷 브라우저(IE, Chrome 등), 윈도우 파일탐색기 등 여러 곳에서 동일하게 사용 가능합니다.


Ctrl + Shift + W

전체 페이지 닫기 기능입니다.



Ctrl + /

주석처리를 위한 단축키입니다.(단축키를 누르면 해당 줄 전체가 주석처리 됩니다.)



Alt + ↓

Alt + ↑ 

커서가 위치한 줄의 내용이 위치할 순서를 바꿀 때 사용합니다.




Ctrl + M

소스코드의 창을 전체화면으로 변경합니다.(좌측의 익스플로러 창이 숨는 기능)



Ctrl + Alt + ↓/↑

커서가 위치한 줄의 내용 복사 시 사용합니다



Ctrl + N

새로운 프로젝트를 생성하거나 새로운 파일을 생성할 때 사용하는 단축키입니다.



F11

Debug 시작

 


F8

Debug 계속 진행

 


F6

Debug 라인 실행

 


F5

Debug 라인 단위로 실행(함수 내부로 들어갑니다.)

 


Ctrl + Shift + B

현재 커서 라인에 브레이크 포인트(Break point) 설정



Ctrl + Shift +X

대문자로 변환



Ctrl + Shift + Y

소문자로 변환



Ctrl + Shift + L

모든 단축키의 내용을 출력합니다.




펌 : http://h5bak.tistory.com/161

'학습자료 > tools' 카테고리의 다른 글

xming 사용(putty gui)  (0) 2014.02.03
xshell 파일전송  (0) 2013.12.23
한글 iso-8859-1 변환  (0) 2013.07.10
Nagios 구조요약 및 샘플 코드(모니터링)  (0) 2013.07.03
옛날 싸이트 찾기  (0) 2013.05.22
posted by cozyboy
:
학습자료/리눅스 2013. 8. 22. 11:00

펌 : http://blog.outsider.ne.kr/346

apt-get(Advanced Packaging Tool)은 우분투(Ubuntu)를 포함안 데비안(Debian)계열의 리눅스에서 쓰이는 팩키지 관리 명령어 도구입니다. 우분투에는 GUI로 되어 있는시냅틱 꾸러미 관리자도 있기는 하지만 이런 저런 개발관련 패키지를 설치할 때는 커맨드기반인 apt-get이 더 편하기도 합니다. sudo는 superuser권한으로 실행하기 위함입니다.



패키지 인덱스 인덱스 정보를 업데이트 : apt-get은 인덱스를 가지고 있는데 이 인덱스는 /etc/apt/sources.list에 있습니다. 이곳에 저장된 저장소에서 사용할 패키지의 정보를 얻습니다.

sudo apt-get update

설치된 패키지 업그래이드 : 설치되어 있는 패키지를 모두 새버전으로 업그래이드 합니다.
sudo apt-get upgrade
의존성검사하며 설치하기
sudo apt-get dist-upgrade

패키지 설치
sudo apt-get install 패키지이름

패키지 재설치
apt-get --reinstall install 패키지이름

패키지 삭제 : 설정파일은 지우지 않음
sudo apt-get remove 패키지이름
설정파일까지 모두 지움
sudo apt-get --purge remove 패키지이름

패키지 소스코드 다운로드
sudo apt-get source 패키지이름

위에서 받은 소스코드를 의존성있게 빌드
sudo apt-get build-dep 패키지이름

패키지 검색
sudo apt-cache  search 패키지이름

패키지 정보 보기
sudo apt-cache show 패키지이름

패키지 버전 보기

sudo apt-cache policy 패키지이름

패키지 특정버전 다운

sudo apt-get install firefox=7.*


apt를 이용해서 설치된 deb패키지는 /var/cache/apt/archive/ 에 설치가 됩니다.

 

posted by cozyboy
:
학습자료/tools 2013. 7. 10. 15:15

이클립스에서 *.properties 파일을 생성하면 기본 인코딩이 ISO-8859-1 형식으로 설정된다.
이는 규약때문이다. *.properties 파일은 원래 ISO-8859-1 로 저장되어야 한다.

따라서 한글 같은 경우에 유니코드 이스케이프 시퀀스를 이용해서 기록해야 한다.
그렇지 않으면 java.util.Properties 객체로 읽어올때 제대로 읽혀지지 않는다. 자바의 Properties 클래스를 이용하는 한
무조건 ISO-8859-1 인코딩으로만 인식하고 읽기 때문에 이문제는 피할 수는 없을것 같다.

모든 작업파일들의 기본 문자인코딩 설정에 대해 확인하고자 하면
이클립스의 Window -> Preferences
Content Types -> Text  트리 메뉴를 확인해 보면 Java, JSP 혹은 JavaScript 등 여러 파일형식을 확인할 수 있다.

위에서 한글같은 경우 유니코드 이스케이프 시퀀스를 이용해야 한다고 했는데
native2ascii 명령으로 iso-8859-1로 변환할 수 있다. 아래와 같은 방식이다.

개발 원본 파일 : example.properties-in 의
example.message       = 잘못된 값을 입력하셨습니다.

native2ascii example.properties-in >example.properties 실행하면

실제 설정 파일 : example.properties
example.message       = \si734\ubaf7 \ub53c\ubwr3\ub678\uc318\ub1b4 \.......................................


위의 방식도 가능하지만 매번 번거로운 작업이므로 실제 개발에서는 사실상 이클립스의 플러그인을 사용한다.
properties 파일 작성시, 변환을 자동으로 해주는 플러그인이 몇가지 있다.
eclipse properties 검색하면 여러 정보를 찾을 수 있을 것이다.

그중에 Propedit(http://propedit.sourceforge.jp/)가 비교적 많이 알려지고 사용되는 파일 인코딩 관련 플러그인이 있다.

- 플러그인 설치(Eclipse Galileo 기준)

1. Eclipse > Help > Install New Software 메뉴 선택
2. Add 클릭 > 주소창에 http://propedit.sourceforge.jp/eclipse/updates/ 를 입력 후 추가.
3. 목록에서 PropertiesEditor를 선택하고 설치.

설치가 완료되고 Properties 파일을 열면 파일탭에 P라는 아이콘이 나타난다.
이제 Properties 파일에 한글을 입력할수가 있게된다.
파일 저장시 자동으로 변환해 주는데 사용자에게는 한글로 변환해서 보여주며. 실제 소스에는 iso-8859형식으로 저장된다.



[펌] : http://finewoo.tistory.com/38

'학습자료 > tools' 카테고리의 다른 글

xshell 파일전송  (0) 2013.12.23
이클립스 단축키  (0) 2013.09.25
Nagios 구조요약 및 샘플 코드(모니터링)  (0) 2013.07.03
옛날 싸이트 찾기  (0) 2013.05.22
[tolls] ceph install (linux centOS 6)  (0) 2013.04.22
posted by cozyboy
:
학습자료/리눅스 2013. 7. 8. 11:08

-OS 버전 정보

cat /etc/issue


-리눅스 정보

uname -a


-커널 버전

cat /proc/version



http://blog.naver.com/jwc44?Redirect=Log&logNo=140181833891

posted by cozyboy
:
학습자료/tools 2013. 7. 3. 11:59

1년전에 쓴거라, 최신버전과는 어떨지 모르겠으나..

개념파악을 할 수 있을거라 생각됩니다.

 


 

목차

nagios란

전체 구성

- nagios 실행과 config 검증

- 로그, 캐쉬, 설정 파일

- plugins

- external command file

- notification commands

- event handler

- object configuration

- addons(NRPE, NSCA)

-요약

 

이하 내용은 쓸모없는내용임..

 

Nagios.pdf

 

posted by cozyboy
:
학습자료/windows 8 RT 2013. 7. 1. 22:40

 

page -Grid - image

              - Stackpenel - button1

                               - button2

 

1. 위와 같은 비주얼 트리를 가지고 있을때, 만약 button을 누르면 어떠한 레이아웃이 이벤트에 반응할까?

   순서는 button -> stackpenel -> Grid 순으로 버블링이 일어난다.

 

2. 버튼들 사이, 빈공간의 stackpenel을 클릭했을때는 어떠할까?

  Grid 이벤트만 발생한다.(stackpenel 은 무시가 된다)

 

 

XMAL 엔진은 빈공간을 인식하고 이벤트를 실행하지 않는다. 하여 빈 stackpenel에는 'click'이나 'tapped'와 같은 이벤트 핸들러를 붙여도 전혀 실행 되지 않는다.

 

이러한 빈공간에 이벤트를 처리하고 싶다면 백그라운드를 Transparent로 설정하면 된다. 이것은 백그라운드를 지정하지 않는것과 동일한 효과를 가지지만 이벤트를 처리할 수 있는 투명한 표면을 가지게 된다.

 

또한 stackpenel -> grid로의 버블링을 막을 수도 있다.

stackpenel에 이벤트 핸들러에 다음 코드를 추가 하면 된다.

    e.Hangled = true;

 

'학습자료 > windows 8 RT' 카테고리의 다른 글

[winow8 RT] 개발 참고 사이트  (0) 2013.06.26
[windows8 RT] 1.앱바 만들기 (C#, xaml)  (0) 2013.06.26
[windows8] 개발환경 구축  (0) 2013.04.18
posted by cozyboy
:
학습자료/windows 8 RT 2013. 6. 26. 19:45

ms MVP로 활동중인 사람 블로그 : http://loveu012u.blog.me/100161538685

msdn : http://msdn.microsoft.com/ko-KR/

네이카페 : http://cafe.naver.com/metroapp (기본 위젯 및 컨트롤)

UI 애니메이션 : http://msdn.microsoft.com/ko-kr/library/windows/apps/hh452701.aspx

 

posted by cozyboy
:
학습자료/windows 8 RT 2013. 6. 26. 13:12

순서는 다음과 같다.

 

1. 기본 프로젝트 생성

2. common/SandardStyles.xaml 에서 주석풀기

3. Mainpage.xaml 파일에 appbar 코드 삽입

 

 


 

  •  우선 결과

 

 

 

  • 코드

MainPage.xaml

<Page
    x:Class="AppBar.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:AppBar"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
      
    </Grid>
    <Page.BottomAppBar>
        <AppBar x:Name="BottAppbar1" Padding="10,0,10,0" AutomationProperties.Name="Bott App bar">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="45*"/>
                    <ColumnDefinition Width="10*"/>
                    <ColumnDefinition Width="45*"/>
                </Grid.ColumnDefinitions>
                <StackPanel x:Name="LeftPanel" Orientation="Horizontal" Grid.Column="0" HorizontalAlignment="Left">
                    <Button x:Name="Open" Style="{StaticResource OpenFileAppBarButtonStyle}" Tag="Open"/>
                    <Button x:Name="Bookmark" Style="{StaticResource BookmarksAppBarButtonStyle}" Tag="Bookmark"/>
                </StackPanel>
                <StackPanel x:Name="MidlePanel" Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Center">
                    <TextBox x:Name="PageControlText" Padding="10, 10, 10, 10"></TextBox>
                </StackPanel>
                <StackPanel x:Name="RightPanel" Orientation="Horizontal" Grid.Column="2" HorizontalAlignment="Right">
                    <Button x:Name="NextPage" Style="{StaticResource NextAppBarButtonStyle}" Tag="Next"/>
                    <Button x:Name="Page" Style="{StaticResource TwoPageAppBarButtonStyle}" Tag="Two"/>
                </StackPanel>
               
            </Grid>
        </AppBar>
    </Page.BottomAppBar>
</Page>

 

위의 붉은 글씨가 기본 프로젝트에서 추가한 소스 구문이다.

코딩순서는 다음과 같다.

 

1. 앱바를 3개의 칼럼(45%, 10%, 45%의 비율)을 가진 그리드로 구성한다.

2. common/SandardStyles.xaml에서 기본적으로 제공하는 앱바 아이콘을 이용한다.

 -> 많은 아이콘들을 제공한다. 하지만 주석으로 처리되어 있으며 필요한 것들만 주석을 풀어 사용하라고 한다.

 

3. 각 칼럼에 필요한 위젯들을 삽입한다.

코드는 간단하여 위의 순서만 보아도 의미파악을 할 수 있다.

 

 


그래도 간단히 설명을 하자면 다음과 같다.

 

 

1. 칼럼 나누기 

<ColumnDefinition Width="45*"/>
<ColumnDefinition Width="10*"/>

<ColumnDefinition Width="45*"/>

앱바에 45%, 10%, 45% 차지 하는 칼럼을 만든다.

 


2. 기본제공 앱바 아이콘 사용

<Button x:Name="Bookmark" Style="{StaticResource BookmarksAppBarButtonStyle}" Tag="Bookmark"/>

button 을 찾아보면 StaticResource 구문의 key 로 사용된 값들을 볼수 있다. 그 값들을 common/SandardStyles.xaml에서 찾아내어 주석을 풀어준다.

 

 

3. 해당 칼럼에 위젯 삽입

<StackPanel x:Name="RightPanel" Orientation="Horizontal" Grid.Column="2" HorizontalAlignment="Right">

3개의 stackpanel을 볼수 있다. 그 속정중 Grid.Colume값을 이용하여 해당 칼럼에 배치 한다.

Grid.Colume="1"이면 가장 왼쪽 칼럼에

Grid.Colume="2"이면 중앙에 두번째 칼럼에

Grid.Colume="3"이면 마지막 세번째 칼럼에 삽입된다.

 

각 Stackpanel에 넣고 싶은 위젯을 삽입한다.

<Button x:Name="Bookmark" Style="{StaticResource BookmarksAppBarButtonStyle}" Tag="Bookmark"/>

 

 

 

posted by cozyboy
:
학습자료/네트워크 2013. 6. 17. 15:32

MTU (Maximum Transmission Unit)

1. MTU(Maximum Transmission Unit)이란…

MTU란 TCP/IP네트웍 등과 같이 패킷 또는 프레임 기반의 네트웍에서 전송될 수 있는 최대 크기의 패킷 또는 프레임을 말합니다.

한번에 전송할 수 있는 최대 전송량(Byte)인 MTU 값은 매체에 따라 달라집니다.

예를 들어 Ethernet 환경이라면 MTU default 값은 1500 이고 FDDI 인 경우 FDDI는 4000 정도 되고, X.25는 576, Gigabit MTU는 9000 정도 등 매체 특성에 따라 한번에 전송량이 결정됩니다.

2. ADSL에서의 MTU값

ADSL은 PPPOE와 PPPOA를 사용합니다. 외장형모뎀과 PC Lan 카드를 사용하는 형태는 PPPOE(PPP over Ethernet)라고 합니다.

PC에서 만들어진 Ethernet frame 이 ADSL serial 구간을 그냥 통과하지 못하기 때문에 이더넷 Frame 안에 PPP frame을 포함해서 전송하기 때문에 1500 보단 작아야 합니다.

참고로 접속프로그램중 Winpoet은 MTU를 1420으로 설정하고 Ethernet 프로그램은 MTU를 1416 정도로 설정합니다.

<일반적인 Ethernt 에서의 TCP/IP 패킷 >

Ethernet Header

IP Header

TCP Header

Data

< PPPOE 에서의 TCP/IP 패킷 >

Ethernet Header

PPPoE Header

IP Header

TCP Header

Data

3. MTU값 계산

MTU는 Ethernet Frame을 제외한 IP datagram 의 최대 크기를 의미합니다.

MTU 가 1500 이라고 할 때 IP Header의 크기 20 byte 와 TCP Header의 크기 20byte를 제외하면 실제 사용자 data는 최대 1460까지 하나의 패킷으로 전송될 수 있습니다.

Windows 계열에서는 PC의 기본 MTU가 1500으로 설정되어 있습니다. 레지스터리에 특정 값을 적어주지 않으면 자신의 MTU값을 1500으로 설정됩니다. 그러나 Win2000부터 Media의 특성을 인식하여 dynamic하게 MTU를 설정됩니댜.

4. MTU값 조정

Unix, Linux 계열에서는 ifconfig 명령어로 쉽게 변경할 수 있습니다.

) ifconfig hme0 mtu 1400

ifconfig eth0 mtu 1300

Windows 계열은 레지스터리를 수정하면 되며 OS 버전에 따라 설정값이 달라집니다.

MSS (Maximum Segment Size)

MSS Maximum Segment Size의 약어로 TCP상( TCP/UDP 가 아니라 그냥 TCP입니다 )에서의 전송할 수 있는 사용자 데이타의 최대크기입니다.

MSS 값은 기본적으로 설정된 MTU 값에 의해 결정됩니다.

MSS= MTU-(IP header크기) - (TCP header크기)

그러므로 Ethernet 일 경우, MTU 1500에 IP 헤더크기 20byte TCP 헤더 크기 20byte를 제외하면 1460 이 MSS 값으로 됩니다.

TCP로 통신할 때는 통신 양단간에 서로 MSS값을 주고 받습니다.

TCP는 3-way 핸드쉐이킹으로 session을 establish 하며 이 과정 중에 상대방에게 자신의 MSS 값을 알려 주게 됩니다.

< 3-way Hand shaking 과정 >

Client Server
< SYN, MSS=1380 >
( MTU 1420 ) -------------------------------------> ( MTU 1500 )
< SYN,ACK, MSS=1460>

<-------------------------------------
< ACK >

------------------------------------->

위의 그림처럼 Client 의 MTU 가 1420 이고 Server 의 MTU가 1500 라고 가정할때 클라이언트가 초기 TCP 세션을 성립하기 위해 Syn패킷을 서버로 보낼때 TCP Header의 option 필드에 MSS값을 설정하여 서버로 전달합니다.

그러면 서버는 SYN, ACK 를 보내면서 역시 TCP 헤더 옵션에 자신의 MSS 값을 보냅니다. 그러면 세션이 성립되어 패킷을 전달할때 실제 단위 패킷의 사이즈가 1420을 초과하지 않게 패킷을 나누어서 전송하게 됩니다.

서버는 자신의 MTU가 1500 이라고 해서 패킷을 1500 단위로 나누지 않습니다. 만약 패킷을 1500 크기로 보내면 client에서는 자신의 용량을 초과하기 때문에 데이타를 수신할 수 없게 됩니다.

 

 

'학습자료 > 네트워크' 카테고리의 다른 글

스위치 콘솔 연결(시리얼 포트 연결)  (0) 2013.11.06
vlan 설정(ubuntu)  (0) 2013.11.06
zero-copy[펌]  (0) 2013.02.27
netstat 명령어 사용법 - 펌  (0) 2013.02.13
zero configuration networking  (1) 2013.02.12
posted by cozyboy
:
학습자료/리눅스 2013. 6. 13. 17:56

설치과정을 진행 중 디스크 방식 설정 후 아래와 같은 에러를 만났다

Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets. Ignoring disk sda

그냥 진행해보면 파티션 설정 부분에서 에러가 나면서 설치가 종료된다.

 

방법1.


콘솔로 가서 아래 명령을 입력하거나

# dmraid -r -E /dev/sdc

 

 

방법2.

부팅중 선택 화면에서 <TAB> 키를 누르면 커널 옵션을 선택할 수 있다.

가장 뒷 부분에 nodmraid 를 입력해준다.

그리고 <ENTER>를 누르면 설치가 진행된다.

 

 

 

[출처] http://gentooboy.tistory.com/174

posted by cozyboy
:
학습자료/Java 2013. 5. 23. 17:21

상단에 'Avilable Software Sites' 를 클릭

그 중에 다운 받을 항목만 체크 후, 다른것들은 모두 해제 한다. 그러면 update가 가능해 진다.


http://hyunssssss.tistory.com/entry/An-error-occurred-while-collecting-items-to-be-installed

'학습자료 > Java' 카테고리의 다른 글

[java] html 파싱, jsoup 예제  (0) 2015.01.08
[java] proxy setting  (0) 2014.04.05
[java] java.library.path - linux, eclipse  (0) 2013.03.19
[Java] messagePack(rpc 구현)  (0) 2013.02.27
[java] Java decompiler[Eclipse plugin]  (0) 2013.02.26
posted by cozyboy
:
학습자료/tools 2013. 5. 22. 18:23

오픈진영 프로젝트때문에 manual을 보던중, 업글이 되며 예전 버전이 사라졌다. 

그런데 예전 버전을 봐야만 한다. 


아래 싸이트에 모든게 저장되어 있다. url 입력 후, 변경 날짜를 선택하면 그 당시의 웹 사이트가 보인다. 


http://archive.org/web/web.php



posted by cozyboy
:
학습자료/리눅스 2013. 4. 22. 11:18

 

  •  XFS
    - 대용량 파일 시스템 : 64비트 파일 시스템으로 900만 TB까지 지원
    - 저널링(신속한 복구) : 파일 수에 관계없이 예상치 못한 상황으로부터 신속한 복구 및 재시작
    - 신속한 트랜잭션 : 읽기/쓰기
    - 높은 확장성
  • XFS 파일시스템 장점
    1) 64Bit Filesystem 이다
    2) 이론상 64Bit OS에서 900만 TB까지 지원한다. 32Bit OS에선 16TB까지 지원
    3) 사용가능한 inode 수가 많다. 같은 용량에서 EXT3에 비해 8배 많은 inode 생성 가능
    4) xfs_growfs 유틸을 통해 마운트된 상태에서도 파일시스템 확장이 가능하다.
    5) 매우빠른 파일시스템생성(포맷)속도.
    6) 파일시스템 체크속도가 사용중인 inode만을 대상으로 하기 때문에 빠르다.
    EXT3의 경우 사용하지 않는 부분까지 체크한다.
    7) 동일조건의 파일 삭제시간 또한 EXT3에 비해 2.5배 가량 빠르다.
    8) 안정적이다. 많은 상용 사이트에서 검증 되었다.

 

  • XFS 파일시스템 단점
    1) 작은 사이즈의 파일에서 느리다. 자잘한 파일은 JFS 파일시스템이 더 좋은성능을 발휘.
    2) 파일시스템 확장은 가능하나 축소는 안된다.
    어짜피 데이터 무결성을 위해 백업을 해야하므로 다른 파일시스템에서도 축소는 무의미하다.
    3) 주류 파일시스템이 아니다보니 이식성이 좀 떨어진다.
    4) 파일시스템에 문제가 생겼을경우 커널메시지가 제대로 안올수있다.
    6) 디버그 옵션 없음. 따라서 삭제된 파일은 복구가 불가능.
    7) 별도의 데몬이 관리를 한다.

 

  • xfs 사용하기

mkfs.xfs 설치           - yum install xfs*     

xfs 포맷                  - mkfs.xfs /dev/sda  (원하는 디스크를 사용한다.)

# 강제 옵션 -f force
mkfs.xfs -f /dev/sda

파티션 나누기         - fdisk /dev/sda

마운트                    - mount -t xfs /dev/sda /home2

  

mount 중 파일시스템 확장

x                xfs_growfs /dev/nbd0

 


[설명]

http://faq.hostway.co.kr/index.php?mid=Linux_ETC&page=4&document_srl=1578

 

[사용하기]

http://istyles.tistory.com/entry/Centos-%EA%B8%B0%EB%B0%98-XFS%EC%82%AC%EC%9A%A9

posted by cozyboy
:
학습자료/tools 2013. 4. 22. 09:51

간단 설치 방법 : http://ceph.com/docs/master/install/rpm/


  • 각 노드에 설치

    rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc'
    rpm -Uvh http://ceph.com/rpm-bobtail/el6/x86_64/ceph-release-1-0.el6.noarch.rpm
    yum install ceph



  • 확인

ceph -v

결과 : ceph version 0.56.4 ~


  • configuration (/etc/ceph/ceph.conf)
[global]

	# For version 0.55 and beyond, you must explicitly enable 
	# or disable authentication with "auth" entries in [global].
	
	auth cluster required = cephx
	auth service required = cephx
	auth client required = cephx

[osd]
	osd journal size = 1000
	
	#The following assumes ext4 filesystem.
	filestore xattr use omap = true


	# For Bobtail (v 0.56) and subsequent versions, you may 
	# add settings for mkcephfs so that it will create and mount
	# the file system on a particular OSD for you. Remove the comment `#` 
	# character for the following settings and replace the values 
	# in braces with appropriate values, or leave the following settings 
	# commented out to accept the default values. You must specify the 
	# --mkfs option with mkcephfs in order for the deployment script to 
	# utilize the following settings, and you must define the 'devs'
	# option for each osd instance; see below.

	#osd mkfs type = {fs-type}
	#osd mkfs options {fs-type} = {mkfs options}   # default for xfs is "-f"	
	#osd mount options {fs-type} = {mount options} # default mount option is "rw,noatime"

	# For example, for ext4, the mount option might look like this:
	
	#osd mkfs options ext4 = user_xattr,rw,noatime

	# Execute $ hostname to retrieve the name of your host,
	# and replace {hostname} with the name of your host.
	# For the monitor, replace {ip-address} with the IP
	# address of your host.

[mon.a]

	host = {hostname}
	mon addr = {ip-address}:6789

[osd.0]
	host = {hostname}
	
	# For Bobtail (v 0.56) and subsequent versions, you may 
	# add settings for mkcephfs so that it will create and mount
	# the file system on a particular OSD for you. Remove the comment `#` 
	# character for the following setting for each OSD and specify 
	# a path to the device if you use mkcephfs with the --mkfs option.
	
	#devs = {path-to-device}

[osd.1]
	host = {hostname}
	#devs = {path-to-device}

[mds.a]
	host = {hostname}
  1. Open a command line on your Ceph server machine and execute hostname -s to retrieve the name of your Ceph server machine.

  2. Replace {hostname} in the sample configuration file with your host name.

  3. Execute ifconfig on the command line of your Ceph server machine to retrieve the IP address of your Ceph server machine.

  4. Replace {ip-address} in the sample configuration file with the IP address of your Ceph server host.

  5. Save the contents to /etc/ceph/ceph.conf on Ceph server host.

  6. Copy the configuration file to /etc/ceph/ceph.conf on your client host.


  • 각 노드에 config 복사

chmod 644 ceph.conf

scp {user}@{server-machine}:/etc/ceph/ceph.conf /etc/ceph/ceph.conf

 
  • 호스트 등록
    vi /etc/hosts

각 노드의 hostname -s 결과와 ip를 기입해 둔다.


  • 각 데몬이 사용할 장소 지정

mkdir -p /var/lib/ceph/osd/ceph-0 mkdir -p /var/lib/ceph/osd/ceph-1 mkdir -p /var/lib/ceph/mon/ceph-a mkdir -p /var/lib/ceph/mds/ceph-a

※osd 쪽은 new disk를 마운트 시키자. 그냥 하다가 저널링 걸리면 파일시스템 어찌 될지 모름.


 

  • v.56 이후의 bobtail에서 설정 (용도를 정확히는 모르겠다.)

mon 에서 작업(통합 컨트롤은 mon에서 한다?)

cd /etc/ceph mkcephfs -a -c /etc/ceph/ceph.conf -k ceph.keyring

Among other things, mkcephfs will deploy Ceph and generate a client.admin user and key. For Bobtail and subsequent versions (v 0.56 and after), the mkcephfs script will create and mount the filesystem for you provided you specify osd mkfs osd mount and devs settings in your Ceph configuration file.



※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

에러) 2013-04-22 13:39:48.909389 7fe39ca14760 -1 provided osd id 0 != superblock's -1
2013-04-22 13:39:48.910138 7fe39ca14760 -1 ** ERROR: error creating empty object store in /var/lib/ceph/osd/ceph-0: (22) Invalid argument
failed: 'ssh root@ds1 /sbin/mkcephfs -d /tmp/mkfs.ceph.a06aefb0287e9bb354b62ba535


해결) 실행 중 잘못 세팅한 설정으로 실패할 경우, /var/lib/ceph/의 모든 파일을 지우고 해야 한다.

리로드 할때 이곳의 파일들을 지우고 하지 않기에 수동으로 삭제 후, 재시도 해야 한다.

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
  • 시작

service ceph -a start (allhosts)

    일부 시작 - ceph start osd.0


  • 정상 동작 확인

ceph health 예상 결과 : HEALTH_OK



  • 클라이언트 마운트


yum install ceph-fuse

ceph-fuse -m 192.168.2.13:6789 /mnt/cephClient/


원래는 mount -t ceph 192.168.2.13:6789 /mnt/cephClient/ 로 하지만

mount.ceph: modprobe failed, exit status 1
mount error: ceph filesystem not supported by the system
에러가 발생한다.


cent에는 ceph이 쓰는 modprobe가 없어서 커널을 재 컴파일해야 한다.

대신 yum install ceph-fuse를 설치하여 fuse를 이용한다.






  • 설치 시, 각 장치에 띄어지는 프로세스

ps aux | grep ceph


[결과]

mon

/usr/bin/ceph-mon -i a --pid-file /var/run/ceph/mon.a.pid -c /etc/ceph/ceph.conf


[mds]

root      3342  0.1  0.1 1090944 7916 ?        Ssl  03:13   0:00 /usr/bin/ceph-mds -i a --pid-file /var/run/ceph/mds.a.pid -c /tmp/ceph.conf.d6ddf446d1563675cb148db3eb3ca5f0


[osd.0]

root      3223  0.1  0.2 2486928 38388 ?       Ssl  17:25   0:03 /usr/bin/ceph-osd -i 0 --pid-file /var/run/ceph/osd.0.pid -c /tmp/ceph.conf.17f3c04281dcf4407506b6e8c67ad89b


[osd.1]

root      2816  0.0  0.2 2486796 41292 ?       Ssl  17:29   0:02 /usr/bin/ceph-osd -i 1 --pid-file /var/run/ceph/osd.1.pid -c /tmp/ceph.conf.839e7a5eeec05fb3198260a93aea402a

 

posted by cozyboy
:
학습자료/tools 2013. 4. 18. 09:40

 

Windows 기반 컴퓨터에 프로그램을 설치하거나 제거할 때 발생하는 문제를 해결하는 방법

http://support.microsoft.com/kb/2438651/ko

(여러 버전, 여러가지 방법 등제)

 

 

이중 http://support.microsoft.com/kb/928218/ko#Method2

에있는 fixit 프로그램을 이용하여 자동으로 제거 하는것이 편하다.

'학습자료 > tools' 카테고리의 다른 글

옛날 싸이트 찾기  (0) 2013.05.22
[tolls] ceph install (linux centOS 6)  (0) 2013.04.22
[tools] one note 블로그로 포팅하기  (0) 2013.04.17
이클립스 cdt 설치(c 환경)  (0) 2013.04.11
[tolls]redmine 2.x (fedora 16) 설치법  (0) 2013.04.10
posted by cozyboy
:
학습자료/windows 8 RT 2013. 4. 18. 08:44

 

 

드림스파크는 visual stdio와 같은 소프트웨어를 공짜로 쓸수 있게해주는 곳이다.

학생의 신분과 일반인의 신분이 구분되며, 수입이 어느정도 이하의 소규모 회사에도 소프트웨어를 무료로 지원하는 것으로 알고 있다.

 

아직 해보진 않았지만, 개발자 등록도 어느정도 무료로 등록 할수도 있단다

한마디로 개발 장려 사이트라 본다.

 

 

 

Visual Studio Express 2012 for Windows 8     또는

Visual Studio Professional 2012 다운로드(인증 필요)  

 

위의 두가지 버전은 차이점이 있다.

 

1. express 버전은 인증이 필요 없지만, 오직 윈도우8 metro style(RT) 개발만 할수 있다.

2. professional 버전은 기본적인 c, c++, c# vb도 개발 할수 있다. 

 

여기서 중요한 점은, 윈도우 RT는 c, c++ c#, ,VB, javascript로 개발할수 있다는 것이다.

RT는 위의 5가지 언어로 개발한다는 것이다.

자신의 자신있는 언어로 개발을 하면 된다.

 

다만 2번 환경은 RT도 개발할 수 있고, 기본언어 개발도 가능한 환경이다.

 

 

 

1번환경(express)은 위 그림에서 metro style apps만,

2번환경은 metro style apps와 Desktop apps가 둘다 되는 것이다.

 

 

위 그림의 view쪽을 보자.

마이크로 소프트가 만든 xaml(제믈 파일)과 www의 html이 있다.  RT에선 xaml과 html을 이용하여 UI를 만들고, 그에 대한 기능(함수)는 Model controller 언어를 이용하는 것이다.

 

 

 

여담)

metro style의 app은 기존 소프트웨어처럼 program files에 깔리거나 하지 않는다.

package manager가 존재하여 install/uninstall을 알아서 관리하게 된다.

 

 

 

posted by cozyboy
: