데비안 10(buster) 설치

한국 데비안 사용자 모임
둘러보기로 가기 검색하러 가기

서문

Buster?

Buster는 애니메이션 Toy Story 시리즈에 등장하는 강아지입니다.


데비안 10(buster) 설치 방법에 대한 안내

데비안 10(buster)와 기존 데비안(jessie, stretch 등)의 설치 방법은 동일합니다. 크게 달라진 점이 없습니다.

객체 지향의 캡슐화(encapsulation)라는 개념을 데비안 인스톨러에 적용해 볼까요? 프로그래머가 기존 프로그램의 내부 로직 등을 변경해도 사용자에게 기존과 동일한 인터페이스를 제공한다면 사용자는 기존과 동일하게 프로그램을 사용할 수 있습니다. 예를 들어 새로운 차(車)가 기존의 모델보다 성능이 뛰어난 엔진을 장착했다고 해서 우리가 새로운 운전 방법을 익힐 필요는 없습니다. 평소처럼 차(車)를 운전하면 됩니다. 차(車)와 데비안의 관계를 아래와 같이 유사코드(pseudo-code)로 나타내 봤습니다.

새로운 차(車) ← 데비안 10(buster)
뛰어난 엔진 ← buster에 적용된 커널
운전 방법 ← 데비안 10(buster)의 설치 방법

마찬가지로 major 버전이 릴리스된 데비안이 나와도 평소와 동일하게 데비안을 설치하면 됩니다. 저는 데비안 4.x(etch)를 처음 접하고 지금까지 사용하고 있습니다. 버전 3.x 부터 버전 10까지 데비안의 설치 방법은 동일합니다. 크게 달라진 점이 없습니다. 만약 약간의 달라진 점이 있다면 기존과 동일한 인터페이스를 제공했기 때문에 제가 미처 느끼지 못한 것이라 생각합니다. 또한 앞으로 major 버전의 릴리스가 있어도 데비안 설치 방법은 기존과 동일할 것이라고 예측하며 그래야만 한다고 생각합니다.

설치 환경

Windows 10(host)에서 버추얼박스를 사용하여 데비안 buster(guest)를 텍스트 모드로 설치했습니다.


Host HW 정보

CPU 메모리 디스크 NIC 노트북 제조사/모델명
Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz 4G * 2ea (DDR3) SSD 120G Realtek PCIe GBE Family Controller SAMSUNG/NT900X4C


Host 기본 정보

OS Virtualbox Network IP
Windows 10 Enterprise (64bit) v5.2.8 r121009 (Qt5.6.2) DHCP 192.168.0.5/24


Guest 기본 정보

OS Kernel Network IP
Debian GNU/Linux testing (buster)/alpha2 4.13.13-1 어댑터에 브리지 192.168.0.11/24


설치 이미지 다운로드

위 주소에서 데비안 10(buster) iso 파일을 내려받습니다. Intel CPU(64bit)를 사용한다면 amd64 아키텍처를 선택하면 됩니다. 저는 debian-buster-DI-alpha2-amd64-DVD-1.iso를 다운로드 했습니다. 저처럼 꼭 DVD 이미지를 다운로드할 필요는 없습니다. 대부분의 사람들은 netinst(network install) iso를 주로 사용합니다.

netinst iso는 buster를 설치하기 위한 최소한의 설치 이미지라고 생각하면 됩니다. 그래서 iso 파일의 용량은 150~280MB 정도입니다. netinst로 설치시 나머지 시스템 운영에 필요한 프로그램들은 네트워크를 통해 설치합니다.

반면에 DVD iso는 시스템을 운영하기 위한 기본 패키지들을 대부분 포함하고 있습니다. 그래서 꼭 네트워크를 통해 설치하지 않아도 DVD iso 자체만으로도 buster를 설치할 수 있습니다. 그래서 netinst iso에 비해 용량이 매우 큽니다 (대략 3.6 ~ 4.4G). 대신에 네트워크를 통해 추가 패키지를 설치하더라도 대부분의 패키지들이 DVD iso에 있기 때문에 추가로 다운로드할 패키지들을 적기때문에 netinst 보다 buster를 빠르게 설치할 수 있습니다.

