0Pricing
Linux Server Deployment & SSH Mastery · 강의

소프트웨어 저장소 관리

타사 저장소를 추가하고 패키지 소스를 이해하며 복잡한 소프트웨어 설치에서 종속성 충돌을 해결합니다.

소프트웨어 저장소 관리은(는) CoddyKit의 무료 Linux Server Deployment & SSH Mastery 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Linux Server Deployment & SSH Mastery 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

소프트웨어 저장소란 무엇인가요?

Linux에 소프트웨어를 설치할 때 시스템은 아무 곳에서나 소프트웨어를 다운로드하지 않습니다. 소프트웨어 저장소를 사용합니다.

저장소(또는 'repo')는 소프트웨어 패키지를 저장하고 관리하는 중앙 위치입니다. Linux 서버를 위한 앱 스토어라고 생각하시면 됩니다!

  • 신뢰성: 패키지는 일반적으로 사용 중인 Linux 배포판에서 작동하도록 테스트됩니다.
  • 업데이트: 저장소를 사용하면 소프트웨어를 최신 상태로 유지하기 쉽습니다.
  • 종속 항목: 필요한 모든 지원 소프트웨어(종속 항목)의 설치를 처리합니다.

공식 소스와 타사 소스

저장소는 일반적으로 두 가지 범주로 나뉩니다.

  • 공식 저장소: Linux 배포판(예: Ubuntu, CentOS)에서 관리합니다. 안정적이고 충분히 테스트된 소프트웨어가 포함되어 있습니다. 대부분의 일반적인 도구는 여기에서 제공됩니다.
  • 타사 저장소: 배포판이 아닌 개별 개발자나 조직에서 관리합니다. 더 최신인 소프트웨어 버전, 특수한 도구 또는 베타 버전을 제공할 수 있습니다.

타사 저장소가 유용할 수는 있지만 항상 주의해야 합니다. 보안 위험을 피하려면 신뢰할 수 있는 소스의 저장소만 추가하세요.

APT로 저장소 추가하기(Debian/Ubuntu)

Debian 및 Ubuntu 기반 시스템에서는 Advanced Package Tool(APT)이 소프트웨어를 관리합니다. 저장소 목록은 /etc/apt/ 아래의 파일에 기록되며, 주로 /etc/apt/sources.list와 /etc/apt/sources.list.d/의 파일을 사용합니다.

타사 저장소에는 특히 Personal Package Archives(PPA)를 사용할 때 add-apt-repository 명령을 자주 사용합니다.

새 저장소를 추가한 후에는 항상 sudo apt update를 실행하여 해당 저장소에서 최신 패키지 정보를 가져오세요.

APT 저장소: PPA 추가 예시

일반적인 PPA를 추가하는 방법을 살펴보겠습니다. 이 예시에서는 텍스트 편집기 Neovim의 최신 버전을 제공하는 PPA를 추가한 다음 패키지 목록을 업데이트합니다.

# Add the Neovim stable PPA
sudo add-apt-repository -y ppa:neovim-ppa/stable

# Update your package list to include the new repo's packages
sudo apt update

echo "Neovim PPA added and package lists updated!"

YUM/DNF로 저장소 추가하기(RHEL/CentOS)

Red Hat, CentOS 또는 Fedora 시스템에서는 yum(또는 후속 도구인 dnf)이 패키지를 관리합니다. 이러한 시스템은 .repo 파일을 사용하여 저장소를 정의합니다.

이 파일은 일반적으로 /etc/yum.repos.d/ 디렉터리에 있습니다. 각 .repo 파일은 이름, 기본 URL, GPG 키 정보와 같은 세부 정보와 함께 하나 이상의 저장소를 정의합니다.

.repo 파일을 만들거나 수정한 후에는 sudo dnf clean all(또는 yum clean all)을 실행한 다음 sudo dnf update(또는 yum update)를 실행하여 패키지 메타데이터를 새로 고쳐야 할 수 있습니다.

YUM/DNF 저장소: .repo 파일 만들기

다음은 공식 RHEL/CentOS 저장소에 없는 Google Chrome용 .repo 파일을 만드는 예시입니다. sudo 권한으로 파일에 기록하기 위해 tee를 사용합니다.

# Create a .repo file for Google Chrome
echo "[google-chrome]" | sudo tee /etc/yum.repos.d/google-chrome.repo
echo "name=Google Chrome" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "enabled=1" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "gpgcheck=1" | sudo tee -a /etc/yum.repos.d/google-chrome.repo
echo "gpgkey=https://dl.google.com/linux/linux_signing_key.pub" | sudo tee -a /etc/yum.repos.d/google-chrome.repo

echo "Google Chrome repository file created!"

GPG 키로 패키지 확인하기

