소켓 통신/POSIX

POSIX Docker 설치와 Ubuntu 환경 세팅

마달랭 2024. 11. 24. 21:17

개요

POSIX환경에서의 소켓 통신을 구현하기 앞서 Linux환경의 세팅을 Docker를 통해 진행해 준다.

 

https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

 

위 사이트를 방문하여 자신의 OS 환경에 맞는 Docker Desktop을 다운로드 해준다.

나는 인텔 칩을 사용하는 Window환경이므로 AMD64 환경을 다운로드 해주었다.

 

설치 파일을 다운로드 받고 실행한 뒤 모두 일반적인 세팅 방식으로 진행해 주면 된다.

설치가 완료될 경우 재부팅을 하고 나면 Docker Desktop을 사용할 준비가 완료되었다.

 

 

ubuntu 설치 및 실행

docker를 실행하고 상단 바에서 ubuntu를 검색한 후 설치를 진행해 준다.

 

 

pull 이후 run을 실행하면 우분투 환경이 실행된다.

 

 

파일 및 도구 설치

POSIX 환경에서 C 서버를 구현하려면 다음과 같은 설치 파일과 도구를 활용할 수 있다.

이들은 Ubuntu 컨테이너에서 POSIX 환경을 설정하고 C 서버를 개발하는 데 매우 유용하다.

 

1. 필수 패키지 설치

apt update
apt install -y build-essential gcc make manpages-dev

 

 

  • build-essential: GCC 컴파일러 및 관련 도구(예: make)를 포함한 필수 패키지.
  • gcc: GNU C 컴파일러.
  • manpages-dev: POSIX 표준 시스템 호출 및 라이브러리에 대한 문서.

 

 

2. POSIX 스레드(pthread) 및 네트워킹 개발

apt install -y libpthread-stubs0-dev

 

POSIX 스레드 API를 활용할 수 있는 개발 파일.

 

 

3. 네트워크 관련 디버깅 도구

apt install -y net-tools iputils-ping

 

 

  • net-tools: 네트워크 설정 확인(ifconfig, netstat 등).
  • iputils-ping: 네트워크 연결 상태를 확인.

해당 도구 설치 후 ifconfig를 사용하면 docker 환경의 ip를 알 수 있다.

 

 

4. 디버깅 및 분석 도구

apt install -y gdb valgrind strace lsof

 

 

  • gdb: C 프로그램 디버거.
  • valgrind: 메모리 누수 및 성능 분석 도구.
  • strace: 시스템 호출 추적.
  • lsof: 열린 파일 및 네트워크 소켓 모니터링.

 

 

5. 텍스트 편집기 및 빌드 도구

apt install -y vim nano cmake

 

 

  • vim, nano: 소스 코드 작성용 텍스트 편집기.
  • cmake: 복잡한 빌드 설정을 관리.

주로 vim을 사용하여 소스 코드를 편집할 예정이니 필요하다.

 

 

6. POSIX 환경 테스트용 유틸리티

 

apt install -y curl wget tcpdump nmap

 

 

  • curl / wget: HTTP 클라이언트 테스트 도구.
  • tcpdump: 네트워크 트래픽 캡처 및 분석.
  • nmap: 네트워크 스캔 및 포트 테스트.

 

 

버전 확인

필수 설치 파일과 유용한 도구 설치를 완료하였다면 버전을 확인해 보자

 

 

모두 정상적으로 버전 정보가 확인 된다면 로컬 환경에서의 C 소켓 통신을 시작할 준비가 되었다.

 

728x90