단순히 프로그램을 폴더 + 추가 파일에 넣고 설치 스크립트를 작성하는 대신 .deb 패키지를 생성하려는 이유가 혼란스럽습니다.
패키지의 가치는 무엇입니까?
답변1
간단한 대답은주된 이유Linux 배포판은 다음을 위해 존재하기 때문에분포일관된 패키지 세트. 영원히 동일한 버전에 머물고 싶지 않기 때문에 업그레이드할 방법도 필요합니다. 필요하지 않은 소프트웨어를 설치하고 싶지 않기 때문에 필요한 패키지를 선택하는 방법이 필요합니다. 미래를 예측할 수 없으므로 나중에 패키지를 설치하거나 제거하여 이 선택을 변경할 수 있는 방법이 필요합니다. 재사용은 소프트웨어 엔지니어링의 기본 원칙 중 하나이므로 패키지는 다른 패키지에 종속되므로 이러한 종속성을 처리할 방법이 필요합니다.
이 모든 것이 패키지 관리 시스템의 탄생으로 이어졌습니다.
패키지 관리 시스템 제공
- 종속성 관리: 패키지는 작동하려면 다른 패키지가 필요하다고 선언할 수 있습니다. 실제로 대부분의 패키지 관리자는 이보다 더 강력하며 패키지가 작동하려면 특정 버전의 패키지 세트 중 하나가 필요하다고 실제로 선언할 수 있습니다. 패키지를 설치할 때 패키지 관리 시스템은 자동으로 모든 종속성이 충족되는지 확인하고, 가장 중요하게는 현재 설치된 모든 패키지가 계속해서 충족되는지 확인합니다.
- 설치하다: 패키지 관리 시스템은 모든 종속성이 충족되고 설치된 패키지와 충돌하지 않도록 하면서 패키지를 설치하는 통합되고 표준화된 방법을 제공합니다. 일반적으로 각 프로그램에는 설치 방법(대화형 그래픽 설치 프로그램, 대화형 CLI 설치 프로그램, 배치 CLI 설치 프로그램, 파일
make install
수동 복사)이 있으며, 패키지 관리 시스템에는 표준화된 방법( )이 있습니다../install.sh
apt install
- 이동하다: 패키지 관리 시스템은 현재 설치된 패키지가 손상되지 않도록 하면서 패키지를 제거하는 통합되고 표준화된 방법을 제공합니다. 더 이상 필요하지 않은 종속성을 자동으로 제거할 수도 있습니다. 패키지 관리자가 없는 상황은 설치와 유사하지만, 많은 프로그램이 단순히 제거 방법을 제공하지 않기 때문에 더 나쁩니다.
- 고쳐 쓰다: 이는 설치와 유사하지만 많은 프로그램이 업데이트 방법을 제공하지 않기 때문에 더 어렵습니다. 물론 업데이트 중에 패키지 관리자는 전체 시스템이 일관성을 유지하도록 주의를 기울여야 합니다.
일반적으로 패키지 관리 시스템의 목적은 다음과 같습니다.일관된 시스템시스템의 다양한 부분은 어디에 있나요?비협조적인. 즉, 서로 다른 패키지가 서로를 알 필요가 없으며, 서로 잘 작동하는지 확인하는 것이 패키지 관리 시스템의 임무입니다.