Ubuntu устойчивость LTS

tl; доктор: Ubuntu LTS обновляют библиотеки к версиям, где элементы API могут быть изменены/удалены?

Из-за отсутствия конюшни Debian исправления их ядер для поддержки новых аппаратных средств я столкнулся с проблемами, где новые ноутбуки в моей организации являются слишком новыми для выполнения стабильного Debian. Я нанял подрядчика Debian для создания установочного CD с бэкпортированным ядром, но одну неделю спустя и он не смог произвести его.

Теперь я вынужден считать миграцию компании к Ubuntu LTS. Но я теряю сон по следующему кошмару:

  • Я приезжаю на работу рано однажды утром за несколько дней до большой демонстрации для нашего клиента.
  • У меня есть некоторое время так я apt upgrade.
  • После удара Y Я замечаю это qt5-default увеличил от 5.9.5 кому: 5.10.0.
  • Я компилирую наш проект только, чтобы найти, что API изменился.
  • Нашей команде требуются приблизительно 2 недели для переписывания кода для адаптации.
  • Мы пропускаем демонстрацию и теряем предложение.
  • Компания обанкротилась, и все мы теряем наши задания.

С Debian у меня нет этого беспокойства, потому что это просто не обновляет. Мы получаем патчи безопасности только. Душераздирающий компромисс - то, что новые аппаратные средства не поддерживаются. Так как у меня нет вида получения по запросу с OEM для упорядочивания только ноутбуков, произведенных перед выпуском конюшни Debian, мне нужно другое решение.

LTS Ubuntu утверждает, что они только выполняют "доработанные версии". Когда я смотрю на историю Ядра 16,04 для выяснения то, что это означает, я вижу, что они действительно обновляли ядро от 4.4 кому: 4.15. Это говорит мне, что Ubuntu не может быть готова увеличить главную версию, но они готовы увеличить незначительный пересмотр.

Все хорошо с обновлением от libboost от 1.67.0 кому: 1.67.1, но я испуган обновлением 1.68.0.

Я могу быть уверен, что Ubuntu, LTS не будет пакеты обновления, которые не являются обратные совместимый?

Если я не могу быть уверен в устойчивости Ubuntu, то следующее является возможными обходными решениями, хотя предложения приветствуются:

  1. apt-mark hold <package> предотвратит обновления для определенных пакетов, Однако:
    1. Вручную руководящие зависимости будут трудоемкими
    2. Я должен управлять этим общекорпоративным.
  2. Разработка могла быть сделана в chroot среде, работающей debian стабильный, изолировав среду разработки от настольной среды.
3
задан 4 August 2018 в 07:52

2 ответа

Обновление Ubuntu LTS не обновляет версию ядра. Только патчи безопасности применяются.
Текущий выпуск LTS является бионическим.
Ubuntu 18.4.1 (26.4.2018)

Автоматические обновления ядра в выпуске LTS включены Аппаратной Стопкой Реализации возможностей только.


Выпуск ядра Ubuntu Shedule
Здесь Вы видите, что никакие обновления ядра в LTS не были сделаны, если HWE не включил.

Ubuntu Kernel Release Shedule

Ubuntu поддержка ядра LTS Shedule
Здесь Вы видите, что только патчи безопасности были реализованы.

Ubuntu Kernel Support Shedule

Ubuntu LTS обновляют библиотеки к версиям, где элементы API могут быть изменены/удалены?
Ответ нет.

Я могу быть уверен, что Ubuntu, LTS не будет пакеты обновления, которые не являются обратные совместимый?
Ответ - да, Вы можете.


То же относится к стабильному Debian.
Текущая стабильная версия является фрагментом.
Debian 9.5 (выпустил 14.07.2018, поддерживаемый до 2022),


Разработка на Linux
Лучшая практика для разработки программного обеспечения в корпоративной среде должна выполнить виртуальную машину, таким образом, можно легко защитить работу со снимками.

Пример
ОС Qubes является ориентированной на безопасность операционной системой, которая позволяет Вам выполнять виртуальные машины (и шаблоны, включая debian) использующий гипервизор XEN (вместо виртуализации KVM)


Если Вы используете QT и должны препятствовать тому, чтобы он обновил, попробовать setUpdatesEnabled(false); и включить обновления setUpdatesEnabled(true);

