“AppImage”란 무엇입니까? 어떻게 설치합니까?


231

방금 세련된 오픈 소스 USB 이미지 작성기 도구 인 Etcher Meet을 읽었습니다 . AppImage 다운로드에 대해 설명합니다.

예, 리눅스; Linux 패키지는 32 비트 및 64 비트 배포를위한 .appimage로 배포되며 문제없이 모든 주요 Linux 배포에서 실행해야합니다. 팀은 현재 기본 .deb (또는 .rpm) 설치 프로그램을 제공 할 계획이 없습니다.

AppImage 란 무엇입니까? 그것들은 스냅과 어떻게 다릅니 까?


10
appimage태그가 유용해질 수 있다고 생각 했기 때문에 방금 만들었습니다. 우리가 필요로하지 않거나 유지하려는 경우 어쨌든 항상 다시 태울 수있는 옵션이 있습니다.
바이트 사령관

답변:


283

기본 정보

설치에 대하여

appImage 프로젝트 페이지를 여기에 인용하고 있습니다.

설치 또는 루트 권한없이 AppImage를 다운로드하여 실행할 수 있습니다.

그것을 실행 가능하게 만들기

다음과 같이 appImage를 실행 가능하게 만들 수 있습니다.

chmod a+x exampleName.AppImage

그것을 실행

다음과 같이 appImage를 실행할 수 있습니다.

./exampleName.AppImage

추가 정보

appImage 정보

appImage에 대한 일반적인 정보는 여기 를 참조 하십시오 .

appImage 프로젝트 페이지를 여기에 인용하고 있습니다.

AppImage 형식의 핵심 아이디어는 하나의 앱 = 하나의 파일입니다. 모든 AppImage에는 앱과 앱을 실행하는 데 필요한 모든 파일이 포함되어 있습니다. 즉, 각 AppImage에는 대상 기본 운영 체제에 포함 된 것 이외의 종속성이 없습니다.

위키 백과 추가

AppImage (및 이전 버전 인 klik 및 portablelinuxapps)는 전통적인 의미로 소프트웨어를 설치하지 않습니다 (즉, 시스템의 모든 곳에 파일을 배치하지 않습니다).

응용 프로그램 당 하나의 파일을 사용합니다. 각각은 독립적입니다. 여기에는 응용 프로그램이 의존하고 기본 시스템의 일부가 아닌 모든 라이브러리가 포함됩니다. 이와 관련하여 "응용 프로그램 가상화"와 유사합니다. 수퍼 유저가 아니거나 라이브 CD를 사용하는 경우에도 AppImage 파일을 사용할 수 있습니다. AppImage 파일은 실제로 설치가 수행되지 않기 때문에 응용 프로그램을 컴파일하고 설치하는 것보다 더 간단한 경우가 많습니다. AppImage 파일은 프로그램에 액세스 할 수 있도록 임시로 마운트되어 있지만 프로그램을 추출하거나 기본 시스템을 수정할 필요가없는 압축 이미지입니다.

README.mdAppImageKit 프로젝트는 같은 많은 추가 정보를 제공하는 사용 사례 , 문제 영역목표 .

사용 사례

  • 사용자는 업스트림 다운로드 페이지로 이동하여 원본 작성자의 응용 프로그램을 다운로드 한 다음 Windows 또는 Mac 응용 프로그램과 마찬가지로 Linux 데스크톱 시스템에서 실행하고 싶습니다.

  • 테스터로서, 지속적인 빌드 서버에서 최신 애플리케이션 버전을 가져 와서 컴파일 할 필요없이 시스템을 망칠 염려없이 시스템에서 테스트 할 수 있기를 원합니다.

  • 응용 프로그램 작성자 나 ISV로서 Windows 및 OS X에서와 마찬가지로 배포판에 배포 할 필요없이 다양한 배포판을 구축 할 필요없이 Linux 데스크톱 시스템 용 패키지를 제공하고 싶습니다.

목표

  1. 단순 해지세요.

    AppImage는 이해, 작성 및 관리가 쉬운 매우 간단한 형식입니다.

  2. 이진 호환성을 유지하십시오.

    AppImage는 이진 소프트웨어 배포 형식입니다. AppImage로 패키지 된 소프트웨어는 가능한 많은 시스템에서 가능한 이진 호환 가능하도록 설계되었습니다. 소프트웨어의 재 컴파일 필요성이 크게 줄어들어야합니다.

  3. 분포에 구애받지 마십시오.

    AppImage는 그것이 만들어진 모든 기본 운영 체제 (배포)와 그 이후 버전에서 실행되어야합니다. 예를 들어, 각 대상 시스템에 대해 별도의 패키지를 작성 및 유지 관리하지 않고도 Ubuntu 9.10, openSUSE 11.2 및 Fedora 13 (및 이후 버전)을 동시에 대상으로 지정할 수 있습니다.

  4. 설치가 필요 없습니다.

    AppImages는 앱을 먼저 설치하지 않고도 아카이브에서 직접 실행할 수있는 형식의 앱을 포함합니다. 이것은 라이브 CD와 비슷합니다. Live CD를 사용하기 전에 운영 체제를 먼저 설치해야 사용할 수있었습니다.

  5. 앱을 항상 압축 상태로 유지하십시오.

    응용 프로그램은 항상 패키지 된 상태로 유지되므로 하드 디스크에서 압축 해제되지 않습니다. 컴퓨터는 응용 프로그램에 액세스하는 동안 응용 프로그램을 압축 해제합니다. 압축 해제는 대부분의 시스템에서 하드 디스크를 읽는 것보다 빠르기 때문에 공간을 절약 할뿐만 아니라 속도 이점도 있습니다. 또한 설치에 필요한 시간이 완전히 제거되었습니다.

  6. 어디에나 앱을 둘 수 있습니다.

    AppImage는 "릴레이 가능"하므로 사용자는 CD-ROM, DVD, 이동식 디스크, USB 스틱을 포함한 모든 위치에서 저장 및 실행할 수 있습니다.

  7. 응용 프로그램을 읽기 전용으로 설정하십시오.

    AppImages는 의도적으로 읽기 전용이므로 사용자는 작업 중에 앱이 자체적으로 수정되지 않도록 합리적으로 확신 할 수 있습니다.

  8. 재 컴파일하지 않아도됩니다.

    재 컴파일 할 필요없이 기존 바이너리에서 AppImage를 생성 할 수 있어야합니다. 컴파일러가 필요하지 않기 때문에 AppImage 작성 프로세스의 속도가 크게 향상됩니다. 이를 통해 타사는 비공개 소스 애플리케이션을 AppImage로 패키지 할 수 있습니다. 그럼에도 불구하고 업스트림 응용 프로그램 개발자는 AppImage를 생성 할 목적으로 소스에서 빌드하는 것이 유리할 수 있습니다.

  9. 기본 운영 체제를 그대로 유지하십시오.

    AppImages는 관리자가 특별히 준비하지 않은 일반 시스템에서 실행되도록하기 때문에 AppImages는 기본 운영 체제를 비정상적으로 준비하지 않아도됩니다. 따라서 특수 커널 패치, 커널 모듈 또는 기본적으로 대상 배포판과 함께 제공되지 않는 응용 프로그램에 의존 할 수 없습니다.

  10. 루트가 필요하지 않습니다.

    AppImages는 최종 사용자가 실행하기 때문에 관리 계정 (루트)을 설치하거나 사용하도록 요구해서는 안됩니다. 그러나 원하는 경우 관리자 (예 : 다중 사용자 시나리오)로 설치할 수 있습니다.


4
appimage는 실행간에 어떻게 설정을 유지합니까?
Dan Dascalescu

1
"읽기 전용"기능에 대해 자세히 설명해 주시겠습니까? AppImage 내부에 변경 사항을 저장할 수 있습니까? 아니면 LiveCD처럼 가까이에서 잃어 버렸습니까?
vstepaniuk

2
@ DanDascalescu : 귀하의 질문은 단순한 의견이 아닌 AskUbuntu에 대한 전체 질문으로 올라갈 가치가 있습니다. 물어 볼까요?
커트 파이 플

@vstepaniuk : 귀하의 질문은 Dan의 질문과 유사합니다. 당신이 중 하나는 ... 그냥 코멘트에서는, "전체"질문으로 요청해야
커트 Pfeifle에게

1
@KurtPfeifle : 그냥 가서 직접 물어보고 싶지 않았기 때문에 ... :)
Dan Dascalescu

22

기본 아이디어는 두 시스템간에 비슷하게 보일 수 있지만 스냅과 Appimage에는 약간의 디자인 차이가 있습니다.

