AppImage/ru: Difference between revisions

From FreeCAD Documentation
(Created page with "# Загрузите [https://github.com/antony-jr/AppImageUpdater/releases/tag/continuous-cli appimageupdater-*-x86_64.AppImage] # Сделайте его исполняем...")
(Updating to match new version of source page)
 
(34 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{VeryImportantMessage|По состоянию на 7 июля 2019 года сообщество FreeCAD отмечает, что загрузка AppImages из Github, похоже, истекает по таймауту до завершения. Мы не уверены, почему это происходит. Если это произойдет с вами, попробуйте загрузить еще раз. Это займет несколько попыток. Рекомендуется использовать [[#Автообновление/ru|функцию автоматического обновления]] AppImage, которая восстановит загрузку с того места, где произошла ошибка.}}


{{TOCright}}
{{TOCright}}


<span id="What_is_an_AppImage?"></span>
== Что такое AppImage? ==
== Что такое AppImage? ==


[[Image:AppImage-logo.png|link=https://appimage.org]] {{Emphasis|Упакуй раз и запускай везде. Дойдите до пользователей всех основных дистрибутивов рабочих столов Linux.}}
[[Image:AppImage-logo.png|link=https://appimage.org]] {{Emphasis|Упакуйте один раз и запускайте везде. Охватите пользователей всех основных дистрибутивов Linux на настольных ПК.}}


AppImage это "универсальный двоичный пакет", предназначенный для распространения приложений на любой дистрибутив Linux. Читайте дальше о нём на [https://appimage.org домашней странице Appimage] и в [https://ru.wikipedia.org/wiki/AppImage Wikipedia].
AppImage это "универсальный двоичный пакет", предназначенный для распространения приложений на любой дистрибутив Linux. Читайте дальше о нём на [https://appimage.org домашней странице Appimage] и в [https://ru.wikipedia.org/wiki/AppImage Wikipedia].
Line 20: Line 19:
Для других типов установки смотрите [[Download/ru|Download]].
Для других типов установки смотрите [[Download/ru|Download]].


<span id="FreeCAD_AppImages"></span>
== AppImages FreeCADа ==
== AppImage FreeCAD'а ==

{{VeryImportantMessage|'''Примечание:''' Разрабатываемые сборки теперь размещаются на [https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds '''FreeCAD-Bundle'''] репозитория github.<br/>Если приведённые ниже ссылки не работают, загрузите файлы вручную из расширенного раздела «Assets» приведённой выше ссылки.}}


{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
Line 30: Line 28:
! style="text-align: center; font-size: 200%;" | Development
! style="text-align: center; font-size: 200%;" | Development
|-
|-
| style="text-align: center;" | [[Image:AppImage-logo.png|link=https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/0.20]] <!-- [https://github.com/FreeCAD/FreeCAD/releases/download/0.19.3/FreeCAD_0.19.3-Linux-Conda_glibc2.12-x86_64.AppImage 0.19.3] ([https://github.com/FreeCAD/FreeCAD/releases/download/0.19.3/FreeCAD_0.19.3-Linux-Conda_glibc2.12-x86_64.AppImage-SHA256.txt SHA256]) --> [https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/0.20 v0.20]
| style="text-align: center;" | [[Image:AppImage-logo.png|link=https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/0.21.2]] [https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/0.21.2 v0.21.2]
| style="text-align: center;" | <!-- [[Image:AppImage-logo.png|link=https://github.com/FreeCAD/FreeCAD-Bundle/releases/download/weekly-builds/FreeCAD_weekly-builds-{{:Template:Development-Version}}-Linux-Conda_glibc2.12-x86_64.AppImage]] [https://github.com/FreeCAD/FreeCAD-Bundle/releases/download/weekly-builds/FreeCAD_weekly-builds-{{:Template:Development-Version}}-Linux-Conda_glibc2.12-x86_64.AppImage {{:Template:Development-Version}}] ([https://github.com/FreeCAD/FreeCAD-Bundle/releases/download/weekly-builds/FreeCAD_weekly-builds-{{:Template:Development-Version}}-Linux-Conda_glibc2.12-x86_64.AppImage-SHA256.txt SHA256]) --> [[Image:AppImage-logo.png|link=https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds Weekly build]] [https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds Weekly build]
| style="text-align: center;" | [[Image:AppImage-logo.png|link=https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds]] [https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds Weekly build]
|}
|}


'''Важные замчания:'''
'''Важные замечания:'''
* Разработка происходит ежедневно и быстро, ссылка на самую последнюю версию AppImage постоянно меняется.
* Разработка происходит ежедневно и быстро.
* Ссылка на разработку выше должна быть актуальной, потому что она обновляется с помощью скрипта.
* Ссылка на разработку выше должна быть актуальной, потому что она обновляется с помощью скрипта.
* Многие пользователи форума используют версию для разработки.
* Многие пользователи форума используют версию для разработки.
Line 41: Line 39:
* Пользователи используют версию для разработчиков, чтобы воспользоваться последними функциями и исправлениями ошибок (поскольку FreeCAD имеет длительный цикл выпуска). Они также используют его для тестирования и поиска ошибок, чтобы стимулировать разработку и улучшение FreeCAD.
* Пользователи используют версию для разработчиков, чтобы воспользоваться последними функциями и исправлениями ошибок (поскольку FreeCAD имеет длительный цикл выпуска). Они также используют его для тестирования и поиска ошибок, чтобы стимулировать разработку и улучшение FreeCAD.


<span id="Obligatory_Word_of_Caution"></span>
==== Необходимое предупреждение ====
==== Необходимое предупреждение ====


По большей части разрабатываемая версия стабильна, но, конечно, важно добавить обязательное заявление, что вы её используете на свой страх и риск. Хотя у большинства людей, которые используют резервные копии и 'часто сохраняются', всё довольно хорошо.
По большей части разрабатываемая версия стабильна, но, конечно, важно добавить обязательное заявление, что вы её используете на свой страх и риск. Хотя у большинства людей, которые используют резервные копии и 'часто сохраняются', всё довольно хорошо.


<span id="Automatic_updating"></span>
== Автообновление ==
== Автообновление ==


Line 51: Line 51:
Автоматическое обновление выполняется несколькими возможными методами. В настоящее время существует 4 метода: 2 - через графический интерфейс (GUI) и 2 - через интерфейс командной строки/терминала (CLI).
Автоматическое обновление выполняется несколькими возможными методами. В настоящее время существует 4 метода: 2 - через графический интерфейс (GUI) и 2 - через интерфейс командной строки/терминала (CLI).


<span id="Experimental_in-app_updating"></span>
=== Экспериментальное обновление в приложении ===
=== Экспериментальное обновление в приложении ===


Несколько ключевых разработчиков прилагают [https://forum.freecadweb.org/viewtopic.php?f=8&t=44324 постоянные усилия] по интеграции функции, которая позволяет '''самообновлять AppImage изнутри FreeCAD'''. Начиная с FC 0.19.21514 существует раздел AppImage, который можно найти через {{MenuCommand|Правка → Настройки → AppImage}}. Пожалуйста, проверьте эту возможность и сообщите о своем опыте в [https://forum.freecadweb.org/viewtopic.php?f=8&t=44324 обсуждении на форуме].
Несколько ключевых разработчиков прилагают [https://forum.freecadweb.org/viewtopic.php?f=8&t=44324 постоянные усилия] по интеграции функции, которая позволяет '''самообновлять AppImage изнутри FreeCAD'''. Начиная с FC 0.19.21514 существует раздел AppImage, который можно найти через {{MenuCommand|Правка → Настройки → AppImage}}. Пожалуйста, проверьте эту возможность и сообщите о своем опыте в [https://forum.freecadweb.org/viewtopic.php?f=8&t=44324 обсуждении на форуме].


<span id="GUI_method_1_(official)"></span>
=== Метод через GUI №1 (официальный) ===
=== Метод через GUI №1 (официальный) ===


Line 64: Line 66:
# После обновления AppImage нажмите кнопку {{Button|Run updated AppImage}}.
# После обновления AppImage нажмите кнопку {{Button|Run updated AppImage}}.


<span id="GUI_method_2_(unofficial)"></span>
=== Метод через GUI №2 (неофициальный) ===
=== Метод через GUI №2 (неофициальный) ===


Line 73: Line 76:
Далее: Следуйте инструкциям AppImageUpdater
Далее: Следуйте инструкциям AppImageUpdater


<span id="CLI_method_1_(official)"></span>
=== Метод через командную строку №1 (официальный) ===
=== Метод через командную строку №1 (официальный) ===


Line 90: Line 94:
* Также есть версия i386; см. страницу [https://github.com/AppImage/AppImageUpdate/releases AppImageUpdate release].
* Также есть версия i386; см. страницу [https://github.com/AppImage/AppImageUpdate/releases AppImageUpdate release].


<div class="mw-translate-fuzzy">
Что нужно сделать: поделитесь скриптом, который можно добавить в качестве алиаса или задания cron.
Что нужно сделать: поделитесь скриптом, который можно добавить в качестве алиаса или задания [https://ru.wikipedia.org/wiki/Cron cron].
</div>


<span id="CLI_method_2_(unofficial)"></span>
=== Метод через командную строку №2 (неофициальный) ===
=== Метод через командную строку №2 (неофициальный) ===


Аналогично графическим методам, имеющим официальный и неофициальный подходы к загрузке AppImages, то же самое относится и к командной строке.
Аналогично графическим методам, имеющим официальный и неофициальный подходы к загрузке AppImages, то же самое относится и к командной строке. Это более элегантный сторонний вариант в командной строке для загрузки AppImages.
Это более элегантный сторонний вариант командной строки для загрузки AppImages.


# Загрузите [https://github.com/antony-jr/AppImageUpdater/releases/tag/continuous-cli appimageupdater-*-x86_64.AppImage]
# Загрузите [https://github.com/antony-jr/AppImageUpdater/releases/tag/continuous-cli appimageupdater-*-x86_64.AppImage]
# Сделайте его исполняемым: {{Code|code=chmod +x appimageupdater*-x86_64.AppImage}}
# Сделайте его исполняемым: {{Code|code=chmod +x appimageupdater*-x86_64.AppImage}}
# Запустите его: {{Code|code=source appimageupdater*-x86_64.AppImage /path/to/old/FreeCAD-AppImage.AppImage}}
# Запустите его: {{Code|code=source appimageupdater*-x86_64.AppImage /path/to/old/FreeCAD-AppImage.AppImage}}
'''Результат''': Обновляет указанный файл AppImage, если обновление существует
'''Результат''': Обновляет указанный файл AppImage, если обновление существует.




= Experimental =
<span id="Experimental"></span>
= Экспериментальные функции =


<span id="Fixing_AppImage_zsync"></span>
== Fixing AppImage zsync ==
== Исправление AppImage через zsync ==


It may happen that an AppImage won't update because it's target file changed in some way. Instead of downloading a whole new appimage, it's possible to rewrite the zsync file that is used by the AppImage to download the delta. More info can be found at https://github.com/antony-jr/appimage-update-info-writer.
Может случиться так, что AppImage не будет обновляться, потому что его целевой файл каким-то образом изменился. Вместо того, чтобы загружать новый AppImage, можно переписать файл zsync, который используется AppImage для загрузки дельты. Дополнительную информацию можно найти на странице https://github.com/antony-jr/appimage-update-info-writer.


Этот раздел требует более подробной информации.
This section needs more details.


<span id="Downloading_via_Bittorrent"></span>
== Downloading via Bittorrent ==
== Загрузка через Bittorrent ==


Экспериментальная возможность, которую исследует команда разработчиков пакетов FreeCAD (благодаря работе Antony-jr), позволяет загрузить дельту AppImage FreeCAD через битторрент. Репозиторий исходников находится по адресу https://github.com/FreeCAD/FreeCAD-Bundle/issues/49.
An experimental feature that the FreeCAD packaging team is exploring (thanks to the work of Antony-jr) is being able to download an appimage delta of FreeCAD via bittorrent. The repository issue is at https://github.com/FreeCAD/FreeCAD-Bundle/issues/49


<span id="Developer_Section"></span>
= Секция разработчика =
= Секция разработчика =


{{Emphasis|Примечание:}} следующая секция предназначена для разработчиков
{{Emphasis|Примечание:}} следующая секция предназначена для разработчиков


<span id="Unpacking_AppImages"></span>
== Распаковка AppImage ==
== Распаковка AppImage ==


Очень удобный аспект FreeCAD заключается в том, что большая его часть построена на [[Python/ru|Python]], который не нужно компилировать вручную, как C ++. По сути, файл Python можно изменить, и после перезапуска FreeCAD эти изменения будут интегрированы в приложение. Разработчик может быстро работать над последней версией FreeCAD, используя эту технику и в AppImage. Более того, использование AppImage никоим образом не изменяет среду вашей системы, то есть ничего не устанавливается и никакие переменные среды не изменяются.
Очень удобный аспект FreeCAD заключается в том, что большая его часть построена на [[Python/ru|Python]], который не нужно компилировать вручную, как C ++. По сути, файл Python можно изменить, и после перезапуска FreeCAD эти изменения будут интегрированы в приложение. Разработчик может быстро работать над последней версией FreeCAD, используя эту технику и в AppImage. Более того, использование AppImage никоим образом не изменяет среду вашей системы, то есть ничего не устанавливается и никакие переменные среды не изменяются.


<span id="Modifying_AppImages"></span>
=== Модификация AppImage ===
=== Модификация AppImage ===


Line 138: Line 150:
}}
}}


<span id="Repackaging_AppImages"></span>
=== Переупаковка AppImage ===
=== Переупаковка AppImage ===


Line 149: Line 162:
}}
}}


<span id="Personalized_AppImages"></span>
== Персонализация AppImage ==
== Персонализированные AppImage ==


Thanks to the work of {{Emphasis|realthunder}}, author of [[App_Link|App Link]] and [[Assembly3_Workbench|Assembly3 Workbench]], it is possible to build custom AppImages using a set of scripts.
Благодаря работе {{Emphasis|realthunder}}, автора [[App_Link/ru|App Link]] и [[Assembly3_Workbench/ru|Верстака Assembly3]], можно создавать пользовательские AppImage с помощью набора скриптов.


Это делает очень удобным выпуск образов определённой ветви исходного кода для тестирования другими. Хотя AppImages работают только в Linux, скрипты realthunder'а позволяют создавать AppImage также в Windows и MacOS.
This makes it very convenient to release images for a specific branch of the source code for others to test. Although AppImages only work on Linux, realthunder's scripts make it possible to generate AppImages also on Windows and MacOS.


The repository for these scripts is at [https://github.com/realthunder/FreeCADMakeImage realthunder/FreeCADMakeImage]. Please read the [https://github.com/realthunder/FreeCADMakeImage/blob/master/Readme.md Readme.md] for more details.
Репозиторий этих скриптов находится по адресу [https://github.com/realthunder/FreeCADMakeImage realthunder/FreeCADMakeImage]. Дополнительную информацию смотри в [https://github.com/realthunder/FreeCADMakeImage/blob/master/Readme.md Readme.md].


== Related ==
<span id="Related"></span>
== Связанные ссылки ==


* [[Ubuntu_Snap|Snap]] packages.
* Пакеты [[Ubuntu_Snap/ru|Snap]].
* [[Flatpak|Flatpak]] packages.
* Пакеты [[Flatpak|Flatpak]].





Latest revision as of 05:37, 9 January 2024

Что такое AppImage?

Упакуйте один раз и запускайте везде. Охватите пользователей всех основных дистрибутивов Linux на настольных ПК.

AppImage это "универсальный двоичный пакет", предназначенный для распространения приложений на любой дистрибутив Linux. Читайте дальше о нём на домашней странице Appimage и в Wikipedia.

Чтобы запустить его, сначала сделайте его исполняемым, а затем введите относительный или полный путь.

chmod +x FreeCAD_xxx-x86_64.AppImage
./FreeCAD_xxx-x86_64.AppImage

Для других типов установки смотрите Download.

AppImage'и FreeCAD'а

Available FreeCAD AppImages
Stable Development
v0.21.2 Weekly build

Важные замечания:

  • Разработка происходит ежедневно и быстро.
  • Ссылка на разработку выше должна быть актуальной, потому что она обновляется с помощью скрипта.
  • Многие пользователи форума используют версию для разработки.
  • Его можно запускать в той же системе параллельно с другой версией FreeCAD.
  • Пользователи используют версию для разработчиков, чтобы воспользоваться последними функциями и исправлениями ошибок (поскольку FreeCAD имеет длительный цикл выпуска). Они также используют его для тестирования и поиска ошибок, чтобы стимулировать разработку и улучшение FreeCAD.

Необходимое предупреждение

По большей части разрабатываемая версия стабильна, но, конечно, важно добавить обязательное заявление, что вы её используете на свой страх и риск. Хотя у большинства людей, которые используют резервные копии и 'часто сохраняются', всё довольно хорошо.

Автообновление

AppImage имеет умный и экономичный способ обновления. Он вычисляет разницу между новым AppImage и старым и загружает только изменения между их версиями. Теоретически пользователь каждый раз загружает около 15% вместо совершенно нового AppImage.

Автоматическое обновление выполняется несколькими возможными методами. В настоящее время существует 4 метода: 2 - через графический интерфейс (GUI) и 2 - через интерфейс командной строки/терминала (CLI).

Экспериментальное обновление в приложении

Несколько ключевых разработчиков прилагают постоянные усилия по интеграции функции, которая позволяет самообновлять AppImage изнутри FreeCAD. Начиная с FC 0.19.21514 существует раздел AppImage, который можно найти через Правка → Настройки → AppImage. Пожалуйста, проверьте эту возможность и сообщите о своем опыте в обсуждении на форуме.

Метод через GUI №1 (официальный)

Это официальное приложение с графическим интерфейсом AppImageUpdate.

  1. Загрузить AppImageUpdate-x86_64.AppImage.
  2. Сделайте его исполняемым, щелкнув правой кнопкой мыши по файлу, войдя в свойства и установив «Запускать как исполняемый файл».
  3. Дважды щелкните значок AppImage, появится диалоговое окно, в котором вам будет предложено указать, какой AppImage вы хотите обновить.
  4. Укажите путь к существующему AppImage.
  5. После обновления AppImage нажмите кнопку Run updated AppImage.

Метод через GUI №2 (неофициальный)

Это более элегантная сторонняя неофициальная версия AppImageUpdate с именем AppImageUpdater. Он всё ещё находится в разработке (на момент этого редактирования вики), но тем не менее, довольно удобен в использовании.

  1. Загрузите AppImageUpdater-*-x86_64.AppImage
  2. Сделайте его исполняемым:
    chmod +x AppImageUpdater*-x86_64.AppImage
    
  3. Запустите его:
    source AppImageUpdater*-x86_64.AppImage
    
  4. Найдите текущий файл FreeCAD AppImage и перетащите его в AppImageUpdater

Далее: Следуйте инструкциям AppImageUpdater

Метод через командную строку №1 (официальный)

Выполните следующие инструкции в своем терминале

wget https://github.com/AppImage/AppImageUpdate/releases/download/continuous/appimageupdatetool-x86_64.AppImage
chmod +x ./appimageupdatetool-x86_64.AppImage
./appimageupdatetool.AppImage path/to/old/FreeCAD.AppImage
chmod +x path/to/updated/FreeCAD.AppImage
./path/to/updated/FreeCAD.AppImage

Примечания:

  • Имена файлов будут уникальными, поскольку в них встроена информация о версии. Приведённые выше инструкции упрощены для удобства.
  • Запустите ./appimageupdatetool-x86_64.AppImage --help, чтобы узнать о таких функциях, как --remove-old, --overwrite и --self-update.
  • Также есть версия i386; см. страницу AppImageUpdate release.

Что нужно сделать: поделитесь скриптом, который можно добавить в качестве алиаса или задания cron.

Метод через командную строку №2 (неофициальный)

Аналогично графическим методам, имеющим официальный и неофициальный подходы к загрузке AppImages, то же самое относится и к командной строке. Это более элегантный сторонний вариант в командной строке для загрузки AppImages.

  1. Загрузите appimageupdater-*-x86_64.AppImage
  2. Сделайте его исполняемым:
    chmod +x appimageupdater*-x86_64.AppImage
    
  3. Запустите его:
    source appimageupdater*-x86_64.AppImage /path/to/old/FreeCAD-AppImage.AppImage
    

Результат: Обновляет указанный файл AppImage, если обновление существует.


Экспериментальные функции

Исправление AppImage через zsync

Может случиться так, что AppImage не будет обновляться, потому что его целевой файл каким-то образом изменился. Вместо того, чтобы загружать новый AppImage, можно переписать файл zsync, который используется AppImage для загрузки дельты. Дополнительную информацию можно найти на странице https://github.com/antony-jr/appimage-update-info-writer.

Этот раздел требует более подробной информации.

Загрузка через Bittorrent

Экспериментальная возможность, которую исследует команда разработчиков пакетов FreeCAD (благодаря работе Antony-jr), позволяет загрузить дельту AppImage FreeCAD через битторрент. Репозиторий исходников находится по адресу https://github.com/FreeCAD/FreeCAD-Bundle/issues/49.

Секция разработчика

Примечание: следующая секция предназначена для разработчиков

Распаковка AppImage

Очень удобный аспект FreeCAD заключается в том, что большая его часть построена на Python, который не нужно компилировать вручную, как C ++. По сути, файл Python можно изменить, и после перезапуска FreeCAD эти изменения будут интегрированы в приложение. Разработчик может быстро работать над последней версией FreeCAD, используя эту технику и в AppImage. Более того, использование AppImage никоим образом не изменяет среду вашей системы, то есть ничего не устанавливается и никакие переменные среды не изменяются.

Модификация AppImage

В AppImage встроена файловая система со всем, что требуется для запуска приложения. Чтобы изменить его, необходимо извлечь файловую систему.

./FreeCAD_xxx.AppImage --appimage-extract
cd squashfs-root/

Теперь откройте необходимые исходные файлы Python в предпочитаемом вами редакторе кода, измените их и сохраните. Затем запустите приложение.

./AppRun

Переупаковка AppImage

Если вы изменили код и теперь хотите повторно упаковать AppImage с последними изменениями, примените appimagetool- x86_64 к извлеченной файловой системе.

cd ..
wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
chmod +x appimagetool-x86_64.AppImage
./appimagetool-x86_64.AppImage squashfs-root

Персонализированные AppImage

Благодаря работе realthunder, автора App Link и Верстака Assembly3, можно создавать пользовательские AppImage с помощью набора скриптов.

Это делает очень удобным выпуск образов определённой ветви исходного кода для тестирования другими. Хотя AppImages работают только в Linux, скрипты realthunder'а позволяют создавать AppImage также в Windows и MacOS.

Репозиторий этих скриптов находится по адресу realthunder/FreeCADMakeImage. Дополнительную информацию смотри в Readme.md.

Связанные ссылки