결론은 자신이 선호하는 유형(netinst 또는 DVD)의 iso를 다운로드하면 됩니다.

만약 USB로 buster를 설치해야 한다면 윈도우에서는 Win32 Disk Imager를 사용하거나 리눅스에서는 dd 명령어를 사용해서 이미지를 구우면 됩니다. Win32 Disk Imager나 dd 명령어의 구체적인 사용법은 생략합니다.


인스톨러 부트 메뉴

GUI가 아닌 Text mode로 buster를 설치할 것이므로 두번째 항목의 'Install'을 선택한 후 엔터 키를 누릅니다.

1 (Debian10 install) install.png


언어 선택

'한국어'를 선택합니다. 이제 설치 과정 및 향후 시스템에 사용할 기본 언어로 한국어로 설정됩니다.

2 (Debian10 install) Select a language.png


'예'를 누르고 한국어로 설치를 진행합니다.

2-1 (Debian10 install) Agree-installation.png


위치(지역) 선택

'대한민국'을 선택합니다.

3 (Debian10 install) Location.png


키맵 설정

키맵으로 '한국어'를 선택합니다.

4 (Debian10 install) Keymap.png


네트워크 설정(호스트 이름 설정)

저는 DHCP를 사용하고 있어서 네트워크는 자동으로 설정되었습니다. 따라서 네트워크 설정 단계에서는 호스트 이름만 설정하면 됩니다. 호스트 이름은 'debian-buster'로 설정했습니다. 호스트 이름은 아래의 조합으로 구성하는 것이 좋습니다.

  • 알파벳 소문자 a ~ z
  • 숫자 0 ~ 9
  • 하이픈 (-)

6 (Debian10 install) Hostname.png


도메인 이름은 별도로 설정하지 않아도 됩니다. '<계속>'을 선택한 후 엔터 키를 누릅니다.

7 (Debian10 install) Domain name.png


계정 설정

root 비밀번호 설정

루트(root·최고 관리자) 계정에서 사용할 비밀번호를 입력합니다.

8 (Debian10 install) Account-root pw.png


다시 한 번 루트의 비밀번호를 입력합니다.

8-1 (Debian10 install) Repeat-root pw.png


일반 사용자 계정 생성

새로 생성할 사용자의 전체 이름을 적습니다. 이 단계에서 입력하는 이름은 /etc/passwd 파일의 다섯 번째 필드에 저장됩니다. 이 필드에는 주로 사용자 정보(사용자의 실제 이름, 전화번호 등)가 저장됩니다.

root@debian-buster:~# cat /etc/passwd | grep westporch
westporch:x:1000:1000:westporch,,,:/home/westporch:/bin/bash

위 명령의 실행 결과는 buster 설치를 완료한 후에 확인한 모습입니다. 사용자의 전체 이름을 'westporch'로 설정했지만 실제로는 ',,,'가 붙어서 'westporch,,,'로 저장됩니다. westporch 계정의 비밀번호가 'x'라는 뜻이 아닙니다. 두 번째 필드의 'x'는 비밀번호(평문)를 해시 함수로 암호화하여 /etc/shadow의 두 번재 필드에 암호문이 저장되었음을 의미합니다. 쉽게 말하자면 C언어의 포인터를 떠올리면 될 것 같습니다. /etc/passwd의 두 번째 필드 x는 /etc/shadow의 두 번째 필드(암호문)를 가리킨다!

(/etc/passwd).[1] -> (/etc/shadow).[1] // 배열의 인덱스는 0부터 시작한다고 가정, 각 필드의 콜론은 배열에 저장하지 않는다고 가정


8-2 (Debian10 install) User-real name.png


