Linux에서 소프트웨어 설치 및 패키지 관리자가 작동하는 방식

게시 됨: 2022-01-29

Linux에 소프트웨어를 설치하려면 Windows와 같은 웹 사이트에서 .exe 파일을 다운로드 및 실행하지 않고 패키지 관리자와 소프트웨어 저장소가 필요합니다. Linux를 처음 사용하는 경우 이는 극적인 문화 변화처럼 보일 수 있습니다.

Linux에서 모든 것을 직접 컴파일하고 설치할 수 있지만 패키지 관리자는 모든 작업을 수행하도록 설계되었습니다. 패키지 관리자를 사용하면 Windows보다 소프트웨어를 더 쉽게 설치하고 업데이트할 수 있습니다.

Linux 대 Windows

다양한 Linux 배포판과 다양한 패키지 관리자가 있습니다. Linux는 오픈 소스 소프트웨어로 구축되었습니다. 즉, 각 Linux 배포판은 원하는 라이브러리 버전 및 컴파일 옵션을 사용하여 자체 소프트웨어를 컴파일합니다. 컴파일 Linux 응용 프로그램은 일반적으로 모든 배포판에서 실행되지 않습니다. 가능하더라도 경쟁 패키지 형식으로 인해 설치가 방해될 수 있습니다. Linux 응용 프로그램 웹 사이트를 찾으면 다양한 패키지 형식 및 Linux에 대한 다양한 다운로드 링크를 볼 수 있습니다. 배포판 – 응용 프로그램의 웹 사이트가 미리 컴파일된 버전을 제공한다고 가정합니다. 응용 프로그램에서 소스 코드를 다운로드하고 직접 컴파일하도록 지시할 수 있습니다.

소프트웨어 저장소

Linux 사용자는 일반적으로 Windows 사용자처럼 응용 프로그램 웹 사이트에서 응용 프로그램을 다운로드하여 설치하지 않습니다. 대신 각 Linux 배포는 자체 소프트웨어 저장소를 호스팅합니다. 이러한 리포지토리에는 각 Linux 배포 및 버전에 맞게 특별히 컴파일된 소프트웨어 패키지가 포함되어 있습니다. 예를 들어 Ubuntu 12.04를 사용하는 경우 사용하는 저장소에는 Ubuntu 12.04용으로 특별히 컴파일된 패키지가 포함되어 있습니다. Fedora 사용자는 Fedora 버전용으로 특별히 컴파일된 패키지로 가득 찬 저장소를 사용합니다.

패키지 관리자

패키지 관리자를 모바일 앱 스토어와 같다고 생각해 보세요. 앱 스토어보다 훨씬 이전에 존재했다는 점을 제외하고 말이죠. 패키지 관리자에게 소프트웨어를 설치하라고 지시하면 구성된 소프트웨어 리포지토리에서 적절한 패키지를 자동으로 다운로드하여 설치하고 설정합니다. 마법사를 클릭하거나 웹사이트에서 .exe 파일을 찾을 필요 없이 이 모든 작업이 완료됩니다. 업데이트가 릴리스되면 패키지 관리자가 적절한 업데이트를 확인하고 다운로드합니다. 각 응용 프로그램이 자동 업데이트를 수신하기 위해 자체 업데이터가 있어야 하는 Windows와 달리 패키지 관리자는 설치된 모든 소프트웨어에 대한 업데이트를 처리합니다(소프트웨어 저장소에서 설치되었다고 가정).

패키지란?

응용 프로그램이 시스템에서 원하는 모든 작업을 수행할 수 있는 .exe 설치 프로그램 파일로 제공되는 Windows와 달리 Linux는 특수 패키지 형식을 사용합니다. 다양한 패키지 유형이 있습니다. 특히 Debian 및 Ubuntu의 DEB와 Fedora, Red Hat 등의 RPM이 있습니다. 이러한 패키지는 기본적으로 파일 목록을 포함하는 아카이브입니다. 패키지 관리자는 아카이브를 열고 패키지가 지정하는 위치에 파일을 설치합니다. 패키지 관리자는 어떤 파일이 어떤 패키지에 속하는지 계속 알고 있습니다. 패키지를 제거할 때 패키지 관리자는 시스템의 어떤 파일이 패키지에 속하는지 정확히 알고 있습니다. Windows는 설치된 응용 프로그램에 어떤 파일이 속하는지 알지 못합니다. 따라서 응용 프로그램 설치 프로그램이 설치 및 제거를 스스로 관리할 수 있습니다.

광고

패키지에는 패키지가 설치 및 제거될 때 실행되는 스크립트가 포함될 수도 있지만 일반적으로 시스템 설정에 사용되며 파일을 임의의 위치로 이동하지 않습니다.

