Установка программ на флеш-накопитель, чтобы они могли выполняться на месте

При чтении ответов на этот пост мне интересно, можем ли мы делать программы, которые мы часто используем на наших компьютерах переносимыми (в смысле Windows), чтобы мы могли сделать их копию на нашем флеш-диске, чтобы у нас не было беспокоиться, если у нас нет доступа к программам, которые нам нравятся на других компьютерах?

Можно ли сделать такие переносные установки?

  • Что происходит с файлами во время установки триплекс «./configure, make, make install»?
  • Не удалось установить программный центр
  • Установка .tgz ... как?
  • Какие еще шаги можно выполнить с Groovy с помощью инструкций по установке SDKMAN?
  • Вы сохранили бы Makefile для последующей деинсталляции?
  • Запуск исполняемого файла из символической ссылки, когда исполняемый файл ожидает, что его конфигурационные файлы будут находиться в его каталоге
  • Как установить кофеин на fedora16?
  • Как настроить путь Дарт? (ОБНОВЛЕНО Еще нужна помощь)
  • 2 Solutions collect form web for “Установка программ на флеш-накопитель, чтобы они могли выполняться на месте”

    Да, вы можете это сделать. Это больше работы, чем полагаться на менеджера пакетов. Основная привлекательность «портативных» установок под Windows – не бороться с нехваткой достойного менеджера пакетов.

    Вам нужно будет расположить программы для поиска их зависимостей: файлы данных, библиотеки и т. Д. Многие программы поддерживают переменные среды для этого. Некоторые проверяют каталог, в котором находится двоичный файл, или относительные каталоги, такие как ../lib , для сопутствующих файлов

    Установите программное обеспечение в какой-либо корневой каталог. Создайте обычные каталоги категорий под этим корнем: bin , lib , man и т. Д. Чтобы управлять всем программным обеспечением, установите каждый из них самостоятельно, а затем используйте такую ​​программу, как Stow, создайте лес символических ссылок, чтобы связать их с каталогами категорий. См. Отслеживание программ для введения в Stow. Таким образом, у вас будут символические ссылки, такие как

     bin/foo -> ../stow/foo-1.42/bin/foo bin/foobar -> ../stow/foo-1.42/bin/foobar man/man1/foo.1 -> ../../stow/foo-1.42/man/man1/foo.1 … 

    Вам потребуется сценарий для настройки переменных среды. Поместите его в корень вашей установки и используйте $0 чтобы найти скрипт. Так как сценарий не может влиять на родителя, обычный подход заключается в том, чтобы сделать сценарий выдачей результата, который может быть оценен вызывающей оболочкой. Назовем этот скрипт setup.sh .

     #!/bin/sh set -e root=$(dirname -- "$0") cd -- "$root" printf "PORTABLE_ROOT='%s'\\n" "${PWD}" | sed "s/'/'\\\\''/g" prepend () { eval "set -- \"\$1\" \"\$2\" \"${$1}\"" case :$3: in *:$PORTABLE_ROOT/$2:*) :;; # already there (at any location) :: echo '$1=$PORTABLE_ROOT/$2; export $1';; # the path was empty *) echo '$1=$PORTABLE_ROOT/$2:$3; export $1';; # prepend esac } prepend PATH bin prepend MANPATH man prepend LD_LIBRARY_PATH lib prepend PERL5LIB lib/perl prepend PYTHONPATH lib/python … 

    (Предупреждение: непроверенный код)

    Чтобы использовать переносную установку из оболочки, запустите eval "`/path/to/setup.sh`" .

    Конечно. Некоторые языки, такие как Java или Python, достигают уровня мобильности, хотя его можно победить с включением системных вызовов os.

    Linux и Unix - лучшая ОС в мире.