VPC보다 VPN(Virtual Private Network) 먼저

회사 내부의 네트워크

VPN은 한국어로 “가상사설망"이라합니다. 앞에 “가상"이라는 단어에서 알 수 있듯 실제 사설망이 아닌 가상의 사설망입니다. 만약 위 그림과같이 회사의 네트워크가 구성되어있고 보안상의 이유로 직원간 네트워크를 분리하고싶다면 기존 인터넷선 선공사도 다시해야하고 건물의 내부선을 다 뜯어고쳐야하며 다시 전용선을 깔아주어야합니다. 이를위해 가상의 망 VPN을 사용하게됩니다.

VPN을 구축한 네트워크

VPN은 네트워크A와 네트워크B가 실제로 같은 네트워크상에 있지만 논리적으로 다른네트워크인것처럼 동작합니다. 이를 우리는 ‘가상사설망'이라고합니다.

VPC(Virtual Private Cloud)

VPC가 없는구조

VPC가 없다면 EC2 인스턴스들이 서로 거미줄처럼 연결되고 인터넷과 연결됩니다. 이런 구조는 시스템의 복잡도를 엄청나게 끌어올릴뿐만 아니라 하나의 인스턴스만 추가되도 모든 인스턴스를 수정해야하는 불편함이 생깁니다. 마치 인터넷 전용선을 다시까는것과 같습니다.

VPC가를 적용한구조

VPC를 적용하면 위 그림과같이 VPC별로 네트워크를 구성할 수 있고 각각의 VPC에따라 다르게 네트워크 설정을 줄 수 있습니다. 또한 각각의 VPC는 완전히 독립된 네트워크처럼 작동하게됩니다.

VPC를 구축하는 과정

VPC를 구축하기위해서는 VPC의 아이피범위를 RFC1918이라는 사설아이피대역에 맞추어 구축해야합니다. 사설아이피란 무엇일까요? 인터넷을 위해 사용하는것이 아닌 우리끼리 사용하는 아이피주소 대역입니다. 예를들어보겠습니다. 누군가 “안방에서 리모컨좀 가져다달라”하면 저는 옆집을 가는게 아닌 우리집에 있는 “안방”으로 찾아갑니다. 안방이 프라이빗아이피(사설아이피) 우리집 주소가 퍼블릭아이피입니다.

옆집도 안방이 있고 우리집도 안방이 있지만 서로 안방을 들었을때 헷갈리지 않습니다. “안방”, “작은방”, “큰방”처럼 내부에서 쓰는 주소를 사설아이피 대역이라고 부르며 내부 네트워크내에서 위치를 찾아갈때 사용합니다. 물론 내 친구나 혹은 동생의 친구가 찾아올때는 도로명주소(퍼블릭아이피)를 알려주면되고 같은집(우리집)에사는(동일한 네트워크 상 존재하는) 내가 동생하테갈때는 동생방(사설아이피)로 찾아갑니다.

VPC에서 사용하는 사설 아이피 대역은 아래와같습니다.

- 10.0.0.0 ~ 10.255.255.255(10/8 prefix)

- 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix)

- 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix)

한번 설정된 아이피대역은 수정할 수 없으며 각 VPC는 하나의 리전에 종속됩니다. 각각의 VPC는 완전히 독립적이기때문에 만약 VPC간 통신을 원한다면 VPC 피어링 서비스를 고려해볼 수 있습니다.

서브넷

VPC를 만들었다면 이제 서브넷을 만들 수 있습니다. 서브넷은 VPC를 잘개 쪼개는 과정입니다. 서브넷은 VPC안에 있는 VPC보다 더 작은단위이기때문에 연히 서브넷마스크가 더 높게되고 아이피범위가 더 작은값을 갖게됩니다. 서브넷을 나누는 이유는 더 많은 네트워크망을 만들기 위해서입니다.

각각의 서브넷은 가용영역안에 존재하며 서브넷안에 RDS, EC2와같은 리소스들을 위치시킬 수 있습니다.

라우팅 테이블과 라우터

네트워크 요청이 발생하면 데이터는 우선 라우터로 향하게됩니다. 라우터란 목적지이고 라우팅테이블은 각 목적지에 대한 이정표입니다 데이터는 라우터로 향하게되며 네트워크 요청은 각각 정의된 라우팅테이블에따라 작동합니다. 서브넷A의 라우팅테이블은 172.31.0.0/16 즉 VPC안의 네트워크 범위를 갖는 네트워크 요청은 로컬에서 찾도록 되어있습니다. 하지만 그 이외 외부로 통하는 트래픽을 처리할 수 없습니다.이때 인터넷 게이트웨이를 사용합니다.

인터넷게이트웨이

인터넷게이트웨이는 VPC와 인터넷을 연결해주는 하나의 관문입니다. 서브넷B의 라우팅테이블을 잘보면 0.0.0.0/0으로 정의되어있습니다. 이뜻은 모든 트래픽에 대하여 IGA(인터넷 게이트웨이) A로 향하라는뜻입니다. 라우팅테이블은 가장 먼저 목적지의 주소가 172.31.0.0/16에 매칭되는지를 확인한 후 매칭되지 않는다면 IGA A로 보냅니다.