Linux에 소프트웨어 설치

Linux에 소프트웨어를 설치하려면 패키지 관리자를 열고 소프트웨어를 검색한 다음 패키지 관리자에게 설치하도록 지시하십시오. 나머지는 패키지 관리자가 처리합니다. Linux 배포판은 패키지 관리자에게 다양한 프론트엔드를 제공하는 경우가 많습니다. 예를 들어 Ubuntu에서 Ubuntu Software Center, Update Manager, Synaptic 응용 프로그램 및 apt-get 명령은 모두 apt-get 및 dpkg를 사용하여 DEB 패키지를 다운로드하고 설치합니다. 원하는 유틸리티를 사용할 수 있습니다. 그들은 단지 다른 인터페이스를 제공합니다. 일반적으로 Linux 배포판 메뉴에서 간단한 그래픽 패키지 관리자를 찾을 수 있습니다.

업데이트 지연

새로운 Linux 사용자가 패키지 관리자 및 리포지토리에서 자주 발견하는 한 가지는 새 소프트웨어 버전이 시스템에 도달하기 전에 지연된다는 것입니다. 예를 들어, Mozilla Firefox의 새 버전이 출시되면 Windows 및 Mac 사용자는 Mozilla에서 이를 받습니다. Linux에서 Linux 배포판은 새 버전을 패키징하고 업데이트로 푸시해야 합니다. Linux에서 Firefox의 기본 설정 창을 열면 Firefox가 자동으로 업데이트하는 기능이 없음을 알 수 있습니다(Linux 배포의 저장소에서 Firefox 버전을 사용한다고 가정).

Mozilla에서 직접 Firefox를 다운로드하는 것과 같이 직접 응용 프로그램을 다운로드하고 설치할 수도 있지만 소스에서 소프트웨어를 컴파일 및 설치해야 할 수 있으며 자동 중앙 집중식 보안 업데이트와 같은 패키지 관리자의 이점이 제거될 수 있습니다.

Firefox의 새 버전은 보안 업데이트가 포함되어 있기 때문에 우선 순위가 높지만 다른 응용 프로그램은 빨리 제공되지 않을 수 있습니다. 예를 들어, LibreOffice 오피스 제품군의 주요 새 버전은 현재 Linux 배포 버전에 대한 업데이트로 릴리스되지 않을 수 있습니다. 잠재적인 불안정성을 피하고 테스트 시간을 허용하기 위해 이 버전은 Linux 배포의 다음 주요 릴리스(예: Ubuntu 12.10)가 배포의 소프트웨어 리포지토리에서 기본 버전이 될 때까지 사용하지 못할 수 있습니다.

광고

이 문제를 해결하기 위해 Arch Linux와 같은 일부 Linux 배포판은 새 버전의 소프트웨어가 기본 소프트웨어 리포지토리로 푸시되는 "롤링 릴리스 주기"를 제공합니다. 이로 인해 문제가 발생할 수 있습니다. 새 버전의 데스크톱 응용 프로그램을 원할 수 있지만 잠재적으로 불안정을 유발할 수 있는 낮은 수준의 시스템 유틸리티의 새 버전에는 관심이 없을 것입니다.

Ubuntu는 최신 버전의 중요한 패키지를 이전 배포판으로 가져오기 위해 백포트 리포지토리를 제공하지만 모든 새 버전이 백포트 리포지토리에 들어가는 것은 아닙니다.

기타 저장소

Linux 배포판은 사전 구성된 자체 저장소와 함께 제공되지만 시스템에 다른 저장소를 추가할 수도 있습니다. 일단 가지고 있으면 해당 리포지토리에서 소프트웨어 리포지토리를 설치하고 패키지 관리자를 사용하여 업데이트를 받을 수 있습니다. 추가하는 리포지토리는 Linux 배포 및 패키지 관리자용으로 설계되어야 합니다.

예를 들어 Ubuntu는 개인과 팀이 컴파일한 소프트웨어를 포함하는 다양한 개인 패키지 아카이브(PPA)를 제공합니다. Ubuntu는 이러한 저장소에 있는 패키지의 안정성이나 보안을 보증하지 않지만 신뢰할 수 있는 개인의 PPA를 추가하여 아직 Ubuntu의 저장소에 없는 패키지를 다운로드하거나 기존 패키지의 최신 버전을 다운로드할 수 있습니다.

일부 타사 응용 프로그램은 자체 소프트웨어 저장소도 사용합니다. 예를 들어 Ubuntu에 Google Chrome을 설치하면 자체 apt 저장소가 시스템에 추가됩니다. 이렇게 하면 Ubuntu의 업데이트 관리자 및 표준 소프트웨어 설치 도구를 통해 Chrome 업데이트를 받을 수 있습니다.