Infra

· Infra/Linux
내가 도저히 부팅무터 마운트까지… 여러 세부 과정들이 이해가 되지 않아 매우 쉬운 비유와 함께 정리한 글이다.해당 정리글에서는 MBR을 통한 파티셔닝만으로 설명을 합니다.최근에는 GPT 방식 또한 많이 사용됩니다.Ch.1 파티션 생성"디스크를 큰 땅이라고 비유한다. 이 땅에 수영장을 만들 계획이다. 먼저 땅의 어느 부분을 사용할지 구역을 나눠야 한다.”fdisk /dev/sdb 파티셔닝은 곧, 매우 큰 디스크라는 땅에 경계선을 긋는 작업이라고 볼 수 있다.아직 아무것도 없는 빈 땅에 "여기서 여기까지는 1번 구역"이라고 표시하는 거다.아직 아무것도 없다니?→ 아직까지 물리 디스크만 존재하고 우리가 설정해준 것이 아무것도 없다.그럼 실제 fdisk가 하는 일은 뭘까?디스크 맨 앞(섹터 0)의 MBR을 읽는..
· Infra
오픈 소스 기여 도전기 Ep.1 오픈 소스 기여 도전기 Ep.2 위 글들에 이은 마지막 글이다.아침에 알림을 확인해보니 아래와 같은 리뷰가 달려있었다. 간단히 말해서 코드 위치만 수정해달라는 거였다. 모든 경우에 대해 FileManager로 file 존재여부를 검사하기에는 불필요하다고 리뷰가 달렸다. 그래서 해당 부분만 빠르게 업데이트했다. 우선적으로 올렸던 containerization에 merge가 되었다!! 2026.01.12 오후 1시... 아직까지 Star 8000개인 프젝에 내가 젤 최근 커밋으로 찍혔다 우하하container: 현재 containerization이 업데이트되면서 기존 container 내부 containerization 버전을 고쳐야했다. 현재 라이브러리 업데이트를 ..
· Infra/Linux
터미널 환경을 자주 사용하다 보면 sudo라는 명령어를 정말 많이 쓰게 된다. 이번 시간에는 sudo는 왜 강력하며, 어떤 한계가 있는지에 대해 알아본다.sudo?SuperUser DO의 약자로, 일반 사용자가 잠깐 동안 root(최고 관리자) 권한을 빌려서 명령을 실행할 수 있게 해주는 도구다.이전에 이렇게 많이 사용했다. vagrant 사용자라고 가정을 해보자.# 일반 사용자로는 실패$ cat /etc/shadowcat: /etc/shadow: Permission denied# sudo를 붙이면 성공$ sudo cat /etc/shadowroot:!:19000:0:99999:7:::... 왜 강력한 걸까?모든 파일 권한을 무시할 수 있다.모든 이라는 말에 딴지를 걸면… 어쩔 수 없지만, 대부분이라고 ..
· Infra
지난 1부 연구에서는 기여자가 apple/container 프로젝트를 처음 접하고, 개발 환경을 설정하며 기여를 결심하게 된 배경, 그리고 Issue 선정에 대한 내용을 다루었다. 이제 Issue는 선정했다.'상대 경로 입력 시 에러가 난다' -> '경로를 변환해주면 된다' 라는 생각을 가지고 접근했다. 이번 편에서는 PR을 올리기까지의 과정, 그리고 메인테이너의 피드백을 받기까지의 과정에 대해 다룬다.문제 정의 및 기술적 배경: Issue #9621. apple/container 아키텍쳐먼저 apple/container 기술적 기반을 다시 정리해보자. 이 프로젝트는 일반적인 리눅스 컨테이너 런타임(Docker, Podman 등)과 달리, macOs의 Virtualization.framework를 활용하..
· Infra
오픈소스 소프트웨어(OSS) 컨트리뷰트에 대한 관심이 생겼다. 이것저것 링크드인, 주변인들의 이야기를 듣다보니 관심이 생기는 게 당연할 건지도.? 기존의 방식이 코드를 한 줄 한 줄 뜯어보는 '바텀업(Bottom-up)' 식이었다면, 이제는 AI 에이전트를 활용해 프로젝트의 맥락을 먼저 파악하고 최적의 기여 지점을 타격하는 '탑다운(Top-down)' 방식이 주목받고 있다. 이번 포스팅에서는 Medium의 'OpenSource Contributors' 에서 제안된 AI 기반 분석 프레임워크를 활용하여, Apple의 공식 프로젝트인 apple/container를 분석하고, 기여할 이슈(Issue #962)를 선정하기까지의 치열한 의사결정 과정, 그리고 기여를 도전하는 과정에 대해 작성을 해볼 예정이다.- ..
· Infra/Linux
1. 커널 수준에서의 root 권한 처리 메커니즘리눅스 커널은 파일에 접근할 때 해당 프로세스의 자격 증명(Credentials)을 확인한다. 일반 사용자는 파일의 아이노드(Inode)에 기록된 9비트 권한(rwxrwxrwx)을 기준으로 통제받지만, root는 다르다. CAP_DAC_OVERRIDE의 동작커널 내부에는 권한을 세분화한 Capability라는 체계가 존재한다.root(UID 0) 프로세스는 기본적으로 모든 Capability를 소유한다.그 중 CAP_DAC_OVERRIDE는 파일의 소유주나 권한 비트에 상관없이 읽기, 쓰기, 실행을 허용하는 핵심 권한이다.커널의 권한 확인 함수capability를 확인하여 CAP_DAC_OVERRIDE가 있으면 권한 부족을 무시SELinux/AppArmor..
· Infra/Linux
금일 수업시간에 ../../../ … 무한히 반복되어 root 그 이상의 파일 시스템에 접근(?) 하려했을 때도 여전히 루트 디렉토리를 가리키는 현상을 보았습니다.이는 파일시스템의 근본적인 설계와 관련이 있는데 한번 알아보려고 합니다.inode파일시스템에서 모든 파일/디렉토리는 고유한 inode번호를 가집니다. inode에는 메타데이터(권한, 소유자, 크기, 데이터 블록 위치 등)가 저장되고, 파일명은 디렉토리 엔트리에 저장됩니다.자세한 inode 구조는 아래의 링크를 참고하면 좋을 거 같습니다.[UNIX] Inode, 디렉터리 [UNIX] Inode, 디렉터리리눅스와 디렉터리 리눅스의 파일 구분 리눅스에서는 파일을 일반 파일과 특수 파일, 디렉터리로 구분 디렉터리는 해당 디렉터리에 속한 파일을 관리하는..
· Infra
LAN과 WAN의 주요 차이점은 무엇인가요?LAN과 WAN의 가장 큰 차이 중 하나는 네트워크 규모입니다.LAN의 경우 Local Area Network로 일반적으로 사무실, PC방과 같은 곳에서 사용되며 네트워크 관리자가 직접 관리할 수 있습니다.WAN의 경우 Wide Area Network로 LAN간의 연결을 담당하며, ISP에서 제공하는 서비스입니다.WAN이 제공하는 기능 중 하나는 무엇인가요?LAN간의 데이터 송수신이 가능하도록 통신망 연결을 해주는 기능을 합니다.네트워크 토폴로지 중 하나인 스타 토폴로지의 주요 특징은 무엇인가요?Star Topology의 경우 중앙 집중형 구조를 이루고 있으며, 중앙 노드를 기준으로 여러개의 노드가 연결되어 있는 형태로 이루어져있습니다.중앙 집중형이라 유지보수가..
· Infra
목차로컬 개발 환경 구성AWS 인프라 구축CI/CD 자동화많은 과정이 내포되어 있지만, 함축해서 작성했다.Step1: 로컬 개발 환경 구성 (Spring Boot + Docker)혼자 개발할 땐 로컬 DB만 깔아서 쓰면 그만이지만, 팀 프로젝트와 배포까지 고려한다면 처음부터 격리된 환경(Docker)을 잡고 가는 것이 좋다고 판단했다. 1. 기술 스택 (Tech Stack)가장 보편적이고 안정적인 스택을 선정했다.Language: Java 17Framework: Spring Boot 3.5.9Database: MySQL 8.0Build Tool: Gradle 2. 보안과 환경 변수 관리 (.env)처음 환경 세팅을 할 때 MySQL user, password를 그대로 노출하는 것에 거부감이 느껴졌다. 이..
· Infra/Docker
https://www.udemy.com/course/docker-kubernetes-2022/ 자체 EC2 인스턴스 관리의 부담을 덜기 위해 클라우드 서비스 프로바이더 기술을 사용한다. 이번 시간에는 AWS ECS를 활용한 프로덕션 환경 구성에 대해 알아본다.ECS 아키텍쳐, 개념ECS는 AWS의 컨테이너 오케스트레이션 도구로, 다음 4가지 계층으로 구성된다. 개념설명역할Cluster컨테이너가 실행되는 논리적 네트워크 공간인프라의 경계 (VPC 설정 등)Service테스크의 실행 관리자 (Auto Scaling, 로드 밸런싱)n개 테스크 유지와 같은 역할을 수행Task Definition애플리케이션의 블루프린트- Docker Image, CPU/RAM, Envdocker-compose.yml과 유사한 역..
ParkSeongGeun
'Infra' 카테고리의 글 목록