AWS EC2 우분투 서버 시간설정

1. EC2 Ubuntu 시간 동기화.

sudo apt-get install rdate
sudo rdate -s time.bora.net
— 요기까지만 해도  시스템 시간까지 동기화 됐음.
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime  (이건 안 했음)
 
2. EC2 Amazon linux 시간 동기화.
1)
/etc/sysconfig/clock 파일에 
 
ZONE="UTC"
를 ZONE=”Asia/Seoul” 로 변경
( 이 부분은 시간동기화를 변경을 해서 date, sudo date로 시간이 변경된걸 확인 했는데 시스템(?) 시간은 변경이 되지 않는적이 있어서 이걸 수정 했더니 되었다.)
 
2) 이것도 해도 변경은 됨. 만약에 시스템 시간이 변경이 안되면 1) 적용.
 
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
 
sudo reboot
Advertisements

자바 리눅스에서 컴파일 및 실행하기.

출처 : http://blog.naver.com/PostView.nhn?blogId=k_builder&logNo=40185712256
세 가지로 나눠서 해보도록 합시다.
1. 현재 폴더 (javac 파일명, java 클래스파일명)
2. 다른 폴더 (javac -d 폴더명/ 파일명, java -cp ../폴더명/ 클래스파일명)
3. 다른 폴더 – 패키지 (javac -d 폴더명/ 파일명, java -cp ../폴더명/ 패키지명.클래스파일명)
 
 
1. 현재 폴더 (javac 파일명, java 클래스파일명)
터미널(윈도우 명령프롬프트)에서 디렉토리(저는 myProject로 만들어봤습니다.) 를 만들고 들어갑니다.
그리고 편집기에서 자바파일을 만들어 봅니다. 저는 hello.java로 했습니다.
 
간단하게 Hi~ Hello~~ 를 출력하는 자바파일입니다.
public class hello{
    public static void main(String[] args){
System.out.println(“Hi~ Hello~~”);
    }
}
 
이제 컴파일 명령어를 입력해서 컴파일을 하겠습니다.
javac hello.java
javac 와 작성한 자바파일을 확장자(hello.java)까지 다 써서 엔터를 쳐 줍니다. (javac는 자바 컴파일의 약자입니다. 아마.. ㅋㅋ)
그러면 현재 폴더에 컴파일된 결과인 클래스 파일이 보입니다.
 
이제 실행해 봅시다.
java hello
java 와 클래스파일을 입력하고 엔터!  주의할점 확장자는 뺍니다.
Hi~ Hello~~ 가 보이네요 ^^
참고로 확장자 까지 다 붙이면
요렇게 됩니다요..
두 번째로
2. 다른 폴더 (javac -d 폴더명/ 파일명, java -cp ../폴더명/ 클래스파일명)에서 컴파일 하고 실행 해 보겠습니다.
 
현재 폴더(myProject에서 src폴더와 classes 폴더를 만들고
java파일은 myProject/src폴더에 넣고
myProject/classes 폴더안에 컴파일 결과(.class)가 들어가도록 해보겠습니다.
그리고 일단 myProject/src 폴더로 들어가서 해 봅시다.
이제 다른폴더(myProject/classes)에 컴파일 결과를 집어넣어 봅시다.
방법은 -d(directory) 라는 컴파일 플래그를 사용합니다.
javac -d ../classes hello.java
src 폴더에서 컴파일한 결과가 ../classes (../는 상대경로입니다.)로 들어가게 합니다.
결국 -d 플래그는 컴파일된 코드를 저장할 디렉토리를 지정한것입니다.
 
이제 src 폴더에서 다른 폴더(classes)에 있는 클래스 파일을 실행해 보겠습니다.
여기서 등장하는 플래그는 -cp 또는 -classpath 입니다. (cp는 classpath의 약자입니다.)
java -cp ../classes hello
java -classpath ../classes hello
둘다 똑같이 실행됩니다.
 
마지막으로
3. 다른 폴더 – 패키지 (javac -d 폴더명/ 파일명, java -cp ../폴더명/ 패키지명.클래스파일명) 에서 해보겠습니다.
hello.java 파일에  새롭게 패키지를 입력해 봅니다.
 
package com.headfirstjava.ch17;
public class hello{
    public static void main(String[] args){
System.out.println(“Hi~ Hello~~”);
    }
}
아까와 같이 컴파일을 하면
javac -d ../classes hello.java

classes 폴더 아래로 com폴더 headfirstjava폴더 ch17폴더가 자동 생성되고 
자동 생성 된 com/headfirstjava/ch17 폴더에 클래스 파일이 생성됩니다.


 
myProject/src 폴더에서 실행해 보겠습니다. 여기서 중요한것은 패키지폴더가 생성됬다고
java -cp ../classes/com/headfirstjava/ch17 hello 이렇게 하면 안 됩니다.
 
클래스폴더를 입력하고 패키지명은 아래와 같이 점으로 찍어줘야 합니다.
java -cp ../classes/ com.headfirstjava.ch17.hello

실행 결과를 볼 수 있습니다.
 
 

umask1

umask를 통해 파일이나 디렉토리가 생성될 때의 권한을 미리 설정해 둘 수 있다… 그런데 그 방법을 못 찾았다… 나중에 발견하면 작성한다. umask 022 이런 식으로는 일시적으로밖에 못한다. 영구적으로 적용되는 방법을 찾아야 한다. 리눅스는 권한의 비중이 윈도우보다 훨씬 더 큰 것 같다.