Installing Linux on Your Laptop: A Step-by-Step Guide
Learn How to Set Up a Linux Environment for Enhanced Performance and Flexibility
개요
이 문서는 Intel 기반 노트북에 Ubuntu Server를 설치하는 과정을 설명한다. 설치를 위해 부팅 가능한 USB를 만드는 방법, BIOS 설정, 우분투 설치 단계 및 각종 설정을 안내한다. 또한 시스템의 아키텍처 종류와 관련 개념을 설명하여 사용자들이 설치에 필요한 기본 지식을 갖출 수 있도록 돕는다.
스펙
대상 노트북 스펙
- CPU 정보
- 제조사: Intel
- 모델: Pentium CPU B950 @ 2.10 GHz
- 가상화 지원: 미지원
- 메모리
- 총 메모리: 2048 MB
- 슬롯 1: 2048 MB 장착
- 슬롯 2: 미장착
- 기타
- BIOS 버전: 05PQ
- MICOM 버전: 05PQ
- 아키텍처: x64
대상 리눅스
- 우분투 버전:
ubuntu-20.04.5-live-server-arm64
- 사용 소프트웨어:
rufus-4.5.exe
CPU 아키텍처 구분 방법
x86, x64, ARM64는 컴퓨터 아키텍처의 주요 세 가지 종류로, 각기 다른 CPU 설계 방식과 사용 분야를 가지고 있습니다.
-
x86: 인텔의 32비트 아키텍처입니다. 처음에는 인텔 CPU 모델 이름(386, 486 등)에서 유래하였고, 일반적인 데스크탑 및 노트북에서 사용됩니다. Windows, Linux, Mac OS (Big Sur까지)와 호환됩니다.
-
x64 (또는 amd64): 64비트 아키텍처로 AMD에서 최초로 도입하였으나, 이후 인텔도 64비트 컴퓨터를 출시하면서 ‘x64’로 통칭하게 되었습니다. 기존 x86과 호환되며, 더 큰 메모리 주소 공간을 제공하여 성능이 향상됩니다. 일반적인 데스크탑, 노트북에서 사용되며 Windows, Linux, Mac OS (Big Sur까지)에서 지원됩니다.
-
ARM64: ARM 기반 64비트 아키텍처로, 모바일 기기, 임베디드 시스템, 저전력 서버 및 클라우드 컴퓨팅 등에서 사용됩니다. 32비트 ARM과 호환되며, Linux, Mac OS (Monterey 이후), Android, iOS에서도 사용됩니다.
아키텍처 | 정의 | 주로 사용되는 분야 | 주요 특징 |
---|---|---|---|
x86 | 32비트 인텔 아키텍처 | 일반적인 데스크탑 및 노트북 컴퓨터 | 인텔의 초기 CPU 모델명에서 유래. x86 기반 프로그램과 호환 가능. |
x64 (=amd64) | 64비트 인텔 및 AMD 아키텍처 | 데스크탑, 노트북, 서버 컴퓨팅 | 더 큰 메모리 주소 공간을 제공하며, 성능 향상. AMD가 처음 도입했으며 이후 인텔도 사용하여 통칭됨. |
ARM64 | ARM 기반 64비트 아키텍처 | 모바일 기기, 임베디드 시스템, 서버, 클라우드 컴퓨팅 | 저전력 소비에 적합하며, 성능이 중요한 소형 기기에서 주로 사용됨. 최근 서버 및 클라우드에서도 채택. |
부팅 USB 생성
1. Rufus 다운로드
- Rufus 공식 사이트에서
rufus-4.5.exe
다운로드 - Rufus는 USB를 포맷하고 ISO 파일로 부팅 가능한 USB를 만드는 프로그램이다.
2. Ubuntu Server ISO 파일 다운로드
- 우분투 서버 20.04 LTS 다운로드
- ISO 파일: CD/DVD의 내용을 파일로 압축한 디스크 이미지 형식. 주로 운영체제 설치 파일로 사용된다.
iso: CD, DVD, 또는 Blu-ray 디스크의 내용물을 하나의 파일로 압축하여 저장한 이미지 파일 형식입니다. 흔히 “.iso” 확장자를 가지며, 디스크의 데이터와 구조를 그대로 복사해 디지털 이미지로 만든 것이 특징입니다. ISO 파일을 사용하면 원본 디스크와 동일한 내용으로 가상 드라이브에 마운트하거나, 필요할 경우 디스크에 다시 굽는 작업을 할 수 있습니다. 주로 운영체제 설치 파일이나 대용량 소프트웨어 배포에 쓰이며, 여러 파일과 디렉토리를 하나의 파일로 묶어 배포할 수 있어서 관리와 배포가 용이합니다.
2. USB에 우분투 20.04 굽기
이미지(데이터)를 굽는다 : ISO 파일과 같은 디스크 이미지를 USB 메모리에 복사하여 그 USB로 컴퓨터를 부팅할 수 있게 만드는 과정을 말한다. 이 작업은 일반적인 파일 복사와는 다르게, 운영체제가 인식할 수 있도록 부팅 파일이나 디스크 구조까지 포함해 데이터를 저장하는 방식이다. 예를 들어, 운영체제를 설치하려는 경우 ISO 파일을 USB에 굽게 되면 USB가 CD나 DVD처럼 부팅 가능한 매체가 되어 컴퓨터를 켤 때 USB를 통해 OS 설치 프로그램을 실행할 수 있다. 이를 “굽는다(burn)”고 표현하는 이유는 과거에 CD나 DVD에 레이저로 데이터를 새겨 넣는 과정을 일컬었던 말이 그대로 사용되는 것이다.
드라이브 속성
- 영구 파티션 크기
- 영구 파티션 크기는 USB에 남겨진 여유 공간을 할당하여 데이터 보존을 가능하게 하는 기능이다.
- USB에 설치된 라이브 운영체제(예: 리눅스)를 부팅할 때 설정 파일이나 데이터가 유지되도록 한다.
- 라이브 운영체제를 재부팅해도 특정 설정이나 개인 파일들이 남아 있어 USB를 단일 시스템 환경처럼 사용할 수 있다.
- 일부 리눅스 배포판만 영구 파티션을 지원하며, 영구 저장이 필요한 용량에 맞춰 설정한다.
- 파티션 구성 (MBR, GPT)
- MBR (Master Boot Record)은 오래된 파티션 구조 방식으로 최대 2TB 용량까지 지원하고, 최대 4개의 주 파티션을 사용할 수 있다.
- GPT (GUID Partition Table)는 새로운 파티션 방식으로 MBR의 용량 한계를 넘어 최대 18EB까지 지원한다. 보통 UEFI 시스템과 함께 사용된다.
- MBR은 구형 BIOS와 호환되며, GPT는 UEFI와 호환된다.
- Rufus에서는 사용자가 시스템 호환성에 따라 MBR 또는 GPT를 선택하여 USB 파티션을 구성할 수 있다.
- 대상 시스템 (BIOS 또는 UEFI)
- 대상 시스템 옵션은 USB를 부팅할 시스템의 부팅 모드에 따라 BIOS 또는 UEFI를 설정하는 항목이다.
- BIOS는 구형 방식의 펌웨어 인터페이스이며, GPT가 아닌 MBR 파티션을 주로 사용한다.
- UEFI는 최신 펌웨어 인터페이스로, GPT 파티션 테이블과 더 잘 호환된다.
- 시스템에 따라 UEFI 모드에서는 보안 부팅(Secure Boot) 기능을 사용할 수도 있다.
포맷 옵션
- 볼륨 레이블
- 볼륨 레이블은 USB 장치에 설정하는 이름이다.
- 이는 파일 탐색기에서 USB 장치를 식별할 수 있도록 도와준다.
- 설정 가능한 문자 제한이 있으며, 보통 최대 11자 이내로 설정하는 것이 일반적이다.
- 파일 시스템 (FAT32, NTFS)
- FAT32는 오래된 파일 시스템으로, 호환성이 높지만 파일 크기 제한이 있어 4GB 이상의 단일 파일을 저장할 수 없다.
- NTFS는 Windows에서 주로 사용하는 파일 시스템으로, 파일 크기 제한이 없으며, 대용량 파일을 저장할 수 있다.
- 부팅 가능한 USB를 만들 때 시스템 호환성에 맞춰 적합한 파일 시스템을 선택해야 한다.
- 클러스터 크기
- 클러스터 크기는 파일 시스템에서 파일을 저장할 수 있는 최소 단위 크기이다.
- 클러스터 크기를 작게 설정하면 작은 파일 저장 시 저장 공간을 효율적으로 사용할 수 있다.
- 클러스터 크기가 커질수록 읽기/쓰기 속도는 증가할 수 있지만, 작은 파일을 저장할 때 비효율적일 수 있다.
- 용도에 따라 적절한 클러스터 크기를 설정하여 저장 공간 활용을 극대화할 수 있다.
ISO 모드
- ISO 모드는 ISO 파일을 압축 해제하여 USB에 파일을 복사하는 방식이다.
- 보통 Windows나 리눅스와 같은 운영체제 설치 이미지를 굽는 데 사용된다.
- ISO 모드는 더 높은 호환성을 가지며, 대부분의 컴퓨터에서 USB가 쉽게 인식되도록 한다.
- ISO 모드에서는 USB가 파일 수준에서 구성되므로, USB에 접근해 파일을 확인하거나 수정할 수 있다.
- 이 방식은 기본적으로 USB를 일반 디스크처럼 마운트하여 작업할 수 있는 형태로 만든다.
DD 모드
- DD 모드는 ISO 이미지를 블록 단위로 USB에 그대로 복사하는 방식이다.
- 이 모드는 원본 디스크 이미지(디스크 덤프)를 USB에 그대로 쓰는 방식으로, 파일 구조를 복사하지 않고 전체 디스크의 정확한 이미지가 복사된다.
- USB에 복사된 데이터가 일체 변경되지 않고 원본 그대로 유지되기 때문에, 일부 시스템에서 ISO 모드보다 부팅 성공률이 높을 수 있다.
- DD 모드는 일부 특수한 리눅스 배포판이나 특정 시스템이 요구하는 부팅 구성을 유지하는 데 유리하다.
- USB에 복사된 내용이 디스크 전체의 이미지이므로 파일 탐색기에서는 데이터 구조를 확인하거나 수정할 수 없다.
BIOS 진입
-
부팅화면에서 F2눌러 BIOS모드 진입
-
BIOS 부팅 우선순위 USB를 최상단으로 올리기
-
Secure Boot Control 과 Fast BIOS Mode가 있으면(window version 8부터) 이를 Off로 변경 후 Save를 눌러 재시작한다.
-
재시작을 하면 자동으로 USB를 인식하고 설치를 진행한다.
우분투 설치 진행
내용을 읽으면서 진행하되 주요 설정만 설명한다
-
언어설정
-
디스크 마운트 설정
우분투가 사용할 디스크 공간을 마운트해준다. 이때 디폴트는 디스크용량의 절반만 사용한다. 그러므로 전체를 사요하기 원한다면 마지막 단락의 사용하는 디스크의 용량을 최대로 해주자(최대용량을 모른다면 크수를 입력하면 알아서 맥스값으로 설정된다.)
- 주의사항 설치가 완료되면 설치 디바이스를 제거하고 엔트를 누르라고 표시도니다. 본인의 경우 디바이스를(USB)를 제거하지 않고 계속 진행해야 성공이 가능했다.
우분투 메모리 스왑설정(옵션)
1. 스왑 파일 확인
스왑 파일이나 파티션이 존재하는지 확인한다. 다음 명령어를 실행한다.
sudo free -m
sudo swapon -s
두 명령어를 실행했을 때 스왑 관련 내용이 보이지 않으면 다음 과정을 진행한다. 만약 스왑이 작동 중이라면 아래 명령어를 실행해 작동을 중지한다.
sudo swapoff -a
2. 스왑파일 생성
스왑을 하기 위한 스왑파일을 생성한다. 다음 명령어를 실행한다.
sudo fallocate -l 2G /swapfile
-l 뒤에는 스왑파일의 용량을 입력하면 된다. 2G를 입력하면 메모리 외에 추가로 2G의 가상 메모리를 사용할 수 있다. 이후 root 디렉터리에 스왑파일이 생성된다.
스왑파일의 권한을 수정한 뒤, 해당 파일이 스왑으로 동작하도록 만든다.
sudo chmod 600 /swapfile # 권한 수정
sudo mkswap /swapfile # 활성화 준비
sudo swapon /swapfile # 활성화
스왑 메모리가 생성되었지만, 이를 재부팅해도 계속 사용하려면 /etc/fstab 파일을 수정해야 한다. 해당 파일을 열어 아래 내용을 추가한다.
sudo nano /etc/fstab # 파일 편집
내용 추가
/swapfile swap swap defaults 0 0
3. 스왑 파일 삭제하는 방법
스왑을 비활성화한다.
sudo swapoff -v /swapfile # 스왑 비활성화
sudo nano /etc/fstab # 파일 실행 후 아래 라인 삭제
/swapfile swap swap defaults 0 0
sudo rm /swapfile # 스왑 파일 삭제
인터넷 연결(Wi-Fi)
1.인터페이스 이름 확인
ip link show
혹은 아래의 방식으로 랜카드의 논리적 이름 확인(logical name)
sudo lshw -c network
*-network
description: Ethernet interface
product: Ethernet Connection (7) I219-V
vendor: Intel Corporation
physical id: **.*
bus info: pci@0000:00:**.*
logical name: wlp1s0
version: **
serial: **:**:**:**:**:**
size: 1Gbit/s
...
2.wifi 찾기
$ sudo ip link set wlan0 up
$ sudo iw wlan0 scan > wifi_list
3. netplant설정파일 vi로 오픈
- 랜선인 경우
vi /etc/netplan/00-installer-config.yaml
- 와이파이인 경우
vi /etc/netplan/00-installer-config-wifi.yaml
기타 다른 이름의 파일 일수 있으니 확인해 보자(50-cloud-init.yaml 등등)
- 설정파일 변경(와아피아인 경우_00-installer-config-wifi.yaml)
network:
version: 2
wifis:
wlp1s0: # 무선 네트워크 인터페이스 이름
dhcp4: true
dhcp6: true
access-points:
"wifiname": # 연결할 네트워크 SSID
password: "password" # 네트워크 비밀번호
- (랜선인 경우_00-installer-config.yaml)
network:
ethernets:
wlp1s0:
dhcp4: true
version: 2
4. netplan 적용
sudo netplan apply
5.인터넷 연결확인
ping -c 4 google.com
- 연결안되었으면
ping: google.com: Temporary failure in name resolution
- 서버 ip확인
ip a