Question simple, comment puis-je extraire des fichiers d'une apparition?
Gui, CLI, peu importe, tant qu'il fait le travail.
J'utilise OpenSUSE Tumbleweed si cela importe
Premier , regardez si votre fichier Appimage utilise la dernière version de son format interne:
/path/to/your.AppImage --appimage-help
Si vous voyez la ligne suivante dans la sortie:
--appimage-extract Extract content from embedded filesystem image
vous pouvez vous conclure comment procéder. Dans ce cas, vous avez un (nouveau) type 2 Format Appimage devant vous. (La partie "chemin" de la commande peut être relative ou absolue.)
Deuxièmement , si la première commande n'a pas fonctionné, vous pouvez utiliser un outil d'assistance. Cependant, vous avez besoin de privilèges sudo/root pour ce: télécharger appimagetool
(quel cours est disponible en tant qu'appimage). Faites-le exécuter et exécuter:
/path/to/appimagetool-x86_64.AppImage --list /path/to/your.AppImage
Cela devrait vous donner une liste de tous les fichiers et de leurs chemins (relatifs) intégrés au votre.AppImage. À extraire votre.AppImage dans un répertoire nommé et situé à /chemin/à/somedir, exécution
mkdir /path/to/somedir
/path/to/appimagetool-x86_64.AppImage /path/to/your.AppImage /path/to/somedir
troisième , vous pouvez monter des Appimages (type 1 ainsi que type 2) sans l'outil d'assistance également:
Type 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.
Type 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.
Conseil pour le "Paranoid": Si vous ne voulez pas faire confiance à l'apparition, la troisième méthode est préférable. Parce que courir (pour les apparences de type 2) the.AppImage --appimage-extract
ou alors the.AppImage --appimage-mount
ou alors the.AppImage --appimage-offset
signifie que vous exécutez réellement une apparition (bien que ce n'est pas son contenu).
Répondre à la question de @jayarjo dans le commentaire ci-dessous ( Comment rééditer l'apparition après modification ?):
Vous pouvez utiliser Appimagetool Pas seulement pour extraire une apparence existante dans un appdir. Vous pouvez l'utiliser pour relancer également l'appdir (éventuellement après quelques modifications) dans une apparition (modifiée).
Vient de courir
appimagetool -v /path/to/AppDir
Regarder la sortie de la commande (fabriqué Verbose par -v
) Pour l'emplacement et le nom de l'Appimage nouvellement créé. C'est ça.
Basé sur la réponse ici, j'ai créé ce script bash simple. Mais je n'ai jamais rencontré une apparition que je pouvais extraire avec un appareil de boucle. EDIT: JUSTE: "WXHEXEDITOR"
Ici:
#!/bin/bash
APP="$2"
UNPK="$(echo $APP | sed 's/\.AppImage//')"
case "$1" in
-a)
chmod +x $APP;
./$APP --appimage-extract
mv squashfs-root $UNPK
;;
-b)
mkdir -p /tmp/$UNPK
Sudo mount -o loop $APP /tmp/$UNPK &>/dev/null
mkdir -p ~/Desktop/$UNPK
cp -R /tmp/$UNPK/* ~/Desktop/$UNPK &>/dev/null
Sudo umount /tmp/$UNPK
;;
*)
echo
echo " Usage: appunpack [option] AppImageFile"
echo
echo " Options: -a Unpack using --appimage-extract"
echo " -b Unpack using a loop device"
;;
esac
Le --appimage-extract
pourrait ne pas fonctionner parfois:
./your.AppImage --appimage-extract
Cependant, mount
fait
mkdir /tmp/mountpoint
Sudo mount -o loop your.AppImage /tmp/mountpoint