삼바로 공유된 디렉터리를 공유하는 과정 (괄호)에 들어갈 내용은?

mount -t (괄호) //192.168.5.13//data /mnt

답 : smbfs

mount -t <파일 시스템 타입> <장치 파일> <마운트 포인트>

파일시스템 목록

시디롬 : iso9660

ms-dos : msdos

windowsXP이상 : ntfs

ISO파일 : loop

NFS파일 : nfs

삼바 : smbfs

 

다음 명령의 결과로 출력되는 값

umask

0002

umask -S

답 : -rwxrwxr-x

디렉터리의 기본 권한 777

umask 계산법 777-002 = 775

-S옵션 보수를 취해 계산 111 111 111 101

파일이었다면

666-001 -rw-rw

 

Set-UID를 설정하는 방법

답 : chmod u+s a.out

S권한 없음 s권한 있음

 

파티션에 사용가능한 아이노드(I-node)의 수를 확인하는 명령

답 : df -i

 

공유 디렉터리 설정이라고 부르는 스티키 비트가 부여된 디렉터리는?

답 : /tmp

 

fsck 명령 실행 시 발생한 오류 파일들이 위치하는 디렉터리

답 : /lost+found

 

ftp 명령

put 업로드

get 다운로드

 

history 명령에서 수행마다 시각을 기록하는 변수

답 : HISTTIMEFORMAT

 

명령 수행 결과는

cd /disk1 ; tar cvf - . | (cd /disk2; tar xvf -)

 

다음 괄호의 내용은

ls

file1 file1.pl file1.py file1.txt file2.txt

( )

file1.py

답 : ls file[12],.py

 

웹서버 데몬을 구동하는 방법

답 : service httpd start

/etc/init.d/httpd restart

/etc/rc.d/init.d/httpd restart

 

jobs 명령

작업번호 +/- 상태 작업내용

작업번호 없이 fg 명령을 수행하면 가장 최근의 명령이 포어그라운드로 전환된다.

fg %작업번호 명령으로 포어그라운드로 전환

보통 가장 늦게 실행한 프로세스에 +가 붙는다

 

시그널

1번 재시작 SIGHUP

2번 정지 SIGINT 컨트롤 C

9번 강제종료 SIGKILL 

15번 종료 SIGTERM

번호없음 일시정지 SIGTSTP 컨트롤 Z

 

스케줄링과 관련된 명령어

crontab : cron관련 주기적 프로세스 실행

at : 한번만 실행할 때

 

vi 편집기의 문자열 치환과 같은 패턴으로 셸 환경에서 치환 명령어

답 : sed

 

cmake 기반의 프로그램 설치 순서

답 : cmake -> make install

cmake는 configure 과정이 필요하지 않다.

 

cmake 기반의 소스 설치를 수행하는 프로그램

답 : Mysql, KDE

 

데비안 계열 리눅스에서 사용하는 패키지 관리 프로그램

답 : alien, apt, dselect

반응형

람다를 이해를 위한 함수 객체 Functor
foo() 함수처럼 인자 업싱 호출되는 함수객체는 발생자 Generator 라고 부른다.
foo(x) 하나의 인자를 받는 것을 단항 함수 unary Function
foo(x,y) 두개의 인자를 받는것을 이항 함수 Binary Function
인자의 개수와 별개로 bool 값을 반환하는 함수포인터나 함수객체는 술어(Predicate)라고 부름
이항 술어 단항 술어

람다 함수
[변수 캡쳐](받을 인자)->리턴타입{함수}(넘길인자)

변수캡쳐   : 현재 함수에서 사용할것을 캡쳐하는것
            = 해당 함수의 모든 변수를 사용 
            & 모든 변수를 참조형으로 사용
받을인자   : 인자의 타입 지정
->리턴타입 : 리턴타입 지정 void의 경우 ->와 함께 생략
{함수}    : 함수의 몸체
(넘길인자) : 함수에서 사용하는 그 인자

반응형

OSI 7-Layer

OSI 모형은 국제표준화 기구인 ISO에서 개발한 것으로 컴퓨터 네트워크 프로토콜 디자인과 통신을 7계층으로 나누어 정의한것이다. 각 계층은 독립적으로 이루어져있고 하위 계층의 기능만을 이용하고 상위 계층에게 기능을 제공하는 형식으로 되어있다.

