Чому Ubuntu переходить на пакети Snappy?


127

Чому Ubuntu скидає пакети .deb і переходить на .snappy пакети? (Принаймні поки що вони зберігають .deb пакет для звичайних розподілів). .deb - це найпопулярніша упаковка там.

Це дає уявлення про те, що таке формат пакету Snappy. Але що буде з існуючими пакетами дебютів? Чи є явна перевага при переході до Snappy? Чи варто болю?


Посилання borken
y30

Відповіді:


145

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

Я ентузіаст Linux та менеджер проектів додатків Linux. Хоча я люблю системи Linux в цілому, я зневажаю сучасний стан розповсюдження пакетів. Snappy має на меті вирішити цю фундаментальну проблему.

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

Якщо я створять пакет дебютування для Ubuntu 16.04, цей пакет не працюватиме в жодній версії Ubuntu. Я також повинен зробити 14.04, 15.04, 15.10 тощо. Це ДУСТИ Ubuntu. Мені також потрібно зробити один для Debian. Тоді вам потрібно зробити RPM для Fedora 21, 22, 23 тощо, і ці RPM навіть не охоплюють openSUSE.

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

Snaps Ubuntu надає спосіб створити один Snap, який працює на кожній версії Ubuntu, яка підтримує Snaps. Більше не для конкретної версії дистрибутива.

Знімки можна інтегрувати в інші дистрибутиви. Потенційно більше не є специфічним для distro.

Знімки контролюються в рамках репо, який призначений для підтримки розробників пакету, тому коли ми хочемо випустити нову версію, нам не потрібно нікого чекати.

По суті, все, що я ненавиджу щодо розповсюдження пакетів Linux, вирішить Snappy. Хоча важливо зауважити, що ці проблеми також будуть вирішені AppImages та Flatpaks .

TL; DR

Розподіл пакунків Linux жахливий як для розробників, так і для користувачів. Snappy (також AppImages & Flatpaks) призначений для вирішення цієї основної проблеми з системами на базі Linux.


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


12
Боже, ви здаєтеся, що це звучить так важко, за винятком того, що ніхто ніколи не підтримує багато версій Fedora, Debian або Ubuntu. На час виходу 16.04, 15.04 - EOL. На момент виходу Fedora 23 у F21 залишилось менше місяця життя, достатньо довго, щоб люди могли пропустити випуск. Не те, щоб це мало значення. Після того, як у вас є базовий специфічний файл RPM або базовий пакет Debian, написані інші дистрибутивні версії, які налаштовані, і тоді лише завдання Дженкінса зібрати їх для кожного нового випуску.
Джон Франклін

10
Пакети Ubuntu створені для такої кількості версій: 14.04, 15.10, 16.04, а деякі продовжують підтримувати старі LTS на зразок 12.04, які все ще підтримуються. || У Fedora немає LTS, так що менше версій для підтримки, але все ж принаймні 2 версії з можливими 3 версіями для підтримки. || Що тобі краще звучить? А. Створіть кілька пакетів кожної версії однієї програми для одного дистрибутива і зробіть це для кількох дистрибутивів. АБО Б. зробіть одну оснастку для кожної версії свого додатка, яка працює на будь-якому дистрибутиві та будь-якій версії вказаного дистрибутива. Так, я голосую за знімки в таких сценаріях.
Майкл Туннелл

4
@ user447607 Ви нерозумієте, що таке Snaps and Snappy. Там не буде купа надмірностей, буде час виконання, і будуть варіанти, щоб знімки залежали від інших знімків, щоб заощадити місце. Насправді це вже можливо. Snappy - це інша система управління пакунками, яка обробляє оснащення та підхоплення, як і раніше, пов'язані з DEB. Знімки не замінюють DEB, натомість вони збільшують DEB, тому ви отримуєте гібридний підхід, який охоплює обидва методи. Фактично, Snaps можна автоматично генерувати за допомогою існуючих DEB.
Майкл Туннелл

2
@konung Docker - це суто контейнеризація, де як Snaps це має, так і інтеграція з основними компонентами системи. Наприклад, Docker вимагає, щоб все було включене в контейнер, щоб використовувати його. Однак, Snaps вимагає включити лише необхідне, і тоді він може виглядати поза оснащенням, щоб використовувати інші речі. У Snaps також є набагато краща інфраструктура, оскільки Docker не має реального механізму оновлення, але Snaps використовує аналогічну систему управління пакетами APT для Debian. Я пропоную переглянути відео, яке я пов’язав у оригінальній публікації. Планую незабаром зробити оновлену версію.
Майкл Туннелл

