11

Задавание этого вопроса заставило меня задуматься - есть ли портативные приложения для Linux? Я знаю, что многие простые инструменты могут работать автономно, но столкнусь ли я с ограничениями безопасности в обычных дистрибутивах Linux?

В любом случае, учитывая наличие инструментов и т.д. В большинстве систем Linux по умолчанию, есть ли необходимость в этом?

РЕДАКТИРОВАТЬ: Чтобы уточнить, я ищу приложения, которые я могу запустить в существующей системе Linux - я не хочу носить с собой всю ОС, если мне не нужно.

7 ответов7

5

Большинство приложений, использующих цепочку инструментов GNU, могут быть построены из таких источников:

./configure --prefix=[directory which will contain your 'portable' application]
make
make install

а затем перешел на другой компьютер с совместимыми библиотеками.

В Linux нет реестра, многие приложения обычно не нуждаются в «установке», их можно собирать из исходного кода, поэтому создание «My Specialy Portable © приложения для Linux» совершенно бессмысленно, так что я думаю, что это никого не волнует.

Просто посмотрите на самый лучший ответ на этот вопрос, и вы поймете, что глупая концепция сделать приложения «портативными» «полезными» только в мире реестров и проприетарных приложений с управлением лицензиями.

3

Трюк ./configure будет работать для некоторых приложений. Однако многие приложения кодируют префикс в себя, а затем используют его во время выполнения для поиска вспомогательных файлов. Им также нужна возможность загружать свои файлы совместно используемых библиотек (хотя для этого можно установить переменную среды LD_LIBRARY_PATH). Результатом этого, однако, является то, что переносимые приложения, вероятно, будут не очень переносимыми - они будут зависеть от того, находятся ли они по указанному префиксу. Это, вероятно, будет работать во многих местах (большинство современных дистрибутивов монтируют носители в /media/DISKNAME), но не позволяет приложению быть действительно переносимым и не зависящим от местоположения.

Таким образом, общий ответ заключается в том, что создание портативных приложений Linux, хотя и не невозможно, но изобилует тонкостями. Я подозреваю, что это является основным фактором, способствующим тому, почему это делается не так часто, как в Windows. Кроме того, общедоступные вычислительные средства (где возникает большая часть преимуществ переносимых приложений), как правило, не работают под управлением Linux. Заметным исключением являются университетские лаборатории, но обычно вы можете установить дополнительное программное обеспечение в своем домашнем каталоге.

1

Linux for Travellers отслеживает эту тему и имеет несколько хитростей, позволяющих обойти тот факт, что их нет (пока?) Установка переносимых приложений для Linux - вероятно, по той причине, которую вы упомянули: если у вас уже есть права на установку, добавление новых приложений достаточно просто, и вам не нужно использовать переносимые приложения.

  • Установите WINE и запустите приложения с PortableApps.com или в другом месте. Это кажется излишним, но оно позволяет вам использовать уже установленную портативную программу.
  • Запустите Damn Small Linux внутри существующей установки Linux (например, в Ubuntu). Это один полезно , если вы уже не имеете права устанавливать на данной системе Linux.
1

HackToLive.org (сопровождающий версию Ubuntu для Super OS) поддерживает некоторые переносимые приложения для Linux:

http://hacktolive.org/wiki/Portable_Applications_(Linux)

1

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

1

Чтобы сделать любое приложение переносимым, вы можете создавать символические ссылки, которые вы помещаете в домашнюю папку при входе в систему; приложение сохранит настройки через символическую ссылку, куда бы оно ни направлялось, скажем, на флэш-накопитель. Я использовал это для портативных сейфов Minecraft.

1

Проблема с запуском приложений в существующих системах Linux состоит в том, что часто приложения компилируются для использования общих библиотек. Существует много дистрибутивов Linux и множество версий базовых библиотек. Если вам повезет, у существующей системы Linux будут те же версии, и ваше приложение будет связано с правильной версией библиотек. Если нет, это не сработает. Обходной путь может состоять в том, чтобы компилировать нужные приложения с помощью статически связанных библиотек, но это приводит к гораздо большим размерам программ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .