답변:
GNU 툴체인을 사용하는 대부분의 응용 프로그램은 다음과 같은 소스에서 빌드 할 수 있습니다.
./configure --prefix=[directory which will contain your 'portable' application]
make
make install
호환되는 라이브러리가있는 다른 컴퓨터로 옮겼습니다.
리눅스에는 많은 어플리케이션들이 실제로 '설치'될 필요가없는 레지스트리가 없습니다. 대신 소스에서 빌드 할 수 있기 때문에 "Linux 용 My Specialy Portable © applications"를 만드는 것은 무의미하므로 아무도 이것에 관심이 없다고 생각합니다.
이 질문 에 대한 최상위 답변을 살펴보면 라이센스 관리 기능이있는 레지스트리 및 독점 응용 프로그램의 세계에서 응용 프로그램을 '휴대용' '유용한'으로 만드는 어리석은 개념을 이해할 수 있습니다.
이 ./configure
트릭은 일부 응용 프로그램에서 작동합니다. 그러나 많은 응용 프로그램은 접두사를 자체로 인코딩 한 다음 런타임에 접두사를 사용하여 지원 파일을 찾습니다. 또한 LD_LIBRARY_PATH
환경 변수를 설정하여 공유 라이브러리 파일을로드 할 수 있어야합니다. 그러나 그 결과 휴대용 응용 프로그램은 이식성이 떨어질 가능성이 높으며 지정된 접두사에 따라 달라집니다. 이것은 아마도 많은 장소에서 작동 할 것입니다 (대부분의 최신 배포판 마운트 미디어 /media/DISKNAME
)는 응용 프로그램이 실제로 휴대 가능하고 위치 독립적이지 않습니다.
따라서 정답은 이식 가능한 Linux 응용 프로그램을 만드는 것이 불가능하지는 않지만 미묘한 영향을 미친다는 것입니다. 이것이 Windows에서와 같이 거의 수행되지 않는 이유에 대한 주요 요인이라고 생각합니다. 또한 공공 컴퓨팅 시설 (휴대용 응용 프로그램 혜택이 많이 발생하는 곳)은 일반적으로 Linux를 실행하지 않습니다. 주목할만한 예외는 대학 실험실이지만 일반적으로 홈 디렉토리에 일부 추가 소프트웨어를 설치할 수 있습니다.
Linux for Travelers 는이 주제를 추적하고 Linux를 대상으로하는 휴대용 앱이 아직 설치되지 않았다는 사실을 해결할 수있는 몇 가지 트릭을 가지고 있습니다. 휴대용을 사용할 필요가 없습니다.
HackToLive.org (Ubuntu Super OS 버전의 유지 관리자)는 Linux 용 휴대용 앱을 유지 관리합니다.
Portable Linux Apps를 확인할 수 있습니다 . 휴대용 바이너리를 다운로드하여 실행 가능하게 만드십시오. 필요한 모든 종속성이 이진에 포함됩니다.
또 다른 질문은 오늘날 클라이언트 측 코드를 한 번 작성한 다음 프레임 워크를 활용하여 iOS, Android 및 웹용 합성 클라이언트를 과도하게 사용하는 신생 기업의 개념입니다. 여기서 비즈니스 로직은 이식 가능하지만 해당 툴링에 의해 자동으로 이식됩니다. 많은 프레임 워크가 있으며, Meteor는 하나입니다.
이런 식으로, 앱 스토어에서 발견되는 모든 앱의 상당 부분이이 휴대용 유산을 가지고 있습니다.
이 아이디어를 더 흐리게하기 위해 이제 웹 어셈블리를 사용하여 클라이언트를 대상으로 자바 스크립트를 합성하도록 구문 분석되는 점점 정적으로 컴파일 된 전통적으로 서버 측 언어로 브라우저 코드 (정의는 javascript)를 작성할 수 있습니다.
그러나 Nodejs를 감싸는 GUI 또는 명령 줄인 Electron과 같은 툴링을 사용하여 Linux 응용 프로그램을 요구하고 있습니다. 휴대용 Linux 응용 프로그램에 대한 아이디어는 선택의 폭이 넓습니다.
필드에 새로운 플레이어 인 AppImage가 있습니다. 응용 프로그램은 모든 종속성이 포함 된 단일 파일로 패키지되므로 기본 배포에 관계없이 실행될 수 있습니다.
AppImageHub 에 앱 이미지 저장소가 있습니다 .