최근 우분투를 새로이 설치하면서 찾아본 오라클 JDK 설치 방법을 2가지로 정리 해본다.


1. PPA (Personal Package Archive) 이용


$ sudo apt-add-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

2. Manual Install

  - Oracle Site에서 .tar.gz 파일을 다운로드.

     (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

  - 압축 해제

$ tar zxvf jdk-8u45-linux-x64.tar.gz
$ sudo mkdir /usr/lib/jvm
$ sudo mv jdk1.8.0_45 /usr/lib/jvm

  - 명령어 등록

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_45/bin/java 1
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_45/bin/javac 1
$
sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk1.8.0_45/bin/javaws 1

- 설치된 Java버전이 여러개인 경우 차례대로 jdk1.8.0_45 버전 선택

$ sudo update-alternatives --config java

There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode 1 /usr/lib/jvm/jdk1.8.0_45/bin/java 1 manual mode 2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode Press enter to keep the current choice[*], or type selection number: 1 update-alternatives: using /opt/jdk1.8.0_20/bin/java to provide /usr/bin/java (java) in manual mode

$ sudo update-alternatives --config javac
$
sudo update-alternatives --config javaws

- 설치 확인

$ java -version

 


리눅스에서 사용자 계정을 관리하는 명령들은 사용법이 어렵지는 않으나 평소에 쓸

일이 거의 없기 때문에 기억하기가 쉽지 않다. 필수적인 명령어 몇 개와 옵션만 알고

있다면 사용자 관리만큼 단순한 작업도 없다. 단, 사용자 계정과 연결된 홈 디렉토리에

영향을 미치는 작업이나 사용자 암호와 관련된 작업을 할 때는 조심 조심^^


1 [사용자 계정 만들기]

사용자 계정을 새로 만들 때는 useradd 명령을 사용한다. '-m' 옵션을 사용하면

사용자 홈 디렉토리도 함께 만들어진다.

$ sudo useradd -m webtob


2 [사용자 계정 확인하기]

사용자 계정 정보를 확인 할 때는 '/etc/passwd' 파일을 살펴보면 된다. cat 명령으

로 이 파일의 내용을 출력해 보면 새로운 사용자가 추가된 것을 알 수 있다.

출력된 사용자 계정 정보에 대한 설명은 순서대로 다음과 같다.


계정이름, 암호(표시안함),UID(사용자ID),GID(그룹ID),설명(생략가능),홈디렉토리,

로그인쉘(생략가능)


3 [사용자 암호 설정]

새로 추가된 사용자 계정에는 암호가 없는 상태이다. passwd 명령으로 암호를 설

정한다.


4 [사용자 계정 삭제]

사용자 계정을 삭제할 때는 userdel 명령을 사용한다. '-r' 옵션을 추가하면 사용자

의 홈 디렉토리도 함께 삭제할 수 있다.


사용자 비밀번호(암호)를 관리하는 파일은 '/etc/shadow' 로, 이 파일에는 비밀번호가

암호화된 상태로 표시되어 있고 비밀번호의 유효 기간 등 부가 정보도 저장되어 있다.

이 파일에 대한 read/write 권한은 오직 root 권한으로만 가능하다.


    * 쉘 스크립트(Shell Script)란 ?

쉘 스크립트를 이해하려면 먼저 스크립트(Script)가 무엇인지 이해해야 한다.
스크립트란 일반적으로 인터프리트(interpret) 방식으로 동작하는 컴파일되지 않은 프로그램이라고 이해하면 된다. 즉 "프로그램의 한 라인을 읽어
해석하고 실행하는 과정을 반복하도록 만들어진 프로그래밍 언어로 작성된 컴파일되지 않은 파일에 저장된 프로그램"이라는 의미다.

==> 텍스트 형식으로 저장되는 프로그램으로서 한줄씩 순차적으로 읽어 실행되도록 작성된 프로그램이다.

스크립트라는 단어 앞에 여러가지 수식어가 붙는다. 이 수식어는 바로 스크립트를 읽어 실행해주는 인터프리트 엔진을 말한다고 보면 된다.
즉 쉘스크립트는 운영체제의 쉘 즉 bash, ksh, csh 등이 읽어 실행해주는 스크립트 언어이고 펄 스크립트는 perl 이라고하는 인터프리트 엔진이 읽어
실행해주는 스크립트 언어이다. 자바 스크립트는 웹브라우저가 실행해 준다.


C 언어와 쉘스크립트는 어떻게 다를까?

    - C 언어로 작성된 프로그램은 컴파일하여 기계어로 변환된 목적파일로 만들어준 뒤 링크 과정을 거치고 실행퍼미션을 주어야만
      실행이 가능하지만 쉘스크립트로 작성된 파일은 이러한 과정이 필요없고 실행퍼미션만 주면 된다.
     
    - C 언어로 작성된 프로그램은 실행을 위해 컴파일되면 vi, cat 과 같은 명령으로 내용을 확인할 수 없는 바이너리 구조로 변형되지만
      쉘 스크립트는 파일의 변환 과정이 없다.
   
    - C 언어로 작성된 프로그램은 기계어로 변환되었기 때문에 커널에 의해 실행되지만 쉘 스크립트는 쉘(bash, sh, ksh)이 한줄씩 읽어 실행한다.
   
    - C 언어로 작성된 프로그램은 정식 프로세스로 생성되지만 쉘 스크립트로 작성된 프로그램은 이름은 보이지만 정식 프로세스는 아니다.

    * 쉘의 정의

쉘(Shell)은 운영체제에서 사용자가 입력하는 명령을 읽고 해석하여 대신 실행해주는 프로그램이다.
쉘은 Unix 나 리눅스에만 있는것은 아니며, Windows 운영체제나 다른 운영체제에도 Shell 은 필수 요소.

운영체제는 로그인한 사용자가 없다면 하나의 쉘도 실행되지 않은 상태이다.
사용자가 로그인을 시도하면 운영체제는 ID와 패스워드를 받아들이는 로그인 프로그램을 실행하게 되고, 사용자가
입력한 ID와 패스워드를 검증한 뒤 정상적인 사용자라면 쉘을 실행하여 사용자 세션을 쉘에게 넘겨준다.


    * 역활

-. 사용자가 입력한 명령을 해석하여 대신 실행해주는 것.
    쉘 내부 명령어 : 스스로 실행하고 결과를 화면에 표시.
    쉘 외부 명령어 : PATH 환경변수에 지정된 경로에서 입력 받은 명령과 같은 파일을 찾아 exec() 시스템콜을 호출하여
                     실행한 뒤 키보드와 마우스 등의 입력장치와 모니터에 해당하는 표준 출력장치의 제어권을 해당 프로그램에게 넘겨준 뒤
                     프로그램이 끝날 때 까지 대기.


    * 쉘의 종류

-. Unix/Linux : ps 명령을 실행하면 보이는 프로세스 중에서 bash, sh, ksh, csh 등
-. Windows : 작업관리자에서 볼수 있는 explorer.exe, cmd.exe 등


    * 쉘의 환경변수

쉘은 사용자가 임의로 변경이 가능한 여러가지 환경변수를 사용한다. 하지만, 미리정의된 환경변수의 이름을 변경하면 안된다.(할수도 없다)
환경변수는 쉘의 종류에 따라 설정/확인하는 방법이 다르다. (bash-env, csh-set)

사용자와 운영체제 사이에서 사용자가 입력한 명령어를 신속하게 찾고 운영체제와 사용자 그리고 사용자가 실행한 다른 프로그램과의 소통을 위해 사용하는 것이 환경변수이다.
환경변수들은 사용자가 읽을 수만 있는 것과 변경이 가능한 것이 있는데, 대표적인 환경변수는 PATH 가 있다.
환경변수 PATH는 사용자가 입력한 명령이 내부 명령어인지 확인하고 아닐 경우 해당 명령은 외부명령어(실행파일)인 것으로 간주.


    * 쉘 환경변수의 설정

쉘 환경변수는 로그인 할 때 설정된다. 사용자 환경은 프로파일에서 설정되는데 프로파일은 글로벌 프로파일과 계정 프로파일 두가지가 있으며,
이 프로파일의 파일 위치와 이름은 운영체제와 쉘의 종류에 따라 조금씩 다르다.

sh, ksh : /etc/profile , 사용자 홈디렉토리의 .profile
bash : /etc/profile , /etc/bashrc 두 개의 파일과 사용자 홈디렉토리의 .bashrc가 환경 변수가 설정될 수 있는 파일.
csh 은 /etc/csh.login ( Unix 종류와 버전에 따라 다르나 일반적으로 login 이라고 붙음 )과 사용자 홈디렉토리의 .cshrc

 

FTP Server 설치

$sudo apt-get install vsftpd

 

FTP 설정 수정

- vsftpd.conf 파일 수정

$sudo vi /etc/vsftpd.conf

:: 수정 할 부분

anonymous_enable=NO

local_enable=YES    // 주석 제거

write_enable=YES    // 주석 제거 -> 않하면 UPLOAD 시 오류 발생(550 Permission denied)

 

vsftpd 재시작

$sudo /etc/init.d/vsftpd restart

1. OpenJDK 삭제
 - sudo apt-get purge openjdk*

2.
http://java.oracle.com/ 다운로드 항목에서 다운로드
 - 물론 apt-get 의 놀라움을 이용해도 된다.
  1. sudo add-apt-repository ppa:webupd8team/java
  2. sudo apt-get update
  3. sudo apt-get install oracle-java7-installer

3. 다운로드 받은 파일의 압축을 푼다.
 - tar zxvf jdk-7u25-linux-i586.tar.gz

4. 기본적인 java Path는 /usr/lib 아래에 위치한다.

5. 압축 푼 폴더 (jdk1.7.0_25)를 /usr/lib/jvm 아래로 이동한다.
 - sudo mv jdk1.7.0_25 /usr/lib/jvm/jdk1.7.0_25

6. Java에 대한 Symbolic link를 변경해 보자.
 - sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_25/java" 1

7. javac랑 javaws도 같이 변경한다.
 - sudo update-alternatives --install "/usr/bin/javac" "javc" "/usr/lib/jvm/jdk1.7.0_25/javac" 1
 - sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_25/javaws" 1

8. java -version 확인해 본다.


설치 방법

참조: https://help.ubuntu.com/community/Java

저장소 추가 후 오라클 java8 설치

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer
만약, 7버전이나 6버전을 설치하고자 한다면 인스톨러의 자바버전만 바꿔서 아래와 같이 하면 됩니다.
$ sudo apt-get install oracle-java7-installer
$ sudo apt-get install oracle-java6-installer

자바 버전 확인

$ java -version
java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)
$
$ javac -version
javac 1.8.0_72

자바를 여러개 설치하였다면,,아래와 같은 명령으로 자바를 선택할 수 있다.

$ sudo update-alternatives --config java

또한, oracle-java8-set-default 패키지를 설치하면 환경변수 등 기본값으로 설정된다.

$ sudo apt-get install oracle-java8-set-default

* 설치 이후의 환경변수를 확인해보면 PATH, DERBY_HOME, JAVA_HOME, J2DKDIR 등의 환경변수가 추가된 것을 확인할 수 있다.

$ sudo su - root -c 'printenv'


+ Recent posts