본문 바로가기
리눅스 이야기

리눅스 패키지 관리란 무엇인가?

by reallinux1 2024. 7. 4.

리눅스 패키지 관리란 무엇인가?

리눅스를 처음 접하시는 분들을 위해 "리눅스 패키지 관리"에 대해 쉽게 설명드리려고 합니다.

* 패키지 관리란?
리눅스에서는 다양한 소프트웨어와 프로그램들이 "패키지"라는 형태로 제공됩니다. 이 패키지는 프로그램 실행 파일, 라이브러리, 설정 파일 등을 포함합니다. 패키지 관리는 이러한 패키지들을 설치, 업데이트, 삭제, 검색하는 과정을 쉽게 해주는 시스템입니다.
패키지 관리 시스템을 사용하면 다음과 같은 장점이 있습니다.

1. 편리함: 복잡한 설치 과정을 자동화하여 사용자에게 편리함을 제공합니다.
2. 안정성: 검증된 패키지를 설치함으로써 시스템의 안정성을 유지할 수 있습니다.
3. 보안: 보안 업데이트를 쉽게 적용할 수 있어 시스템을 안전하게 유지할 수 있습니다.

* 아이폰 앱스토어와 리눅스 패키지 관리

위 캡쳐사진과 같이 아이폰을 사용한다면 앱스토어에서 앱 이름을 조회하고
아래 처럼 해당 어플리케이션을 설치할 수 있습니다.

리눅스 패키지는 단순히 사용자 어플리케이션 뿐만 아니라 라이브러리, 시스템 프로그램 등 다양한 종류를 포함하지만 리눅스 패키지 관리도 결국 동작하는 원리는 유사합니다.
아래 그림과 같이 아이폰 앱스토어를 통해서 앱을 조회하고 설치, 업데이트 하는것처럼
리눅스에서도 패키지를 조회하고 설치, 업데이트 할 수 있습니다.

물론 차이점도 있습니다. 아이폰 앱스토어는 GUI(Graphic User Interface) 로 구성이 되어있어서 사용자가 편리하고 단순하게 쓸 수 있는 반면에 리눅스 패키지 관리는 기본적으로 CLI(Command Line Interface) 기반으로 아래 처럼 사용하기 때문에

리눅스를 전문적으로 다루는 엔지니어나 개발자가 필요 할 수 있습니다.
또한 패키지 관리 과정의 세부구조가 차이가 있습니다. 리눅스 패키지 관리 구조와 단계는 대략 3가지 파트로 나뉘며

1. 패키지 정보(명칭, 버전 등)
2. 패키지 파일(.deb, .rpm)
3. 패키지 설치/삭제/업데이트

각각의 세부 단계를 제대로 알고 관리해야 다양한 문제상황에 대응할 수 있는 능력을 기를 수 있습니다.
각 단계를 올바르게 알지 못한다면 각 단계별로 나열해서 문제상황 진단, 점검, 추적 등을 정확히 할 수 없고 결국 구글링 결과에 의존하여 에러상황을 모면할때까지 명령어 Ctrl + c/v 만 반복하게 됩니다.

다음글에서는 리눅스 패키지 관리의 세부적인 구조들을 살펴보고 각 단계별로 어떻게 동작하는지
대표적인 배포판 우분투, CentOS 기준으로 설명하도록 하겠습니다.

* 주요 리눅스 패키지 관리 시스템

리눅스 배포판마다 사용하는 패키지 관리 시스템이 다를 수 있습니다. 대표적인 apt 와 yum 을 소개하면 아래와 같습니다.

1. APT (Advanced Package Tool)
사용 배포판: 우분투(Ubuntu), 데비안(Debian)
주요 명령어:
sudo apt update: 패키지 목록 업데이트
sudo apt upgrade: 설치된 패키지 업데이트
sudo apt install [패키지명]: 패키지 설치
sudo apt remove [패키지명]: 패키지 삭제

2. YUM (Yellowdog Updater, Modified) / DNF (Dandified YUM)
사용 배포판: 페도라(Fedora), 레드햇(Red Hat), CentOS
주요 명령어:
sudo yum update 또는 sudo dnf update: 패키지 목록 및 패키지 업데이트
sudo yum install [패키지명] 또는 sudo dnf install [패키지명]: 패키지 설치
sudo yum remove [패키지명] 또는 sudo dnf remove [패키지명]: 패키지 삭제

 

위와 같은 내용의 대한 리얼리눅스 추천강의는 리눅스 제로베이스입니다.
https://reallinux.co.kr/course/linux_zerobase

 

Reallinux | 리눅스 Zero 베이스 | 바닥부터 제대로 실력쌓기

기초명령어부터 패키지 관리까지 비전공자,취준생을 위한 리눅스 기초 교육

reallinux.co.kr

https://youtu.be/c8YG8BAp3Dw