我刚刚阅读了Meet Etcher,一款时尚的开源USB图像编写器工具。它讨论了下载AppImage。
是的,Linux;Linux软件包以.appimage的形式分布在32位和64位发行版中,并且可以在所有主要Linux发行版中正常运行。该团队目前没有计划提供本机.deb(或.rpm)安装程序。
什么是AppImage?它们与快照有何不同?
我刚刚阅读了Meet Etcher,一款时尚的开源USB图像编写器工具。它讨论了下载AppImage。
是的,Linux;Linux软件包以.appimage的形式分布在32位和64位发行版中,并且可以在所有主要Linux发行版中正常运行。该团队目前没有计划提供本机.deb(或.rpm)安装程序。
什么是AppImage?它们与快照有何不同?
Answers:
我在这里引用appImage项目页面:
AppImages可以下载并运行,而无需安装或需要root权限。
您可以使appImage可执行文件如下:
chmod a+x exampleName.AppImage
您可以执行以下appImage:
./exampleName.AppImage
您可以在此处找到有关appImage的一些常规信息。
我在这里引用appImage项目页面:
AppImage格式的关键思想是一个应用=一个文件。每个AppImage都包含一个应用程序以及该应用程序需要运行的所有文件。换句话说,除了目标基本操作系统中包含的内容之外,每个AppImage都没有其他依赖项。
维基百科添加
AppImage(以及以前的klik和Portablelinuxapps)不会按照传统意义安装软件(即,它不会将文件放置在系统中的所有位置)。
每个应用程序使用一个文件。每个库都是独立的:它包括应用程序依赖的所有库,这些库不属于基本系统。在这方面,它类似于“应用程序虚拟化”。即使他们不是超级用户,或者正在使用实时CD,也可以使用AppImage文件。AppImage文件通常比编译和安装应用程序简单,因为实际上没有安装。AppImage文件是一个压缩图像,已临时安装以允许访问程序,而不必提取程序或修改基础系统。
该README.md
对的AppImageKit项目一样提供了很多附加的信息使用的情况下,问题的空间和目标。
作为用户,我想转到上游下载页面,从原始作者那里下载一个应用程序,然后像在Windows或Mac应用程序上一样在Linux桌面系统上运行它。
作为测试人员,我希望能够从连续构建服务器获取最新的应用程序最新版本,并在系统上对其进行测试,而无需进行编译,也不必担心会弄乱系统。
作为应用程序作者或ISV,我希望像为Windows和OS X一样为Linux桌面系统提供软件包,而无需将其“引入”发行版,而不必构建成千上万个不同发行版。
要简单。
AppImage旨在成为一种非常简单的格式,易于理解,创建和管理。
保持二进制兼容性。
AppImage是二进制软件分发的格式。打包为AppImage的软件旨在与尽可能多的系统尽可能地与二进制兼容。(重新)编译软件的需求应大大减少。
与发行无关。
AppImage应该在为其创建的所有基本操作系统(发行版)(以及更高版本)上运行。例如,您可以同时定位Ubuntu 9.10,openSUSE 11.2和Fedora 13(及更高版本),而不必为每个目标系统创建和维护单独的软件包。
无需安装。
AppImages包含的应用程序格式可以直接从存档中运行,而无需先安装。这相当于Live CD。在使用Live CD之前,必须先安装操作系统,然后才能使用它们。
始终保持应用程序压缩。
由于应用程序始终保持打包状态,因此永远不会在硬盘上对其进行解压缩。计算机在访问应用程序时会即时对其进行解压缩。由于在大多数系统上,解压缩比从硬盘读取数据快,因此除了节省空间外,这还具有速度优势。同样,安装所需的时间也完全消除了。
允许将应用程序放置在任何地方。
AppImage是“可重定位的”,因此允许用户从任何位置(包括CD-ROM,DVD,可移动磁盘,U盘)存储和执行它们。
使应用程序为只读。
由于AppImage在设计上是只读的,因此用户可以合理确定应用在操作过程中不会对其自身进行修改。
不需要重新编译。
必须能够从现有的二进制文件创建AppImage,而无需重新编译。由于不需要编译器,因此可以极大地加快AppImage的创建过程。这也允许第三方将封闭源应用程序打包为AppImage。(尽管如此,对于上游应用程序开发人员来说,专门为生成AppImage而从源代码进行构建可能是有益的。)
保持基本操作系统不变。
由于AppImages旨在在管理员未特别准备的普通系统上运行,因此AppImages可能不需要任何特殊的基本操作系统准备。因此,它们不能依赖特殊的内核补丁,内核模块或默认情况下不随目标发行版附带的任何应用程序。
不需要root。
由于AppImage是由最终用户运行的,因此它们不应要求安装或使用的管理帐户(根)。但是,如果需要,它们可以由管理员安装(例如,在多用户方案中)。
这两个系统之间的基本思想可能相似,但是快照和Appimages之间存在一些设计差异。
我想到的一些“大”问题是:
安全的局限性。快包运行在沙盒中,他们是不允许逃避它,达到他们应该在系统的其他部分不碰。这是与权限系统并行运行的更强的安全层。显然,在开始(以及以后)进行处理时会感到有些沮丧,但是,如果从系统管理的角度考虑它,这就是管理员希望其用户使用的东西。
安全。安装从网上获取的软件与在街上舔pole杆一样安全。有时什么也没发生,有时会遇到一些非常大的健康问题。Snap软件包具有其适当的存储库,该存储库由Canonical控制,例如常用的标准Ubuntu存储库。您可以继续.deb
从周围安装文件,但这将是您的选择,而不是设计问题。
安装。AppImage相当于“便携式Windows可执行文件”。所有的库都是独立的,任何用户都可以下载并执行其中一个库。另一方面,snap
程序包是正确的程序包,需要通过apposite程序包管理器(以root
或与sudo
)安装(snap install tic-tac-toe
抛出错误:它需要sudo
!)
删除。要删除快照软件包,您需要使用snap remove ...
具有正确权限的软件包管理器。另一方面,Appimages只是“那里”。因此,任何用户都不希望该Appimage吗?他/她只是删除了文件,但文件不见了。
尽管我强烈建议在使用Appimages时要谨慎,但我本人还是亲自使用其中的一些。
我发现它们在我没有root
访问权限(只有管理员可以访问)的工作系统上特别有用,但是我需要开发人员以Appimage形式提供的特定软件的最新版本。
我担心其中确实包含一些恶意代码,因此我尽可能地检查了发布者的身份。我不确定该软件是否良性,但我已百分百地做到了。
尽管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需要FUSE才能运行。用户空间中的文件系统(FUSE)是一种允许非root用户安装文件系统的系统。
许多发行版都具有开箱即用的有效FUSE设置。但是,如果它对您不起作用,则可能需要手动安装和配置FUSE。
例如,在Ubuntu上:
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运行--appimage-offset
以找到正确的偏移量编号。
sudo usermod -a -G fuse
)后加上我的用户名之后,我一直得到 usermod: group 'fuse' does not exist
...关于为什么的任何想法?
sudo apt-get install fuse
sudo modprobe fuse
sudo usermod -a -G fuse $USER
在Windows 10 64上输入了几行。我要评论的答案没有任何32/64规范,而且我看不到应该在哪里指定该规范或为什么...
请按照以下步骤操作:
使用终端:
chmod u+x <appimage>
您可以在此处了解更多信息:https : //citguru.hashnode.dev/heres-how-to-install-appimage-on-linux-cjwxozb1n003o1rs17epqop6g
appimage
标签可能会变得有用,所以我刚刚创建了它。在我们不需要或不想保留它的情况下,总会有选择再次对其进行燃烧。