Suse studio запускаємо linux в браузері

Від перекладача: Продовжимо перекладати статті Нетан Фрідмана про SUSE Studio. На цей раз це друга із серії статей, які він пише про SUSE Studio та програмних рішеннях.







Suse studio запускаємо linux в браузері

Однією з основних завдань при створенні SUSE Studio було надання користувачу прискореного циклу #xab; збірка-тестування-настройка-Перезбірка # xbb ;, що б він міг створювати і покращувати програмні рішення в кілька кроків.

Але ми також хотіли, щоб SUSE Studio мала якомога нижчий поріг входження. Якщо ви доводилося встановлювати будь-яку нову програму для використання Studio, або, якщо б було необхідно мати SUSE встановленої на комп'ютері, думаємо, що набагато менше людей вирішили б спробувати Studio.

Таким чином, це пояснює, чому ми зробили SUSE Studio веб-сервісом, який можна використовувати з будь-якого комп'ютера, навіть якщо у вас немає SUSE. І навіть якщо у вас взагалі немає Linux. (Не дивлячись на те, що для використання SUSE Studio бажано мати певний досвід).

Введення в Testdrive

Ми вирішили цю проблему, зробивши можливою завантаження вашого рішення в веб-браузері, швидко, в один клік. Ми називаємо цю можливість #xab; testdrive # xbb ;. Я зробив короткий, всього 1 хвилина, скрінкасти testdrive, в чому ви можете переконатися самі.

Java vs Flash і VNC

Ми також погралися з протоколом VNC, щоб перевірити, чи можливо у нього поліпшити продуктивність. Існують деякі розширення VNC для стиснення трафіку фреймбуфер за допомогою групового кодування і стиснення JPEG, але ми подумали, що можна було б зробити ще краще.

Ми тестували це протягом декількох місяців, але в кінцевому підсумку, ці розширення не мали того дії, на яке ми розраховували. І, з урахуванням того, що вони не стандартизовані, було важко підтримувати їх і вони вимагали безлічі хаков. Зрештою, ми викинули все це і зараз використовуємо більш стандартні розширення VNC (ZRLE і Tight).







змінені файли

Дуже корисно мати інтегрований механізм тестування, але ми також хотіли зробити можливим тонке налаштування вашого рішення зсередини Testdrive за допомогою запуску команд, редагування файлів або установки нового програмного забезпечення.

Наприклад, ви можете захотіти налаштувати робочий стіл, додати іконку запуску програми, змінити розмір або безліч інших дрібних деталей, які простіше робити інтерактивно, ніж вишукуючи потрібну команду або файл для зміни. Або у вашого застосування може бути інтерактивний установник, який ви хочете запустити таким чином, щоб у користувачів його не було.

(Якщо ви не бачите скрінкасти, клікніть тут).

Як працюють змінені файли

Є кілька можливостей з'ясувати це.

Нам потрібне рішення, якій би не требованлось взаємодія з самим додатком. Окремий модуль ядра або будь-який інший хак, доданий в додаток, обмежив би діапазон користувачів, який могли б працювати з SUSE Studio. Ми хотіли, щоб наші користувачі могли вибрати будь-ядро, наприклад.

Нам також було необхідно зробити можливим динамічне створення списку змін файлових систем протягом 1-2 секунд. Щось більш повільне робило б не зручним інтерактивне використання.

Я витратив тиждень, перевіряючи різні способи і кожен раз упирався в перешкоди. Велика частина з випробуваного була занадто повільної.

QEMU (за допомогою розширення KVM) має можливість запускати віртуальну машину за допомогою образу диска з механізмом копіювання при записі або cowfile.Каждий раз, коли віртуальна машина хоче прочитати заблокований диск, вона спочатку перевіряє, представлений цей блок в cowfile, і повертається до оригінального образу додатки, якщо немає.

Незвичайність в тому, що ми використовуємо libext2fs, реалізацію файлової системи ext2fs в просторі користувача, для читання метаданих як оригінальної, так і модифікованої файлових систем. Ми зчитуємо все inodes і dentries в пам'ять, порівнюємо їх і показуємо відмінності. І це чудово працює. Коли diff запускається вперше, це займає кілька секунд, але потім блоки метаданих кешуються, і можна побачити свіжі відмінності багатогігабайтними додатків менш ніж за півсекунди.

Після розмови з Мігелем мені було потрібно близько двох днів, щоб змусити все це працювати. Це був чудовий хак, один з кращих за останні роки. Зробити це було досить просто (як ми тільки що з'ясували), але я ніколи не бачив, щоб який-небудь додаток по віртуалізації пропонувало подібне раніше.

Між іншим, ми можемо використовувати ту ж техніку для пошуку зайвих файлів і пакетів, які користувач може видалити з програми для зменшення розміру.

Це просто працює, якщо, звичайно, ви запускали повноцінний тест в Testdrive.

Фабріс Беллар. має бути, один з найталановитіших і плідних розробників, які працюють сьогодні, і я виразно рекомендую поглянути на інші його проекти, включаючи ffmpeg. numcalc.com. tinygl. tinygcc і його алгоритми для обчислення числа Пі.

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

Всі пости про SUSE Studio та програмних додатках:







Схожі статті