내 마음에 오는 몇 가지 "큰"것들은 :

  1. 제한 측면에서의 보안 . 스냅 패키지는 샌드 박스에서 실행되며이 패키지에서 빠져 나와 시스템의 다른 부분에 닿아 서는 안됩니다 . 이것은 권한 시스템과 병렬로 실행되는 강력한 보안 계층입니다. 분명히 처음부터 (그리고 나중에) 처리 할 때 약간 실망 스럽지만 시스템 관리 측면에서 생각하면 관리자가 사용자에게 원하는 것입니다.

  2. 보안. 인터넷에서 가져온 소프트웨어를 설치하는 것은 거리에서 극을 핥는 것만 큼 안전합니다. 때로는 아무 일도 일어나지 않으며 때로는 매우 큰 건강 문제가 발생합니다. Snap 패키지에는 일반적인 표준 Ubuntu 리포지토리와 같이 Canonical에서 제어하는 ​​적절한 리포지토리가 있습니다. 계속해서 .deb파일을 설치할 수는 있지만 디자인 문제가 아닌 선택이 될 것입니다.

  3. 설치. AppImage는 "휴대용 Windows 실행 파일"과 동일합니다. 모든 라이브러리는 독립적이며 모든 사용자는 그 중 하나를 다운로드하여 실행할 수 있습니다. 반면에 snap패키지는 적절한 패키지이며 apposite 패키지 관리자를 통해 (있는 그대로 또는와 root함께 sudo) 설치해야합니다 ( snap install tic-tac-toe오류가 발생합니다 : 필요합니다 sudo!)

  4. 제거. 스냅 패키지를 제거하려면 snap remove ...올바른 권한으로 패키지 관리자를 사용해야합니다 . 반면에 Appimage는 "그냥"있습니다. 어떤 사용자도 그 Appimage를 원하지 않습니까? 파일을 삭제하면 사라집니다.

나는 Appimages를 사용할 때 조심할 것을 강력히 제안하지만 개인적으로 그들 중 일부를 사용합니다.

root액세스 권한 이없는 (관리자 만 해당) 내 작업 시스템에서 특히 유용 하지만 개발자가 Appimage 형식으로 제공 한 특정 소프트웨어의 최신 버전이 필요합니다.

나는 일부 악성 코드가 실제로 포함되어 있기 때문에 약간 두려워서 게시자의 신원을 최대한 확인했습니다. 나는이 소프트웨어가 양성이라는 것을 100 % 확신하지 못하지만, 내가 할 수있는 모든 것을 다했습니다.


2
기본적으로 모든 사람들이 Linux에서 OSX 앱 패키징을 구현하려고 시도하지만 아무것도 얻지 못합니다.
OrangeDog

2
나는 그것이 어떻게 작동하는지 전혀 모른다 :) 확실히 스냅 및 Appimages는 많은 다른 소프트웨어간에 공유되는 많은 종속성을 가진 소프트웨어와 잘 작동하지 않습니다. 이미 자체 포함 된 소프트웨어를 사용하거나 종속성이 거의없는 것은 완벽하지만 Windows와 같은 작업을 수행하는 동일한 라이브러리의 사본이 여러 개있을 위험이 있습니다. 이것은 스냅 패키지에서 해결되어야합니다 (스냅 라이브러리에 의존하는 소프트웨어는 해당 버전으로 해당 라이브러리를 설치 한 다음 동일한 시스템 버전을 필요로하는 다른 소프트웨어가 일반적인 시스템과 같이이를 사용할 수 있습니다).
dadexix86 10

OSX (및 iOS) 앱은 AppImage (단일 파일을 다운로드하여 실행)와 비슷하지만 샌드 박스 보안 스냅을 사용합니다.
OrangeDog

OSX는 이들을 제거하려고 시도하고 상점에서만 설치를 허용합니다.
LtWorf

AppImage에는 실제로 샌드 복싱 옵션이 포함되어야합니다. 바라건대 우리는 앞으로 그것을 보게 될 것입니다.
Royi

20

AppImage를 실행하기 전에 실행 가능하게 만들어야합니다. 이것은 Linux 보안 기능입니다. AppImage를 실행 가능하게하는 두 가지 주요 방법이 있습니다.

1. GUI 사용

AppImage를 실행 가능하게 만드는 방법

