๋ฆฌ๋ ์ค ํ๊ฒฝ์์
java๋ช ๋ น์ด์ ์ค์ ์ค์น ์์น(Absolute Path)๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํฉ๋๋ค. ๋จ์ ๊ฒฝ๋ก ํ์ธ์ฉ์ธwhich์ ์ฌ๋ณผ๋ฆญ ๋งํฌ์ ์๋ณธ์ ์ฐพ์์ฃผ๋readlink -f์ ์ฐจ์ด์ ์ ์ดํดํ๊ณ , ์ด๋ฅผ ํตํด JAVA_HOME์ ์ค์ ํ๋ ํ์ ๋ค๋ฃน๋๋ค.
0. ๋ฐฐ๊ฒฝ ์ง์ (Context)
๋ฆฌ๋
์ค(ํนํ CentOS/RHEL ๊ณ์ด)๋ alternatives ์์คํ
์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ฒ์ ์ ํ๋ก๊ทธ๋จ์ ๊ด๋ฆฌํฉ๋๋ค. ๋๋ฌธ์ /usr/bin/java๋ ์ค์ ์คํ ํ์ผ์ด ์๋๋ผ, ์ฌ๋ฌ ๋จ๊ณ์ ๋ฐ๋ก๊ฐ๊ธฐ(Symbolic Link)๋ก ์ฐ๊ฒฐ๋ ๊ป๋ฐ๊ธฐ์ผ ํ๋ฅ ์ด ๋์ต๋๋ค.
Test Environment
- OS: CentOS 7 (3.10.0-957.el7.x86_64)
- Package: OpenJDK 1.8
1. ๋ช ๋ น์ด ๊ฒฝ๋ก ํ์ธ (which)
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ช
๋ น์ด์
๋๋ค. ํ๊ฒฝ ๋ณ์ $PATH์ ๋ฑ๋ก๋ ๊ฒฝ๋ก ์ค ์ด๋์ ์๋ ๋ช
๋ น์ด๊ฐ ์คํ๋๋์ง ์๋ ค์ค๋๋ค.
[wasadm@localhost ~]$ which java
/usr/bin/java
/usr/bin/java๋ ์ค์ ํ์ผ์ด ์๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์์, ์ด ๊ฒฝ๋ก๋ฅผ JAVA_HOME์ผ๋ก ์ค์ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
2. ์๋ณธ ๊ฒฝ๋ก ์ถ์ (readlink -f)
์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ์๋ฌด๋ฆฌ ์ฌ๋ฌ ๋จ๊ณ๋ก ๊ผฌ์ฌ ์์ด๋, ์ต์ข ์๋ณธ ํ์ผ์ ์ ๋ ๊ฒฝ๋ก๋ฅผ ํ ๋ฒ์ ์ฐพ์์ฃผ๋ ๊ฐ์ฅ ํ์คํ ๋ช ๋ น์ด์ ๋๋ค.
# ๊ตฌ๋ฌธ: readlink -f [์ฌ๋ณผ๋ฆญ_๋งํฌ_๊ฒฝ๋ก]
[wasadm@localhost ~]$ readlink -f /usr/bin/java
# ์ถ๋ ฅ ๊ฒฐ๊ณผ (์ค์ ์ค์น ์์น)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java
์ ๊ฒฐ๊ณผ์์ ๋ง์ง๋ง /bin/java๋ฅผ ์ ์ธํ ์๋ถ๋ถ์ด ๋ฐ๋ก JAVA_HOME์ด ๋ฉ๋๋ค.
3. ๋งํฌ ๊ตฌ์กฐ ๋จ๊ณ๋ณ ํ์ธ (ls -l)
readlink๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ls -l ๋ช
๋ น์ด๋ก ํ ๋จ๊ณ์ฉ ์ถ์ ํด๋ณด๋ฉด ๋ฆฌ๋
์ค์ alternatives ๊ตฌ์กฐ๋ฅผ ์ดํดํ ์ ์์ต๋๋ค.
Step 1: ์คํ ํ์ผ ํ์ธ
[wasadm@localhost ~]$ ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 Feb 5 01:36 /usr/bin/java -> /etc/alternatives/java
/usr/bin/java๋ /etc/alternatives/java๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์์ต๋๋ค.
Step 2: alternatives ํ์ธ
[wasadm@localhost ~]$ ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 71 Feb 5 01:36 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre/bin/java
/etc/alternatives/java๊ฐ ๋น๋ก์ ์ค์ JDK๊ฐ ์ค์น๋ ๊ฒฝ๋ก๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์์ต๋๋ค. readlink -f๋ ์ด ๊ณผ์ ์ ํ ๋ฒ์ ์ํํด ์ค๋๋ค.
4. ํ์ฉ: JAVA_HOME ํ๊ฒฝ ๋ณ์ ์ค์
์์์ ์ฐพ์ ๊ฒฝ๋ก๋ฅผ ํ์ฉํ์ฌ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ฑ๋กํฉ๋๋ค. (/etc/profile ๋๋ ~/.bash_profile)
# ์๋ณธ ๊ฒฝ๋ก: /usr/lib/jvm/java-1.8.0-.../jre/bin/java
# bin/java ์๋ถ๋ถ๊น์ง๋ง ๋ณต์ฌ
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH
Next Step:
๋ง์ฝ ์๋ฒ์ ์ฌ๋ฌ ๋ฒ์ ์ Java๊ฐ ์ค์น๋์ด ์์ด ๊ธฐ๋ณธ ์คํ ๋ฒ์ ์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด, alternatives --config java ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐํธํ๊ฒ ์ค์์นญํ ์ ์์ต๋๋ค.