인터넷과 연결되어있는 서브넷을 퍼블릭서브넷, 인터넷과연결되어있지않는 서브넷을 프라이빗서브넷이라고합니다.

네트워크 ACL과 보안그룹

네트워크 ACL과 보안그룹은 방화벽과 같은 역활을 하며 인바운드 트래픽과 아웃바운드 트래픽 보안정책을 설정할 수 있습니다. 먼저 보안그룹은 Stateful한 방식으로 동작하는 보안그룹은 모든 허용을 차단하도록 기본설정 되어있으며 필요한 설정은 허용해주어야합니다. 또한 네트워크ACL과 다르게 각각의 보안그룹별로도 별도의 트래픽을 설정할 수 있으며 서브넷에도 설정할 수 있지만 각각의 EC2인스턴스에도 적용할 수 있습니다.

네트워크 ACL은 Stateless하게 작동하며 모든 트래픽을 기본설정되어있기때문에 불필요한 트래픽을 막도록 적용해야합니다. 서브넷단위로 적용되며 리소스별로는 설정할 수 없습니다. 네트워크ACL과 보안그룹이 충돌한다면 보안그룹이 더 높은 우선순위를 갖습니다.

NAT 게이트웨이

NAT 게이트웨이는 프라이빗서브넷이 인터넷과 통신하기위한 아웃바운드 인스턴스입니다. 프라이빗 네트워크가 외부에서 요청되는 인바운드는 필요없더라도 인스턴스의 펌웨어나 혹은 주기적인 업데이트가 필요하여 아웃바운드 트래픽만 허용되야할 경우가 있습니다. 이때 퍼블릭 서브넷상에서 동작하는 NAT 게이트웨이는 프라이빗서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 인터넷게이트웨이와 연결합니다.

마치며

VPC의 목적은 다양할 수 있지만 일반적으로 보안을위해 AWS 리소스간 허용을 최소화하고 그룹별로 손쉽게 네트워크를 구성하기위해 많이사용합니다.이외에도 독립적인 VPC간 네트워크 통신을 위한 VPC피어링, 기존 사용하는 온프레미스와 VPC를 연결하는 AWS Diarect Connect, VPC에서 발생하는 로그를 기록하는 VPC FLow Logs와같은 서비스가있습니다.

 

- 출처 : medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

 

[AWS] 가장쉽게 VPC 개념잡기

가장쉽게 VPC 알아보기

medium.com

Harry The Great

#9 11.82 npm ERR! code ENOENT
#9 11.83 npm ERR! path git
#9 11.83 npm ERR! errno -2
#9 11.83 npm ERR! enoent Error while executing:
#9 11.83 npm ERR! enoent undefined ls-remote -h -t ssh://git@github.com/eligrey/FileSaver.js.git
#9 11.83 npm ERR! enoent
#9 11.83 npm ERR! enoent
#9 11.83 npm ERR! enoent This is related to npm not being able to find a file.
#9 11.85
#9 11.85 npm ERR! A complete log of this run can be found in:
#9 11.85 npm ERR!     /root/.npm/_logs/2020-11-10T14_49_13_350Z-debug.log

이거로 한참을 헤매었다.... 아오~

 

FROM node:14.15-alpine
WORKDIR /app
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

dockerfile이다... 별 문제 없어 보인다. 그러니 저런 에러가 나오면 멘붕이지...

alpine 이미지의 특성인지는 모르겠지만 "git@github.com/eligrey/FileSaver.js.git" 이 repository를 땡겨오는데 문제가 생겼고 path git 이라는 문구도 보인다... 설마설마... alpine에 git이 없나??? (npm install인데 git에서도 땡겨오는지는 몰랐음....)

 

RUN git --verion을 추가하기에 이르렀다. 예상대로 git 명령어 없음.

 

RUN npm install 전에 아래 추가하여 git 설치 했더니 문제 없이 docker image가 build되었다.

 

RUN apk update && apk upgrade && apk add --no-cache bash git openssh

docker build 후에 docker-compose 설정해서 실행하는데 "sh: react-scripts: not found"를 못찾는 상황이 생겼다.

VS code의 docker plug-in을 통해 Dockerfile을 생성했는데 이 부분에서 문제 였다.

 

RUN npm install -g react-scripts

 

위처럼 docker container상에는 react-scripts가 설치 되어 있지 않아서 발생한 문제다.


docker-compose 문제가 아니라 dockerfile 문제로 자동 생성한 것은 역시나 꼼꼼히 다시 봐야 겠다는 생각이 들었다.

'Operating System > Docker | Kubernetes' 카테고리의 다른 글

npm ERR! code ENOENT  (0) 2020.11.11
docker-compose mysql Connection refused  (2) 2020.09.18

먼저 test용 docker를 docker-compose를 사용해서 간단히 구축했다.

 

그런데... DB connection이 안된다...

 

Caused by: java.net.ConnectException: Connection refused (Connection refused)

 

흠... 구글링 잘 알되고 (키워드가 뭔가 없었던 것 같다..) application.yml과 docker-compose.yml을 다시 훑어 봐도 문제는 없어 보였다.

 

예전 기억을 떠올리고 떠올리다가 번개처럼 스친 기억!

---
spring:
  profiles: dev
