패키지 관리자를 어떻게 만들 수 있나요?

패키지 관리자를 어떻게 만들 수 있나요?

나는 내 자신의 Linux 배포판을 만들었고 (그것을 그렇게 부를 수 있다면) 마지막으로 하고 싶은 일은 내 자신의 패키지 관리자를 만드는 것인데 어떻게 해야 할지 모르겠습니다. apt, yum 등과 같은 것을 어떻게 만들 수 있습니까? 이에 대한 좋은 자료는 무엇입니까?

답변1

모든 패키지 관리자는 모방하기가 그리 어렵지 않은 동일한 방식으로 작동합니다. 문제는 구현 세부 사항입니다.

  1. RPM이나 DEB와 같은 자신만의 패키지 형식을 사용하고 싶지 않다면 간단히 tar.gz를 사용하면 됩니다.

  2. 이 tar.gz 파일 내에는 설명, 파일 목록(사용자가 전체 아카이브를 추출하지 않고 파일을 검색할 수 있도록 허용하려는 경우) 및 종속성(간단한 파일 목록일 수 있음)을 포함하는 패키지 파일과 보조 파일이 있을 수 있습니다. 파일).

  3. 의존성을 구축하는 것도 로켓 과학이 아닙니다. ldd또는/및 을 사용할 수 있습니다 strace.

  • 이제 Berkley DB 또는 SQLite DB에 저장할 수 있는 패키지 파일 및 종속성의 데이터베이스를 생성해야 합니다.

  • 그런 다음 사용자가 새 패키지를 설치하려고 할 때마다 이러한 종속성을 검색하는 방법을 찾아야 합니다.

  • 마지막으로 설치된 파일과 패키지의 데이터베이스가 필요합니다.

이 모든 작업에는 엄청난 양의 코드가 포함됩니다. 이미 사용 가능한 코드를 사용하는 것이 더 나을 것입니다.

마지막으로, 물론 바퀴를 다시 만들어 모든 작업을 수행할 수 있지만, 이를 수정하여 도움을 줄 수 있는 오픈 소스 프로젝트에 대해 문자 그대로 수천 개의 버그 보고서가 제출되어 있으며 한동안 유지 관리할 새로운 모호한 배포판이 실제로 필요한 사람은 없습니다. 그런 다음 제거하십시오. 시간이 충분하지 않거나 여러 가지 이유로 동기가 충분하지 않기 때문입니다.

관련 정보