NASxDUAL에는 기본으로(?) java 1.7(JDK7)이 설치되어 있습니다. 만약 관리자 페이지의 Plug-in App에서 JAVA VM이 표시되지 않는다면 자바로 된 플러그인을 설치하면 자동으로 설치됩니다.
java 1.7 설치 위치: /mnt/HDDX/@plugin/system/bin/java
최근에 배포되는 자바로 만들어진 각종 프로그램들이 java 1.8(JDK8) 이상에서 실행되는 경우가 많아서 java 1.8(JDK8)을 설치하는 방법을 설명합니다(참고로 저는 NAS4dual을 사용 중입니다).
다운로드
먼저 아래 사이트에 접속하여 Java SE Embedded Version 8 중에서 ” ARMv5/ARMv6/ARMv7 Linux – SoftFP ABI, Little Endian 2“용으로 빌드된 파일을 다운로드합니다.
https://www.oracle.com/technetwork/java/embedded/embedded-se/downloads/index.html
글쓰는 현재 기준 파일명: ejdk-8u211-linux-arm-sflt.tar.gz
설치
먼저 텔넷 또는 ssh로 터미널에 접속한 후 아래 명령(localhost> 이후부터 입력, 경로는 각자 환경에 맞게 수정)으로 자바를 설치할 폴더를 생성합니다. 또는 관리 UI에서 생성해도 됩니다.
localhost> mkdir -p /mnt/HDD2/app/java
위 폴더에 다운로드한 ejdk-8u211-linux-arm-sflt.tar.gz을 넣어주시고,
생성된 폴더로 이동합니다.
localhost> cd /mnt/HDD2/app/java
아래 명령으로 압축을 풀어줍니다.
localhost> tar xvzf ejdk-8u211-linux-arm-sflt.tar.gz
설치가 완료되었습니다.
정상 동작되는지 확인하기 위해서 아래 명령을 입력합니다(NASxdual에서는 root 사용자만 java를 실행할 수 있습니다).
localhost> su –
localhost> /mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java -version
아래와 같은 결과가 나오면 정상 동작하는 것입니다.
java version “1.8.0_211“
Java(TM) SE Embedded Runtime Environment (build 1.8.0_211-b12, headless)
Java HotSpot(TM) Embedded Client VM (build 25.211-b12, mixed mode)
이제 다운로드한 파일을 삭제합니다.
localhost> rm -rf /mnt/HDD2/app/java/ejdk*.gz
자바로된 프로그램을 실행할 때는 환경변수 JAVA_HOME을 설정하거나 전체 경로를 입력하면 됩니다. (NASxdual에서는 root 사용자만 java를 실행할 수 있습니다.)
export JAVA_HOME=/mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jre
export PATH=$JAVA_HOME/bin:$PATH
java -jar Server.jar
또는 아래처럼 직접 경로 입력해서 실행합니다.
localhost> /mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java -jar Server.jar
위와 같이 자바를 설치하면 java 바이너리가 4개가 생성됩니다. 임베디드 버전이라서 그런지 4개마다 뭔가 조금씩 다른 것 같습니다. 자바로 된 프로그램을 실행하다가 혹시나 에러가 발생하면 4개 모두로 테스트해보세요.
- /mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java
- /mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/compact1/bin/java
- /mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/compact2/bin/java
- /mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/compact3/bin/java
putty는 설치했고 일단 텔넷으로 접속은 해봤습니다.
그리고 링크 걸어주신 java 설치 파일을 제 컴 바탕화면에 다운로드 해놨는데 이 파일을 어떻게 서버?로 옮기나요? putty 로 텔넷? 접속해서 폴더는 만든거 같은데 제 컴 바탕화면에서 이폴더로 java 설치 파일을 어떻게 옮기는지를 모르겠습니다. 알려주심 감사하겠습니다. 감사합니다.
추가로 질문이있습니다.
java version “1.8.0_211“Java(TM) SE Embedded Runtime Environment (build 1.8.0_211-b12, headless)Java HotSpot(TM) Embedded Client VM (build 25.211-b12, mixed mode)
<---- 이문구는 확인 했습니다.
이제 다운로드한 파일을 삭제합니다.
localhost> rm -rf /mnt/HDD2/app/java/ejdk*.gz
<---- 이렇게 해서 삭제 했습니다.
자바로된 프로그램을 실행할 때는 환경변수 JAVA_HOME을 설정하거나 전체 경로를 입력하면 됩니다. (NASxdual에서는 root 사용자만 java를 실행할 수 있습니다.)
export JAVA_HOME=/mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jreexport PATH=$JAVA_HOME/bin:$PATHjava -jar Server.jar
또는 아래처럼 직접 경로 입력해서 실행합니다.
localhost> /mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java -jar Server.jar
<---- 이렇게 했더니 "Error: Unable to access jarfile Server.jar" 이런 메세지가 뜹니다.
뭐가 잘못된걸 까요?
위 명령 내린 곳에 Server.jar가 있나요?
위 명령 내린 다음에 ls -la 명령을 내렸을 때 Server.jar가 나와야 됩니다.
아니면 아래처럼 전체 경로를 입력하면 명확합니다.
/mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java -jar /mnt/HDD2/app/showdown/Server.jar
/mnt/VOL1/java 입니다.
tar xvzf 한후 하기와 같이 폴더가 생겼고
/mnt/VOL1/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/
에 들가보면 "Server.jar" 파일이 없습니다.
일단 암껏도 모른상태에서 showdown 1.55 를 받아놨었고
/mnt/VOL1/showdown 폴더에 압축풀었었습니다.
거기에 Server.jar 파일이 있네요
이슬님께서 전체 경로로 알려주신것을 제가 만든 폴더 기준으로 적용해보니
/mnt/VOL1/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java -jar /mnt/VOL1/showdown/Server.jar
이렇게 putyy에서 엔터 치고 실행했더니
뭔가가 막 실행되면서 글들이 쭈루룩 올라오긴하네요.
이게 뭐가 어찌 되는 것인지는 모르겠으나 다 끝나고 다시 한번 여쭙겠습니다.
감사합니다. 덕분에 뭔가 차근 차근 되가고 있는것 같습니다. ㅠㅜ
/mnt/HDD2/app/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java -jar Server.jar
torrssen2를 구동하려고 하셨으니 torrssen2를 특정 폴더에 올려두고 Server.jar대신에 torrssen2의 jar 파일을 넣어서 실행하면 됩니다.
또는 torrssen2에서 실행하는 스크립트가 있으면 그 스크립트에서 자바의 경로를 위에서 설치한 경로로 수정하면 됩니다.
첨엔 torrssen2를 구동하려고 했으나 검색해보니까 showdown 도 비슷한거 같아서 아무거나 설치해도 생관없을것 같습니다. 말씀하신대로 했더니 아직도 뭔가 실행중이고 글씨가 ?? 이런식으로 깨지는것은 같습니다.
java -Dfile.encoding=UTF-8
<-- 이 것은 지금 실행중인 화면이 종료 되면 별도로 타이핑 해서 엔터 치면 되는것인가요?
그리고
/mnt/VOL1/java/ejdk1.8.0_211/linux_arm_sflt/jre/bin/java -jar /mnt/VOL1/showdown/Server.jar
이거 실행 시키고 한 2시간은 지난거 같은데 아직도 뭔가가 끝날 기미가 안보이는데
정상인지요?
답변 다시한번 감사드립니다.
/mnt/VOL1/java/ejdk1.8.0_211/linux_arm_sflt/compact3/bin/java -Dfile.encoding=UTF-8 -jar /mnt/VOL1/showdown/Server.jar
설치한 자바의 경우 임베디드 버전으로 4가지 버전이 설치되어 있습니다.
제가 테스트해보니 showdown의 경우 본문 마지막에 있는 compact3 버전에서 정상 동작하는 것을 확인했습니다.
그리고 -Dfile.encoding=UTF-8 옵션을 사용하면 한글이 제대로 표시됩니다.
이슬님 말씀대로 해서 실행은 됐습니다. Server.jar 가 실행 되었다는 것이 제 ip:4040 서버가 실행되고 있다는 의미인가요?
Server.jar 실행 후 showdown폴더에 있는 Client.jar 파일을 동일 방법으로 실행 했더니 제DDNS:4040 서버와 연결 할 수 없습니다 하는 에러가 뜨는데 혹시 예상되는 원인이 있으실까요?
거의 다 와가는거 같은데 ㅠㅜ
감사합니다.
전 showdown은 사용하지 않아서 실제 동작시키는 것까지는 안해봤습니다. 서버가 에러 없이 동작되는 것까지만 확인했습니다.
첨부한 이미지를 보니 클라이언트가 서버로 접속을 못하고 있네요.
먼저 서버가 사용하는 포트가 4040이 맞는지부터 확인하시구요.
showdown 클라이언트가 showdown 서버와 같은 나스에서 구동 중이라면 클라이언트 설정에서 서버의 주소를 ddns로 설정하지 마시고 그냥 127.0.0.1이나 localhost로 설정하는 것이 편합니다.
ddns로 설정하면 공유기 환경에서는 포트포워딩까지 해야 되어서 귀찮습니다.
netstat -nat | grep LIST | grep 4040
드디어 구동했습니다. showdown 됩니다. ㅠㅜ
토렌트 파일도 자동으로 다운로드 되어지네요. ㅠㅜ
너무 너무 감사드립니다.~~
어느 순간 갑자기 되더라구요.
iptime 공유기 인데 환경설정 포트 포워딩 메뉴에서 4040 포트 기존에 추가는 해놨었습니다.
그런데도 cli.sh 이게 안되더라구요..
여튼 putty에서
netstat -nat | grep LIST | grep 4040
실행하니 아래와 같이 나오네요.
tcp 0 0 0.0.0.0:4040 0.0.0.0:* LISTEN이런식으로 뜨네요. 위와 같이 중간에 4040 있으면 서버가 4040 포트로 구동 중인거란 말씀이시죠?
근데
ps -ef|grep java
는 왜 안먹는걸까요? 지금 서버가 구동중일텐데 말이죠?
엄청난 큰 힘이 되었습니다. 감사합니다.^^
4040 포트가 LISTEN 중이네요.. showdown 서버에서 사용하는 포트가 4040이 맞다면 서버는 제대로 구동 중인 것입니다.
ps -ef | grep java 명령으로 java로 구동 중인 프로그램 목록이 나와야 정상인데 나오지 않는다니 이상하긴 합니다.
클라이언트까지 접속 성공하신 건가요?
showdown config 파일에 보면 파일 다운로드시 자동으로 프로그램명으로 폴더 만들어서 들어가게 되어있던데
그건 어찌 구동하는지 모르겠네요.여튼 프로그램명으로 자동 폴더 이동 건이랑 web 상에서 showdown manager 구동하는 거 공부해서 또 해봐야 겠습니다.
도움 주셔서 너무너무 감사드려요~ ^^
참고로 현재 실행된 showdown은 나스 리부팅 시 자동으로 실행되지 않습니다. nasxdual은 기본으로 자동 시작 시키는 기능이나 스케줄러가 없어서 특정 프로그램을 나스 시작 시 자동 시작시키려면 편법을 사용해야 됩니다.
아래 제 블로그 글에서 BubbleUPNPServer가 나오는 부분을 보셔서 적용하면 됩니다.
https://isulnara.com/wp/archives/1307
원하는 기능을 모두 구현하시기를 바랄게요^^
다 이슬님 덕분입니다.
nas 재부팅의 경우에 대비해서
현재 저는 WOL을 이용해서 집 PC켜고 team viewer 로 PC 원격제어해서 PUTTY 켠다음 showdown 실행 가능하도록
해놨습니다.
근데 실질적으로는 nas를 그냥 계속 켜놓습니다.
문제시에는 위방법대로 할려구요.
말씀하신 BubbleUPNPServer는
게시글 참조하여 또 공부해 보겠습니다. 다시한번 도움 감사드립니다.^^