3
ответ дан 1 December 2019 в 15:49

Нумерация Ядра Ubuntu не является тем же как Linux

Поиск в Спрашивает использование Ubuntu 4.13.0-26 и Вы найдете 101 вопрос и ответы с января 2018. Версии Ядра Linux, выпускаемые в то время, были для ядра LTS 4.14 цепочка.

Рассмотрение Ядра Магистрали Ubuntu загружает, мы видим 4.14.11 через 4.14.17 (семь обновлений ядра), были выпущены в январе 2018 Командой Ядра Linux. Мы также видим, что ядро Предвыпускной версии в течение января 2018 было 4.15.rc6 через 4.15.rc9 (четыре обновления ядра).

В январе 2018 главные изменения ядра были сделаны Командой Ядра Linux для Призрака и Краха Прогнозирующей Переходящей теоретической утечкой памяти. В свою очередь команда Ядра Ubuntu быстро портировала код к Ядру Ubuntu 4.13.0-xx цепочка.


Отслеживание изменений ABI/API

От Labratory ABI мы видим, что последние изменения были 4 июня, 5 и 6-е, 2018:

Linux ABI changes.png

Мы видим, что числа Ядра Linux, пересмотренные в июне 2018, были:

  • 4.14.48, 4.9.107 и 4.4.136 все 6-летние ядра LTS

Соответствующие номера версий Ядра Ubuntu были, вероятно:

Мы должны обновить Ядра Linux, когда новая поддержка оборудования или исправления ошибок к существующим аппаратным средствам выпущены. Когда изменение ABI/API включено, ядро Ubuntu может или не может работать. Даже если изменение ABI/API не происходит, Ядро Ubuntu может все еще повредиться для некоторых людей по другим причинам.

Нахождение корреляции между новой нумерацией версии Ядра Linux и нумерацией версии Ядра Ubuntu является чрезвычайно трудным для посторонних. Возьмите новую новостную рассылку от Команды Ядра Ubuntu 6-го июня 2017 новостная рассылка, которая является одним годом до изменений ABI/API выше:

Kernel Versions
====================================================================
         precise  3.2.0-126.169
          trusty  3.13.0-119.166
           vivid  3.19.0-84.92
          xenial  4.4.0-78.99
         yakkety  4.8.0-53.56

linux-lts-trusty  3.13.0-117.164~precise1
 linux-lts-vivid  3.19.0-80.88~14.04.1
linux-lts-xenial  4.4.0-78.99~14.04.1

Мы видим, что соответствующие номера версий Ядра Linux в течение того периода времени (7 июня 2017) были: 3.2.89, 3.10.105, 3.16.44, 3.18.56, 4.1.40, 4.4.71, 4.9.31, 4.11.4 и 4.12-rc4.


Клонирование и Функциональное тестирование

Вместо для данного случая sudo apt upgrade в сонные утра понедельника Вы могли рассмотреть автоматизированное клонирование, обновление и функциональное тестирование:

  1. Прогоны задания в полночь для клонирования 16.04 или 18.04 к тестовому разделу: сценарий Bash для клонирования Ubuntu к новому разделу для тестирования 18.04 обновлений LTS
  2. После клонирования маленького cron сценарий перезагрузки создается для выполнения sudo apt upgrade и выполненный Ваша тестовая функция.
  3. После того, как клонирующуюся перезагрузку личинки называют к версии клона: Личинка: перезагрузка к определенному ядру
  4. Когда клон перезагружается cron сценарий перезагрузки работает за необслуживаемым обновлением и поблочным тестированием.
  5. Ваше поблочное тестирование должно сравнить все номера версий библиотеки с известными числами и послать Вам по электронной почте, если номера версий обновили к непротестированным числам.
  6. Ваше поблочное тестирование вызвало бы все известные функции, передающие тестовые параметры и выдерживающие сравнение возвращаемый значения к ожидаемым результатам. Любые несоответствия были бы посланы по электронной почте Вам.
  7. После завершения Ваш сценарий поблочного тестирования послал бы Вам по электронной почте конечные результаты, установил бы grub к перезагрузке к продуктивной среде и затем завершают работу.
1
ответ дан 1 December 2019 в 15:49

Другие вопросы по тегам:

Похожие вопросы: