Задавание этого вопроса заставило меня задуматься - есть ли портативные приложения для Linux? Я знаю, что многие простые инструменты могут работать автономно, но столкнусь ли я с ограничениями безопасности в обычных дистрибутивах Linux?
В любом случае, учитывая наличие инструментов и т. Д. В большинстве систем Linux по умолчанию, есть ли необходимость в этом?
РЕДАКТИРОВАТЬ: Чтобы уточнить, я ищу приложения, которые я могу запустить в существующей системе Linux - я не хочу носить с собой всю ОС, если мне не нужно.
./configure
Трюк будет работать для некоторых приложений. Однако многие приложения кодируют префикс в себя, а затем используют его во время выполнения для поиска вспомогательных файлов. Им также нужна возможность загружать свои файлы общей библиотеки (хотя для этогоLD_LIBRARY_PATH
можно установить переменную среды). Результатом этого, однако, является то, что переносимые приложения, вероятно, будут не очень переносимыми - они будут зависеть от того, находятся ли они по указанному префиксу. Это, вероятно, будет работать во многих местах (в большинстве современных дистрибутивов для монтирования носителей/media/DISKNAME
), но не позволяет приложению быть по-настоящему портативным и не зависящим от местоположения.Таким образом, общий ответ заключается в том, что создание портативных приложений для Linux, хотя и не невозможно, но изобилует тонкостями. Я подозреваю, что это является основным фактором, объясняющим, почему это делается не так часто, как в Windows. Кроме того, общедоступные вычислительные средства (где возникает большая часть преимуществ переносимых приложений) обычно не работают под управлением Linux. Заметным исключением являются университетские лаборатории, но вы обычно можете установить дополнительное программное обеспечение в своем домашнем каталоге.
источник
Linux for Travelers отслеживает эту тему и имеет несколько хитростей, позволяющих обойти тот факт, что нет (пока?) Переносимых приложений, предназначенных для Linux - вероятно, по той причине, которую вы упомянули: если у вас уже есть права на установку, добавление новых приложений достаточно просто. не нужно использовать ваши портативные.
источник
HackToLive.org (сопровождающий версию Ubuntu для Super OS) поддерживает некоторые переносимые приложения для Linux:
http://hacktolive.org/wiki/Portable_Applications_(Linux)
источник
Вы можете проверить Portable Linux Apps . Просто загрузите переносимые двоичные файлы и сделайте их исполняемыми. все необходимые зависимости включены в двоичный файл.
источник
Чтобы сделать любое приложение переносимым, вы можете создавать символические ссылки, которые вы помещаете в домашнюю папку при входе в систему; приложение сохранит настройки через символическую ссылку, куда бы оно ни направлялось, скажем, на флэш-накопитель. Я использовал это для портативных сейфов Minecraft.
источник
Проблема с запуском приложений в существующих системах Linux состоит в том, что часто приложения компилируются для использования общих библиотек. Существует много дистрибутивов Linux и множество версий базовых библиотек. Если вам повезет, в существующей системе Linux будут такие же версии, и ваше приложение будет связано с правильной версией библиотек. Если нет, это не сработает. Обходной путь может состоять в том, чтобы компилировать нужные вам приложения со статически связанными библиотеками, но это приводит к гораздо большим размерам программ.
источник
Еще один подход к вашему вопросу - это сегодняшние стартапы, которые часто пишут код на стороне клиента, а затем используют фреймворки для тяжелой работы по синтезированию клиентов для iOS, Android и Интернета. Здесь бизнес-логика переносима, но автоматически переносится этим инструментом. Таких рамок много, Метеор один.
Таким образом, значительная часть любого приложения, найденного в магазинах приложений, обладает этим портативным наследием.
Чтобы еще больше размыть эту идею, у нас теперь есть WebAssembly, которая позволяет вам писать код вашего браузера (который по определению является javascript) на растущем количестве статически компилируемых традиционно серверных языков, которые анализируются для синтеза javascript для целевого клиента.
Вы спрашиваете о приложениях Linux, однако с такими инструментами, как Electron, который фактически представляет собой графический интерфейс или командную строку, обернутую вокруг nodejs, идея переносимых приложений Linux испытывает взрыв выбора
источник
На поле появился новый игрок, AppImage . Приложения упакованы в один файл со всеми зависимостями, поэтому они могут запускаться независимо от базового дистрибутива.
В AppImageHub есть хранилище изображений приложений .
источник