세 가지 주요 운영 체제 모두에 배포하고 싶은 Electron 프로그램이 있습니다. Windows 및 macOS에 게시하는 것은 간단합니다. 단일 설치 파일이면 충분하며 이러한 운영 체제 사용자는 인터넷을 통해 독립적으로 응용 프로그램을 업데이트하는 데 익숙합니다.
Linux의 경우 몇 가지 질문이 있습니다.
- 유지 관리해야 할 패키지 관리자가 많습니다.
- 좀 더 편리하고 인터넷에 연결하거나 "집에 전화"할 필요가 없도록 일종의 패키지 관리자를 통해 패키지를 업데이트해야 합니다.
이 문제를 해결하는 방법에는 여러 가지가 있지만 그 중 어느 것도 그다지 좋은 방법은 없습니다.
- AppImages, Snaps 및 Flatpak은 별도의 환경이므로 오버헤드가 발생합니다. AppImages는 독립형이므로 업데이트하기가 귀찮은 반면 Snaps는 기본적으로 자동으로 업데이트됩니다(고마워요). Flatpak과 Snapd도 기본적으로 거의 설치되지 않습니다.
- 최소한 세 개의 패키지(예: AUR/APT/RPM)를 유지해야 하는 심각한 불편함 외에도 PPA는 데비안에서 작동하지 않습니다.
- 바이너리나 타르볼을 제공하는 것이 나에게는 가장 쉽지만 최종 사용자에게는 불편할 것이며 정기적인 업데이트를 제공할 수 없을 것입니다.
내 바이너리를 대부분의 배포 패키지 관리자에게 쉽게 배포할 수 있는 도구가 있습니까? 제가 놓친 다른 마법의 해결책이 있나요? 아니면 접근 가능한 Linux 패키지를 제공하는 것이 정말 그렇게 어려운가요?
답변1
사용자에게 직접 배포하려면 일반적으로 파일에 소스를 제공하면 됩니다 .tar.gz
. 사용자는 이를 추출하고 ./configure && make && sudo make install DESTDIR=/usr/local
기록된 것과 동일한 내용을 실행합니다.
Windows/MacOS 설치 프로그램을 만드는 것과 방금 설명한 작업을 수행하는 것의 차이점은 소스 코드를 배포하는 것과 바이너리를 배포하는 것입니다. 원하는 경우 바이너리를 배포할 수 있습니다.
Arch, deb 또는 rpm 패키지를 배포하려면 사용을 고려하십시오 cpack
. 이미 사용하고 있는 경우 cmake
하단에 몇 가지 명령을 추가하면 CMakeLists.txt
이미 작성한 명령을 사용하여 선택한 형식으로 아카이브가 구성됩니다 cpack
. install
많이있다발전기언급한 형식 등에 대한 지원이 가능합니다.
다음 질문은 이 설치 프로그램을 배포하는 방법에 관한 것입니다. 이에 대한 쉬운 교차 배포판 답변은 없습니다. 그러나 Windows/MacOS에 상응하는 제품은 Windows/Apple Store를 사용하며 귀하는 해당 경로를 따르지 않으므로 이미 "동등한" 상태에 있다고 가정합니다. 게시자를 통해 제출하는 것보다 직접 배포하는 데 더 관심이 있는 것 같습니다.
사용자를 최신 상태로 유지하는 것이 중요하다면 다음을 수행할 수 있습니다.
- 최신 버전(예: 많은 Windows 응용 프로그램)을 다운로드해야 한다는 알림을 받습니다.
- 서버에서 자동 업데이트
/etc/apt/sources.list.d/myrepo.list
초기 직접 다운로드를 통해 자체*.deb
버전을 배포하고 자체 아카이브를 유지 관리합니다(다른 배포판에도 동일하게 수행). 나는reprepro
이것을 사용한다.
snaps
마지막으로 , appimage
or flatpak
도 대안이라고 생각합니다 .