1 계층: 물리 계층 ( Physical Layer )

실제 장치들을 연결하기 위해 필요한 케이블 및 연결 장치 등과 같은 기계적인 항목과 전압, 신호 방식 등 전기적 특성을 규정한다. 상위 계층에서 전송된 데이터를 물리적 매체를 통해 bit 형태로 전송한다. ex) 허브, 리피터 등

2 계층: 데이터링크 계층 ( Data Link Layer )

네트워크 계층에서 받은 데이터를 frame 이라는 논리적 단위로 구성하고 필요한 정보를 덧붙여 물리 계층으로 전달한다. 물리 주소인 MAC 주소, 데이터의 정확한 송수신을 위한 규정이나 통신 회선의 전송 제어, 물리 계층에서 발생할 수 있는 오류를 검출하고 제어하는 등 처리를 한다. ex) 브리지, 스위치 등

3 계층: 네트워크 계층 ( Network Layer )

데이터를 패킷 단위로 분할하여 전송하며 데이터 전송과 경로 선택에 관한 서비스를 제공한다. 패킷을 송신호스트에서 최종 수신호스트까지 정확하게 전송할 수 있도록 경로 선택을 지원한다. 패킷 경로를 결정하는 라우팅, 트래픽이 몰리지 않도록 하는 혼잡 제어, 패킷의 분할과 병합, 인터네트워킹 등 역할 ex) 라우터

4 계층: 전송 계층 ( Transport Layer )

데이터 전송에 관한 서비스를 제공하는 계층으로 송신과 수신 사이의 실제적인 연결 설정 및 유지, 오류 복구와 흐름 제어들의 신뢰성을 보장해 준다. 전체 메시지의 제공을 책임진다. 호스트 보다 송수신 프로세스간의 연결 기능을 제공한다.계층 4까지의 기능은 OS에서 시스템 콜 형태로 상위 계층에 제공한다.

5 계층: 세션 계층 ( Session Layer )

응용 프로그램 간의 통신을 관리하기 위한 설정과 동기화를 유지하는 서비스를 제공한다. 유지, 종료, 데이터의 전송 순서 및 동기점의 위치를 제공하여 데이터의 재전송과 데이터 복구를 제어한다.

6 계층: 표현 계층 ( Pressentation Layer )

전송하는 데이터의 표현 방식에 관한 서비스를 제공. 송수신자가 서로 다른 표현 방식(인코딩)을 사용하는 경우 번역하는 기능.  데이터의 암호화와 복호화 압축과 압축해제 수행

7 계층: 응용 계층 ( Application Layer )

응용 프로그램과 연계하여 사용자에게 편리성을 제공 ex) HTTP, SMTP, SNMP, FTP, TELNET, SSH, NFS 등

 

암기 방법

아파서탈났다픽

A P  S T N D P

응용 계층 data 응용 프로그램간 정보 교환 HTTP, SMTP, SNMP, FTP, TELNET, SSH, NFS
표현 계층 data 응용 프로그램이나 네트워크를 위해 데이터 표현 XDR, SMB, AFP
세션 계층 data 서버간 대화를 위해 설정 조율 종료등 서비스 제공 TLS(SSL), RPC, ISO 8327
전송 계층 segments 시스템 및 호스트간 전송 조율 TCP, UDP, RTP, SCTP
네트워크 계층 packets 경로 선택 라우터) IP, ICMP, ARP, IGMP, IPX등
데이터링크 계층 frames 노드간 데이터 신뢰전송 제공 스위치) 이더넷, 토큰 링, FDDI 등
물리 계층 bit 시스템 전기적 물리적 표현 전선, 전파, 광섬유, 리피터, 모뎀 등

 

반응형

빅데이터

기존 데이터베이스 관리 도구로 데이터를 수집, 저장, 관리, 분석할 수 있는 역량을 넘어서 대량의 정형 또는 비정형 데이터 집합 및 이러한 데이터로부터 가치를 추출하고 그 결과를 분석하는 기술

