개요
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 소켓 통신을 시작할 준비가 되었다.