반응형

OS: Ubuntu 14.04.2 LTS (64-bit)

QulNet version: 5.0.1


리눅스에서도 QualNet GUI를 쓸 수 있고,

[QUALNET_HOME]/bin/QualNetGUI 파일을 실행하면 된다.

(더블클릭하거나, 콘솔에서 명령어 입력)


그런데 더블클릭해도 아무것도 실행되지 않고, 콘솔에서 시도해 보면 아래와 같은 에러가 나면서 실행이 안될 때가 있다.


user@Linux:~/qualnet/5.0/bin$ ./QualNetGUI 

/home/user/qualnet/5.0/gui/lib/linux64/QualNetGUI: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory


이 때 간단히 libjpeg 라이브러리를 설치하면 해결된다.

$ sudo apt-get install libjpeg62



반응형
블로그 이미지

Bryan_

,
반응형

여러가지 방법이 가능한 것 같지만, Ubuntu나 Linaro 같은 데비안 계열에서는 아래 방법이 간단하고 쉬운 것 같다:


$ sudo ntpdate [동기화할 서버 주소]


예를 들면, 우리나라에서는 표준연구원과 시간을 동기화할 수 있다.

$ sudo ntpdate time.kriss.re.kr




반응형
블로그 이미지

Bryan_

,
반응형

OS: Ubuntu 계열 (11.04부터 12.04까지 테스트)



자바(Java)로 서버 소켓을 열고 자기 자신의 IP주소를 다른 연결된 기기에 알려 주는 간단한 프로그램을 짰는데, 이상하게 IP주소가 실제 장비의 IP주소와 다르게 나왔다.

예를 들면, ifconfig 명령을 통해서 나오는 네트워크 인터페이스 주소 192.168.1.6인데, 자바 프로그램에서는 전혀 엉뚱한 192.168.1.17로 인식되는 문제였다. SSH, ping을 비롯한 실제 네트워크 연결은 모두 192.168.1.6으로 정상적으로 수행되는데, 이상하게 Java 코드에서 IP주소를 얻어오는 명령에서는 다른 IP주소를 보게 되는 것이다.



네트워크 설정에 따라서 여러가지 원인이 있을 수 있겠지만, 가장 간단한 원인으로는 /etc/hosts 파일에 IP주소가 잘못 적혀 있는 경우가 있다. 필자의 경우에도 예전에 쓰던 리눅스 머신을 다른 네트워크에 연결시키면서 유동IP를 통해서 새로운 IP주소를 부여받았지만, /etc/hosts 파일에는 예전에 이동하기 전의 IP주소가 기록되어 있는 것을 발견했다.


아래와 같이 /etc/hosts 파일에서 리눅스 머신 이름에 매핑되어 있는 IP주소를 올바른 IP주소로 변경하거나, 아예 해당 라인을 삭제함으로써 해결할 수 있다. 그러나 해당 라인을 아예 삭제할 경우, 상황에 따라 네트워크에 연결하는 특정 프로그램이 작동하지 않을 수도 있으므로 삭제하기 전에 확인이 필요하다.


127.0.0.1  localhost

192.168.1.6  usera-Linux    # IP주소를 올바르게 맞추거나, 해당 라인 삭제




반응형
블로그 이미지

Bryan_

,
반응형


* 여러 파일을 포함하는 디렉토리 전체를 원격 컴퓨터에 전송하기

"-r" 옵션을 주면 디렉토리를 전송할 수 있다.

$ scp -r [디렉토리_이름] [원격지_아이디]@[원격지_주소]:[경로]


예제:

$ scp -r /home/usera/test/ cdsn@192.168.2.8:/home/remoteuser/exp/

이렇게 하면 원격지 컴퓨터의 exp 디렉토리 안에 test 디렉토리가 복사된다.




* 원격 컴퓨터로부터 여러 파일을 포함하는 디렉토리 전체를 받기

$ scp -r [원격지_아이디]@[원격지_주소]:[보내는_디렉토리_경로] [경로]


예제:

$ scp -r remoteuser@192.168.2.8:/home/remoteuser/exp/ /home/usera/

이렇게 하면 로컬 컴퓨터의 usera 디렉토리 안에 exp 디렉토리가 복사된다.




* 여러 개의 파일을 원격 컴퓨터로 보내기

여러 개의 파일을 보낼 때는 그냥 띄어쓰기로 구분해서 파일 이름을 나열하면 모두 전송된다. 만약 공백이 있는 파일 여러개를 보내고 싶다면 파일 하나씩 쌍따옴표(")로 둘러싸면 된다.

$ scp [파일명1] [파일명2] [원격지_아이디]@[원격지_주소]:[받는_위치]


예제:

$ scp /home/usera/111.txt /home/usera/222.txt  remoteuser@192.168.2.8:/home/remoteuser/exp/

이렇게 하면 원격지 컴퓨터의 exp 디렉토리 안에 111.txt와 222.txt가 복사된다.


$ scp "tcp 1111.txt" "tcp 9999.txt" remoteuser@192.168.2.8:/home/remoteuser/exp/

이렇게 하면 띄어쓰기가 포함된 두 개의 파일(tcp 1111.txt, tcp 9999.txt)이 원격지 컴퓨터의 exp 디렉토리 안에 복사된다.




* 원격 컴퓨터에 있는 여러 개의 파일을 로컬 컴퓨터에 받기

하나의 원격지 컴퓨터에 있는 여러 개의 파일을 받을 때는 원격지 주소까지 쓰고 나서 콜론(:) 뒤에 쌍따옴표(")로 둘러싼 영역 안에 여러 개의 파일명을 써주면 된다. 만약 보내는 파일명이 공백을 포함하는 경우에는 그냥 따옴표(')로 해당 파일명을 둘러싸도록 한다.

$ scp [원격지_아이디]@[원격지_주소]:"[파일명1] [파일명2] [파일명3]" [받는 위치]


예제:

$ scp remoteuser@192.168.2.8:"/home/remoteuser/111.txt /home/remoteuser/222.txt" /home/usera/

이렇게 하면 원격지에 있는 111.txt, 222.txt 파일들이 usera 디렉토리 안에 복사된다.


$ scp remoteuser@192.168.2.8:"'/home/remoteuser/tcp 1111.txt' '/home/remoteuser/tcp 9999.txt'" /home/usera/

이렇게 일반 따옴표를 써서 공백이 있는 파일 두 개를 받을 수 있다.




* 아직 되는지 알 수 없는 부분

한 개의 파일을 받을 때 받는 쪽에서 파일이름을 바꿔서 지정할 수는 있지만, 여러 개의 파일을 받을 때 파일 이름을 각각 바꿀 수 있는 방법은 찾지 못했다. 즉, 명령어 한 줄로 여러 개의 파일을 보낼 수는 있지만, 받는 쪽에서 그 여러 개의 파일 이름을 고치고 싶은데 어떻게 해야할 지 아직 모르겠다.

아무래도 scp 명령을 통해서 일단 파일들을 모두 받은 이후에 mv 명령으로 수정하는 방법이 현실적이라고 생각된다.




반응형
블로그 이미지

Bryan_

,
반응형

리눅스 콘솔에서 아래 명령을 통해서, 리눅스의 architecture를 확인할 수 있다.

$ uname -m


위의 명령을 쳤을 때,

i686 이 출력되면 32-bit,

x86_64 가 출력되면 64-bit 시스템이다.



반응형
블로그 이미지

Bryan_

,