빅데이터를 분석하는 기술과 방법에는 데이터마이닝, 기계학습, 자연어 처리, 패턴인식 등이 해당한다. 소셜미디어 등의 비정형 데이터의 증가로 인해 텍스트마이닝, 오피니언 마이닝, 소셜네트워크 분석, 군집 분석 등이 주목받고 있다.
기본적인 인프라는 하둡, 빠른 처리를 위한 NoSQL을 선호되며, 분석된 데이터의 의미와 가치를 시각적으로 표현하기 위한 R 언어 등이 있다.


사물인터넷

생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경


사물인터넷 플랫폼

사물 간에 인터넷을 할 수 있는 통신네트워크가 원활하게 작동하도록 하는 운영체제

반응형

리차드 스톨만 - 자유소프트 재단 설립

자유소프트웨어란?

개방, 공유, 참여, 진화, 재사용의 원리 원칙에 기반을 둔 소프트웨어

자유소프트웨어 사용자의 자유 =! 오픈소스 소프트웨어

 

오픈소스 소프트웨어

free - for -all 저작권 표시 자유로운 사용

keep - on 개작 저작 공개

share - alike 원저작, 개작 모두 공개. 동일조건

 

BSD, Apache 2차 저작공개 의무 없음

GPL 2.0 현재 가장 많은 오픈소스 프로젝트에서 사용되며, 매우 강력, 엄격한 적용. 상업적 이용X 조건에서 무료

GPL 3.0 2.0에 DRM 추가. 모든 법적 DRM 이익 포기.

GPL 개인은 공개 의무가 없으며, GPL 허가안에서 판매도 가능하다.

LGPL 다소 완화된 GPL 링크소스의 내부 공개 의무 X DRM 3.0과 동일

BSD, Apache License 소스코드 공개X 상표권 침해X, 저작권표시 의무, GPL과 결합가능

MPL netscape 브라우저 소스코드 공개를 위해 생긴것으로 MPL은 MPL로 배포 의무

 

오픈소스 프로젝트의 단점

개발로드맵이 없으며, 문서화 하기 어렵다.

개발 코드의 라이선스 준수를 위한 확인법으로 Fresh meat, source forge에서 확인, protex, fossology 등 오픈소스 라이선스 검증도구로 확인 가능하다.

 

최근 cloud9 , codenvy 등 클라우드 통합개발환경이 떠오르고 있다.

최신 프로그램 언어 기술 동향으로 인기있는것

자바스크립트 확장버전인 타입스크립트 : 앵귤러의 기본언어이며 MS에서 개발하였다. 컴파일 시점에서 타입체크가 일어나는 정적언어로 리펙토링, 디버깅에 유용하고 대규모 개발에서도 활용된다.

자바 9  : 모듈화 강화로 소형 디바이스에서도 최적화되어 있다.

코틀린 : 함수형 언어, jetbrain 개발

스위프트 : 애플 제품용 애플리케이션 개발에 사용된다. 코딩이 단순하며 성능이 좋다. 대화식으로 개발가능

 

개발 프레임워크

앵귤러4 : 구글에서 개발 및 유지관리하는 자바스크립트 프레임워크로 HTML DOM을 확장하여 사용자 처리 요청에 신속하다. SPA 프레임워크. 웹 페이지 실행시 주소변경없이 동적view호출한다.

리액트 : 페이스북이 개발하였으며, UI만 담당한다. 웹프론트 라이브러리를 자체제공하며 자바스크립트내 마크업코드를 지원한다.

익스프레스 : 작고유연한 Node.js의 웹애플리케이션 프레임워크로 Node.js를 위한 빠른 웹개발을 지원한다. 템플릿에 전달된 인자에 따라 HTML페이지 동적 view가능처리

 

마이크로 서비스 아키텍쳐(MSA) - 서비스별 부분 배포가 가능한 형태. 배포의 유연성 확보, 정교한 확장기능, 서비스를 작은 크기로 나누고 독립적으로 개발하여 높은 개발 생산성을 제공한다.

도커 : 리눅스 컨테이너 기술을 자동화     기존의 가상화 -> 도커