새로 만들 계정의 사용자 이름은 리눅스 시스템에서 로그인할 때 사용합니다. 즉 사용자 ID를 지정합니다. 저는 'westporch'로 설정했습니다. 여기서 설정하는 이름(ID)은 /etc/passwd 파일의 첫번 째 필드에 저장됩니다.

root@debian-buster:~# cat /etc/passwd | grep westporch
westporch:x:1000:1000:westporch,,,:/home/westporch:/bin/bash


8-3 (Debian10 install) Username.png


새로 생성할 계정(westporch)의 비밀번호를 입력합니다.

8-4 (Debian10 install) Set-user pw.png


새로 생성할 계정(westporch)의 비밀번호를 다시 한 번 입력합니다.

8-5 (Debian10 install) Repeat-user pw.png


파티션 설정

파티션은 특수한 경우가 아니라면 수동으로 설정하지 않고 '자동 - 디스크 전체 사용'으로 설정해도 무방합니다. 그러면 특수한 경우는 언제일까요? 시스템을 조금 더 안정적으로 운영하고자 할때가 아닐까 싶습니다. DB서버를 mysql 또는 mariaDB로 운영한다면 이들 DBMS는 /var/lib/mysql에 데이터 파일을 저장합니다. 만약 루트(/) 파티션에 통째로 사용하다가 시스템에 치명적인 문제가 생긴다면 /var/lib/mysql도 영향을 받겠지만 /var/lib/mysql 파티션을 별도로 생성했다면 /var/lib/mysql의 데이터는 안전하게 보존할 수 있습니다. 물론 디스크 자체가 물리적으로 손상된 경우라면 파티션 분할로 데이터를 보존할 수는 없습니다. 중요한 데이터를 다뤄야 한다면 반드시 백업 정책을 세워야 합니다. 여담이지만 '운영에 실패한 관리자는 용서할 수 있어도 백업에 실패한 관리자는 용서할 수 없다.'라는 말도 있지요.

파티션을 수동으로 설정하여 별도의 파티션들을 만들 경우의 단점은 관리의 효율성이 떨어지거나 디스크의 용량 낭비가 발생할 수 있다는 것 입니다. (용량 낭비가 걱정이라면 LVM을 사용해서 파티션 용량을 늘리거나 줄일 수도 있습니다.) 반면에 루트(/) 파티션을 통째로 사용하면 관리상 편합니다. 실제로 현업에서도 swap(가상 메모리)을 설정하고 루트(/) 파티션에 swap을 제외한 나머지 디스크 용량을 통째로 할당합니다. 파티션 설정은 시스템 관리자의 주관이 많이 반영되는 부분입니다. 자신이 시스템을 잘 관리할 수 있는 방법으로 파티션을 설정하는 게 가장 좋다고 생각합니다.

9 (Debian10 install) Set-partitions.png


파티션할 디스크를 선택한 후 엔터 키를 누릅니다.

9-1 (Debian10 install) Select-a disk.png


저는 모두 한 파티션에 설치했습니다. 'Simple is the best!'. 만약 여러 사용자들에게 추가로 계정을 발급해야 한다면 /home 파티션은 별도로 분리하는 게 좋습니다. 또한 /var 디렉토리에 시스템 로그(웹 서버, 메일 서버 등)가 많이 쌓인다면 /var 파티션을 별도로 분리하는 게 좋겠지요. 물론 logrotate를 적용하여 로그 파일이 커지는 것을 막을 수 있습니다. 앞에서도 말씀드린 것 처럼 자신이 시스템을 잘 관리할 수 있는 방법으로 파티션을 설정하는 게 가장 좋다고 생각합니다.


9-2 (Debian10 install) Disk-partition.png


'파티션 나누기를 마치고 바뀐 사항을 디스크에 쓰기'를 선택하고 엔터 키를 누릅니다.

9-3 (Debian10 install) Write-a disk.png


