필수 Ubuntu 설정 가이드: 설치 후 완전 초기 구성

目次

1. 소개

Ubuntu는 초보자와 고급 사용자 모두에게 적합한 가장 널리 사용되는 Linux 배포판 중 하나입니다. 오픈소스 특성과 강력한 커뮤니티 지원 덕분에 특히 매력적입니다. 하지만 설치 직후에는 시스템이 편리하게 사용되도록 완전히 최적화되지 않을 수 있으며, 몇 가지 기본 초기 설정이 필요합니다.

이 문서는 Ubuntu 설치 후 수행해야 할 필수 설정 단계에 대해 자세히 설명합니다. 각 단계마다 설정 목적과 필요한 명령 실행 방법을 명확히 제시하므로, 초보자도 혼란 없이 따라 할 수 있습니다.

Ubuntu 설치 후 설정이 필요한 이유

Ubuntu를 설치한 직후에는 편의성이나 보안 측면에서 부족한 부분이 있을 수 있습니다. 흔히 발생하는 문제는 다음과 같습니다:

  • 시스템 업데이트 필요 : 설치 미디어에 포함된 패키지는 최신이 아닐 수 있으므로 보안 및 버그 수정을 위해 업데이트가 필요합니다.
  • 일본어 지원 미비 : 기본 언어가 영어로 설정되어 있어 원활한 일본어 입력 및 표시를 위해 추가 설정이 필요합니다.
  • 보안 설정 미최적화 : 방화벽이나 SSH를 적절히 구성하지 않으면 무단 접근 위험이 증가합니다.
  • 필수 소프트웨어 부족 : 기본 설치에는 최소한의 애플리케이션만 포함되어 있어, 자주 사용하는 소프트웨어를 별도로 설치해야 할 수 있습니다.

이 문서의 대상 독자

이 가이드는 다음과 같은 사용자를 위해 설계되었습니다:

  • Ubuntu를 처음 설치하는 사람
  • Linux 명령어 사용에 아직 익숙하지 않은 사람
  • 보다 안전하고 편리한 Ubuntu 환경을 원하는 사람

각 섹션을 단계별로 따라 하면 Ubuntu 설정 과정을 원활하고 효율적으로 진행할 수 있습니다.

다음 섹션에서는 Ubuntu 패키지를 최신 버전으로 업데이트하는 방법을 설명합니다.

2. 시스템 업데이트

Ubuntu를 설치한 직후에는 포함된 소프트웨어 패키지가 최신이 아닐 수 있습니다. 시스템을 업데이트하는 것은 보안 취약점을 방지하고 안정성을 확보하는 데 필수적입니다.

시스템 업데이트가 필요한 이유

Ubuntu 설치 미디어에는 릴리스 시점의 패키지가 포함됩니다. 업데이트를 하지 않으면 다음과 같은 위험이 발생할 수 있습니다:

  • 보안 취약점 지속 : 오래된 패키지는 공격자가 악용할 수 있는 취약점을 포함하고 있을 수 있습니다.
  • 미해결 버그 노출 : 릴리스 이후 적용된 버그 수정이 반영되지 않습니다.
  • 호환성 문제 : 최신 소프트웨어가 오래된 의존성 때문에 설치되지 않을 수 있습니다.

패키지 목록 업데이트

Ubuntu는 APT (Advanced Package Tool) 를 사용해 소프트웨어 패키지를 관리합니다. 먼저 패키지 목록을 업데이트합니다:

sudo apt update

패키지 업그레이드

목록을 업데이트한 뒤, 설치된 모든 패키지를 업그레이드합니다:

sudo apt upgrade -y

불필요한 패키지 제거 (권장)

sudo apt autoremove -y

시스템 재부팅 (필요 시)

sudo reboot

3. 일본어 환경 설정

기본적으로 Ubuntu는 영어로 설정되어 있습니다. 일본어를 편리하게 사용하려면 언어 팩을 설치하고 일본어 입력기를 설정해야 합니다.

일본어 언어 팩 설치

1. 일본어 언어 팩 설치

sudo apt install language-pack-ja -y

2. 시스템 언어를 일본어로 설정

LANG=ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8

변경 사항을 적용하려면 재부팅합니다:

sudo reboot

일본어 입력기 설정 (Mozc)

Ubuntu는 기본적으로 일본어 입력을 지원하지 않으므로 입력기(IME)를 설치해야 합니다.

추천 입력기:

  • Mozc (오픈소스 Google 일본어 입력기)

