
소스 코드는 공개되지 않거나 무료가 아니므로 설치 시 컴파일은 옵션이 아닙니다. 지금까지 나는 다음과 같은 개발자를 보았습니다.
- tar.gz 파일을 제공하고 적절한 위치에 압축을 푸는 것은 사용자의 몫입니다.
- .tar.gz에 install.sh 스크립트를 제공하여 기본 설치 프로그램을 실행하고 사용자에게 설치 옵션을 묻는 메시지를 표시할 수도 있습니다.
- RPM 및/또는 deb 파일을 제공하여 사용자가 익숙한 기본 패키지 관리 도구를 계속 사용하여 설치/업그레이드/제거할 수 있도록 합니다.
가장 많은 수의 Linux 배포판을 지원하고, 사용자의 삶을 최대한 쉽게 만들고, 빌드/패키징/설치 프로그램 인프라도 최대한 적게 유지하고 싶습니다.
내 소프트웨어를 패키지하는 방법에 대한 권장 사항을 찾고 있습니다.
답변1
나는 그것을 보는 두 가지 방법을 본다.
하나는 가장 인기 있는 Linux를 대상으로 각각에 대한 기본 패키지를 제공하고 인기순으로 패키지를 제공하는 것입니다. 몇 년 전만 해도 이는 먼저 Red Hat 유형 Linux용 RPM을 제공한 다음 시간이 지나면 덜 인기 있는 각 RPM 기반 Linux용 소스 RPM을 재구축하는 것을 의미했습니다. 이것이 바로 Mandriva RPM이 Red Hat이나 SuSE RPM보다 약간 오래된 경우가 많은 이유입니다. 하지만 지난 몇 년 동안 Ubuntu가 인기를 끌었기 때문에 .deb로 시작하고 나중에 RPM을 추가하는 것이 좋습니다.
다른 하나는 목표를 설정하는 것입니다.모두바이너리 타르볼을 제공하는 사람들이 시도하는 것이 바로 리눅스입니다. 저는 시스템 관리자이자 최종 사용자로서 이 옵션을 정말 싫어합니다. 이러한 타르볼은 압축을 푼 시스템 전체에 파일을 분산시키며 나중에 제거, 패키지 확인, 지능형 업그레이드 등과 같은 세부 사항에 대한 옵션이 없습니다.
가장 널리 사용되는 Linux용 기본 패키지, 이상한 Linux용 바이너리 타르볼, 어떤 이유로든 패키지 관리자를 좋아하지 않는 구식 시스템 관리자 등 혼합된 접근 방식을 시도해 볼 수 있습니다.
답변2
나는 항상 패키지(rpm|deb 등)를 선호합니다. 소프트웨어의 특성에 따라 특정 배포판(rhel/centos 등)용 패키지를 대상으로 하는 것이 가치가 있을 수 있지만 모든 사람에게 충분한 패키지를 제공할 수는 없을 것입니다.
스크립트에 따라 설치 스크립트는 괜찮을 수 있습니다. 나에게 있어 패키지되지 않은 소프트웨어의 가장 중요한 점은 내가 선택한 위치에 쉽게 설치할 수 있다는 것입니다.
답변3
게임은 게임을 접두사에 깔끔하게 설치하고 아이콘과 같은 항목을 처리하는 설치 프로그램(이전 Loki Installer, 현재 MojoSetup)을 사용하는 경향이 있습니다.