본문 바로가기

프로그래밍/Linux-Server

리눅스와 운영체제 (OLC Center | 리눅스포털 | 140분) 1강~7강

반응형

이 글은 OLC Center 라는 사이트에 올라온 강의내용을

텍스트로 정리한 내용입니다.

강의를 해 주신 '리눅스포털' 님께 감사드립니다.

https://olc.kr - 운영체제

 

리눅스개론/리눅스서버설치/첫부팅과 원격로그인

리눅스와 운영체제

○ 운영체제의 구성(일반론)

- kernel : 커널 (가장 작은 의미의 운영체제)

- SHELL:

- 시스템 유틸리티, 응용프로그램들

 


커널

부팅후부터 시스템 종료까지 메모리에 항상 상주해 있다.

모든 하드웨어를 제외하고 실행하는 핵심적인 바이너리코드로 되어 있고

서버관리자들은 이런 커널을 최적화하기 위해

기존의 커널소스를 받아와서 불필요한 기능들을 제거하고

최적화된 가장 작은 용량으로 컴파일 한 후에

기존의 커널과 교체한다. (리눅스에서만 가능함)a

 


SHELL : BASH SHELL, 본 쉘, 콘 쉘, c 쉘 등이 잇다.

이런 것들은 사용자 또는 사용자가 다루는 응용소프트웨어에서

커널과 의사소통을 해주는 도구이다.

 


사용자의 인간 명령어 -> 바이너리 코드로 번역해서 명령어 전달 -> 커널은 명령어를 실행하고

그 결과를 바이너리 코드로 쉘에 전달 ->

부팅이나 기타 과

 


○ 리눅스 커널 버전의 역사

- 0.02 버전 1991년 첫 발표

- 1.0 버전 : 정식버전이고 이때부터 배포판이 나오기 시작했다.

- 2.0 버전 : 1996년 smp기능 지원 : 멀티프로세서를 지원.

- 2.6.16 : 2003년

- 5.0.4 버전 : 현재 최신버전(2019.03)

 


2강 "kernel.org"사이트

○ 리눅스커널 공식 발표 및 소스 구하기

- 공식 웹사이트 : www.kernel.org

버전업또는 패치가 된 정보를 얻을 수 있다.

다운로드는 이곳에서 받는다. 사용하는 환경에 따라 다운받는다.

Protocol Location
HTTP https://www.kernel.org/pub/
GIT https://git.kernel.org/
RSYNC rsync://rsync.kernel.org/pub/

 

 

 

3강 커널소스 가져오기, 커널버전 표시와 의미

터미널모드에서 서버관리자들이 어떻게 다운받아 설치하는지 본다.