# ===============================
# = DATA SOURCE
# ===============================
  datasource:
    hikari:
      driver-class-name: com.mysql.cj.jdbc.Driver
      jdbc-url: jdbc:mysql://localhost:3306/vermont
      ....

평소 같았으면 전혀 문제 없는 내용....

version: '3'

services:
  db:
    image: mysql:5.7
    restart: always
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: XXXXX
      MYSQL_USER: XXXXX
      MYSQL_PASSWORD: XXXXX
      MYSQL_DATABASE: vermont
    volumes:
      - db-data:/var/lib/mysql
    ports:
      - 3306:3306
    expose:
      - 3306
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
  vermont:
    image: vermont
    restart: always
    ports:
      - 8888:8888
    depends_on:
      - db
volumes:
  db-data:

그러나 docker-compose로 구성하면 다른 얘기가 된다.

위와 같이 services 아래 서비스 이름을 지정하게 되는데 connection url도 서비스 이름으로 접근해야 한다.

그래서 jdbc:mysql://localhost/vermont...가 아닌 jdbc:mysql://db/vermont....로 바꿔야 한다.


알고 있던 내용이었는데... 역시 노트 해놓지 않으니 1시간 허비... 구글링도 잘 못찾았던 것 같다. 노트노트노트!

'Operating System > Docker | Kubernetes' 카테고리의 다른 글

npm ERR! code ENOENT  (0) 2020.11.11
docker-compose react sh: react-scripts: not found  (0) 2020.09.19

회사에서 윈도우 노트북을 사용한다. 그래서 우분투 특히 bash를 사용하려면 아래와 같은 방법을 사용했다.

  1. vmware, virtual box에 우분투를 설치해서 사용
    • guest os를 깔아서 사용하기 때문에 무겁게 느껴진다...
    • 사실 desktop보다는(bash가 아닌 GUI가 들어있으니 느려도 그려러니...) server를 사용하기 때문에 가볍게 구동되길 바라서인지 더 무겁게 느껴지는 것 같다.
  2. build server에 ssh, smb를 붙여서 사용
    • ssh, smb 콤비는 내가 정말 사랑하는 조합
    • 빌드 서버는 보통 랩탑보다 사양이 좋다. 그래서 dev 서버나 도커 빌드 및 실행 서버로 사용한다.
    • 다만 사내망은 분리되어 있어서 외부 접속이 어렵다.
      • 자택근무를 하다보니 외부접속이 안되는 것이 더 아쉽다.
  3. Linux Containers on windows 10
    • Hyper-V에서 실행되는 LinuxKit 기반 가상 컴퓨터를 사용하여 실행
      • docker 클라이언트는 window 데스크탑에서 실행되지만 linux VM상의 Docker daemon을 호출합니다.Moby VM의 linux 컨테이너
    • Linux Containers with Hyper-V isolation
      • Hyper-V isolation 기능이 있는 linux컨테이너는 컨테이너를 실행하기에 충분한 OS만으로 최적화된 linux VM에서 각 linux 컨테이너를 실행
        • microsoft/nanoserver, openjdk:8-jdk-alpine같은 tiny build를 말하는 것 같다.
    • 참조 : https://docs.microsoft.com/ko-kr/virtualization/windowscontainers/deploy-containers/linux-containers
  4. WSL (Windows Subsystem For Linux)
    • 진짜 Ubuntu가 설치되니까 실제 개발 환경과 유사하다.
      • 1주 정도 써보니 좀 불편하네요. 정신 건강을 위해서는 그냥 vm환경으로 하라는 조언도 있습니다. ^^;
    • vmware나 virtual box와는 다르게 부팅 없이 바로 실행된다.
    • 느린 IO 속도, 커널이 다 호환되지 않아서 일부 app(nmap등)이 실행되지 않는다.
    • 하지만 단점들이 개선된 WSL2가 windows 참가자 프로그램에 리뷰중이니 정식 배포가 조만간 될 수 있을 것 같다. 그전에 먼저 사용하고 싶으신 분은 아래 링크에서 설치 해보시길....

어제는 WSL로 docker, ssh를 사용해서 내 개인 서버의 let's encrypt 인증서를 와일드 카드로 갱신했다.

