여러 배포판에 애플리케이션을 게시하는 가장 쉬운 방법은 무엇입니까? [폐쇄]

여러 배포판에 애플리케이션을 게시하는 가장 쉬운 방법은 무엇입니까? [폐쇄]

세 가지 주요 운영 체제 모두에 배포하고 싶은 Electron 프로그램이 있습니다. Windows 및 macOS에 게시하는 것은 간단합니다. 단일 설치 파일이면 충분하며 이러한 운영 체제 사용자는 인터넷을 통해 독립적으로 응용 프로그램을 업데이트하는 데 익숙합니다.

Linux의 경우 몇 가지 질문이 있습니다.

  1. 유지 관리해야 할 패키지 관리자가 많습니다.
  2. 좀 더 편리하고 인터넷에 연결하거나 "집에 전화"할 필요가 없도록 일종의 패키지 관리자를 통해 패키지를 업데이트해야 합니다.

이 문제를 해결하는 방법에는 여러 가지가 있지만 그 중 어느 것도 그다지 좋은 방법은 없습니다.

  • 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마지막으로 , appimageor flatpak도 대안이라고 생각합니다 .

관련 정보