OS위에 또다른 OS가상화 -> 중간 Guest OS 불필요. 더 빠르다. 도커 이미지는 컨테이너 실행을 위한 정보를 독립적으로 가지고있어 이미지 단위로 쉽게 배포 가능하다.

 

도커의 특징

컨테이너를 활용해 개발된 애플리케이션 패키지 배포 및 관리가 용이하고 이미지를 사용하여 컨테이너 실행에 필요한 파일 실행값을 포함한다. 인프라의 요구사항과 관련없이 빠른 개발 구성. 다중 클라이언트 플랫폼을 지원한다.

 

서비스 기반 아키텍쳐(SOA) 범주안에 MSA가 속한다.

반응형

네트워크의 종류

네트워크는 규모에 따라 근거리 통신망(LAN), 도시권 통신망(MAN), 광역 통신망(WAN) 등으로 나뉜다.


LAN(Local Area Network)

집, 학교, 사무실 등 가까운 지역을 네트워크를 이용하여 하나로 묶는 근거리 통신망을 LAN이라 한다. 주로 이더넷과 무선랜을 이용한다. (무선랜 IEEE 802.11 등)

랜 구성 방식으로 스타(star)형, 버스(bus)형, 링(ring)형, 망(mesh)형으로 구분된다.

Star 형

중앙에 위치한 중앙 컴퓨터가 모든 통신을 제어하는 Point-to-Point 방식으로 연결된다. 일부 장애가 발생해도 전체 네트워크에 영향을 주지않으나 중앙 컴퓨터가 고장날 시 네트워크가 마비된다.

Bus 형

하나의 통신회선(BUS)에 여러 컴퓨터를 연결하는 방법으로 모든 장치들은 동등한 조건에 놓인다. 한 번에 한 컴퓨터만 전송할 수 있어 단말의 수에 따라 성능이 달라진다. 신호 반사에 의한 간섭을 막기위해 종단기(Terminator)가 존재한다.
구조가 간단하여 추가/제거가 쉽고 저렴하다. 장애시 추적이 어렵고 버스, 종단 장치에 문제발생시 네트워크가 마비된다.
CSMA/CD와 토큰 패킹 전송 방식을 사용한다.

Ring 형

원형의 통신회선에 컴퓨터와 단말기를 연결하는 형태로 앞의 수신내용을 다음 컴퓨터에 재전송하는 방법으로 동작하며, 토큰 패싱 방식으로 전송한다. 네트워크 전송상의 충돌이 없고 노드의 수가 증가해도 성능저하가 적다. 그러나 노드 추가가 어렵고 문제 발생시 전체 네트워크가 마비 될 수 있다.

Mesh 형

스타형과 링형의 혼합된 형태로 각 단말이 여러개의 인터페이스를 갖추고 그물 형태로 연결하는 방식이다. 비용이 높아 라우터를 이용하여 LAN과 LAN을 연결하거나 백본망을 구성할 때 사용된다. 장애 발생에 유연하며 신뢰성이 높다.


이더넷과 CSMA/CD(Carrier sense Multiple Access with Collision Detection)

이더넷은 각 기기들이 48비트 길이의 고유한 MAC 주소를 기반으로 데이터를 주고받을 수 있도록 설계되었다. 전송매체로 동축(BNC), UTP, STP 케이블을 이용하며, 연결을 위해 허브, 스위치, 리피터 등의 장치를 이용한다.

 

이더넷은 반송파 감지 다중 접속 및 충돌 탐지 방식을 이용하는데 토큰 링 방식에 비해 효율은 낮지만 가격이 저렴하다.

단말기가 전송 신호유무를 탐지하고 다른 단말기가 신호를 송출하는지 확인하는 방식이다.

 

토큰링(Token Ring)

1980년 IBM에 의해 개발된 기술로 IEEE 802.5로 표준화되었다. 여러대의 단말을 이어 형성하고 데이터는 한쪽 방향으로 흐르게 설계되었다. 네트워크 채널을 이용하려면 토큰이라는 권한이 있어야 한다. 스위치 이더넷 개발로 쇠퇴하였다.

 

FDDI(Fiber Distributed Data Interface)

