Translate

Search

Ubuntu Oracle JDK 7 is NOT installed 해결법

Ubuntu에서 Oracle JDK를 설치하다 보면 아래와 같은 에러가 발생하는 경우가 있습니다.

Download done.
Removing outdated cached downloads...
sha256sum mismatch jdk-7u51-linux-x64.tar.gz
Oracle JDK 7 is NOT installed.
dpkg: error processing oracle-java7-installer (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up gsfonts-x11 (0.22) ...
Errors were encountered while processing:
 oracle-java7-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)

원인은 Oracle JDK 저장소에서 설치파일을 가져올 때 정상적인 resolving이 수행되지 않았기 때문으로 보입니다.

'/var/cache/oracle-jdk7-installer' 디렉토리에 들어가보면 설치 파일인 'jdk-7u65-linux-x64.tar.gz'의 용량이 0으로 표시됨을 알 수 있습니다.

즉, 다운로드가 정상적으로 수행되지 않은 것입니다.

Oracle 사이트 접속 후 jdk7 다운로드

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

'Accept License Agreement'를 선택하신 후 'jdk-7u65-linux-x64.tar.gz(64bit 전용)', 'jdk-7u65-linux-i586.tar.gz(32bit 전용)' 중 PC 환경에 적합한 파일을 다운로드 합니다.

※ 만약 파일명이 'jdk-7u65-linux-x64.gz'이라면 파일 명을 'jdk-7u65-linux-x64.tar.gz'로 수정해줍니다.

파일 경로 이동

다운로드 완료된 'jdk-7u65-linux-x64.tar.gz' 파일을 '/var/cache/oracle-jdk7-installer' 디렉토리로 이동합니다.

Oracle JDK 7 설치

sudo apt-get install oracle-java7-installer

다시 한번 apt-get을 활용하여 JDK7을 설치해줍니다.

LVM Snapshot을 활용한 Logical Volume 백업

일반적으로 시스템을 관리 하다보면 잘못된 설정 혹은 Application의 꼬임 현상으로 인해 원상 복구를 시키는데 있어 큰 작업이 소요되는 경우가 종종 있습니다.

LVM을 활용할 경우 현 시점 데이터를 Snapshot으로 찍어 추후에 현 상태로 복구할 수 있습니다.

현재 시스템의 상태를 백업하는 것과 동일한 효과라고 볼 수 있습니다.

Snapshot 생성

lvcreate -s -L 20M -n volume_snapshot /dev/vg_name/lv_name

생성 결과 확인

lvs

LV                          VG             Attr           LSize     Pool Origin    Data%  Move Log
lv_name                  vg_name    owi-aos-- 100g
volume_snapshot    vg_name    swi-l-s--   20m       lv_name         100.00

위 실행 결과 내용 중 owi-aos--의 'o'는 Original Data를 뜻하며, volume_snapshot의 swi-l-s--의 's'는 Snapshot임을 뜻합니다.

Snapshot 복구

시스템에 문제가 발생하여 이전 데이터로 돌아가고자 할 때 사용합니다.

lvconvert --merge /dev/vg_name/volume_snapshot

Linux LVM 설정 및 활용 방법

Linux / Unix 시스템은 디스크의 가용성 확보 및 편리한 용량 관리를 위해 Volume management 솔루션을 활용합니다.

Linux는 LVM(Logical Volume Manager)이라는 패키지를 활용하고 있습니다.

Linux에서 LVM을 활용하기 위해서는, LVM을 활용할 대상 Physical Disk를 선정하고, Volume Group으로 묶은 후 Logical Volume을 생성하여 활용할 수 있습니다.

LVM 개념도

LVM의 장점은 Partition 용량이 가득 차거나 너무 많은 여유 공간이 있을 경우 쉽게 용량을 조절할 수 있으며 Snapshot을 활용한 데이터 복구 등 기존 디스크 관리 체계보다 더 다양한 편의 기능을 제공합니다.

본 글에서는 /dev/sdb1 파티션을 활용하여 LVM 설정을 진행하도록 하겠습니다.

LVM 대상 물리 디스크 설정

pvcreate /dev/sdb1

Physical Volume 설정 확인

pvdisplay

Volume Group 생성

vgcreate vg_name /dev/sdb1

Physical Volume 목록은 다수 설정이 가능하며, 다수로 설정할 경우 장애에 대한 Failover가 가능합니다.

Volume Group 생성 확인

vgdisplay

Logical Volume 생성

lvcreate -n lv_name -L 100G vg_name

'-n'은 Logical Volume의 이름 설정이며 '-L'은 용량을 지정해주기 위해 사용합니다.

Logical Volume 생성 확인

lvs

File System 생성

위에서 생성한 Logical Volume을 시스템 내에서 활용하기 위해서는 File System 생성을 해주어야 합니다.

mkfs -T ext4 /dev/vg_name/lv_name

Directory Mount

mount /dev/vg_name/lv_name /directory