반응형
반응형
설치 환경 확인리눅스에 Docker 설치 시 확인해야 할 사항호스트 운영체제가 최소한 3.10 버전 이상을 사용해야 도커 컨테이너를 정상적으로 사용할 수 있다.도커는 64비트에 최적화돼 있으므로 32비트는 권장하지 않는다.sudo 명령어를 통해 설치하거나 root 권한을 소유한 계정에서 설치를 진행해야 한다.uname -rcat /etc/*release* 1. Docker 설치docker 설치는 모두 sudo 권한을 가진 상태에서 실행한다.1.1) Docker 패키지 업데이트기존 패키지 목록 업데이트를 한다.apt-get update 1.2) 필수 패키지 설치Docker 설치에 필요한 필수 패키지를 설치한다.apt-get install apt-transport-https ca-certificates c..
* Ubuntu 22.04 LTS를 기준으로 작성되었으며, Ubuntu가 설치되어 있다고 가정* Ubuntu 초기 설정부터 ELK 구축 및 가상 네트워크 장비 연동까지 실습 1. Ubuntu 22.04 초기 설정 1.1) Ubuntu 설치 후 최신 패키지 업데이트 및 업그레이드- 필자는 kakao mirror 서버로 변경 후 진행함sudo apt updatesudo apt upgrade -y 1.2) 기본 패키지 설치- 기본적인 유틸리티와 개발 도구를 설치sudo apt install curl gnupg apt-transport-https -y 1.3) netplan 초기 설정- 인터페이스 명은 'ip link show' 명령어를 통해 확인 가능#This is the network config writ..
Socket 통신 Socket 특성 Socket 생성 Linux Socket 통신 과정 오늘은 소켓 통신에 대해 정리했던 글을 포스팅하려고 한다. 일상생활에서 전구 중 나사 형태로 돌려서 넣거나 빼는 형태를 소켓이라 하고, 그래픽 카드와 같은 부품을 메인보드에 장착하는 부품도 소켓이라고 한다. 즉, 소켓(Socket)은 뭔가를 끼워 넣어 접속시키는 기구를 말한다. 1. Socket 통신 소켓 통신은 서버 클라이언트 구조에서 특정한 포트를 통해 서로 양방향 통신하는 것을 말한다. 소켓을 이용한 TCP/IP 프로그래밍을 소켓 프로그래밍이라 한다. 일반적으로 소켓 프로그래밍이라 하면 유닉스/리눅스 환경을 말하고, 윈도우 환경에서는 WinSock(Windows Socket, 윈속)이라는 명칭을 사용한다...
dump_stack() 함수 개념dump_stack() 함수 사용법 및 동작dump_stack.c 원형 코드printk와 dump_stack 함수 차이점 1. dump_stack() 함수 개념 dump_stack은 리눅스 커널에서 현재 호출 스택을 출력하는 데 사용되는 디버깅 함수다. 이 함수는 커널의 다양한 상황에서 유용하게 사용될 수 있으며, 특히 커널 패닉이나 오류가 발생했을 때 호출 스택을 출력하여 문제를 진단하는 데 도움이 된다. 2. dump_stack() 함수 사용법 및 동작 dump_stack 함수의 동작목적: 커널에서 현재 호출 스택을 출력하여 디버깅 정보를 제공한다.사용 위치: 주로 커널의 디버깅 코드, 오류 처리 루틴, 또는 커널 패닉 처리 루틴에서 사용된다.출력 내용: 현재..
디바이스 드라이버(Device Driver)란?디바이스 드라이버는 컴퓨터 운영 체제와 하드웨어 장치 간의 통신을 가능하게 하는 소프트웨어라고 정의하는데, 처음 들으면 이게 무슨 의미인지 감도 안 잡히는 사람도 있다.(그게 나였다.) 그래서 오늘은 내가 신입사원 때 공부했던 디바이스 드라이버(DD)에 대해 조금 더 쉽게 풀어서 써보고자 한다.일상생활 속에서 디바이스 드라이버의 역할을 예를 들어 보겠다. 무선 마우스를 컴퓨터에 연결해서 사용하려고 할 때, 드라이버를 설치하라는 메시지를 볼 수 있다. 마우스를 컴퓨터에 연결했을 때, 마우스 자체는 클릭하거나 포인터를 움직이는 동작을 전달할 수 있지만, 컴퓨터가 이를 이해하려면 마우스의 동작을 컴퓨터 명령어로 변환하는 과정이 필요하다. 디바이스 드라이버(DD)..
Debugging이란?Linux와 C 프로그래밍에서의 디버깅 예시코어 덤프(Core Dump) / 메모리 덤프(Memory Dump) / 시스템 덤프(System Dump)GDB를 이용한 디버깅 예시 1. Debugging 이란?"버그"라고 불리는 오류를 찾아내고 수정하는 과정을 말한다. 모든 소프트웨어 개발 과정에서 필수적인 단계로, 프로그램의 정확성, 안정성 그리고 성능을 보장하기 위해 수행된다. 리눅스와 C 프로그래밍에서 디버깅의 툴의 예는 아래와 같다. 2. Linux와 C 프로그래밍에서의 디버깅 예시 1. GDB 사용: GNU 디버거(GDB)는 C, C+, Rust, Fortran 등의 언어로 작성된 프로그램을 위한 디버깅 도구이다. GDB는 프로그램 개발과 테스트 단계에서 주로 사용하며..