광섬유 케이블을 사용하여 설계된 링 구조의 통신망. 액세스 제어로 토큰 패싱 방법을 사용한다. 이중 링형을 구성하여 통신망의 마비를 방지하고 광대한 지역의 LAN 구성이나 고속 백본 LAN 구성에 사용된다.


MAN(Metropolitan Area Network)

LAN과 WAN의 중간 형태로 위성 도시 등을 연결한 형태를 말한다. 도시 내의 여러 LAN을 묶어 놓은 형태로 높은 데이터 전송률을 갖는다. IEEE 802.6 으로 국제 표준으로 규정되어있다.


WAN(Wide Area Network)

원거리 통신망 또는 광역 통신망으로 국가, 대륙 등 넓은 지역을 연결하는 네트워크이다.

LAN보다 속도가 느리며 전송 에러율도 높다. 전용 회선과 교환 회선 방식의 두가지 구성방식이 있다.

 

전용 회선 방식은 회선 제공자가 계약을 체결한 이용자끼리만 통신하는 선로로 안정성이 높으나 비용이 높다.

 

교환 회선 방식은 공중교환전화망이나 공중교환데이터망 등 공중망을 이용해 전송하는 방식이다. 저렴하지만 다수의 공유로인해 속도가 느리다. 회선 교환, 패킷 교환, 셀 릴레이 등 방식이 있다.

 

회선 교환(Circuit Switching)

송수신 호스트가 데이터를 전송하기 전에 미리 연결 경로를 설정하여 물리적 전용선을 연결하는 방식이다. 고정된 대역폭을 할당 받으므로 안정적인 데이터 전송률을 지원한다. ex) 전화

 

패킷 교환(Packet Switching)

패킷이라는 정보 블록을 이용해 전송하는 방식으로 데이터를 일정 크기로 분할하여 각각에 송수신 정보를 담는 블록 방식이다. 전송 대역폭을 동적 방식으로 공유하기 때문에 전송 효율을 극대화 (우선순위 가능)하며 고정 대역폭의 할당이 없기 때문에 이론상 무제한 호스트의 수용이 가능하다. 회선 교환에 비해 지연이 발생할 수 있고 오버헤드 비트가 존재한다.

 

데이터그램(datagram) 방식과 가상 회선(Virtual Circuit) 방식으로 나뉘어 진다.

 

데이터그램방식

비연결형 서비스를 이용해 전달되는 패킷들이 독립적으로 전송되는것

연결 설정을 위한 과정이 없어 경로 할당도 없다. 각 패킷의 순서를 예측할 수 없어 크기가 작거나 신뢰성이 떨어지는 환경에서 사용한다.

 

가상 회선 방식

연결형 서비스를 이용하기 위한것으로 송수신 호스트간 설정된 가상 단일 파이프를 통해 패킷을 전송한다.

모든 패킷이 동일 경로를 이용하며 도착하는 순서는 보낸 순서와 같다. 회선 교환 방식과 같으며 데이터 단위가 패킷이라는것에 차이가 있다.

셀 릴레이(Cell Relay) = ATM(Asynchronous Transfer Mode)

ATM으로 많이 알려진 방법으로 셀이라고 부르는 고정 길이(53byte) 패킷을 이용하여 순서대로 자료를 전송하는 방식이다. 가상 채널 기반의 연결형 서비스로 프레임 릴레이처럼 양 끝 단말간 오류 제어와 흐름 제어를 한다. 오버헤드가 적어져 망의 고속화가 가능하고 다양한 신호 처리와 리얼타임 서비스도 가능하다.

 
반응형

부트 매니저 (Boot Manager)

부팅을 도와주는 역할을 하는 프로그램으로 특히 시스템에 여러 운영체제가 설치되어 있으면 선택하여 부팅할 수 있도록 해준다. 부트 매니저 프로그램은 부트로더라고도 부르며, 디스크의 가장 앞 영역 MBR(Master Boot Record)에 설치된다.
MBR은 부트섹터로 디스크의 첫 번째 섹터(0번)에 해당하고 크기는 512 Byte이다. 부트로더와 파티션 정보가 기록된다.
부트로더에는 LILO, GRUB이 있는데 최신 리눅스 배포판에는 GRUB을 사용한다.


GRUB (Grand Unified BootLoader)

