Простой вопрос, как я могу извлечь файлы из AppImage?
GUI, CLI, это не имеет значения, пока он выполняет свою работу.
Я использую openSUSE Tumbleweed, если это имеет значение
Во-первых, посмотрите, использует ли ваш файл AppImage новейшую версию его внутреннего формата:
/path/to/your.AppImage --appimage-help
Если вы видите следующую строку в выводе:
--appimage-extract Extract content from embedded filesystem image
Вы можете сами заключить, как действовать. В этом случае перед вами (более новый) формат AppImage типа 2 . (Часть команды «путь» может быть относительной или абсолютной.)
Во-вторых, если первая команда не сработала, вы можете использовать вспомогательный инструмент. Однако для этого вам необходимы права sudo/root: загрузите appimagetool
(который, конечно же, доступен как AppImage). Сделайте его исполняемым и запустите:
/path/to/appimagetool-x86_64.AppImage --list /path/to/your.AppImage
Это должно дать вам список всех файлов и их (относительных) путей, встроенных в ваш.AppImage. Чтобы извлечь ваш.AppImage в каталог с именем и расположен в /path/to/somedir , запустите
mkdir /path/to/somedir
/path/to/appimagetool-x86_64.AppImage /path/to/your.AppImage /path/to/somedir
В-третьих, вы можете монтировать AppImages (как тип 1, так и тип 2) без вспомогательного инструмента:
Тип 1:
mkdir mountpoint
sudo mount -o loop my.AppImage mountpoint/
# You can now inspect the contents
# You can now also copy the contents to a writable location of your hard disk
sudo umount mountpoint/
# Do not forget the umount step!
# If you do forget it, your system may exhibit unwanted behavior.
Тип 2:
mkdir mountpoint
my.AppImage --appimage-offset
123456 # This is just an example output
sudo mount my.AppImage mountpoint/ -o offset=123456
# you can now inspect the contents
sudo umount mountpoint/
# Do not forget the umount step!
# If you do forget it, your system may exhibit unwanted behavior.
Подсказка для «параноика»: если вы не хотите доверять AppImage, третий способ предпочтительнее. Потому что работает (для AppImages типа 2) the.AppImage --appimage-extract
или the.AppImage --appimage-mount
или the.AppImage --appimage-offset
означает, что вы фактически выполняете AppImage (но не его содержимое).