[root#localhost~] ftp ftp.kernel.org -> 사이트 접속

​[root#localhost~] anonymous -> name에 익명으로 입력

리눅스 커널 소스의 위치를 찾는다.

ftp> cd pub​

ftp> cd linux

ftp> cd kernel​​

ftp> dir 로 확인한다.

리눅스 버전별로 폴더로 구성되어 있다.

ftp> cd v2.6​​

​패치버전까지 볼 수 있다.​

linux-2.6.15.tar.gz

ftp> bi -> 바이너리로 받겠다.

ftp> get​​ linux-2.6.15.1.tar.gz

다운로드 완료 후​

ftp> quit

​[root#localhost~] ls -l ​ linux-2.6.15.1.tar.gz

​[root#localhost~] du -sh ​ linux-2.6.15.1.tar.gz (48mb)

압축 풀고 컴파일하고 리눅스 커널 버전업을 한다.​

○ 리눅스 커널 버전 표시와 의미

- 리눅스 커널소스 압축파일

​linux-2.6.15.tar.gz

2.6 버전

주버전 2.0 (smp 기능 추가)

부버전 6 (작은 기능적인 추가 | 짝수는 안정버전 홀수이면 개발버전임)

리눅스 배포판의 부버전은 짝수이다.

​[root#localhost~] uname -r : 리눅스 버전 정보를 알수 있다.

​[root#localhost~] ​uname -r : 컴파일 정보까지 알 수 있다.

패치버전, 배포버전, 배포횟수

15는 패치(수정)된 숫자, 재배포한 숫자를 뜻함.

 


4강 리눅스 배포판의 구성, 배포판의 종류​

○ 리눅스 커널만으로는 완전한 운영체제라 할 수 없다.

시스템프로그램, 쉘의 구성요소들, 응용프로그램 등이 함께 해야 한다.

 


​○ 리눅스 배포판의 구성요소

linux kernel : 수정, 패치 또는 그대로 사용

+ 여러가지 shell들 : Bash웰, Bom쉘, Korn쉘, C쉘 등

+ 설치용 프로그램 : anaconda등 (리눅스를 설치해주는 프로그램)

+ 부트로더(Boot Loader) : LILO, GRUB 등

+ system utility 들

+ system program들

+ 언어사용에 필요한 각종 font들

+ 각종 library들

+ X windows 프로그램들 : KDE, Gnome 등

+ 업무용 응용프로그램들 : OA용 프로그램들

+ 리눅스기반의 수많은 프로그램들 : 웹서버용, 게임, 그래픽 관련 등

MySql , Apache ...

 

○ ​리눅스 배포판의 종류

배포판명 | 관련 사이트 url

레드헷(Redhat)리눅스 | http://www.redhat.com

페도라(Fedora) | http://www.fedora.redhat.com

데비안(Debian) | http://www.debian.org

슬랙웨어(Slackware) | http://www.slackware.com

맨드레이크(Mandrake) | http://www.linux-mandrake.com

와우리눅스(Wowlinux) | http://www.wowlinux.com

수세리눅스(SuSe Linux) | http://www.suse.com

한소프트리눅스 | http://www.haansoftlinux.com

(아시아눅스) | http://www.asianux.com

마루 | http://www.linuxone.co.kr

부요 | ETRI에서 주도하여 개발한 리눅스

우분투(Ubuntu) | http://www.ubuntulinux.org

SULinux | http://www.sulinux.net

​○ ​리눅스를 아키테처별로 분류

리눅스가 어떤 프로세서, cpu 기반으로 분류되느냐?

알파기반리눅스(Alpha Linux)​

인텔기반리눅스(Intel Linux)

스팍기반리눅스(Sparc Linux)​

어떤 리눅스 배포판을 사용하는 것이 좋은가?

가장 많이 사용되는 배포판이 좋을 수 있다 ^^

서비스의 특징에 따라 달라질 수 있다.

배포판에 대한 정보를 사이트에서 확인하고 다운로드 받을 수 있다.

 


5강 CD Found Welcome 언어선택 키보드_설치타입 DiskDrui...

리눅스 설치 - Fedora Core​

CD Found - skip 선택 (cd롬 테스트를 하지 않는다)

​리눅스 설치프로그램인 anaconda의 화면이 나온다. GUI환경 지원해주는데

우리는 TEXT 환경으로 설치를 한다.

Language Selection - 여기서의 언어는 아나콘다의 화면환경언어이다. english 또는 한글화면을 선택

Keyboard Selection - us 선택 (설치완료후에 키보드가 바뀌면 sysconfig keyboard 유틸 실행 후 선택​)

Installation Type - 설치종류를 선택한다.

Personal Desktop (서버용이 아닌 개인용 pc, 노트북 사용시)

Workstation​ - 그래픽모드에서 지원하는 TOOL과 시스템 관리 툴이 실행된다. X-윈도우

리눅스 파티션은 삭제되고 그외 윈도우 파티션은 삭제되지 않는다.

Server모드 - 리눅스를 메일서버 웹서버 디비서버 파일서버 ... 으로 사용할때.

설치하면 리눅스를 gui text 로 사용할지 선택할 수 있다.

리눅스파티션, 윈도우 파티션 모두 삭제한다. 서버용도로 설정하기 위해.

Custom모드 - 모든 파티션을 사용자가 모두 설정한다. (이걸 선택한다)

​Disk Partitioning Setup

Autopartition - 앞에 설정한 모드대로 파티션이 설정된다.

Disk Druid - 사용자 설정 파티션 툴 (선택)

 


Warning창이 뜰 수 있다. - 데이터가 있을경우(파티션이 있을 경우)

yes는 그대로 진행한다 (파티션 날라감)

파티션 작업을 할 수 있는 화면이 뜬다.

Partitioning 화면

boot partition생성 - 부트로더, 파티션 정보가 mbr에 저장된다.

설치후에 fdisk -l 하면 정보를 확인할 수 있다.

부팅과정에서 보면 rom bios 역할이 끝난 후에

rom bios 에서 부팅매체를 찾아서

매체의 boot loader 를 읽는데

boot loader 는 운영체제


swap partition

6강 파티션설정

○ Partitioning 화면에서 실제 파티션을 만들어보자

파티션 작업을 한다.

부트, 스압, 홈, 루트 파티션을 각각 생성한다.

 

​​부트파티션 생성 :

GRUB, LILO 등과 같은 부트로더 관련 정보가 저장되는 곳이다.

즉, MBR정보가 저장되는 곳이다. GRUB, LILO,

MBR에는 부트로더 정보와 파티션 정보가 저장되어 있다.

설치 후에 fdisk -l 하면 파티션 정보를 볼수 있다.

 

부팅과 관련된 정보가 저장되는 곳이라고 이해하자

부팅과정에서 보면 롬바이오스 역할이 끝난 후에

롬바이오스에서 검색을 통해 부팅 매체를 찾아서

검색된 매체의 부트로드 읽어 들이게 된다.

 

그리고 부트로드는 운영체제를 찾아서 부팅과정을 진행하게 된다.

이때 부트로드의 정보가 저장되는 위치가 MBR이라는 것.

 

MBR 즉 부트로드에는 GRUB이라는 정보가 있기 때문에

MBR 은 운영체제의 부팅프로그램이 기록 되어 있는

BOOT SECTER를 읽어서 운영체제가 부팅된다.

 

MBR정보가 틀리면 부팅이 안된다.

 

Partitioning 화면 - New 를 누르면 화면이 뜬다.

Mount Point : /boot --> 파티션레이블, 파티션이름, 마운트포인트 라고도 한다.

File System type: ext3 -> boot의 파타션 타입을 'ext3'를 선택한다.

이후에 포맷을 ext3 타입으로 한다는 말이다.

Allowable Drivers: sda sdb sdc .. 선택가능 (지금은 디스크가 1개이므로 sda선택)

Size : 현재 boot 파티션의 용량은 128~256MB로 한다.

Fixed Size : 고정된 용량으로 사용을 하겠다.

Fill maximum sie of (MB)

Fill all available space : 현재 남아있는 모든 용량을 이 파티션에 적용한다.

Force to be a primary partition : 체크해제

현재 설정하는 파티션을 주 파티션으로 설정하겠다.

 

OK를 누르면 파티션 정보를 볼 수 있다.

Start End : 실린더 번호,

125M : 128M로 설정했는데 125로 할당이 됨.

 

스압파티션 생성 : New를 누른다.

Mount Point 이 없다. 넘어간다.

File System type: swap 선택 -> 이 공간이 vertual memory로 사용이 된다.

Allowable Drivers: 물리적인 디스크를 선택 sdb 선택

Size : 256M -> 실제메모리의 2배로 잡는다. 설정갯수는 16개 까지 가능하다.

Fixed Size : 선택

 

홈 home 파티션 생성 : New를 누른다.

Mount Point : /home

ext3, sda, fixed size 선택

size : 2048 테스트이므로 이 값으로 설정

 

root 파티션 생성 : New를 누른다.

Mount Point : /

ext3, sda, fixed size 선택

Fill all available space : 현재 남아있는 모든 용량을 root 파티션에 적용한다.

size : 1 (최소한 1 이상을 선택해야 한다.)

 

설정된 파티션 정보

파티션이 4개 설정했는데 5개가 되었다. :

  확장파티션(sda4)을 바로 사용하는 것이 아니라 논리파티션(sda5)를 여러개 만들어 사용할 수 있다.

 

START END의 물리적인 의미 :

  실린더 단위로 파티션이 할당된다.

  실린더는 디스크의 밖에서 안으로 읽는다.

디스크는 여러개의 플랫(판)이 있고 플랫 사이에 헤드가 있는데 따로 움직이는 것이 아니라

엑세스 암에 의해서 동시에 움직인다.

동일한 위치의 데이터를 읽기 위해 실린더라는 개념이 생겨났다.

효율적으로 데이터 입출력을 하기 위해 동일한 위치, 트랙에 있는 것을 읽게 된다.

 

SIZE : 우리가 설정한 값과 다르다. 이유는 파티션이 실린더 단위로 할당 되기때문이다.

부트 파티션이 125M, 홈파티션 2047M, 스압 파티션 258M

 

파티션 삭제는 해당위치로 커서를 두고 delete 를 누르면 된다.

파티션 변경은 edit.

중요:

usr, var, usr local, etc 등은 별도로 파티션을 생성할 수 있는데

별도로 생성하지 않으면 루트의 파티션 안에 디렉터리로 생성된다. 


7강 부트로더 네트워크설정 호스트네임 Firewall Selinux ...

○ ​


8강 패키지그룹 포맷 복사 CD교체 Reboot

​​
9강 첫부팅 설치후확인 원격로그인