바뀐 점을 디스크에 쓰기 위해서 '<예>'를 선택하고 엔터 키를 누릅니다.

9-4 (Debian10 install) Agree-disk write.png

데비안 설치

베이스 시스템 설치

베이스 시스템이 설치됩니다. 베이스 시스템에는 가장 최소 한의 패키지들이 설치됩니다.

10 (Debian10 install) Install-base system.png


패키지 관리자 설정

다른 CD나 DVD 검사

별도의 CD/DVD가 없다면 '<아니요>'를 선택합니다.

11 (Debian10 install) Set-package manager.png


네트워크 미러 사이트

외부와 통신이 된다면 미러 사이트를 사용하는 것이 좋습니다. '<예>'를 선택합니다. 앞에서 설치한 베이스 시스템에 패키지들을 추가로 설치하기 위해 미러 사이트를 사용합니다.

11-1 (Debian10 install) Select-mirror.png


국가 선택

'대한민국'을 선택합니다. 미러 사이트로 반드시 대한민국을 선택할 필요는 없습니다. 예들 들어 독일을 선택할 경우 우리나라에서 멀리 떨어져 있기 때문에 속도가 우리나라보다 느립니다.

11-2 (Debian10 install) Select-mirror country.png


미러 사이트 선택

자신이 선호하는 미러 사이트를 선택합니다.

11-3 (Debian10 install) Select-a-mirror server.png


HTTP 프록시 정보는 별도로 설정할 필요는 없습니다. '<계속>'을 선택합니다.

11-4 (Debian10 install) Skip-http proxy information.png


아래 화면은 미러 사이트와 통신이 되는지 확인하고 있는 상태입니다. 만약 미러 사이트가 네트워크 및 기타 문제로 인해 접속이 불가능하다면 다른 미러 사이트를 선택하면 됩니다.

11-5 (Debian10 install) Check-mirror site.png


미러 사이트에서 파일을 받아옵니다.

12 (Debian10 install) Install-Get files.png


popularity-contest 설정

패키지 인기 투표에 참여할지 선택합니다. 설치 화면에 안내된 것 처럼 온라인에서 통계 자료를 확인할 수 있습니다.

12-1 (Debian10 install) Vote packages.png


설치할 소프트웨어

선택

설치할 소프트웨어를 선택합니다. 저는 GUI는 안쓰고 콘솔 환경만 사용할 것이므로 'SSH server'와 '표준 시스템 유틸리티'를 선택했습니다.

12-2 (Debian10 install) Select-sw.png


설치

선택 패키지들을 미러 사이트에서 받아온 뒤 설치합니다.

12-3 (Debian10 install) Get-files.png


부트로더(GRUB) 설치

이 단계까지 왔다면 디스크에 buster는 설치되었습니다. 이제 시스템을 부팅할 때 디스크에 있는 OS 정보를 메모리에 올리기 위해서 부트로더(boot loader)를 설치해야 합니다. 데비안에서 부트로더로 GRUB을 사용합니다.

13 (Debian10 install) Install-bootloader.png


GRUB 설치가 완료되면 모든 설치 작업이 끝납니다. '<계속>'을 누르면 리부팅합니다.

14 (Debian10 install) Finish.png


리부팅

리부팅하면 GRUB를 볼 수 있습니다. 첫 번째의 'Debian GNU/Linux'로 부팅하면 됩니다.

15 (Debian10 install) Grub.png


로그인

buster의 로그인 화면이 출력되었습니다.

16 (Debian10 install) First screen.png


루트 또는 사용자 계정으로 로그인 합니다. 첫 로그인할 때 캡처를 하지 못하고 나중에 캡처를 해서 아래와 같이 'Last login'에 접속 정보가 기록되었습니다. 로그인까지 성공했으니 이제 buster를 사용하면 됩니다. Buster라는 강아지를 앞으로 잘 다뤄주세요. Linux world~!

17 (Debian10 install) First login.png