6
@konung Знімки не є контейнерами. Дуже багато людей порівнюють їх, наприклад, з Докером, але Докер - це справжні контейнери там, де їх немає. Знімки подібні до контейнерів, але вони не є повноцінними контейнерами, оскільки вони допускають винятки поза межами ув'язнення. Наприклад, параметри / конфігурації / дані зберігаються за межами оснащення всередині папки / home. Таким чином, у вас може бути стільки версій оснащення, скільки ви хочете, щоб всі спільно використовували однакові дані / конфігурації.
Майкл Туннелл

20

Це просто просто. Пакет Snappy містить усі необхідні файли , де пакунки .deb залежать від інших пакетів.

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


7
Це також означає кошмар безпеки. О, будь ласка, доведіть мене неправильно ... тому що бути правильним було б так жахливо.
Юрген А. Ерхард

27
Тож по суті вони йдуть шляхом Windows - який іронічно знущався з Linux у минулому.
Пітікос

1
Привіт @ JürgenA.Erhard, наскільки я розумію, кожен пакет матиме власні лібрики, наприклад, криптографію, тож замість того, щоб підтверджувати один (тобто самоскладатися), ви повинні мати справу з кожним пакетом окремо, це те, що ви мали на увазі під "кошмар безпеки"?
Ілля

Виправлення: "містить усі необхідні файли" не є точним, оскільки існують основні оснастки, які виконують функцію виконання. Однак це було додано після оригінальної відповіді, тож воно було правильним у той час, але з того часу багато що змінилося.
Майкл Туннелл

7

Snappy Personal, їхній новий підхід до управління / оновлення пакетів, розроблений таким чином, щоб бути швидшим, надійнішим, транзакційним та підвищеною безпекою.

Швидкий принаймні для одного з настільних обертів - план полягає в тому, щоб переключити робочий стіл Ubuntu на робочий стіл з наступного .deb на Snappy Personal.

.deb все ще знайдеться, і звичайний користувач все ще може регулярно користуватися ним, перетворюючи .deb у спритний.

Snappy буде використаний для уніфікації концепції управління пакетами серед ioT, який зараз використовує Snappy як основний ОС. до того ж Snappy забезпечить кращий спосіб оновлення та позбавлення від проблеми під час оновлення / оновлення, оскільки вона використовує концепцію цілого зображення, що означає, що оновлення буде лише однією частиною, а отже, ніяких засобів відмови

Прочитайте ці статті для отримання додаткової інформації:

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

Також є ефір QA від ubuntu on air, який відповідає на безліч питань https://youtu.be/lHO8j8uo5Z4


9
чому вони не можуть скласти пакунок .deb версії 2 із зворотною сумісністю? Навіщо робити розкол у спільноті Linux? .Зараз план полягає в тому, щоб повільно перейти на Snappy, якщо це не буде повністю флопом.
Вишнудев К

вони хочуть уніфікувати концепцію управління пакетами серед ioT, який зараз спритно використовує як основний ОС. до того ж Snappy надає кращий спосіб оновлення та позбавлення від проблеми під час оновлення / оновлення, оскільки вона використовує концепцію цілого зображення, що означає, що оновлення буде лише однією частиною, а отже, жодних засобів не
виходить

3
Це досить погано, оскільки велика різноманітність методів упаковки в Linux (що вже спричиняє проблеми з сторонніми програмами), ще один просто зробить більший безлад: - /
Wilf

@Maythux. Що таке iot?
TRiG

4
@Maythux xkcd.com/927
CVn

4

Подумайте про перехід до спритного Ubuntu Core сьогодні, якщо ви думаєте створити щось для того, щоб інші могли використовувати, іншими словами, продукт .

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

Щоб домогтися такого, оснащення сильно відрізняється від пакета Debian:

  • знімки живуть в ізольованому системному місці, тоді як пакунки Debian можуть розповсюджувати файли по всьому місту.
  • не існує сценаріїв, які підтримують, для оснащення.

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


3
Іншими словами, це так само, як і Windows?
Вишнудев К

1
Це питання широке. Що зокрема робить Windows?
sergiusens

4
Я встановлюю VLC у Windows, він встановлює всі пакунки, необхідні для завивання місця. де, як і в Linux, ми отримуємо лише ті пакунки, яких у нас немає. Це досить зручно з точки зору оновлень та використання HDD.
Вишнудев К

2
Подібні, так. Не відрізняється встановлення apkна телефон. Програми можуть розвиватися залежно від своїх залежностей. Існують способи розділити це, хоча, як і за допомогою frameworkзнімків, для цього потрібен ретельний огляд безпеки. Різниця з Windows полягає в тому, що тут не встановлені інсталятори, які потенційно зможуть приземлитися там, де вони хочуть.
sergiusens
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.