2023. 3. 9. 17:39ㆍ부트캠프/DevOps (TIL)
패키지는 라이브러리(library)와 유사한 개념이다.
라이브러리가 코드의 작성을 위해 사용되는 코드의 묶음이라면,
패키지는 코드의 배포를 위해 사용되는 코드의 묶음이다.
따라서 패키지는 경우에 따라 라이브러리를 포함할 수도 있으며,
일반적으로 라이브러리나 실행 파일(executable)을 포함한다.
그리고 패키지는 다음 3가지 정보를 가지고 있는 코드의 배포 단위이다.
컴파일한 소프트웨어의 바이너리(binary)
환경 설정(configuration)에 관련된 정보
의존(dependency)에 관련된 정보
좀 더 쉽게 설명하자면 예를 들어 윈도우 운영체제에서 '알집'이라는 프로그램으로
여러가지의 파일을 하나의 파일로 만들 수 있습니다.
이렇게 여러 파일을 담고 있는 하나의 파일을 '압축 파일'이라고 합니다.
리눅스의 패키지는 여러 파일을 모아 하나의 파일로 저장하고 있는 압축파일입니다.
하나의 패키지는 어떤 파일로 구성될까요?
패키지 안에 들어 있는 파일의 구성은 기본적으로 다음과 같습니다.
프로그램 파일
프로그램 설치 파일
프로그램 설치 설명서
프로그램에 대한 정보를 담은 파일
패키지 안에는 하나의 프로그램이 정상적으로 설치되고 동작하기 위한 모든 파일이 압축되어 있습니다.
그중에는 프로그램에 대한 정보를 담은 파일이 있는데, 프로그램 A를 설치하기 위해
프로그램 B가 필요하다는 정보도 함께 담겨있습니다. 패키지를 이용해 프로그램을 설치하면,
패키지에 포함된 정보를 이용해 프로그램 B를 먼저 설치하고 나서 프로그램 A를 설치합니다.
이와 같은 특성 때문에 패키지 매니저를 사용하지 않고
단독으로 설치하게 된다면 한 가지 큰 단점에 부딪히게 됩니다.
여러 프로그램을 개별로 설치하기 위해서는, 각각의 프로그램이 저장된 위치를 모두 알아야 합니다.
그리고 해당 프로그램의 업데이트 여부를 확인하기 위해서도 주기적으로 저장소를 방문해서 확인해야 합니다.
프로그램이 점점 늘어난다면, 모든 프로그램을 업데이트하는 일이 불가능에 가까워집니다.
이런 단점을 보완하기 위한 도구가 바로, 패키지 매니저입니다.
패키지 매니저는 패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구입니다.
모든 패키지의 저장소 위치를 저장하고 있습니다. 사용자가 패키지 매니저에게 특정 프로그램의 설치를 요청하면,
패키지 매니저는 패키지가 저장된 위치에서 패키지를 다운로드 받아 설치 프로그램을 실행합니다.
패키지 매니저는 설치된 모든 프로그램의 업데이트를 확인하거나, 필요없는 프로그램을 제거하는 데에도
사용할 수 있습니다.
04_Study(표준 스트림과 stdin, stdout, stderr) (0) | 2023.03.10 |
---|---|
04_Study(리다이렉션) (0) | 2023.03.09 |
03_Study(절대경로와 상대경로) (0) | 2023.03.09 |
03_Study(Linux_기본적인 명령어_02) (0) | 2023.03.09 |
03_Study(Linux_기본적인 명령어_01) (2) | 2023.03.09 |