전체 글 92

우분투 리눅스 - 소프트웨어 컴파일

1. 컴파일러 설치하기 사용자가 작성한 프로그램은 시스템이 이해할 수 있는 형태로 변환해야 실행이 가능하다. 시스템이 이해할 수 있으려면? 기계어로 바꿔야한다! 일반적으로 실행 파일은 기계어로 되어 있는 파일이다. C 언어 - > 기계어로 바꾸는 것 이런게 컴파일이다~ 리눅스는 C언어로 만들어졌기 때문에 C컴파일러를 설치해본다. sudo apt-get install gcc 명령 이용! 2. 간단한 C 프로그램 컴파일하고 실행하기 1) 우선 vi 를 이용하여 hello, world 를 찍어보자! (C언어 형식으로 해주면 된다.) 2) 입력을 완료하면 컴파일을 한다. gcc 소스파일명 3) 경로를 지정하여 소스파일명을 입력해주면 출력된다. ./a.out (실행 파일의 이름은 사용자가 지정하지 않으면 기본적으..

우분투 리눅스 - 파일 아카이브

파일 아카이브 - 파일을 묶어서 하나로 만든 것 - tar (tape archive) 명령은 원래 여러 파일이나 디렉터리를 묶어서 마그네틱 테이프와 같은 이동식 저장 장치에 보관하기 위해 사용하는 명령 - 현재는 다른 시스템과 파일을 주고 받거나, 백업을 하기 위해 여러 파일이나 디렉터리를 하나의 아카이브 파일로 생성하거나, 기존 아카이브에서 파일을 추출하기 위해 사용한다. tar 기능: 파일과 디렉터리를 묶어 하나의 아카이브 파일을 생성한다. 형식: tar 기능 [옵션] [아카이브 파일] 파일명 기능 c : 새로운 tar 파일을 생성한다. t : tar 파일의 내용을 출력한다. x : tar 파일에서 원본 파일을 추출한다. r : 새로운 파일을 추가한다. u : 수정된 파일을 업데이트 한다. 옵션 f ..

우분투 리눅스 - 스냅

스냅 우분투 16.04 버전 부터 등장한 새로운 패키지 형식 스냅 패키지는 기존의 deb 패키지와 호환성을 유지! 우분투가 새로 도입한 패키지 형식으로 샌드박스 형태의 패키지 샌드박스란 ? 원래 외부에서 받은 파일을 그냥 실행하는 것이 아니라 보호된 영역에서 실행해보는 것으로, 외부의 파일이 내부 시스템에 악영향을 주는 것을 방지하는 보안 기술을 말한다. (아이폰이나 안드로이드에서도 샌드박스 형식을 사용 ) 패키지를 만들 때 프로그램이 사용하는 모든 라이브러리를 패키지 안에 포함한다. 패키지 개념인 샌드박스 형식을 스냅이 사용함으로써 얻게 되는 장점 ( 개발자가 다른 패키지나 라이브러리와의 의존성을 신경 쓰지 않아도 된다. 기존 시스템과 격리되어 실행하는 샌드박스 형식이므로 보안이 강화된다.) 단점: 패..

우분투 리눅스 - 우분투 패키지

1. 리눅스에서 주로 사용하는 패키지 리눅스에서 소프트웨어는 소스코드 형식 or 패키지 형태 (바로 설치하여 사용할 수 있는!) 소스 코드 형식) 하나의 아카이브 파일로 묶은 후 압축해서 배포 바이너리 패키지 ) 우분투 16.04 ~ 새로운 패키지로 스냅도 도입했다! (deb 패키지와의 호환성) deb : 데비안, 우분투 계열에서 사용하는 패키지 RPM (Redhat Package Manager) : 레드햇 계열 리눅스에서 주로 사용 *데비안 패키지: 간편하게 설치할 수 있도록 구성된 패키지, 간단한 명령으로 패키지 설치, 삭제, 정보 확인이 가능하다. 1) 우분투 패키지의 특징 바이너리 파일로 구성되어 있기 때문에 컴파일이 필요없다. 패키지의 파일이 관련 디렉터리에 바로 설치된다. 패키지를 삭제할 때 ..

빈즈

빈즈 (Beans) : 특정한 일을 독립적으로 수행하는 컴포넌트 여기서 컴포넌트란? 다른 무언가를 만들기 위한 부품 , 컴포넌트는 각각 독립적인 기능이 있으며, 컴포넌트를 조합해 다양한 형태의 결과물을 만들 수 있다. 자바 빈즈, JSP 빈즈로 나뉘어 개념이 확장되었다. 이 두개의 용도는 다르지만 프로그램 모듈화를 위한 컴포넌트라는 기본 전제는 같다. JSP 빈즈 JSP 빈즈는 JSP 와 연동하려고 만들어진 컴포넌트 클래스를 말한다. JSP 빈즈는 컨테이너에 위치하고, JSP 에 데이터베이스 연동 등 프로그램적 요소를 모듈화 할 수 있도록 도와준다. 데이터 처리와 공용화된 기능을 제공하기 때문에 빈즈를 잘 활용하면 프로그램의 중복을 줄이고 더욱 원활하게 유지 보수가 가능하다. 따라서 가능하면 JSP 코드..

