Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

setups:portable [2017/04/07 12:49] (текущий)
Строка 1: Строка 1:
 +====== Portable софт (перенос софта из одного дистрибутива в другой)======
 +  *Софт, который не имеет зависимостей от сторонних библиотек или включает их в себя. 
 +  *Соответственно запускается на любом линуксе
 +===== Зачем =====
 +  *В Вашем дистрибутиве нет нужного софта (не той версии, не с теми зависимостями или патчами)
 +  *Использование портированного софта в разных дистрибутивах. Как минимум - экономия места. Так сделаны основные браузеры
  
 +===== Статическая линковка библиотек =====
 +
 +Некоторые программы можно компилить [[http://radist-elvin.blogspot.ru/2008/07/linux.html|статически]]. [[http://sourceforge.net/projects/deadbeef/files/archlinux/|Например]]. 
 +==== Достоинства ====
 +  *Библиотеки не нужны
 +==== Недостатки ====
 +  *Так получится не с любой программой
 +  *Раздувание объема программы
 +  *Дубляж библиотек
 +
 +===== Включение библиотек в альтернативный каталог программы===== 
 +  *[[http://www.firststeps.ru/linux/r.php?7|Теория]]
 +  *Складываем бинарный файл и библиотеки в, например, /opt и настраиваем связи
 +  *Если положить библиотеки в /lib - они могут заменить родные библиотеки системы и сломать систему
 +  *Включать абсолютно все зависимые библиотеки не надо. Только те, которых нет (других версий) у акцептора
 +  *Если каких-то библиотек не хватает -их можно взять в дистрибутиве-доноре (откуда брались бинарники)
 +==== http://portablelinuxapps.org/ ====
 +
 +http://xakep.ru/55227/ 
 +===Недостатки===
 +  *Все в 1 файле , который не так просто собрать \ разобрать. 
 +  *Монтируется iso - в итоге то же  монтирование, только iso, а не squash... Сквош удобнее (сжат, можно наслаивать)
 +==== /etc/ld.so.conf.d ====
 +  *[[http://www.ibm.com/developerworks/ru/library/l-lpic1-v3-102-3/|Настройка динамических библиотек]]
 +  *[[http://mirror.yandex.ru/puppyrus/puppyrus-a/pra02/pfs/multimedia/mplayer-dd01.pfs|Пример]]
 +===Достоитства===
 +  *Можно переносить библиотеку с зависимыми библиотеками. 
 +===Недостатки===
 +  *После изменения конфига надо делать sudo ldconfig
 +==== LD_LIBRARY_PATH= ====
 +Запуск через wrapper : //wrapper app//
 +  #!/bin/sh
 +  LD_LIBRARY_PATH="/opt/$1/lib" exec "/opt/$1/bin/$1" "$@"
 +===Достоитства===
 +  *ldconfig делать не надо. 
 +
 +
 +=====Выводы=====
 +  -К каждой программе нужен индивидуальный подход
 +  -Наиболее прост и универсален LD_LIBRARY_PATH= Именно этот метод используется везде где возможно в PRA
 +  -Подключаемые модули в дистрибутивах puppy(rus)(a), porteus, magos можно делать портируемыми (Что и сделано в большинстве модулей PRA)
 +  -Не надо злоупотреблять. Всегда нужно стараться использовать родной репозиторий или компилить
 +  -Оптимально портировать простые, популярные программы для использования в разных дистрибутивах
 +
 +[[http://forum.puppyrus.org/index.php/topic,16173.0.html|Обсуждение]]
 +//Автор: sfs//
Печать/экспорт