Chapter 01. 리눅스입문과설치하기
00. 개요 01. 리눅스의기초 02. 리눅스실습환경구축 03. 리눅스윈도사용 04. 리눅스명령사용
리눅스의탄생과발전과정을설명할수있다. GNU 프로젝트가무엇인지설명할수있다. 리눅스배포판이무엇인지설명할수있다. 가상머신이무엇인지설명하고설치할수있다. 가상머신에리눅스를설치할수있다. 리눅스윈도환경의메뉴구조를이해하고필요한응용프로그램을실행할수있다. 리눅스에서터미널창을열고명령을사용할수있다.
리눅스실습스터디맵
00 개요 [ 그림 1-1] 1 장의내용구성
01 리눅스의기초 리눅스의시작 핀란드헬싱키대학교의학생이었던리누스베네딕트토발즈 (Linus Benedict Torvals) 가처음개발 미닉스 (MINIX) 라는교육용운영체제를참조하여개발 리눅스개발소식을 comp.os.minix 뉴스그룹에포스팅 : 1991년 8월 26일 -> 리눅스탄생일 Hello everybody out there using minix- I m doing a (free) operating system (just a hobby, won t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I ll get something practical within a few months, and I d like to know what features most people would want. Any suggestions are welcome, but I won t promise I ll implement them :-) Linus (torv...@kruuna.helsinki.fi) PS. Yes-it s free of any minix code, and it has a multi-threaded fs. It is NOT protable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that s all I have :-(.
01 리눅스의기초 리눅스의발전과정 최초공개된리눅스커널 : 버전 0.01 현재 (2014년 5월 3일 ): 안정버전 3.14.2, 개발버전 3.15 GNU 프로젝트 : 리눅스커널에응용프로그램제공 -> GNU/ 리눅스 리눅스재단 : 2007년설립 리누스토발즈지원 삼성전자, IBM, 인텔, 오라클, 구글, 페이스북, 트위터등 2005년이래 7,800명이넘는개인과 800여개의기업이커널개발에공헌 [ 그림 1-2] 커널과응용프로그램 [ 표 1-1] 리눅스커널 3.0 이후의배포주기
01 리눅스의기초 GNU 프로젝트 리처드스톨만이시작 1985 년 <GNU 선언문 > 발표및자유소프트웨어재단 (Free Software Foundation, FSF) 을설립 <GNU 선언문 > 은 http://www.gnu.org/gnu/manifesto.html 에서확인 GNU 는유닉스와호환되는자유소프트웨어를개발하는프로젝트 GNU is Not Unix (GNU 는유닉스가아니다 ) 의약자로 그누 라고읽음. GNU 는다음과같은네가지자유를보장 (www.gnu.org). 프로그램을어떠한목적으로도실행할수있는자유. 프로그램이어떻게동작하는지학습하고, 자신의필요에맞게개작할수있는자유. 이를위해서는소스코드에대한접근이전제되어야한다. 이웃을도울수있도록복제물을재배포할수있는자유. 프로그램을개선할수있는자유와개선된이점을공동체전체가누릴수있도록발표할자유. 이를위해서도역시소스코드에대한접근이전제되어야한다. 1989 년에 GPL(GNU General Public License) 제정 : 자유소프트웨어라이선스 버전 1(GPLv1), 버전 2(GPLv2), 버전 3(GPLv3) 컴퓨터프로그램의자유로운사용, 무료배포, 소스코드변경허용등 www.gnu.org/licenses/licenses.html 참조
01 리눅스의기초 리눅스와유닉스 리눅스는유닉스계열의운영체제 리눅스 = 리누스 + 유닉스 유닉스 1969년 AT&T의벨연구소에서어셈블리어로처음개발 1971년에 C언어로재개발 -> 최초의고급프로그래밍언어로작성한운영체제로이식성높음 AT&T의상용유닉스와오픈소스버전인 BSD로나뉘어발전 BSD는 AT&T의라이선스가필요없는 FreeBSD로발전
01 리눅스의기초 리눅스배포판 리눅스커널 + 응용프로그램으로구성 레드햇계열, 데비안계열, 슬랙웨어계열 리눅스배포판계통도 : http://futurist.se/gldt [ 그림 1-4] 리눅스배포판의계통도일부
01 리눅스기초 2004 2013 데비안 Ubuntu 2008 Ubuntu 13.10 1993 1994 1998 2006 안드로이드 리눅스커널 1991 SLS 슬랙웨어 1993 S.u.S.E SuSE 1998 JAVA 2003 opensuse Mandrake 레드햇 1994 페도라 Core 페도라 20 2003 2014 [ 그림 1-5] 주요리눅스배포판의계통도 CentOS 2003
01 리눅스기초 우분투리눅스 데비안계열의리눅스 2012년 PC World의온라인설문조사결과개인용데스크톱과노트북에서가장인기있는리눅스배포판 마크셔틀워스가세운영국의캐노니컬사의지원을받고있음 현재는캐노니컬상의상업적활동과분리하기위해설립한우분투재단이개발을담당 누구나쉽게리눅스를사용할수있도록하자는것이목적
01 리눅스기초 우분투의버전관리 배포판이나온연도와월로구성 : 13.10 -> 2013 년 10 월배포 처음세개버전을제외하고 6.06 부터는알파벳순서로만든형용사와명사로조합된코드명부여
01 리눅스기초 우분투를바탕으로한배포판 Ubuntu [ 그림 1-6] 우분투를바탕으로만들어진리눅스배포판
01 리눅스기초 리눅스의특징 리눅스는공개소프트웨어이며무료로사용할수있다. 유닉스와의완벽한호환성을유지한다. 서버용운영체제로많이사용된다. 편리한 GUI 환경을제공한다. 리눅스의구조 커널 : 리눅스의핵심 프로세스 / 메모리 / 파일시스템 / 장치관리 컴퓨터의모든자원초기화및제어기능 셸 : 사용자인터페이스 명령해석 프로그래밍기능 리눅스기본셸 : 배시셸 ( 리눅스셸 ) 응용프로그램 각종프로그래밍개발도구 문서편집도구 네트워크관련도구등 [ 그림 1-7] 리눅스의구조
02 리눅스실습환경구축 가상머신 PC 에설치되어있는운영체제 ( 호스트 OS) 에가상의머신 ( 시스템 ) 을생성한후여기에다른운영체제 ( 게스트 OS) 를설치할수있도록해주는응용프로그램 [ 표 1-4] 가상머신의종류 가상머신호스트 OS 게스트 OS VMWare 윈도계열, 대부분의리눅스, 맥 OS 윈도계열 OS, 대부분의리눅스, 솔라리스, 맥 OS 버추얼 PC 윈도계열 OS 윈도계열 OS, 일부리눅스, 솔라리스 버추얼박스 윈도계열, 대부분의리눅스, 맥OS, 솔라리스 윈도계열OS, 대부분의리눅스, 솔라리스, 맥OS, OpenBSD VMWare 제품군 : 가장널리사용중 VMware Workstation : 유료제품으로 30 일간평가판을무료로사용할수있다. VMware Player : 무료제품으로시리얼번호도필요없이바로설치하여사용할수있다. 상용제품인 VMware Workstation 의기능을대부분제공하므로매우유용하다. VMware Server : 무료제품으로웹서버와연동하여동작하므로사용하는데조금불편함이있다. 이책에서는 VMware Player 를사용하여리눅스를설치하고학습한다.
02 리눅스실습환경구축 가상머신설치하기 VMWare Player 내려받기 : www.vmware.com/kr Vmware Player 평가판및무료제품 [ 그림 1-9(a)] VMware Player 선택 [ 그림 1-8] VMware 웹사이트 버전확인 윈도용다운로드 [ 그림 1-9(b)] 윈도용 VMware Player 다운로드선택
02 리눅스실습환경구축 VMware Player 설치하고실행하기 일반윈도프로그램설치와동일 VMware Player 실행화면 [ 그림 1-12] VMware Player 실행화면
02 리눅스실습환경구축 가상머신생성하기 1 게스트 OS 설치방법선택하기 Create a New Virtual Machine PC 에장착된 CD/DVD 드라이브이용 설치디스크이미지파일 (iso 파일 ) 이용 운영체제설치는나중에하고일단빈디스크만생성 [ 그림 1-13] 가상머신생성 1: 게스트 OS 설치방법선택 여기서는빈디스크만생성하고운영체제는나중에설치를선택
02 리눅스실습환경구축 가상머신생성하기 2 설치할게스트 OS 선택하기 Linux -> Ubuntu [ 그림 1-14] 가상머신생성 2: 설치할게스트 OS 선택
02 리눅스실습환경구축 가상머신생성하기 3 가상머신의이름과디스크파일의위치지정하기 가상머신의하드디스크는파일로생성 : 저장할폴더준비 가상머신의이름 : Ubuntu [ 그림 1-15] 가상머신생성 3: 가상머신의이름과디스크파일의위치지정
02 리눅스실습환경구축 가상머신생성하기 4 디스크파일의크기와저장방식지정하기 디스크파일의용량지정 : 20GB 디스크파일의분리여부 : 분리하여저장 ( 하나로저장도가능 ) [ 그림 1-16] 가상머신생성 4: 디스크파일의크기와 저장방식지정
02 리눅스실습환경구축 가상머신생성하기 5 가상머신생성준비완료 & 하드웨어정보수정하기 가상머신설정값요약내용확인 Finish를선택하여가상머신생성또는 Customize Hardware 를선택하여설정변경 [ 그림 1-17] 가상머신생성 5: 가상머신생성준비완료 [ 그림 1-18] 가상머신생성 6: 하드웨어정보수정
02 리눅스실습환경구축 가상머신생성하기 가상머신생성완료 [ 그림 1-19] 가상머신생성완료화면
02 리눅스실습환경구축 우분투내려받기 리눅스이미지파일 (ISO 파일 ) 다운로드 우분투사이트 : http://www.ubuntu.com 다운로드 [ 그림 1-20] 우분투리눅스웹사이트 [ 그림 1-21] 우분투 ISO 이미지내려받기 Ubuntu 13.10 ( 또는최신판 )
02 리눅스실습환경구축 우분투설치하기 1 우분투디스크이미지설정하기 Edit virtual machine settings 를선택하여 ISO 파일의이미지경로지정 [ 그림 1-22] 우분투 ISO 파일설정
02 리눅스실습환경구축 우분투설치하기 2 가상머신시작하기 Play virtual machine 선택하면 VMWare 시작 [ 그림 1-23] 우분투설치시작화면
02 리눅스실습환경구축 우분투설치하기 3 우분투설치방법선택하기 가상머신의부팅이완료되면 ISO파일을찾아자동으로설치시작 Ubuntu 설치를선택 VMWare Player에서마우스를빠져나오게하는키는 alt+ctrl [ 그림 1-24] 우분투설치방법선택
02 리눅스실습환경구축 우분투설치하기 4 우분투설치준비중화면 설치하기위한디스크공간과인터넷연결확인 업데이트와서브파티소프트웨어설치여부확인 ( 나중에추가설치가능 ) [ 그림 1-25] 우분투설치준비중화면
02 리눅스실습환경구축 우분투설치하기 5 우분투설치형식선택하기 디스크를지우고 Ubuntu 설치 : 디스크레이아웃자동설정 기타 : 디스크레이아웃수동설정 [ 그림 1-26] 우분투설치형식선택
02 리눅스실습환경구축 우분투설치하기 디스크파티션수동설치 [ 그림 1-27] 수동파티션생성여부확인 [ 그림 1-28] 수동파티션설정
02 리눅스실습환경구축 우분투설치하기 6 지역설정하기 자동으로지역설정 [ 그림 1-29] 지역설정
02 리눅스실습환경구축 우분투설치하기 7 키보드배치선택하기 한국어 -> 한국어 -(101/104 키호환 ) [ 그림 1-30] 키보드배치선택
02 리눅스실습환경구축 우분투설치하기 8 사용자등록하기 기본사용자를등록 : user1 컴퓨터이름등록 : 실습환경에따라규칙을정해서등록 [ 그림 1-31] 사용자등록
02 리눅스실습환경구축 우분투설치하기 9 우분투원사용자등록하기 클라우드인우분투원사용자등록 : 나중등록으로체크 [ 그림 1-32] 우분투원계정설정
02 리눅스실습환경구축 우분투설치하기 10 패키지설치하기 [ 그림 1-33] 패키지설치
02 리눅스실습환경구축 우분투설치하기 11 패키지설치완료 설치완료되면 지금다시시작 을클릭 만약재부팅중에시스템이멈추면강제재부팅 ( 그림 1-35) [ 그림 1-34] 설치완료및재부팅메시지화면 [ 그림 1-35] 강제재부팅
02 리눅스실습환경구축 우분투설치하기 12 재부팅후로그인대기화면 [ 그림 1-36] 로그인대기화면
02 리눅스실습환경구축 우분투설치하기 13 로그인성공및우분투데스크톱초기화면 로그인하면우분투데스크톱초기화면동작 유니티 : 그놈데스크톱환경을위한셸인터페이스로우분투에서사용할목적으로개발 [ 그림 1-37] 우분투초기화면
03 리눅스윈도 (GUI) 사용 우분투유니티환경의구성요소 1) 현재창이름 2) 네트워크설정 3) 블루투스 4) 메신저 5) 소리조절 6) 시간날짜일정 7) 사용자정보, 시스템설정, 컴퓨터끄기 [ 그림 1-38] 유니티상단의구성요소
03 리눅스윈도 (GUI) 사용 우분투유니티환경의구성요소 현재창이름 현재활성화되어있는프로그램의이름 프로그램을실행하고있지않을경우 우분투데스크톱 으로표시 네트워크설정, 블루투스설정, 메신저, 소리조절, 시간 / 날짜 / 일정관리 [ 그림 1-39] 네트워크, 블루투스, 메신저, 소리, 날짜 / 시간 / 일정설정화면
03 리눅스윈도 (GUI) 사용 우분투유니티환경의구성요소 컴퓨터정보, 사용자정보, 시스템설정, 컴퓨터끄기 유니티상단의가장오른쪽아이콘 [ 그림 1-40] 사용자정보, 시스템설정컴퓨터끄기등현재활동화면 [ 그림 1-41] 시스템설정창
03 리눅스윈도 (GUI) 사용 우분투유니티환경의구성요소 대시보드 : 런처아이콘모음 검색 파일 파이어폭스 LibreOffice Writer LibreOffice Calc LibreOffice Impress 우분투소프트웨어센터 Ubuntu One [ 그림 1-43] 파일창 Amazon, Music, 시스템설정, 휴지통등 [ 그림 1-42] 런처아이콘바
03 리눅스윈도 (GUI) 사용 따라해보기 : 지에디트로문서열기 런처바 -> 검색 -> 텍스트편집기 지에디트실행 -> 파일열기 -> 파일시스템 -> etc -> hosts 파일선택 [ 그림 1-46] 지에디트실행
04 리눅스명령사용 터미널동작시키기 검색 -> t -> 터미널 [ 그림 1-50] 터미널찾기 [ 그림 1-51] 터미널창
04 리눅스명령사용 프롬프트기호와홈디렉터리 프롬프트 사용자의명령입력을기다리는표시 셸에따라다르게나타남 : 배시셸의경우 $ 로표시, 시스템관리자의경우 # 으로표시 기본디렉터리 터미널창의기본디렉터리는사용자의홈디렉터리 user1@localhost:~ : user1은사용자계정이름, localhost는호스트이름, ~ 는 user1 사용자의홈디렉터리 사용자의홈디렉터리는사용자계정을등록할때지정 명령행편집방법 프롬프트다음에명령을입력하여리눅스사용 문자지우기 : 백스페이스키 (<-) 나 Delete키를사용 단어지우기 : Ctrl+w, 단어는공백문자로구분 문장지우기 : Ctrl+u
04 리눅스명령사용 명령의구조
04 리눅스명령사용 명령사용법 명령만사용한경우 user1@myubuntu:~$ ls examples.desktop 공개다운로드문서바탕화면비디오사진음악템플릿 user1@myubuntu:~$ 명령과옵션을사용한예 user1@myubuntu:~$ ls -a..bash_logout.dmrc.profile 다운로드 사진...bashrc.gconf.xsession-errors 문서 음악 ( 생략 ) 명령과인자를사용한예 user1@myubuntu:~$ ls /tmp pulse-pkdhtxmmr18n ssh-fvb6ggyd6tbn unity_support_test.0 user1@myubuntu:~$ 명령과옵션과인자를사용한예 user1@myubuntu:~$ ls -a /tmp..ice-unix.x11-unix ssh-fvb6ggyd6tbn...x0-lock pulse-pkdhtxmmr18n unity_support_test.0 user1@myubuntu:~$
04 리눅스명령사용 기초명령사용법 date 명령 현재날짜와시간을출력 user1@myubuntu:~$ date 2014. 02. 20. ( 목 ) 21:38:10 KST user1@myubuntu:~$ clear 명령 현재보이는화면을지우고커서를화면좌측상단으로이동 user1@myubuntu:~$ clear user1@myubuntu:~$ man 명령 각종명령의사용법을알려줌 user1@myubuntu:~$ man clear
04 리눅스명령사용 기초명령사용법 man 명령의실행결과 clear(1) clear(1) NAME 명령에의한간략한설명 clear - clear the terminal screen SYNOPSIS 명령의사용방법요약 clear DESCRIPTION 명령에대한상세한기술 clear clears your screen if this is possible. It looks in the environment for the terminal type and then in the terminfo database to figure out how to clear the screen Clear ignores any command-line parameters that may be present. SEE ALSO tput(1), terminfo(5) 명령에대한기타기술 This describes ncurses version 5.9 (patch 20121017) Manual page clear(1) line 1/25 (END) (press h for help or q to quit) clear(1)
04 리눅스명령사용 기초명령사용법 passwd 명령 사용자계정의비밀번호변경 user1@myubuntu:~$ passwd User1에대한암호변경중 ( 현재 )UNIX 암호 : 새 UNIX 암호입력 : 새 UNIX 암호재입력 : passwd: 암호를성공적으로업데이트했습니다 user1@myubuntu:~$ 터미널종료하기 exit 명령을사용하여접속해제 user1@myubuntu:~$ exit Ctrl+d 를사용한접속해제 user1@myubuntu:~$ ^d Ctrl+d