컴퓨터에 전원을 넣은 순간부터, 리눅스가 부팅을 완료하기까지는 참으로 여러가지 일들이 컴퓨터 내부에서 일어난다.
lilo 혹은 grub의 구동에서 부터 커널의 로딩까지…
다음의 링크에 이에 관한 상세한 설명이 담겨있다.
컴퓨터에 전원을 넣은 순간부터, 리눅스가 부팅을 완료하기까지는 참으로 여러가지 일들이 컴퓨터 내부에서 일어난다.
lilo 혹은 grub의 구동에서 부터 커널의 로딩까지…
다음의 링크에 이에 관한 상세한 설명이 담겨있다.
과제로 제출하기 위한 프로그래밍을 하던 도중 이상한 오류를 발견했다…
숫자인 문자열을 double, 혹은 float 형으로 변환해주는 strtod() 라는 함수를 사용하면서 생긴 오류였는데 도통 원인을 발견하지 못하였었다..
어떤 문자열을 숫자로 바꾸라고 입력하면….이상하게도 엉뚱한 값과 -nan 이라는 문자열만 출력되는 것이었다.
nan 이라는 것이 무슨뜻일까…찾아보니 Not A Number 라는 뜻이었다..
왜 그럴까…
한참 동안이나 디버깅과 여러가지 데이터 값들을 입력해보고 여러모로 원인을 찾아보았다.
하지만 코드상의 문제는 보이지 않았다.
당연했다. 함수하나 불러쓰는 것인데 무슨 문제가 있을려구..
한참을 찾고 찾다…한 2시간이 흐른뒤….어이없는 실수를 발견했다..
해당 함수를 쓰기위한 헤더파일을 선언하지 않았던 것…
하하하하하하……
그저 웃음만 나온다.
나름 소스를 깔끔하게 작성한다고 .c 파일과 .h 로 구분해 놓은것이 화근이었다.
물론 그것이 잘못된 것이 아니었다.
하지만 헤더파일 구분만 해놓고 헤더파일 선언을 하지 않은 나의 불찰…
으이구….다음부터는 조심하자..
리눅스에서 돌아가는 훌륭한 가상머신 Virtual box!
하지만 NAT 구성을 사용할 경우 웬일인지 호스트에서 게스트로의 Ping 과 ssh, telnet 접속이 되지 않았다..
그래서 브릿지 구성을 통하여 문제를 해결했다.
먼저 임의의 디렉토리에 다음의 스크립트를 작성한다.
위의 스크립트 파일 구성은 브릿지 네트워크를 사용하는 가상 머신이 두개일 때 사용하는 스크립트이다.
만약 세개 이상이 필요하다면 원하는 숫자만큼 tap 인터페이스를 늘리고 br0에 붙여서 사용하면 된다.
다음은 종료시 사용하는 스크립트이다.
이렇게 만들어진 스크립트를 사용하기 위해서는 다음의 작업들이 더 필요하다.
먼저 네트워크 세팅에서 호스트 네트워크로 변경한다.
그런 다음, 호스트 인터페이스 설정에서 설정 프로그램에 startup.sh, 종료 프로그램에 stop.sh, 인터페이스 이름에 설정한 tap0, tap1 을 설정한다. 다음은 설정 예이다.
gksudo /home/pchero/virtual_box/starttun.sh
gksudo /home/pchero/virtual_box/stop.sh
앞쪽에 붙어있는 gksudo 는 root의 권한으로 사용하기 위한 명령이다.
….하지만 나의 경우는 이상하게 gksudo 로 설정을 해도 되지 않았다. 일일이 하나씩 스크립트를 수동으로 실행을 시켜야 되었다..
왜그럴까….;;;