GNU 프로젝트에서 만든 부트로더로 LILO에 비하여 다양한 파일 시스템을 지원하고, 부팅 시에 커널 인자를 조정하여 동적 부팅을 지원한다. 메뉴 인터페이스 방식을 기본으로 사용하지만, Bash와 같은 CLI를 추가로 제공한다.


GRUB 부팅 모드

부트 화면에서 a, e, c를 누르면 커널 인자 조정을 통해 여러 부팅 모드를 제공한다.

[a]: grub.conf에서 kernel과 관련된 부분의 파라미터를 추가할 수 있게 해준다. 싱글 모드 부팅시 1또는 single 추가
[e]: grub.conf에 등록된 부팅 목록의 모든 항목을 직접 편집할 수 있도록 해준다. 현재 부팅 시에만 일시적으로 편집이 적용된다.
[c]: Bash Shell과 유사. 상호대화식 직접 입력 모드로 순차적 명령어 입력 후 boot라고 입력하면 부팅이 된다.


GRUB 환경 설정 파일

멀티 부팅 환경 시스템을 구축했을 경우 환경 설정파일 /boot/grub/grub.conf의 항목 title 값이 분리되어 나타나며, title 영역 바깥은 grub 실행과 연관이 있다.

#boot=/dev/sda 부팅 되는 디스크를 지정한다. 시스템에 장착된 디스크가 하나인 경우 주석처리

default=0부터 전원을 켰을 때 기본적으로 부팅되는 OS를 설정한다. grub.conf에 나열된 title의 순서로 0부터 시작한다.

timeout=숫자 GRUB 메뉴 화면에서의 대기 시간으로 단위는 초이다. 시간내에 선택이 없으면 default된 값으로 부팅된다.

splashimage=이미지경로

인자값에서 디스크를 칭하는 방법

(hd0) : S-ATA, SCSI 등 첫 번째 디스크를 의미하는 것 /dev/sda 또는 /dev/hda가 선택된다. ex) hd0 디스크의 0번파티션 3번파티션

(hd0,0) : /dev/sda1 또는 /dev/hda1

(hd0,3) : /dev/sda4 또는 /dev/hda4

title 이름 GRUB 부팅 메뉴에서 표시되는 이름이다. 원래 OS가 이름으로 들어가지만, 사용자가 알아보기 위한 것으로 바꿀 수 있다.

root (hd0,3) root에는 (디스크 파일명,부트 파티션명)을 설정한다.

kernel 경로 커널의 위치와 커널 매개 변수가 설정된다. 파티션 분할을 하지 않았을 경우 /boot 없이 경로가 시작한다.

initrd 경로 초기화에 필요한 이미지 경로

윈도우 OS가 설치되어 있는 경우

title DOS
   rootnoverify (hd,0)
   chainloader +1

윈도우 os의 기본 형태로 rootnoverify는 특정 파일을 로드할때 사용하는데 위의 경우 파티션의 첫 번째 섹터 파일을 로드한다.

윈도우 파티션 영역을 지정하였기 때문에 윈도우의 부트로더에 제어 권한을 넘긴다.

반응형

LVM

Logical Volume Manager 새로운 디스크 장치를 연결 시 파티션을 분할하고 공간을 할당한다. 이때 설정한 크기는 고정되어 변경이 힘들다. 이 문제를 극복하기 위한 방법이 LVM이다. 여러 개의 디스크를 뭉쳐 하나인 것처럼 만들거나 2개를 3개로 만들 수 있다. 사용 중인 파티션의 크기를 줄이거나 늘릴 수도 있다.


LVM 관련 용어

물리적 볼륨(PV: Physical Volume)

실제 디스크가 물리적으로 분할 된 것

볼륨 그룹(VG: Volume Group)

물리적 볼륨이 모여서 생성되는 덩어리를 VG라 한다.

논리적 볼륨(LV: Logical Volume)

VG에서 사용자가 필요한 만큼 할당하여 만드는 분할 공간을 말한다. == 파티션

물리적 확장(VE: Physical Extent)

PV에서 나누어 사용하는 일종의 블록 같은 영역 보통 1PE == 4MB 정도 할당

 

 
반응형

+ Recent posts