Linux 업데이트 관리자가 어떻게 작동하는지 알고 싶습니다. 예를 들어, 내 Linux 배포판은 다운로드할 수 있는 업데이트가 있는지, 그리고 어떤 서버가 해당 업데이트를 다운로드할 수 있는지 어떻게 확인합니까? 기본 배포판에 포함되지 않은 타사 소프트웨어를 작업하는 경우 이러한 프로그램은 업데이트 관리자와 어떻게 상호 작용하여 해당 프로그램에 대한 업데이트가 있음을 알려줍니까? 마지막으로, 이 주제에 관한 좋은 문헌은 무엇입니까?
답변1
때에 따라 다르지. 자세한 내용은 주요 Linux 배포판마다 다릅니다.
1 부귀하의 질문: OS(운영 체제)에 어떻게 적용됩니까?
미러 목록이 있거나 운영 체제가 미러 목록을 가져오는 배포 지점이 있습니다. 또는 이러한 업데이트를 제공하는 HA 서버를 가리키는 하드코드된 URL이 있습니다. 전송 프로토콜로는 일반적으로 HTTP와 FTP가 사용됩니다. 오픈소스가 아닌 배포판에서는 HTTPS를 사용할 수 있습니다. 로컬 미러링에는 NFS가 포함될 수 있습니다.
업데이트 서버를 선택한 후 운영 체제는 모든 패키지 버전 번호 목록을 다운로드합니다. 버전 번호가 설치된 버전보다 높은 경우 업그레이드해야 합니다. 패키지에는 검사할 다른 패키지(종속성)에 대한 참조가 포함되어 있습니다. 최신 패키지에 아직 설치되지 않은 다른 패키지가 필요한 경우 해당 패키지도 일반적으로 임시 준비 디렉터리에 다운로드됩니다. 그런 다음 이 업데이트를 설치하십시오.
2 부귀하의 질문: 타사 소프트웨어에서는 어떻게 작동합니까?
패키지의 소스 URL을 로컬 배포에 통합할 수 없는 경우에는 그렇지 않습니다.
타사에서 배포판과 일치하는 저장소를 제공하면 쉽습니다. 이것을 제공하지 않으면 더욱 어렵습니다.
후자의 경우 다음과 같은 메커니즘을 작성해야 합니다.
- 최신 버전이 있는지 확인하세요.
- 다운로드하세요
- 선택적으로 컴파일
- 포장해
- 이러한 패키지에 대한 로컬 저장소 구축
답변2
버전 번호로 판단하면 Ubuntu의 업데이트 관리자를 언급하는 경우 apt-get의 제한된 프런트 엔드일 뿐입니다.
기본적으로 두 개의 데이터베이스가 있습니다. 하나는 설치된 패키지와 해당 버전을 기록하는 컴퓨터에 저장됩니다. 다른 하나는 사용 가능한 모든 패키지와 버전 번호가 포함된 서버에서 다운로드한 데이터베이스를 보유합니다.
업데이트 서버에서 업데이트(메타정보)를 다운로드하면 프로그램은 설치된 패키지에 최신 버전이 있는지 확인하고, 최신 버전이 있으면 패키지를 업그레이드할 수 있습니다.
우분투에서는 apt-get update
(메타 정보 가져오기)가 완료되면 업데이트 관리자가 변경 사항을 감지하고 사용 가능한 업데이트가 있는지 확인한 후 팝업으로 표시됩니다.