Linux 배포판에서 실행될 응용 프로그램을 작성하려면 무엇을 알고 있어야합니까?


15

필자는 인터페이스, 그놈 대 KDE 등을 제외하고 코드를 다시 작성하지 않고도 Linux 설치에서 실행할 수있는 응용 프로그램을 작성할 계획입니다.

나는 배포판 사이의 차이점에 대해 미숙 한 경험이 없으며 상호 작용을 위해 커널 내부를 파고 들지 않고 계획 단계에 들어갔 기 때문에 프로젝트에 대한 세부 정보를 제공 할 수 없습니다. 컴퓨터 하드웨어를 최대한 많이 사용합니다.


오픈 소스 또는 독점? 컴파일 또는 해석?
xenoterracide

오픈 소스와 컴파일.

그렇다면 오라클이하는 것처럼 프로그램을 다시 연결하는 작은 app / makefile 또는 무언가를 작성하는 것에 대해 걱정할 필요가 없습니다.
xenoterracide

답변:


10

개발시 명심해야 할 사항

  1. 표준 빌드 시스템 사용
  2. 하드 코딩 라이브러리 경로를 피하십시오
  3. pkg-config대신 외부 패키지를 찾는 것과 같은 도구를 사용 하십시오.
  4. 응용 프로그램에 GUI가있는 경우 wxWidgets실행 위치에 따라 기본 UI 요소를 렌더링 할 수있는 일부 프레임 워크를 사용하십시오 .
  5. 다른 배포판에서 실행되지 않는 패키지로 종속성을 작성하지 마십시오.

응용 프로그램이 모든 배포에서 작동하도록하는 유일한 방법은 실제로 실행하고 테스트하는 것입니다. 이를 수행 할 수있는 한 가지 방법은 각 배포에 대한 가상 컴퓨터를 만드는 것입니다. 이를 위해 VirtualBox를 사용할 수 있습니다. 이런 종류의 테스트를 위해 상자에 약 8 개의 가상 머신이 있습니다.

각 배포판에서 서로 다른 패키지 설치 방법을 사용하기 때문에 응용 프로그램 배포에 대해 너무 많이 일반화 할 수 없다고 생각합니다. 데비안은 deb페도라를 사용합니다 rpm.


3
하드 코딩 경로를 피하십시오. 모든 배포판의 가장 큰 차이점은 패키지 관리자와 배치 위치입니다. 그들이 모든 단일 파일과 디렉토리를 당신과 다른 장소에 놓을 것이라고 가정하십시오.
xenoterracide

2

내 2c 만 있지만 공식 저장소에 패키지와 함께 제공되거나 소스에서 컴파일 된 응용 프로그램의 두통이 적습니다. 타사 바이너리로 배포되는 응용 프로그램에는 일부 종속성 문제가 발생하는 경향이 있습니다. 나는 보통 이것을 추적하고 수동으로 해결해야합니다.

따라서 Linux 응용 프로그램을 출시하려면 패키지를 만들어 공식 저장소로 가져 오십시오. 그렇지 않으면 소스 형식으로 배포하고 사용자가 시스템에 맞게 컴파일하도록합니다.


2

내장되지 않은 Linux 용으로 작성하는 경우, 배포판마다 라이브러리 버전 모음이 서로 다르다는 점을 명심해야합니다. 따라서 충분히 오래된 기준을 설정해야합니다. 데비안이 느리게 업데이트됨에 따라 데비안 안정 (또는 릴리스 후 몇 개월 내에 기존 안정판)이 합리적인 선택이되는 경향이 있습니다.

각 배포판에 대해 별도로 패키지해야합니다. 응용 프로그램이 오픈 소스이고 성공한 경우 다른 사람이 응용 프로그램을 선택하고 패키징에 기여할 수 있으므로 필수 기술이 아닙니다. 패키징 이외의 배포판 간 차이는 대부분 시스템 관리에 영향을 미치며 개발 또는 일일 사용에는 영향을 미치지 않습니다.

커널을 패치하려는 경우, 각 배포판에는 비 호환성을 유발할 수있는 자체 패치가 있고 각 배포판에는 사용 가능한 커널 인터페이스 세트 (예 : 요구 사항)에 따라 달라지는 사용자 설정이 있으므로 더 많은 배포판으로 테스트해야합니다. 일부는 모듈이 아니어야합니다).

임베디드 시스템 (여기서는 서버, 데스크탑 또는 랩톱이 아닌 것을 의미 함)에서 작동하도록 응용 프로그램을 원한다면 위의 내용은 사실이 아닙니다. 여기서 Linux 커널을 실행할 때 종종 일반적인 라이브러리가 없습니다. µClibc , dietlibc , Bionic 등 을 선호 하여 Glibc피하는 것으로 시작



0

Distros는 대부분 패키징 및 응용 프로그램 기본값 / 구성이 다릅니다. 결정된 아키텍처에서 실행되는 모든 코드는 해당 아키텍처의 모든 배포판에서 실행되어야합니다. 또한 KDE에서 그놈 응용 프로그램을 쉽게 실행할 수 있으며 그 반대도 가능하므로 사용자 / 사용자 기반에 가장 적합한 응용 프로그램을 선택할 수 있습니다!


0

가장 중요한 것은 언어를 선택하는 것입니다. 이 언어는 어떤 언어로 실행됩니까? 리눅스 배포판에서 실행하고 싶다면 파이썬으로 작성할 수 있습니다. 리눅스에서 실행될 파이썬 앱은 기본적으로 수정없이 0으로 모든 리눅스 배포판에서 실행될 것입니다.

파이썬에는 GTK와 Qt 바인더가 정말 좋습니다. 나는 gtk와 함께 일한 적이 없지만 PyQt는 정말 훌륭합니다.

파이썬의 장점은 아마도 확장을 컴파일 할 필요가 없다는 것입니다 (완전히 작성중인 내용에 달려 있습니다. 필요한 경우에도 매우 간단합니다). . 거기에서 파이썬 프로그램을 설치하는 것은 일반적으로 배포 패키지 저장소보다 훨씬 쉽습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.