1. Mozc 설치

sudo apt install fcitx-mozc -y

2. 입력기를 Fcitx로 전환

im-config -n fcitx

재부팅:

sudo reboot

3. Fcitx 설정

fcitx-config-gtk3

선택 사항: 일본어 글꼴 설치

sudo apt install fonts-noto-cjk -y

최종 단계

설정 적용을 위해 재부팅합니다:

sudo reboot

4. 시간대 및 로케일 설정

기본적으로 새로운 Ubuntu 설치—특히 클라우드 이미지—는 UTC 시간대를 사용합니다. 이는 잘못된 타임스탬프를 초래할 수 있으므로, 시간대와 로케일을 조정하는 것이 중요합니다.

시간대 설정

1. 현재 시간대 확인

timedatectl

2. JST(일본 표준시)로 변경

sudo timedatectl set-timezone Asia/Tokyo

로케일 설정

1. 현재 로케일 확인

locale

2. 일본어 로케일 활성화

sudo locale-gen ja_JP.UTF-8

기본값으로 설정:

sudo update-locale LANG=ja_JP.UTF-8

3. 변경 사항 적용

source /etc/default/locale

5. 키보드 구성

Ubuntu의 기본 키보드 설정은 일본어 키보드와 일치하지 않을 수 있습니다. 이 섹션에서는 레이아웃을 조정하고 CapsLock 키를 재매핑하는 방법을 설명합니다.

키보드 레이아웃 확인

localectl status

일본어 키보드 레이아웃으로 전환

sudo localectl set-keymap jp
sudo localectl set-x11-keymap jp

CapsLock을 Ctrl로 재매핑

임시 방법

setxkbmap -option ctrl:nocaps

영구 방법

sudo nano /etc/default/keyboard

변경:

XKBOPTIONS="ctrl:nocaps"

적용:

sudo dpkg-reconfigure keyboard-configuration
sudo reboot

6. 방화벽 구성

Ubuntu에는 UFW(간단한 방화벽)라는 내장 방화벽이 포함되어 있어 방화벽 관리가 간단하고 효과적입니다. UFW를 적절히 구성하면 무단 접근을 방지하여 시스템 보안을 강화할 수 있습니다.

이 섹션에서는 기본 UFW 설정 및 권장 보안 규칙을 설명합니다.

방화벽 활성화

먼저, UFW가 활성화되어 있는지 확인합니다.

1. UFW 상태 확인

sudo ufw status

예시 (비활성화):

Status: inactive

예시 (활성화):

Status: active

2. UFW 활성화

sudo ufw enable

활성화되면, UFW는 기본 규칙을 적용하여 네트워크 트래픽을 관리합니다.

기본 방화벽 규칙 구성

UFW는 명시적으로 허용한 트래픽만 허용하는 방식으로 작동합니다.

1. 기본 정책 설정

sudo ufw default deny incoming
sudo ufw default allow outgoing

2. SSH 허용 (원격 연결)

sudo ufw allow 22/tcp

서버가 비표준 SSH 포트(예: 2222)를 사용하는 경우:

sudo ufw allow 2222/tcp

3. 웹 서버를 위한 HTTP/HTTPS 허용

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

4. 기타 서비스 허용 (선택 사항)

FTP:

sudo ufw allow 21/tcp

MySQL:

sudo ufw allow 3306/tcp

PostgreSQL:

sudo ufw allow 5432/tcp

5. 변경 사항 적용

sudo ufw reload

규칙 및 로그 확인

1. 현재 방화벽 규칙 보기

sudo ufw status numbered

예시:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW       Anywhere
[ 2] 80/tcp                     ALLOW       Anywhere
[ 3] 443/tcp                    ALLOW       Anywhere

2. 불필요한 규칙 제거

sudo ufw delete 1

3. 로깅 활성화 (선택 사항)

sudo ufw logging on

로그는 다음 위치에 나타납니다:

/var/log/ufw.log

UFW 일시적 비활성화

sudo ufw disable

재활성화:

sudo ufw enable

요약

방화벽을 효과적으로 구성하려면:

  1. UFW 활성화
  2. 기본 규칙 설정
  3. 필요한 포트 허용 (SSH, HTTP/HTTPS)
  4. 설정을 재로드하고 확인
  5. 보안 모니터링을 위해 로깅 활성화

7. SSH 서버 구성

SSH(보안 셸)는 Ubuntu 시스템에 대한 안전한 원격 접근을 가능하게 합니다. 서버에서는 SSH를 활성화하고 보안 강화 조치를 적용하는 것이 필수적입니다.