타사 저장소를 추가할 때는 해당 저장소의 GPG (GNU Privacy Guard) 키도 반드시 가져와야 합니다. 이 키는 패키지의 진위 여부를 암호학적으로 확인하는 데 사용됩니다.

이를 통해 다운로드한 패키지가 변조되지 않았고 실제로 주장된 소스에서 제공되었는지 확인하여 시스템을 악성 소프트웨어로부터 보호할 수 있습니다.

  • APT: 키는 add-apt-repository에서 처리하거나 apt-key add로 직접 가져오는 경우가 많습니다.
  • YUM/DNF: 키는 .repo 파일에서 gpgkey=로 지정하고 rpm --import로 가져옵니다.
wget -qO - https://example.com/KEY.gpg | sudo apt-key add -
# Or for YUM/DNF:
sudo rpm --import https://example.com/KEY.gpg

종속 항목 충돌 처리

경우에 따라 서로 다른 저장소에서 동일한 패키지의 서로 다른 버전이나 종속 항목이 충돌하는 패키지를 제공할 수 있습니다. 이로 인해 종속 항목 충돌이 발생할 수 있습니다.

패키지 관리자는 일반적으로 이러한 충돌을 경고하고 해결 방법을 제안할 수 있습니다. 진단에 사용할 수 있는 일반적인 도구는 다음과 같습니다.

  • APT: apt policy <package-name>는 서로 다른 저장소에서 제공하는 사용 가능한 버전을 보여 줍니다.
  • YUM/DNF: dnf deplist <package-name>는 종속 항목과 이를 제공하는 패키지를 나열합니다.

타사 버전이 꼭 필요하고 잠재적인 위험을 이해하고 있는 경우가 아니라면 공식 저장소를 사용하는 것이 가장 좋습니다.

apt policy firefox
# Or for YUM/DNF:
dnf deplist firefox

저장소 우선순위 지정

동일한 패키지를 제공하는 저장소가 여러 개라면 패키지 관리자에게 어느 저장소를 우선할지 지정할 수 있습니다. 이를 저장소 우선순위 지정이라고 합니다.

  • APT: /etc/apt/preferences.d/에 파일을 만들어 '고정' 기능을 사용합니다. 특정 소스의 패키지에 'Pin-Priority'를 지정합니다. 우선순위 숫자가 높을수록(500 초과) 우선적으로 선택됩니다.
  • YUM/DNF: yum-plugin-priorities(또는 DNF에 내장된 기능)를 사용하면 .repo 파일에서 priority= 값을 설정할 수 있습니다(숫자가 낮을수록 우선순위가 높습니다).

이를 통해 안정적인 저장소와 최신 저장소를 안전하게 함께 사용할 수 있습니다.

# Example for APT pinning:
# File: /etc/apt/preferences.d/my-app
Package: my-app
Pin: origin "example.com"
Pin-Priority: 900

저장소 관리 확인

소프트웨어 저장소 관리에 대한 이해도를 확인해 보겠습니다.

복습: 저장소 완전 정복

축하합니다! 모든 Linux 관리자에게 중요한 기술인 소프트웨어 저장소 관리 방법을 배웠습니다.

  • 이제 공식 저장소와 타사 저장소의 차이를 이해합니다.
  • add-apt-repository(Debian/Ubuntu)를 사용하고 .repo 파일을 만들어(RHEL/CentOS) 저장소를 추가할 수 있습니다.
  • 패키지의 진위 여부를 확인하는 GPG 키의 중요성을 알고 있습니다.
  • 종속 항목 충돌을 처리하고 저장소 우선순위를 지정하는 방법을 배웠습니다.

항상 보안을 우선하고 신뢰할 수 있는 소스의 저장소만 추가하세요!

자주 묻는 질문

“소프트웨어 저장소 관리” 강의는 무료인가요?

네 — “소프트웨어 저장소 관리” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Linux Server Deployment & SSH Mastery 강의 전체를 잠금 해제할 수 있습니다. Linux Server Deployment & SSH Mastery 강의에는 총 4개의 강의가 포함되어 있습니다.

“소프트웨어 저장소 관리”에서 뭘 배우나요?

타사 저장소를 추가하고 패키지 소스를 이해하며 복잡한 소프트웨어 설치에서 종속성 충돌을 해결합니다. 브라우저에서 직접 실행하는 실습 코드로 Linux Server Deployment & SSH Mastery을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Linux Server Deployment & SSH Mastery을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Linux Server Deployment & SSH Mastery은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“소프트웨어 저장소 관리” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Linux Server Deployment & SSH Mastery 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Linux Server Deployment & SSH Mastery 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. APT 및 YUM 패키지 관리자
  2. 소프트웨어 설치 및 업데이트
  3. 소프트웨어 저장소 관리
  4. 소스에서 빌드하고 Snap 및 Flatpak 사용하기
← Linux Server Deployment & SSH Mastery(으)로 돌아가기