64비트 운영 체제가 아닌 32비트 운영 체제에만 설치되도록 .deb 패키지를 구성할 수 있습니까?

64비트 운영 체제가 아닌 32비트 운영 체제에만 설치되도록 .deb 패키지를 구성할 수 있습니까?

Java 8 애플리케이션을 개발했습니다.

사용자가 Java 설치를 처리할 필요가 없도록 Linux 시스템용으로 독립형 Java 런타임으로 패키지했습니다.

32비트 Java 런타임이 포함된 패키지 하나와 64비트 Java 런타임이 포함된 두 번째 패키지를 만들었습니다.

64비트 패키지에서는 Architecture: amd6432비트 OS에서는 설치가 불가능하도록 컨트롤 파일에 설정해 놓았는데요. 좋은 결과.

32비트 패키지에서 설정했지만 이렇게 하면 여전히 애플리케이션을 OS Architecture: i386에 설치할 수 있습니다 .amd64

64비트 운영 체제에 설치할 수 없도록 32비트 JRE를 사용하여 .deb 패키지를 구성하려면 어떻게 해야 합니까? 32비트 운영 체제에만 설치하도록 제한하고 싶습니다.

32비트 독립 실행형 Java 8 JRE를 사용하여 애플리케이션을 설치하면 64비트 시스템에서 제대로 작동하지 않기 때문에 이를 제한하고 싶습니다(추가 작업이 필요하지 않음을 의미). 누락된 라이브러리: libxi6, libxrender1, libxtst6, libudev1. 아치용으로 설치해 도 i386앱이 다운되지는 않는데, MIDI 기기 감지 등 앱의 일부 기능이 완벽하게 작동하지 않습니다.

64비트 운영 체제에 32비트 패키지를 설치할 수 없는 경우 유용합니다. 이것이 어떻게 달성될 수 있습니까?

답변1

amd64Java 런타임을 직접 패키징하는 것이 최선의 해결책은 아니라고 생각하지만, 정말 불가피하다면 다음 을 추가하여 기본 아키텍처에 포함될 패키지를 만들 수 있습니다.

Conflicts: dpkg:amd64

제어 파일을 입력합니다.

(시스템의 기본 아키텍처가 dpkg패키지가 설치된 아키텍처이기 때문에 이는 충분하다고 보장됩니다. dpkg여러 아키텍처에서는 공동 설치가 불가능하므로 이 접근 방식은 64비트 프로그램을 실행할 수 있지만 64비트 프로그램을 실행할 수 있는 여러 시스템을 제외하는 것도 방지합니다. 아키텍처 설정을 amd64기본 아키텍처로 설정할 수 없습니다 .

리패키징된 JRE를 계속 사용하고 싶다면 사용 중인 JRE의 라이센스를 확인하고 수동 단계가 포함되지 않도록 패키지를 수정하는 것이 좋습니다. 최소한 라이브러리 종속성을 추가해야 합니다. JRE에 필요합니다.

관련 정보