Портативні програми для Linux?


12

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

Беручи до уваги наявність інструментів тощо у більшості систем Linux за замовчуванням, чи існує навіть потреба в цьому?

EDIT: Для уточнення, я шукаю програми, які можна запустити в існуючій системі Linux - я не хочу переносити всю ОС, якщо мені не доведеться.

Відповіді:


7

Більшість застосунків, які використовують ланцюжок інструментів GNU, можна побудувати з такого джерела:

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

а потім перенесли на інший комп'ютер із сумісними бібліотеками.

У Linux немає реєстру багатьох програм, як правило, їх не потрібно «встановлювати», вони можуть бути побудовані з джерела замість цього, тому робити «My Specialy Portable © програми для Linux» абсолютно безглуздо, тому я думаю, що про це ніхто навіть не переймається.

Просто подивіться на найвищу відповідь на це питання, і ви зрозумієте, що дурна концепція зробити аплікатини «портативними» «корисними» просто у світі реєстру та власних програм із управлінням ліцензіями.


Спасибі! Я не був впевнений, що це було дурним раніше, але ти насправді загнав цю точку додому;)
Енді Мікула

5

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

Отже, відповідь полягає в тому, що створення портативних програм для Linux, хоча і неможливо, є суттєвим тонкощами. Я підозрюю, що це головний фактор, що робить це не так близько, як в Windows. Крім того, засоби громадських обчислень (там, де основна перевага переваг портативного додатка) зазвичай не працює під управлінням Linux. Визначним винятком є ​​університетські лабораторії, але зазвичай ви можете встановити додаткове програмне забезпечення у своєму домашньому каталозі.


1

Linux for Travelers відстежує цю тему і має кілька хитрощів, щоб обійти той факт, що не існує (поки що?) Встановлень портативних програм, спрямованих на Linux - ймовірно, з тієї причини, яку ви згадали: якщо у вас є встановлення привілеїв, додавання нових програм досить просто. не потрібно використовувати ваші портативні.

  • Встановіть WINE і запускайте програми з PortableApps.com або деінде. Це здається надмірним, але це дозволяє використовувати портативні додатки, які ви вже встановили.
  • Запустіть Чорт малого Linux всередині вашої існуючої установки Linux (наприклад, на Ubuntu ). Цей варіант корисний, якщо ви ще не маєте прав на встановлення в певній системі Linux.



1

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


1

Проблема запуску програм у існуючих системах Linux полягає в тому, що часто додатки складаються для використання спільних бібліотек. Існує багато дистрибутивів Linux та багато версій базових бібліотек. Якщо вам пощастить, існуюча система Linux матиме ті ж самі версії, і ваш додаток буде пов’язано з правильною версією бібліотек. Якщо ні, то це не спрацює. Приблизним рішенням буде складання потрібних додатків зі статично пов'язаними бібліотеками, але це призводить до набагато більших розмірів програми.


1

Ще одне питання у вашому питанні - це поняття стартапів сьогодні, які часто пишуть код клієнтської сторони один раз, а потім використовують рамки, щоб зробити важкий підйом синтезуючих клієнтів для iOS, Android та Інтернету. Тут бізнес-логіка є портативною, але її автоматично переносять цим інструментом. Таких рамок багато, Метеор - один.

Якщо взяти такий спосіб, значна частка будь-якого додатка, знайденого в магазинах додатків, має це портативне надбання.

Для подальшого розмивання цієї ідеї тепер у нас є WebAssembly, який дозволяє писати код вашого браузера (який за визначенням є JavaScript) у зростаючу кількість статично складених традиційно сторонніх серверних мов, які розбираються для синтезу javascript для націлювання на клієнта.

Ви запитуєте про додатки Linux, але за допомогою інструментів, таких як Electron, який фактично є графічним інтерфейсом або командним рядком, обгорнутим навколо nodejs, ідея портативних програм Linux переживає вибух виборів


0

На полі є новий гравець, AppImage . Програми упаковані у вигляді одного файлу з усіма залежностями, тому вони можуть бути запущені незалежно від базового розподілу.

У AppImageHub є сховище зображень додатків .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.