이 섹션에서는 설치 및 중요한 보안 설정을 다룹니다.

SSH 서버 설치 및 시작

1. OpenSSH 서버 설치

sudo apt install openssh-server -y

2. SSH 서버 상태 확인

sudo systemctl status ssh

다음과 같이 표시됩니다:

Active: active (running)

3. 자동 시작 활성화

sudo systemctl enable ssh

SSH 포트 변경 (보안 강화)

포트 22는 공격자들의 표적이 되는 경우가 많습니다. 이를 변경하면 무차별 대입 시도를 줄일 수 있습니다.

1. SSH 설정 파일 편집

sudo nano /etc/ssh/sshd_config

찾기:

#Port 22

다음으로 변경:

Port 2222

2. SSH 재시작

sudo systemctl restart ssh

3. UFW로 새 포트 허용

sudo ufw allow 2222/tcp

공개 키 인증 설정

이 방법은 비밀번호 기반 로그인 대신 키 기반 인증을 사용하도록 하여 보안을 크게 향상시킵니다.

1. SSH 키 쌍 생성 (클라이언트 PC)

ssh-keygen -t rsa -b 4096

2. 공개 키를 서버에 복사

ssh-copy-id -p 2222 user@your-server-ip

ssh-copy-id를 사용할 수 없는 경우:

cat ~/.ssh/id_rsa.pub | ssh -p 2222 user@your-server-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

3. 비밀번호 인증 비활성화

sudo nano /etc/ssh/sshd_config

변경:

PasswordAuthentication no

확인:

PubkeyAuthentication yes

그런 다음 SSH를 재시작합니다:

sudo systemctl restart ssh

4. 연결 테스트

ssh -p 2222 user@your-server-ip

SSH 보안 강화 요약

  • SSH 포트 변경
  • 비밀번호 인증 비활성화
  • 키 기반 인증 사용
  • 로그인 시도 제한 (Fail2Ban)

Fail2Ban 설치:

sudo apt install fail2ban -y

8. 소프트웨어 설치

Ubuntu는 기본적으로 최소한의 소프트웨어만 포함합니다. 필수 및 개발 도구를 설치하면 사용성이 크게 향상됩니다.

소프트웨어 설치 방법

  1. APT 패키지
    sudo apt install package-name
    
  1. Snap 패키지
    sudo snap install package-name
    
  1. Flatpak (선택 사항)
    flatpak install package-name
    
  1. PPA 저장소
    sudo add-apt-repository ppa:repository-name
    
  1. .deb 파일 설치
    sudo dpkg -i package-name.deb
    

권장 기본 소프트웨어

1. 웹 브라우저 (Google Chrome)

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt install -f

2. 오피스 스위트 (LibreOffice)

sudo apt install libreoffice -y

3. 미디어 플레이어 (VLC)

sudo apt install vlc -y

4. 코드 편집기 (Visual Studio Code)

sudo snap install code --classic

5. 명령줄 도구 (htop, curl, git)

sudo apt install htop curl git -y

6. 압축 도구 (zip, unzip, rar)

sudo apt install zip unzip rar unrar -y

7. Google Drive 연동

sudo apt install gnome-online-accounts -y

개발자 도구

1. Docker

sudo apt install docker.io -y
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

2. Python 및 pip

sudo apt install python3 python3-pip -y

3. Node.js 및 npm

sudo apt install nodejs npm -y

4. MySQL 서버

sudo apt install mysql-server -y
sudo systemctl enable --now mysql

설치된 소프트웨어 확인

dpkg --get-selections | grep -v deinstall

Snap 패키지:

snap list

요약

추천 소프트웨어 목록:

SoftwareDescriptionInstall Method
Google ChromeFast web browserwget + dpkg
LibreOfficeOffice suiteapt install
VLCMedia playerapt install
Visual Studio CodeCode editorsnap install
GitVersion controlapt install
DockerContainer virtualizationapt install
MySQLDatabaseapt install

9. 자동 업데이트 설정

정기적인 보안 패치와 버그 수정은 안전하고 안정적인 Ubuntu 환경을 유지하는 데 필수적입니다. 수동으로 업데이트를 적용할 수도 있지만 자동 업데이트를 활성화하면 최소한의 노력으로 시스템을 최신 상태로 유지할 수 있습니다.

이 섹션에서는 unattended-upgrades 패키지를 사용하여 자동 업데이트를 설정하는 방법을 설명합니다.