우분투 리눅스 - systemd 서비스

systemd 서비스 - 리눅스 시스템 및 서비스 관리자 - init 프로세스가 하던 작업을 대신해서 수행한다. - 다양한 서비스 데몬을 시작하고 프로세스들의 상태를 유지하며 시스템의 상태를 관리한다. init 프로세스 - init 프로세스는 스크립트를 순차적으로 실행하여 다른 프로세스를 동작시킨다. - 우분투의 14.10 ver 까지는 자체적으로 개발한 upstart 를 기존의 init 대신 사용했으나 지금은 upstart 를 설치 안함 - init을 systemd 로 대체 - upstart 와 관련된 스크립트 파일은 /etc/init 디렉터리 , 작업명.conf 파일로 구성 - init 과 관련된 스크립트 파일은 /etc/init.d 디렉터리에 있으며 아직 일부 서비스의 스크립트 파일이 남아있다. i..

우분투 리눅스 - 부팅

리눅스 시스템의 부팅 리눅스의 부팅은 PC전원을 켜는 순간 ~ 로그인 프롬프트가 출력될 때 까지를 말한다. 전원 ON → 바이오스 단계 → 부트 로더 단계 → 커널 초기화 단계 →systemd 서비스 단계→ 로그인 프롬프트 출력 ---------pc 부팅------------- ----------------------------------------리눅스 부팅---------------------------------------- 우분투는 15.x 버전부터 기존의 1번 프로세스인 init 를 대체한 systemd 서비스를 도입했다. 1) 바이오스 단계 (BIOS : Basic Input / Output System) 바이오스는 보통 ROM 에 저장되어 있어 ROM-BIOS 라고 부른다. PC 에 장착된 ..

빅데이터란 무엇인가

빅데이터란 기존의 데이터 처리 응용에서는 다루기 어려운 크고 복잡한 데이터셋에 대하여 분석하고 정보를 찾아내는 분야 기존 데이터베이스 관리도구의 능력을 넘어서는 대량(수십 테라바이트)의 정형 또는 심지어 데이터베이스 형태가 아닌 비정형의 데이터 집합조차 포함한 데이터로부터 가치를 추출하고 결과를 분석하는 기술이다. 즉, 기존의 데이터 베이스로는 처리하기 어려울 정도로 방대한 양의 데이터를 의미한다. 빅데이터의 특징 빅데이터의 특징은 3V로 설명할 수 있다. 데이터 량 (Volume) , 생성 속도 (Velocity) , 다양성 (Variety) Volume : 생성되고 저장되는 데이터량으로 데이터량에 따라 처리가능성을 평가하여 빅데이터인지 아닌지 결정된다. Velocity : 데이터가 생산되고 처리되는 ..

우분투 리눅스 - 파일 시스템의 구조

리눅스의 모든 파일 시스템은 기본적으로 유닉스 운영체제에서 유래된 공통의 개념을 바탕으로 구현된다. 1) 파일은 inode 로 관리된다. 2) 디렉터리는 단순히 파일의 목록을 가지고 있는 파일일 뿐이다. 3) 특수 파일을 통해 장치에 접근할 수 있다. 1. ext4 파일 시스템의 구조 ext4 파일 시스템은 효율적으로 디스크를 사용하기 위해 저장 장치를 논리적인 블록의 집합 ( 블록 그룹, 크기가 4 KB )으로 구분한다. 실제 크기는 시스템 설정에 따라 달라질 수 있다. 1) 블록 그룹 0 : 파일 시스템의 첫 번째 블록 그룹 / 그룹 0 패딩 , 슈퍼블록, 그룹 디스크립터를 가지고 있다. 2) 블록 그룹 a : 파일 시스템에서 첫 번째 블록 그룹이 아닌 블록 그룹 / 그룹 0 패딩이 없으나 슈퍼블록과..

우분투 리눅스 - 파일시스템의 종류

1. 파일시스템 1) 운영체제의 주요한 기능 중 하나 2) 파일과 디렉터리의 집합을 구조적으로 관리하는 체계 3) 어떤 구조를 구성하여 파일이나 디렉터리를 관리하느냐에 따라 다양한 형식의 파일 시스템이 존재 2. 리눅스 고유의 디스크 기반 파일 시스템 ext => Extended File System 1) ext (ext1) - inode 수정과 데이터의 수정 시간 지원이 안 되고, 파일 시스템이 복잡해지고 파편화 되는 문제 - 현재 리눅스에서는 ext 파일 시스템을 사용하지 않음 2) ext2 - ext 파일 시스템이 가지고 있던 문제를 해결, 1993년 1월 발표 - ext2 는 ext3 파일 시스템이 도입되기 전까지 사실상 리눅스 표준 파일 시스템으로 사용 - 이론적으로 32TB까지 가능 - 지금도..