docker도 잘 돌고 (https://medium.com/rkttu/wsl%EC%97%90%EC%84%9C-native-docker-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-ff75b1627a87) ssh를 통해 remote 환경에서도 작업하는데 문제가

없었다. => 이렇게는 현재 wsl에서는 동작하지 않는다.

https://blog.jayway.com/2017/04/19/running-docker-on-bash-on-windows/에 나와 있는데로 docker 데몬은 window것을 쓰고 wsl이 docker client가 되는 방법이다.

win10 1607버전 이상이라고 하니 3~4년 전에 있었는데 이제야 알았다. 되니까... 이러고 다른 방법은 고민을 안했던거 같다. wsl뿐만 아니라 다른 것들도 현실에 안주하지 말고 더 좋은 방법은 없는지 고민해 보는게 필요할 듯 하다.

p.s. 여담인데 wsl2는 아직 preview 버전에서 동작하는데 불안정 버전이라 그런지 이런 상황도 있었다. 쫄지 말자. ㅎ

WSL2는 가상 네트워크 스위치 설정이 잘 안되어서 결국 못쓰게 되었다.

참고글 https://m.blog.naver.com/seongjin0526/221778212779

Docker에서도 settings에서 WSL2를 반영 할 수 있도록 지원하고 있다. 다만 아직 preview이다. (2020.05.15)

현재 WSL1으로 사용하는 용도

'Operating System' 카테고리의 다른 글

Ubuntu 16.04 server ‘lvmetad is not active yet' solution  (0) 2017.04.21
Ubuntu 원격접속 (xrdp, vnc)  (0) 2016.06.09
Ubuntu 14.04 LTS 설치  (0) 2014.05.30

kubernetes를 demo하기 위해 구성하다가 이 빌드서버가 오래된 관계로 vm을 제대로 실행이 안되는 문제가 생겨 우분투를 밀고 다시 설치 하였다.

그런데 16.04.2lts를 설치하고 부팅을 하니 아래 처럼 나오는 것이 아닌가. -_-;

lvmetad is not active yet; using direct activation during sysinit

lvmetad is not active yet; using direct activation during sysinit

/dev/mapper/lubuntu--vg-root: clean, 121574/7168000 files, 1115621/2865544 blocks

검색 결과는 의외로 많았는데 제대로 해결되는 것이 없어서 한참을 고생하다가 찾은 방법이다.

/etc/default/grub 파일을 수정하는데 아래처럼 하면 된다.


#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,38400n8"

원래 있던걸 주석처리 하고 추가한 것이다.


 - 참조 : https://medium.com/@HashtagSecurity/ubuntu-16-04-server-lvmetad-is-not-active-yet-solution-655827a5c11d


enjoy your coding~

'Operating System' 카테고리의 다른 글

윈도우10에서 Ubuntu 사용하기  (0) 2020.03.04
Ubuntu 원격접속 (xrdp, vnc)  (0) 2016.06.09
Ubuntu 14.04 LTS 설치  (0) 2014.05.30

Ubuntu 원격접속 (xrdp, vnc)
출처 http://whatwant.tistory.com/481

1. # sudo atp-get install xrdp
2. 윈도우 "원격 데스크톱 연결"
=============================

접속 후 바탕화면만 보이고 아무것도 안보일 경우
출처 : redsea23.tistory.com/320

gnome-panel 설치가 필요하다.
우분투 12 버전부터 이런 문제가 발생한듯.

1. # sudo apt-get install gnome-panel
2. $ echo "gnome-session --session=gnome-fallback" > ~/.xsession
3. # sudo service xrdp restart
==================================

d 키를 입력하면 바탕화면이 나타날때
출처 : auctionpro.co.kr/?p=2424

1. # sudo apt-get install compizconfig-settings-manager
2. 컴피즈 설정 관리자 실행 : 프로그램 위치 - 시스템도구 - 기본설정 - 컴피즈설정관리자
3. 일반설정
4. 키 바로가기 탭
5. 바탕화면보기 : 사용하지 않음 또는 Z 등으로 변경
6. 재접속


윈도우에서 우분투로 접속할라니까...

xrdp_mm_process_login_response: login failed

이러면서 연결이 안된다면!!
출처 : http://zzinggu.egloos.com/3082933


 http://linuxtoolkit.blogspot.sg/2013/03/xrdpmmprocessloginresponse-login-failed.html
이렇게 세션을 다 날리는 방법으로 해서 되긴한데..
이건 좀..걍 임시 방편같고...


난 더 확실하게!! 날리고 새로 깔고 시작 ㅎㅎ
#sudo apt-get remove xrdp

#sudo vi /etc/xrdp/xrdp.ini 에서 [globals]에 3389 port가 되어있나 확인만~

#sudo vi /etc/xrdp/sesman.ini에 
[Security]
AllowRootLogin=1
MaxLoginRetry=4
#TerminalServerUsers=tsusers
#TerminalServerAdmins=tsadmins

[Sessions]
X11DisplayOffset=10
MaxSessions=100
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=0

이렇게~~ 해주고
#service xrdp restart

쫜!!

maxsession의 문제로 인해서 발생되는 경우가 대부분이라 maxsession의 수를 늘려주는듯!
그래서 첨의 링크에서 session 정보를 지우는 방식을 권하지 않은 것!


Ubuntu

Ubuntu Linux는 데비안 계열의 리눅스 배포본으로 APT, Unity등 사용자 편의성에 초점을 맞춘 툴들이 많이 존재하고 가장 대중적인 리눅스로 리눅스를 처음 접하는 사람이 사용하기에 적당합니다.

Ubuntu 설치

얼마전 Ubuntu의 새로운 버전인 Ubuntu 14.04 LTS Tahr 버전이 배포되었습니다. 이 버전은 일반적인 버전과 달리 2년마다 배포되는 LTS(Long Term Support)버전으로 정식 지원이 긴 버전입니다. 2019년까지 지원될 예정입니다. 하지만 배포된지 얼마 되지 않아 아직 버그가 여럿 존재합니다.

Ubuntu 설치 방식

우분투 설치 방식에는 여러가지 방법이 있습니다.

  • Native 설치: 가장 보편적인 설치법으로 물리적인 하드디스크에 물리적인 시스템에 설치하는 방식입니다.
  • Wubi (Windows UBuntu Installer): 가장 쉬운 설치법으로 가상 하드디스크에 물리적인 시스템에 설치하는 방식입니다.
  • 가상화 시스템에 설치: 가장 안전한 설치법으로 Virtual Box등 가상화 시스템을 이용합니다. 가상 하드디스크, 가상시스템에 설치합니다.

Wubi 방식은 Windows 8 배포후 SecureBoot, EFI 등 여러 신기술의 등장으로 개발이 중단되어 더이상 정식 지원이 되지 않습니다. 또한 최신 노트북에서 호환성 문제가 있어 사용하지 못합니다. 가상화 방식은 안전하지만 속도가 느리고 제한적인 그래픽 가속으로 실제 사용에는 무리가 있습니다.

그래서 남은 방식은 Native 설치를 진행하도록 하겠습니다. 대한민국의 시스템상 리눅스만을 사용하기에는 무리가 있기 때문에 Windows와 Linux 모두 사용하는 멀티부팅 방식으로 설치하겠습니다.

설치 과정

대략적인 설치 과정은 다음과 같습니다.

  1. 부팅용 USB를 제작한다.
  2. 윈도우 파티션의 크기를 줄인다.
  3. 우분투 리눅스를 설치한다.
  4. 설치가 완료된 후 한국 환경에 맞게 여러 설정을 한다.

부팅용 USB 만들기

부팅용 USB를 만들기 위해서는 사용하지 않는 자료가 다 없어져도 상관없는 USB, 우분투 설치 이미지, 부팅용 USB 제작 프로그램이 필요합니다. 또한 USB부팅에 대한 간략한 지식이 필요합니다.

Ubuntu 설치 이미지 다운로드

우분투 설치 이미지는 http://www.ubuntu.com/ 에서 쉽게 다운받으실 수 있으며 만약 속도가 느리다면 Daum의 미러 사이트(http://ftp.daum.net) 을 이용하셔도 됩니다.

Ubuntu 14.04 LTS 64bit 버전의 다음 미러 사이트의 직접 링크는 다음과 같습니다.

http://ftp.daum.net/ubuntu-releases/trusty/ubuntu-14.04-desktop-amd64.iso

Q: 64bit 버전이 무었인가요?
A: 우리가 흔히 사용하는 인텔 마이크로 아키텍쳐의 종류는 크게 2가지 종류가 있습니다. 하나는 32bit(ix86)이고 다른 하나는 64bit(AMD64) 버전입니다. 현재 나오는 대부분의 인텔 마이크로 아키텍쳐의 CPU는 64bit를 지원하므로 특별한 경우를 제외하고는 64bit 버전의 우분투를 사용하시면 됩니다.

Universal USB Installer 다운로드

부팅 USB를 제작하는 좋은 많은 프로그램이 있지만 우분투 공식 홈페이지에서 추천하는 Universal USB Installer를 사용하도록 하겠습니다. 다음 링크에서 다운받으실 수 있습니다.

http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

부팅용 USB 제작

다음 두 파일이 준비되면 부팅용 USB 제작 준비가 완료되었습니다.

Ubuntu_1404_Install_02

  1. USB를 삽입합니다. (중요한 자료가 USB에 담겨있다면 백업하셔야 합니다. 부팅용 USB 제작과정에서 USB에 담겨있는 모든 자료가 지워집니다.)Ubuntu_1404_Install_09
  2. USB 초기화: 간혹 USB에 담겨있는 정보가 USB부팅을 방해하는 경우가 있습니다. 이를 초기화 시켜주는 작업입니다.
    1. Windows 키 + R을 누르신 뒤 실행 창에서 diskpart명령어를 입력합니다.Ubuntu_1404_Install_03
    2. Diskpart 프로그램이 실행되면 DISKPART> list disk 명령어를 입력합니다.Ubuntu_1404_Install_04
    3. 나온 디스크들의 용량을 확인하여 초기화할 USB의 번호를 기억합니다.
    4. DISKPART> select disk (Number) (Number)에는 위 과정에서 확인한 숫자를 입력합니다.Ubuntu_1404_Install_05
    5. clean 명령어를 입력합니다   경고: 이 작업은 USB의 내용을 영구적으로 삭제합니다. 중요 자료가 담겨있을 때는 사용하지 마십시오Ubuntu_1404_Install_06
    6. DISKPART> create partition primary 명령어를 입력합니다.Ubuntu_1404_Install_07
    7. DISKPART> format quick fs=fat32 명령어를 입력합니다.Ubuntu_1404_Install_08
    8. 내 컴퓨터에서 USB가 인식되는지 확인하고 문자를 기억해 둡니다.Ubuntu_1404_Install_09

    Q: 내 컴퓨터에 USB가 나타나지 않습니다. 어떻게 해야하나요?
    A: 간혹 USB에 자동으로 문자가 할당 되지 않는경우가 있습니다. 이 경우는 수동으로 마운트 해주어야 합니다. Windows + R -> compmgmt.msc -> 저장소 -> 디스크 관리 -> 용량 등을 확인하여 USB 파티션을 확인 -> 파티션 오른쪽 클릭 -> 드라이브 문자 및 경로 변경 -> 추가 -> 드라이브에 문자 할당 -> 확인 -> 확인 을 하시면 됩니다.

  3. 부팅용 USB 제작
    1. 다운 받은 Universal USB Installer를 실행합니다.Ubuntu_1404_Install_10
    2. Ubuntu 선택, 다운받은 파일, USB 경로를 지정합니다. (내컴퓨터에서 확인)Ubuntu_1404_Install_11
    3. Create 버튼을 누르시면 USB 제작이 진행됩니다.
    4. 예를 눌러 진행합니다.Ubuntu_1404_Install_12
    5. 부팅용 USB 제작이 완료되었습니다.Ubuntu_1404_Install_15

윈도우 파티션 축소하기

우분투를 설치할 공간을 확보하기 위해 Windows 파티션의 공간을 줄일 것입니다. Windows의 기본 프로그램인 디스크 관리 프로그램을 이용합니다.

  1. Windows키 + R을 누른 뒤 실행 창에서 compmgmt.msc 명령어를 입력합니다.Ubuntu_1404_Install_16
  2. 다음과 같은 창에서 축소할 윈도우 파티션을 하나 선택합니다.Ubuntu_1404_Install_17
  3. 축소하려는 파티션을 오른쪽 클릭한 뒤 볼륨 축소 메뉴를 선택합니다.Ubuntu_1404_Install_18
  4. 축소하려는 용량 (리눅스를 설치하려는 용량)을 지정하신 뒤 축소 버튼을 누릅니다.
  5. 축소가 완료된 뒤 축소된 용량을 확인합니다.Ubuntu_1404_Install_19

Q: 축소 가능한 용량이 너무 적습니다. 어떻게 해야하나요?
A: Windows 운영체제를 오랜 기간 사용하면 디스크 파편화가 일어나고 윈도우 내에서 옮길 수 없는 파편들이 볼륨 축소를 방해하기도 합니다. 이 경우 윈도우 내장 파티션 툴이 아닌 다른 파티션 툴을 이용하여 디스크 공간을 줄이셔야 합니다.

우분투 리눅스 설치하기

전 단계에서 제작한 USB와 확보된 공간을 이용하여 우분투 리눅스를 설치하도록 하겠습니다. BIOS와 EFI에대한 약간의 지식이 필요합니다.

우분투 USB를 이용해 부팅하기

앞의 과정에서 제작한 USB로 부팅하도록 하겠습니다. 컴퓨터를 끄신 뒤 USB를 삽입하고 부팅을 시작합니다. 부팅시 메이커 로고 등이 보이는 순간에 F2 혹은 DEL키 등을 눌러 BIOS/EFI 로 진입합니다. BIOS/EFI 진입방법은 각 컴퓨터 제조회사에 문의하셔야 합니다. BIOS/EFI에 진입이 성공하면 메뉴에서 부팅 순위 (Boot Priority) 찾으신 뒤 USB를 최상으로 올려 편집해 주셔야 합니다. 이 방법 또한 컴퓨터 제조사마다 천차만별이므로 각 제조사에 문의해 주세요

Q: 부팅 순위에 USB가 없거나 USB 이름이 보이지 않습니다. 어떻게 해야 하나요?
A: Samsung을 비롯한 몇멸 노트북에서는 빠른 부팅을 위하여 부팅시 USB 장치 확인을 생략하기도 합니다. 이 경우에는 BIOS/EFI의 [Advanced] 메뉴에서 [Fast Boot Mode]를 [Disable] 하신 뒤 F10등을 이용하여 저장 후 재부팅 합니다. 다시 BIOS/EFI에 진입하면 부팅 순위에 USB 장치가 잡힌 것이 보일것입니다. (Samsung 노트북 BIOS/EFI 기준)

정상적으로 USB부팅이 완료되면 다음과 같은 화면이 보입니다.Ubuntu_1404_Install_21

아무키나 눌러 다음 화면으로 갑니다.

한국어를 선택합니다.Ubuntu_1404_Install_22

우분투 설치를 선택합니다.Ubuntu_1404_Install_23

USB로 부팅이 완료되었습니다.Ubuntu_1404_Install_25

우분투 리눅스 설치

한국어를 선택합니다.Ubuntu_1404_Install_25

계속을 선택합니다. (인터넷에 꼭 연결할 필요는 없습니다.)Ubuntu_1404_Install_26

파티션 설정을 자동으로 하시려면 Windows를 그대로 두고 Ubuntu 설치를 선택하시고 수동으로 하시려면 기타를 선택하고 다음을 선택합니다. 여기서는 수동으로 설정하겠습니다.Ubuntu_1404_Install_27

Q: 우분투가 Windows를 인식하지 못하고 빈 공간에 설치만 나옵니다. 어떻게 해야 하나요?
A: 하드디스크의 부트섹터 등을 우분투가 제대로 인식하지 못하는 경우입니다. 이 경우 기타로 진행합니다. 어떤 경우는 이 과정에서 윈도우 파티션이 보이기도 하며 또 어떤 경우는 윈도우 파티션이 나타나지 않고 ‘남은 공간’ 만이 나타납니다. 전자의 경우는 수동으로 파티션설정을 해주시면 되고 후자의 경우에는 아쉽게도 아직 구체적인 해결방안을 조사하지 못하였습니다. 해결방안은 찾는 데로 업데이트 하도록 하겠습니다.

기타로 진행할 경우 다음과 같은 화면이 나타나며 남은 공간을 확인합니다.Ubuntu_1404_Install_28

root 파티션 할당: 남은공간 -> + -> 크기 설정 -> 주파티션 -> 이 공간이 시작하는 지점 EXT4 저널링 파일 시스템 -> / 의 과정으로 루트 파티션을 할당합니다.Ubuntu_1404_Install_29

스왑 영역 할당: 남은공간 -> + -> 크기설정 -> 논리 파티션 -> 이 공간이 시작하는 지점 -> 스왑 영역 의 과정으로 스왑 파티션을 할당합니다.Ubuntu_1404_Install_31

Q: root 와 스왑 파티션이 무었인가요?
A: root 파티션은 리눅스 파일 시스템의 최상위 파일시스템으로 모든 파티션, 폴더의 상위에 있는 파티션입니다. 여기서는 다른 파티션을 별도로 저정하지 않고 루트 파티션만을 지정했으므로 모든 폴더와 파일들이 들어가는 파티션입니다. 스왑영역은 컴퓨터의 물리적인 메모리의 부족을 하드디스크로 보완하는 파티션입니다. 컴퓨터가 가진 RAM 용량보다 큰 프로그램을 실행할 때 사용됩니다.

Q: 각 파티션의 용량은 어떻게 햐야하나요?
A: 사용 용도에 따라 다르지만 스왑 영역의 용량은 자신의 컴퓨터의 RAM 용량의 2배정도로 하는 관행이 있습니다. 하지만 최신 컴퓨터들의 메모리는 넉넉하고 개인적 용도의 사용에서는 많이 필요하지 않다고 판단 여기서는 2GB 정도만 할당하였습니다. 나은 공간은 모두 root 파티션에 할당하였습니다.

변경사항을 확인하고 지금 설치(I)를 클릭합니다.Ubuntu_1404_Install_32

살고 있는 지역을 선택하고 다음을 선택합니다.Ubuntu_1404_Install_33

나중에 바꾸게 될 사항이라 크게 상관은 없지만 한국어 -> 한국어 – (101/104키 호환)을 선택하고 계속합니다.Ubuntu_1404_Install_34

계정 정보를 입력하고 계속합니다. 개인폴도 암호화는 꼭 필요한 사항은 아닙니다.Ubuntu_1404_Install_35

모든 사항을 완료하면 설치가 진행됩니다.Ubuntu_1404_Install_36

설치가 완료되었습니다. 다시 시작합니다.Ubuntu_1404_Install_37

다시시작할 때 USB를 제거하고 부팅하거나 BIOS/EFI 설정에서 USB 부팅 순위를 하드디스크보다 밑으로 해주셔야 하드디스크로 부팅이 됩니다. 만약 이 작업을 하지 않으실 경우 다시 USB로 부팅되어 설치 화면을 보게 되므로 꼭 USB를 제거해 주셔야 합니다.

첫 부팅

Grub 부트로더에서 Ubuntu를 선택합니다.Ubuntu_1404_Install_39

다음 화면이 보이면 설치가 완료되었습니다.

우분투 설치후 설정

우분투를 설치하신 뒤 제대로 사용하기 위해서는 한국 사정에 맞는 설정을 해주셔야 합니다. 크게 Ubuntu 소프트웨어 서버 설정, 언어팩 설정, 한글 입력기 설정, 데스크탑 환경 글씨체 변경, 업데이트의 6가지 작업을 할것입니다. 모든 작업은 리눅스 초심자에 알맞게 GUI 환경에서 작업할 것입니다.

로그인

설치시 입력한 비밀번호를 이용해 로그인 하시면 다음 화면이 보입니다.Ubuntu_1404_Install_41

앞으로의 모든 작업은 인터넷 연결이 필요하므로 만약 인터넷 연결이 되지 않았다면 필히 인터넷에 연결해 주십시오. 랜카드 드라이버 문제는 각 컴퓨터 제조사에 문의해 주시고 수동으로 IP를 설정하셔야 하는 분은 시스템 환경설정(아래에 설명) -> 네트워크 메뉴에서 설정해 주시면 됩니다.

Ubuntu 소프트웨어 서버 설정

왼쪽 메뉴에서 시스템 설정(톱니바퀴 모양의 아이콘)을 클릭하시면 다음 화면이 나옵니다.Ubuntu_1404_Install_42

시스템 설정 창에서 오른쪽 아래의 소프트웨어 & 업데이트 (상자와 지구 아이콘)을 클릭합니다.Ubuntu_1404_Install_43

다운로드 위치를 클릭, 기타를 클릭합니다.Ubuntu_1404_Install_44

ftp.daum.net을 선택하고 서버선택을 클릭합니다.Ubuntu_1404_Install_45

로그인 할 때 입력하신 암호를 입력합니다.Ubuntu_1404_Install_46

닫기를 누릅니다.Ubuntu_1404_Install_47

다시읽기를 눌러 소프트웨어에 대한 정보를 업데이트 합니다.Ubuntu_1404_Install_48Ubuntu_1404_Install_49

Q: ftp.daum.net 으로 바꾸는 이유는 무엇인가요?
A: 기본 우분투 소프트웨어 서버인 kr.archive.ubuntu.com은 서버의 속도가 매우 느립니다. 빠른 업데이트를 위해서는 업데이트 서버를 변경하는 것이 좋습니다. ftp.neowiz.net 서버는 최근 Ubuntu 14.04 공식 배포 서버이기 때문에 사용자가 몰려 속도가 느려졌습니다. 고로 비교적 한산한 ftp.daum.net을 이용하시면 됩니다.

언어팩 설치

전체 설정에서 언어 지원을 선택합니다.Ubuntu_1404_Install_50

다음 창이 나타나면 설치(I)를 선택합니다.Ubuntu_1404_Install_51

작업이 완료되면 언어팩 설치가 완료되었습니다. 오른쪽 위 톱니바퀴 버튼을 눌러 로그아웃 하신 뒤 다시 로그인 하시면 한글로 된 UI를 사용하실 수 있습니다.

한글 입력기 설정

앞서 작업하던 시스템 환경설정 창을 모두 닫고 왼쪽 메뉴에서 우분투 소프트웨어 센터 (A가 그려져있는 쇼핑팩 모양 아이콘)을 실행합니다.Ubuntu_1404_Install_52

검색 창에서 dconf Editor를 검색 후 설치합니다.Ubuntu_1404_Install_53

우분투 소프트웨어 센터 창을 닫고 시스템 환경설정을 연 뒤 텍스트 입력창 메뉴를 선택합니다.Ubuntu_1404_Install_54

영어 (미국), 한국어 (Hangul)을 남기고 모두 삭제하거나 추가합니다. 밑의 +/- 버튼을 이용하면 됩니다.Ubuntu_1404_Install_56

시스템 환결설정 창을 닫고 방금전에 설치한 dconf 편집기를 실행합니다.Ubuntu_1404_Install_57

org -> gnome -> desktop -> wm -> keybindings 메뉴를 선택합니다.Ubuntu_1404_Install_58Ubuntu_1404_Install_59

switch-input-source를 ['space'] -> ['Hangul']로 변경합니다.Ubuntu_1404_Install_60

Q: switch-input-sorce 메뉴가 없습니다. 어떻게 해야하나요?
A: Ubuntu 14.04 버전이 아닐 경우에 없는 경우가 있습니다. 다른 강좌를 참고하거나 14.04버전으로 다시 설치하셔야 합니다.

Q: ['Hangul']로 바꾸어도 한/영키를 눌러도 한영 전환이 되지 않습니다. 오히려 이상한 검색 필드가 나옵니다.
A: 일반적인 키보드와 달리 노트북 등 축약된 키보드를 사용하여 발생하는 문제입니다. 이 경우는 한영키에 대응되는 키값을 찾고 그 기능을 죽인 뒤 다시 그 키를 언어 전환 키에 등록해야 합니다. 이 과정은 키보드마다 조금씩 다르니 시스템 환경설정 -> 키보드 -> 바로가기 -> 텍스트 입력 에서 원하시즌 조합키를 등록하시면 됩니다.

데스크탑 환경 글씨체 변경

기본적으로 적용되어 있는 글씨체의 경우 상당수의 환경에서 윗부분이 짤리는 현상이 일어납니다. 이를 수정하기 위해 기본 글씨체를 ‘나눔고딕’체로 바꾸도록 하겠습니다.

우분투 소프트웨어 센터에서 Unity Tweak Tool을 검색하고 설치합니다.Ubuntu_1404_Install_61

Unity Tweak Tool 을 실행하고 Fonts 메뉴에 들어갑니다.Ubuntu_1404_Install_62

General 섹션에 Ubuntu 폰트를 클릭합니다.Ubuntu_1404_Install_63

‘나눔’을 검색하시면 나눔고딕체를 찾으실 수 있습니다. 그리고 선택을 누르시면 폰트가 적용됩니다.Ubuntu_1404_Install_64

같은 방식으로 각 항목의 폰트를 다음과 같아 바꾸어 주시면 됩니다.Ubuntu_1404_Install_65

소프트웨어 업데이트

소프트웨어 업데이트를 통해 현재의 우분투를 최신 상태로 유지합니다.

왼쪽 메뉴에서 우분투 로고 (Dash)를 클릭합니다. (Unity 버그 때문에 한글이 출력되지 않지만 기능은 잘 동작합니다.)Ubuntu_1404_Install_66

한글로 ‘업데이트’ 입력 후 소프트웨어 업데이트를 선택합니다. (오른쪽 A 모양 아이콘)Ubuntu_1404_Install_67

지금 설치를 선택합니다.Ubuntu_1404_Install_68Ubuntu_1404_Install_70

업데이트 설치가 완료되었습니다.Ubuntu_1404_Install_71

완료

이제 Ubuntu를 사용할 준비가 모두 끝났습니다. 오른쪽 상단의 톱니바퀴 메뉴를 이용해 윈도우로 다시시작하여 멀티부팅이 잘 구성됐는지 확인해 보십시오.Ubuntu_1404_Install_72

ps

유니티 ???등 기타 문제는 다음 링크를 참고해서 해결 하시면 됩니다.  https://www.facebook.com/notes/우분투한국사용자모임/ubuntu-1404-lts-설치하고-사용하면서-경험한-문제들-해결-방법/656860821018435

+ Recent posts