unattended-upgrades 설치 및 구성

1. unattended-upgrades 설치

sudo apt install unattended-upgrades -y

2. 자동 업데이트 활성화

sudo dpkg-reconfigure unattended-upgrades

3. 설정 파일 편집

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

주석 처리된 경우 이 줄들을 활성화하십시오:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu stable";
        "Ubuntu security";
        "Ubuntu LTS";
};

사용되지 않는 패키지를 자동으로 제거하려면 다음을 설정하십시오:

Unattended-Upgrade::Remove-Unused-Dependencies "true";

4. 업데이트 빈도 구성

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

다음 사항을 확인하십시오:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "7";

5. 구성 테스트

sudo unattended-upgrade --dry-run

자동 업데이트 로그 확인

로그 보기:

cat /var/log/unattended-upgrades/unattended-upgrades.log

실시간 모니터링:

tail -f /var/log/unattended-upgrades/unattended-upgrades.log

자동 업데이트 비활성화 (필요한 경우)

sudo dpkg-reconfigure -plow unattended-upgrades

또는 수동으로 편집:

APT::Periodic::Unattended-Upgrade "0";

요약

자동 업데이트를 활성화하려면:

  1. unattended-upgrades 설치
  2. 자동 업데이트 시스템 활성화
  3. /etc/apt/apt.conf.d/20auto-upgrades 구성
  4. 구성 테스트
  5. 로그를 정기적으로 확인

자동 업데이트는 보안 패치를 신속하게 적용하고 시스템 안전을 유지하는 데 특히 중요합니다.

10. FAQ (자주 묻는 질문)

Ubuntu 설정 중 많은 사용자가 비슷한 질문이나 문제를 겪습니다. 이 섹션에서는 초기 Ubuntu 구성과 관련된 일반적인 질문에 답변합니다.

Q1: 초기 설정 후 재부팅이 필요합니까?

A1:
예. 언어 설정, 키보드 매핑, 시간대 변경, SSH 설정 등 일부 설정은 적용을 위해 재부팅이 필요합니다.

sudo reboot

Q2: 일본어 입력이 작동하지 않습니다. 어떻게 해야 하나요?

A2:
다음 항목을 확인하십시오:

im-config -n fcitx
sudo apt install fcitx-mozc -y
fcitx-autostart

Q3: Ubuntu 시간대가 올바르지 않습니다. 어떻게 수정합니까?

A3:

timedatectl
sudo timedatectl set-timezone Asia/Tokyo

Q4: SSH 연결이 실패(또는 거부)합니다. 무엇을 확인해야 하나요?

A4:

sudo systemctl status ssh
sudo systemctl start ssh
sudo ufw allow 22/tcp
sudo nano /etc/ssh/sshd_config
sudo systemctl restart ssh

Q5: “Unable to locate package”(패키지를 찾을 수 없습니다) 오류로 소프트웨어 설치가 실패합니다. 이유는?

A5:
리포지터리를 업데이트하십시오:

sudo apt update

추가 리포지터리를 활성화하십시오:

sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo apt update

Q6: UFW 방화벽 규칙이 올바르게 적용되었는지 어떻게 확인합니까?

A6:

sudo ufw status verbose
sudo ufw reload

Q7: 업데이트 후 시스템이 이상하게 동작합니다. 어떻게 해야 하나요?

A7:

sudo reboot
sudo apt autoremove --purge
sudo apt install --reinstall package-name=version
sudo dpkg --configure -a
sudo apt install -f

Q8: Ubuntu에서 디스크 사용량을 줄이고 싶습니다. 시스템을 어떻게 정리합니까?

A8:

sudo apt autoremove -y
sudo apt clean

요약

이 문서는 Ubuntu 초기 설정 단계에 대한 자세한 개요를 제공했습니다. 시스템 업데이트, 일본어 언어 설정, 시간대 및 로케일 조정, 키보드 커스터마이징, 방화벽 설정, SSH 보안 강화, 유용한 소프트웨어 설치, 자동 업데이트 활성화 등을 순서대로 수행하면 안전하고 효율적인 Ubuntu 환경을 구축할 수 있습니다.

FAQ 섹션에서는 일반적인 질문과 문제 해결 팁도 다루어 설정 중에 발생하는 일반적인 문제를 해결하는 데 도움을 줍니다.

Ubuntu 시스템이 제대로 구성되면, 더 고급 맞춤 설정을 탐색하고 환경을 특정 요구에 맞게 조정해 보세요!