Journey to Security/리눅스

[Linux] APT 저장소 방식으로 VS Code 설치하기 (작동 원리)

Cordilog 2026. 2. 10. 19:30

리눅스에서 VS Code를 설치하는 방법은 크게 Snap공식 APT 저장소 방식으로 나뉜다.

Snap은 간편하지만, 샌드박스(Sandbox) 내에서 실행되기 때문에 시스템의 컴파일러나 디버거와의 연동이 까다롭고 실행 속도가 상대적으로 느리다는 단점이 있다.

 

반면, 공식 저장소를 등록하는 방식은 시스템 자원에 직접 접근하기 쉬워서 개발 도구 간의 호환성이 뛰어나고, apt upgrade 명령어로 다른 패키지들과 함께 일괄 업데이트가 가능하기 때문에 더 효율적이다.

 

1. 필수 유틸리티 설치

sudo apt install -y wget gpg
  • 작동 원리: 시스템에 패키지를 다운로드wget보안 검증을 위한 gpg 도구가 있는지 확인하고 설치한다.
  • 패키지 역할: wget은 웹에서 파일을 가져오는 통신 도구이며, gpg는 뒤에서 가져올 보안키를 해독하고 등록하는 데 사용된다.

2. Microsoft GPG 키 등록 (보안 인증)

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /usr/share/keyrings/microsoft.gpg > /dev/null
  • 작동 원리: 공개키 암호화 방식을 이용해 패키지의 무결성을 보장하는 과정이다.
  • 흐름 설명:
    1. Microsoft 공식 서버에서 암호화된 공개키(.asc)를 가져온다.
    2. gpg --dearmor를 통해 이 키를 리눅스 시스템이 읽을 수 있는 바이너리 형태(.gpg)로 변환한다.
    3. /usr/share/keyrings/ 폴더에 저장하여, 향후 설치할 파일이 "진짜 Microsoft가 보낸 파일"인지 검증하는 기준으로 삼는다.

3. VS Code 공식 저장소(Repository) 추가

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
  • 작동 원리: 리눅스 패키지 관리자(apt)가 소프트웨어를 어디서 찾아야 할지 알려주는 지도를 만드는 과정이다.
  • 구성 요소:
    • arch=amd64: 64비트 아키텍처용 패키지를 받겠다는 의미다.
    • signed-by=/usr/share/keyrings/microsoft.gpg: 2단계에서 등록한 키로 서명된 패키지만 믿겠다는 설정이다.
    • vscode.list: 이 경로에 설정 파일을 저장함으로써 시스템이 VS Code 서버 주소를 인식하게 된다.

/etc/apt/sources.list.d/ 디렉토리의 역할

리눅스(Debian/Ubuntu 계열)는 기본적으로 /etc/apt/sources.list라는 메인 파일에 업데이트 서버 주소들을 저장한다.

하지만 모든 프로그램 주소를 한 파일에 몰아넣으면 관리가 힘들고 설정이 꼬일 수 있다.

  • 모듈화 관리: sources.list.d 디렉토리는 외부 소프트웨어(VS Code, Google Chrome, Docker 등)를 위한 별도의 명함 꽂이 역할을 한다.
  • 독립성: 나중에 VS Code를 삭제하거나 업데이트를 중단하고 싶을 때, 메인 설정 파일을 건드릴 필요 없이 vscode.list 파일만 지우면 정리된다.

4. 패키지 인덱스 업데이트

sudo apt update
  • 작동 원리: 로컬 시스템의 소프트웨어 목록(Index)을 최신화한다.
  • 설명: 새로 추가한 VS Code 저장소에 어떤 버전의 파일이 있는지 서버에 접속해 목록을 받아오는 단계다. 이 과정을 거쳐야만 apt가 code라는 패키지의 존재를 알게 된다.

시스템이 주소를 인식하는 과정 (apt update)

sudo apt update를 실행하면 시스템 내부에서는 다음과 같은 일이 벌어진다.

  1. 순회: apt는 /etc/apt/sources.list와 /etc/apt/sources.list.d/*.list에 있는 모든 파일을 훑는다.
  2. 접속: vscode.list에 적힌 URL로 접속하여 InRelease 혹은 Release라는 이름의 색인 파일을 요청한다.
  3. 검증: 이때 아까 등록한 GPG 키를 사용하여, 서버에서 보내온 색인 파일이 Microsoft에서 보낸 것이 맞는지 대조한다.
  4. 동기화: 검증이 완료되면 내 컴퓨터의 로컬 데이터베이스에 "현재 VS Code의 최신 버전은 X.XX이며, 다운로드 경로는 여기다"라는 정보를 기록한다.

이 과정이 끝난 후에야 sudo apt install code를 입력했을 때, 시스템이 방황하지 않고 정확히 Microsoft 서버에서 파일을 가져올 수 있게 된다.

 

5. VS Code 설치 및 의존성 해결

sudo apt install -y code
  • 작동 원리: 실제 설치 파일(deb 패키지)을 내려받아 설치를 진행한다.
  • 의존성(Dependency) 처리: VS Code가 작동하려면 폰트 라이브러리, 통신 모듈 등 여러 기초 소프트웨어가 필요하다. apt 관리자는 시스템을 검색하여 부족한 구성 요소가 있다면 자동으로 함께 설치하여 실행 환경을 완성한다.

요약

단계 키워드 목적
1 도구 준비 파일 다운로드 및 보안 처리를 위한 기본 도구 설치
2 공개키(GPG) 위변조되지 않은 공식 패키지인지 검증하는 지표 등록
3 저장소(Repo) 시스템에 VS Code 다운로드 주소를 알려줌
4 인덱스 동기화 내 PC의 소프트웨어 목록에 VS Code 정보를 업데이트
5 패키지 설치 실제 프로그램 설치 및 필요한 라이브러리(의존성) 자동 구성

 

 

이제 터미널에 code를 입력하면 VS Code가 즉시 실행될 것이다.