순간을 잡아두자 .. RSS 태그 관리 글쓰기 방명록 butteryoon+tistory@gmail.com
리눅스 (2)
2015-09-06 23:36:53

VirtualBox 에 Guest OS 설치

예전 개발용 VMware용 이미지들이 있었는데 Disk를 바꾸면서 이상이 생겼는데 이미지들이 제대로 동작하지 않음. 어쩔 수 없이 Virtual Box용 OS를 새로 설치하기로 함. ( 왜! 그랬을까?)

우분투를 깔고 싶었으나 개발환경을 위해 RHEL 4.8 ISO 이미지 다운로드.

삽질

ftp.kaist.ac.kr 미러에는 RHEL은 제공하지 않아 삽질하다 아래 미러 검색 (CentOS를 받으려 했는데 커널 버전과 컴파일러 환경이 확실하지 않아 Redhat을 선택)

ftp://ftp.bupt.edu.cn/pub/os-images/Redhat/RHEL6.6/ 느림. (첫 번째 삽질)

리눅스 가상디스크 설정 시 저장소 컨트롤러를 SATA로 하면 “Hardware Error”가 발생한다거나 설치 과정 중 패키지 선택과정을 그냥 넘어간다던가 하는 일이 발생, IDE로 하니 문제없이 설치 (두 번째 삽질)image

호스트 키 조합 변경

설치 이후에는 터미널만 사용하니 상관없는데 최초 설치 시 IP설정을 위해 Virtual Box로 들어갔다가 마우스가 잡혀 삽질. 오른쪽 Ctrl 키를 누르면 빠져 나올 수 있다는데 내 노트북에는 오른쪽 Ctrl 키가 없음.

삽질하다가 아래 설정에서 “호스트 키 조합” 단축키 바꿈.

image

네트워크 설정 (호스트 전용 어댑터)

이제 Guest OS의 네트워크 설정은 “호스트 전용 어댑터”로 하기로 한다. 각 Guest OS마다 수동을 설정해야 하긴 하지만 복잡하지 않고 깔끔. 단 Windows의 인터넷공유 기능을 이용해야 Guest OS에서 외부 연결이 가능하다.

image

image

이제 삽질은 그만하고 일.하.자 ..

2016년2월26일 덧붙임.

PC의 WiFi를 이용하여 AP를 구성 (netsh 명령어 이용) 했더니 인터넷연결공유(ICS)는 하나의 연결만 제공하는 듯하다. (또 삽질)

목적은 Wifi 인터넷연결공유를 제공하면서 VirtualBox GuestOS를 외부 연결 할 수 있도록 만드는 것

브리지 어댑터는 GuestOS에 가상 NIC를 설정하고 (NIC는 호스트의 어댑터 종류를 선택) DHCP를 통해 공유기를 통해 IP를 할당 받는 방식..

그래서 아래와 같이 네트워크 설정을 “브리지 어댑터”로 변경 후 eth0 설정을 DHCP로 변경 후 네트워크 재시작 하면 회사내의 공유기로 부터 IP를 받아온다. (성공)

# /etc/init.d/network restart 

image

2012-09-08 00:07:33

리눅스에서 시스템콜 함수를 사용할 때 에러코드 정의

/usr/include/asm-generic/errno-base.h
 
#ifndef _ASM_GENERIC_ERRNO_BASE_H
#define _ASM_GENERIC_ERRNO_BASE_H

#define EPERM            1      /* Operation not permitted */
#define ENOENT           2      /* No such file or directory */
#define ESRCH            3      /* No such process */
#define EINTR            4      /* Interrupted system call */
#define EIO              5      /* I/O error */
#define ENXIO            6      /* No such device or address */
#define E2BIG            7      /* Argument list too long */
#define ENOEXEC          8      /* Exec format error */
#define EBADF            9      /* Bad file number */
#define ECHILD          10      /* No child processes */
#define EAGAIN          11      /* Try again */
#define ENOMEM          12      /* Out of memory */
#define EACCES          13      /* Permission denied */
#define EFAULT          14      /* Bad address */
#define ENOTBLK         15      /* Block device required */
#define EBUSY           16      /* Device or resource busy */
#define EEXIST          17      /* File exists */
#define EXDEV           18      /* Cross-device link */
#define ENODEV          19      /* No such device */
#define ENOTDIR         20      /* Not a directory */
#define EISDIR          21      /* Is a directory */
#define EINVAL          22      /* Invalid argument */
#define ENFILE          23      /* File table overflow */
#define EMFILE          24      /* Too many open files */
#define ENOTTY          25      /* Not a typewriter */
#define ETXTBSY         26      /* Text file busy */
#define EFBIG           27      /* File too large */
#define ENOSPC          28      /* No space left on device */
#define ESPIPE          29      /* Illegal seek */
#define EROFS           30      /* Read-only file system */
#define EMLINK          31      /* Too many links */
#define EPIPE           32      /* Broken pipe */
#define EDOM            33      /* Math argument out of domain of func */
#define ERANGE          34      /* Math result not representable */

#endif