리눅스 소개와 리눅스 시작하기
운영체제와 컴퓨터 시스템
Linux/UNIX는 많은 종류의 컴퓨터 시스템에서 사용 가능하다. 특히 리눅스는 거의 전 범위의 시스템에서 사용이 가능해 소형 임베디드 시스템부터 고성능 슈퍼 컴퓨터까지 그 분야는 다양하다.
유닉스와 리눅스
1. 유닉스 (UNIX)
유닉스(UNIX)는 미국 Bell 연구소에서 Ken Thompsion이 1969년에 개발했다. 유닉스 이전에는 MULTICS라고 복잡하고 느린 성능의 운영체제를 사용했기 때문에 빠르고, 작고, 간단하면서 효과적인 운영체제를 목표로 개발한 것이다.
예전에는 어셈블리 언어로 작성하였으나 Dennis Ritchie가 C언어를 개발한 후에 C언어로 다시 작성하였다. C언어로 작성되었기 때문에 이식성이 좋고 기능 확장 및 개선이 용이한 점이 강점이다.
유닉스는 source code를 연구용으로 무상 제공했는데, 이 때문에 이렇게 유닉스가 발전한 것 아닐까 한다.
유닉스의 설계 철학은 각 utility program은 한 가지 작업을 잘 수행해야 한다. 그래서 이 작은 utility들을 결합하여 복잡한 작업을 수행해야 한다.
간단한 결합을 하는 데에는 pipe를 사용하고 복잡한 결합을 하는 데에는 셸 스크립트를 사용한다.
2. 리눅스
리눅스는 헬싱키 대학교 학생이던 리누스 토발즈가 1991년에 개발한 유닉스 호환 운영체제이다.
유닉스의 소스코드를 무상 공개를 하니 유닉스 버전이 다양해져서 응용 프로그램 호환성에 문제가 발생하였었다. 따라서 POSIX (Portable Operating System Interface) 인 운영체제 interface 표준안을 제정하였다. POSIX을 사용하여 작성된 프로그램은 POSIX을 지원하는 운영체제에서 실행시킬 수 있다. 대부분의 UNIX와 Linux는 표준을 지원한다.
아무튼 다시 돌아와서, 리눅스는 GNU GPL (General Public Licence) 가 가장 특징적인 점인데, 누구나 소스 코드를 변경하고 다시 개발하여 재배포 할 수 있다. 대신 GPL로 공개된 프로그램에서 파생된 프로그램들도 저작권을 인정하지 않고 GPL로 공개해야 한다.
리눅스의 파급력은 엄청나서, 현재 슈퍼 컴퓨터용 운영체제의 약 95%가 리눅스를 사용한다고 한다. 서버용 운영체제에서도 60%정도.
데스크톱에서는 윈도우에 비해서 적지만 그래도 많은 소형 임베디드 시스템들도 리눅스 커널을 기반으로 개발된다.
3. 리눅스 배포판
"커널 + 유틸리티 프로그램 및 라이브러리, 사용 환경"을 함께 제공한다. 많은 무료 배포판이 있는데 안정적인 사용과 지원을 위해서 유료 배포판을 사용하는 경우도 많다.
1) 가장 대표적인 리눅스 배포판 - 우분투
현존하는 리눅스 배포판 중 가장 많이 쓰이고 널리 알려진 것이다. 영국의 소프트웨어 회사인 캐노니컬과 우분투 재단에서 개발, 유지보수 및 배포를 하고있다.
쉬운 설치와 패키지 업데이트, 사용자 친화적인 인터페이스 등 다양한 장점이 있어 리눅스의 대중화에 큰 기여를 하고있다.
우분투는 6개월마다 업데이트가 이루어지고있고 데스크탑/서버용으로 나누어 배포판이 제공되고 있다.
그 외에도 여러가지가 있는데... 나머지는 표로 정리할테니 한번 찾아보길 바란다. (사실 본인도 우분투 말고 안쓰길 때문에 선뜻 말하기가 어렵다)
리눅스 배포판 |
URL |
우분투 |
|
데비안 |
|
페도라 |
|
CentOS |
|
오픈수세 |
|
리눅스민트 |
유닉스 계열 운영체제도 무료로 배포되는 버전이 존재한다.
아래는 유닉스 배포판들이다.
유닉스 배포판 |
URL |
솔라리스 |
|
FreeBSD |
|
OpenBSD |
|
NetBSD |
4. 리눅스 시작하기 (1) - 사용자 등록
UNIX/Linux를 사용하기 위해서는 사용자 계정이 있어야 한다. 계정은 관리자가 생성해서 발급해준다.
자신이 설치한 리눅스에서는 설치과정에서 관리자(root) 계정을 생성하고 개인 계정은 본인이 관리자로서 직접 발급하는 식으로 한다.
관리 목적이 아닌 사용을 위해서는 root 계정보다는 개인 계정을 만들어서 사용하는 것이 일반적이고 바람직한 방법이다.
나는 학교에서 수업용으로 만들어진 계정이 있는데, 그것을 사용할 계획이다.
로그인은 터미널 이뮬레이퍼 프로그램을 사용할 것이다. 터미널 이뮬레이터 프로그램은 네트워크를 통한 telnet 또는 ssh 접속 기능과 직렬 연결 (모뎀 접속)을 통한 터미널 접속 기능을 포함한다.
대표적으로 Teraterm, putty, zterm 등이 있다. 나는 앞으로 테라텀을 사용할 것이다.
(테라텀은 일본의 테라니시 타카시에 의해 개발된 오픈소스 프로그램이다.)
머.. 대충 이런 창에서 username(계정이름)과 passphrase(비밀번호)을 입력해 로그인을 한다.
5. 리눅스 시작하기 (2) - 테라텀 한글 코드 설정
테라텀에서 한글이 정상적으로 출력되길 바란다면 한글코드를 설정해주어야한다. 보통 유니코드 utf-8를 주로 사용한다.
- [setup] -> [general] 선택
language를 korean으로 선택한다. - [setup] -> [Terminal] 선택
Local을 Korean으로, CodePage를 949로 입력.
송수신 Coding을 모두 유니코드 UTF-8로 선택한다. - [setup] -> [save setup]을 해주면 계속 켰을 때 위 과정을 반복하지 않아도 된다.
이번 포스팅에서는 이정도로 끝을 내고자 한다..
언제 다시 유닉스 포스팅을 할 수 있을지 ㅠㅠㅠ 다시 복습하는 겸 열심히 계속, 자주 올려야겠다
유닉스와 리눅스의 특징 요약
1) 유닉스의 특징
- 이식성
- 다중 사용자/다중 프로세스 지원
- 단순성 (커널에 필요한 최소한의 기능만 제공. 나머지는 OS 밖에서 지원함)
- 개방성 (소스코드 공개)
- 셸 (shell), GUI - OS 밖에서 제공하는 사용자 밖 인터페이스
- 네트워킹 (현재의 많은 인터넷 기능들이 유닉스 기반으로 개발됨)
2) 리눅스의 특징
- 유닉스 호환 운영체제
- 공개 소스
- 빠른 업그레이드
- 저비용 및 빠른 성장
'Computer Engineering > 유닉스 시스템 (Unix System)' 카테고리의 다른 글
유닉스/리눅스의 파일 시스템 (0) | 2019.01.06 |
---|---|
리눅스 기본 명령어 (0) | 2019.01.05 |