Відмінності між версіями «Встановлюємо Linux-програми на смартфон під управлінням Android»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 1: Рядок 1:
 
Багато власників Android-фонів зазнають труднощів із запуском даного Linux-софта на своїх девайсах. За всіма законами він начебто повинен тут працювати, та ось тільки для його установки чомусь потрібні права root, сам він поширюється в якихось саморобних інсталяторах, а вибір програм сильно обмежений. Ця стаття запропонує відповідь на питання, чому так вийшло, і підкаже рішення - зручний спосіб установки і запуску майже будь-якого Linux-софта в Android.
 
Багато власників Android-фонів зазнають труднощів із запуском даного Linux-софта на своїх девайсах. За всіма законами він начебто повинен тут працювати, та ось тільки для його установки чомусь потрібні права root, сам він поширюється в якихось саморобних інсталяторах, а вибір програм сильно обмежений. Ця стаття запропонує відповідь на питання, чому так вийшло, і підкаже рішення - зручний спосіб установки і запуску майже будь-якого Linux-софта в Android.
 +
 +
[[Файл:Cbeb6fe7c4af4ddfee02cdf10d3656dd.jpg]]
  
 
'''Linux чи не Linux?'''
 
'''Linux чи не Linux?'''
Рядок 15: Рядок 17:
 
Проект BotBrew покликаний вирішити багато проблем з установкою Linux-софта, які тільки можуть виникнути у користувача, і підготувати систему Android до прийняття сторонніх для неї додатків. По суті, система складається з чотирьох компонентів:
 
Проект BotBrew покликаний вирішити багато проблем з установкою Linux-софта, які тільки можуть виникнути у користувача, і підготувати систему Android до прийняття сторонніх для неї додатків. По суті, система складається з чотирьох компонентів:
  
     - репозиторій з прекомпілірованние для Android додатками, використовуючи який можна встановити багато  
+
     - репозиторій з прекомпілірованние для Android додатками, використовуючи який можна встановити багато Linux-додатки за допомогою однієї команди;
Linux-додатки за допомогою однієї команди;
+
     - менеджер пакетів, в якості якого використовується легкий Opkg або dpkg разом з apt-get в експериментальній версії BotBrew Bazil;
     - менеджер пакетів, в якості якого використовується легкий Opkg або dpkg разом з apt-get в експеримен-
+
тальній версії BotBrew Bazil;
+
 
     - менеджер процесів runit, необхідний для того, щоб правильно запускати і підтримувати роботу демонів,
 
     - менеджер процесів runit, необхідний для того, щоб правильно запускати і підтримувати роботу демонів,
 
якщо такі будуть встановлені;
 
якщо такі будуть встановлені;
     - власна система збирання, яка містить в собі всі інструменти, необхідні для крос-компіляції додатків  
+
     - власна система збирання, яка містить в собі всі інструменти, необхідні для крос-компіляції додатків за допомогою будь-якого настільного Linux-дистрибутива.
за допомогою будь-якого настільного Linux-дистрибутива.
+
  
 
Для роботи це чудо програмістської думки вимагає всього нічого: права root і трохи вільного простору у внутрішній пам'яті смартфона або на карті пам'яті. Причому перший варіант кращий, так як у випадку з SD файли будуть повалені на віртуальний диск, робота з яким підтримується далеко не всіма ядрами.
 
Для роботи це чудо програмістської думки вимагає всього нічого: права root і трохи вільного простору у внутрішній пам'яті смартфона або на карті пам'яті. Причому перший варіант кращий, так як у випадку з SD файли будуть повалені на віртуальний диск, робота з яким підтримується далеко не всіма ядрами.

Версія за 10:36, 11 травня 2016

Багато власників Android-фонів зазнають труднощів із запуском даного Linux-софта на своїх девайсах. За всіма законами він начебто повинен тут працювати, та ось тільки для його установки чомусь потрібні права root, сам він поширюється в якихось саморобних інсталяторах, а вибір програм сильно обмежений. Ця стаття запропонує відповідь на питання, чому так вийшло, і підкаже рішення - зручний спосіб установки і запуску майже будь-якого Linux-софта в Android.

Cbeb6fe7c4af4ddfee02cdf10d3656dd.jpg

Linux чи не Linux?

Як відомо, андроїд заснований на ядрі Linux і включає в себе набір стандартних бібліотек і утиліт командного рядка, властивих звичайному Linux-дистрибутива. Однак запуск класичного Linux-софта тут сильно утруднений через безліч причин, в числі яких несумісність ABI, відсутність менеджера пакетів, власна система безпеки і відсутність багатьох компонентів стандартної Linux-системи.

Так, незважаючи на наявність в Android стандартної бібліотеки libc і інших, їх реалізація в більшості випадків несумісна з бібліотеками від проекту GNU і сильно урізана по функціоналу. З цієї причини Linux-софт потрібно як мінімум збирати заново спеціально під Android і ARM-процесор, а в багатьох випадках ще й патчить, додаючи функціонал, відсутній в бібліотеках.

Система безпеки Android, обрізати додатки в привілеї по повній програмі і не дозволяє їм виходити за рамки власного каталогу, також серйозно перешкоджає роботі стандартного Linux-софта. Тому часто потрібно отримувати права root, які ці обмеження знімають. Відсутність менеджера пакетів, який би дозволяв встановлювати звичайний Linux-софт, а не тільки Java-додатка, змушує розробників писати додатки, потрібні тільки для того, щоб встановлювати інші додатки. Так з'являються всі ці кастомниє інсталятори.

Найбільш очевидний і простий шлях перенести в Android функціонал повноцінного Linux-системи-це запустити «віртуалізувати» версію повноцінного Linux-дистрибутива, про що ми вже докладно писали. Спосіб цей цікавий, але страждає від проблеми поділу системи на дві області, кожна з яких працює незалежно від іншої.

BotBrew

Проект BotBrew покликаний вирішити багато проблем з установкою Linux-софта, які тільки можуть виникнути у користувача, і підготувати систему Android до прийняття сторонніх для неї додатків. По суті, система складається з чотирьох компонентів:

   - репозиторій з прекомпілірованние для Android додатками, використовуючи який можна встановити багато Linux-додатки за допомогою однієї команди;
   - менеджер пакетів, в якості якого використовується легкий Opkg або dpkg разом з apt-get в експериментальній версії BotBrew Bazil;
   - менеджер процесів runit, необхідний для того, щоб правильно запускати і підтримувати роботу демонів,

якщо такі будуть встановлені;

   - власна система збирання, яка містить в собі всі інструменти, необхідні для крос-компіляції додатків за допомогою будь-якого настільного Linux-дистрибутива.

Для роботи це чудо програмістської думки вимагає всього нічого: права root і трохи вільного простору у внутрішній пам'яті смартфона або на карті пам'яті. Причому перший варіант кращий, так як у випадку з SD файли будуть повалені на віртуальний диск, робота з яким підтримується далеко не всіма ядрами.


[1]