또는

2. 커맨드 라인에서

chmod a+x Some.Appimage

이제 파일을 두 번 클릭하여 실행하거나 마우스 오른쪽 버튼을 클릭> 실행


15

Snap은 Ubuntu에만 초점을 맞추지 만 AppImage는 교차 배포이며 Fedora, debian, openSUSE, CentOS 등에서도 실행됩니다.

AppImage는 Linux 배포에서 런타임 또는 인프라 지원이 필요하지 않으므로 어디에서나 실행됩니다. 응용 프로그램 작성자는 Windows 및 OS X와 ​​같은 Linux 사용자에게 소프트웨어를 직접 제공 할 수 있습니다. Canonical 또는 소프트웨어 작성자와 최종 사용자 사이에 다른 사람이없는 경우.

응용 프로그램이 AppImage 형식으로 제공되는 경우 사용자는 원본 작성자의 웹 사이트를 방문하여 다운로드 할 수 있습니다 (예 : https://musescore.org/en/download의 MuseScore) . 파일 관리자 또는를 사용하여 AppImage를 실행 가능 chmod a+x ./yourAppImage하게 한 다음 두 번 클릭하여 애플리케이션을 실행할 수 있습니다.


리프 패드를 설치하려면 "설정"을 클릭합니까? 그러면 어떻게됩니까? AppImage를 어떻게 제거 할 수 있습니까? bintray.com/probono/AppImages를 보고 있는데 답을 찾지 못했습니다. 마음에 들지 않으면 정보 및 사용자가 알고 싶어하는 기타 정보를 포함하도록 답변을 편집 할 수 있습니다.
DK Bose

2
그것이 당신에게도 해결책이 될지 확실하지 않지만 리프 패드는 16.04 소스에서 즉시 사용할 수 있습니다 (버전 : 0.8.18.1). bintray가 제공하는 리프 패드 버전은 0.8.17에 불과합니다.
dufte

1
사실, 단지 물을 테스트하고 싶어하는 누군가를 위해, "Hello, World"유형의 사이트라고합니다.
DK Bose

우수한. 이 후 간단히 더블 클릭 할 수 있습니다. 그게 내가 필요한거야!
Dawoodjee

5

AppImages를 실행하려면 FUSE가 필요합니다. 사용자 공간의 파일 시스템 (FUSE)은 루트가 아닌 사용자가 파일 시스템을 마운트 할 수있게하는 시스템입니다.

퓨즈 설치

많은 배포판에는 기본적으로 작동하는 FUSE 설정이 있습니다. 그러나 작동하지 않으면 FUSE를 수동으로 설치하고 구성해야 할 수 있습니다.

예를 들어, 우분투에서 :

sudo apt-get install fuse
sudo modprobe fuse
sudo usermod -a -G fuse $USER

예를 들어, openSUSE에서 :

sudo zypper install fuse

폴백

FUSE를 설치하지 않으려는 경우 AppImage를 마운트하거나 추출 할 수 있습니다.

AppImage를 마운트하고 응용 프로그램을 실행하려면 간단히 실행하십시오.

sudo mount -o loop Some.AppImage /mnt
/mnt/AppRun

그래도 작동하지 않으면 실험 유형 2 AppImage 일 수 있습니다 . 이를 위해서는 명령 을 전달 -o offset=...해야합니다 mount. --appimage-offset오프셋에 대한 올바른 숫자를 찾으 려면 AppImage를 실행하십시오 .


3 번째 줄 ( sudo usermod -a -G fuse) 뒤에 사용자 이름을 쓴 후에도 계속해서 usermod: group 'fuse' does not exist...
Martin

전 우분투에서 @Martin, 안녕하세요. x86_64 (64 비트) 시스템에서 i686 (32 비트) AppImage를 실행하려는 경우 32 비트 라이브러리가 설치되어 있지 않으면 해당 오류가 발생합니다. 다음에 실행하려고하는 OS 및 앱을 지정해야합니다.
레오

안녕하세요 @Leo, 오래 전입니다.하지만 방금 sudo apt-get install fuse sudo modprobe fuse sudo usermod -a -G fuse $USERWindows 10 64에 줄을 입력했습니다. 내가 언급 한 답변은 32/64 사양을 만들지 않으며 어디에서 지정해야하는지 알 수 없습니다. 왜 ...
마틴

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