Стратегія боротьби з все більш бідним якістю Canonical?


13

Моя installed (local or obsolete)категорія заповнюється, оскільки Canonical останнім часом витісняє оновлення, а потім відтягує їх назад. Це сталося з двома ядрами в недавньому минулому, і це повторилося з cupsцього ранку. Я використовую Ubuntu вже близько трьох років, і я не пам’ятаю, щоб це відбувалося так часто, як це було в цьому році.

Отже, як раціонально з цим боротися?

Я думав про встановлення оновлень раз на тиждень, але це не захистить від захоплення того поганого оновлення, яке вони витіснили прямо до того, як я перевірив цей тиждень.

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

Або якимось чином не встановлювати оновлення, поки вони не будуть витіснені протягом певного періоду часу - як два дні? Чи є автоматизований спосіб зробити це?

Редагування: Одна з постраждалих систем працює з linux-genericядром Lubuntu 16.04 , інша запускає Lubuntu 16.04 з linux-generic-hwe-16.04ядром. На обох вплинуло cupsоновлення версії 2.13-4ubuntu0.2, яке було висунуто та вимкнено 27 березня 2017 року. linux-genericМашина отримала оновлення ядра версії 4.4.0.67.12, яке згодом було виведено назад. Це оновлення також осиротіло snapdверсію 2.23.1. linux-generic-hwe-16.04Машина отримала ядро ​​версії 4.8.0.42.14, яке потім осиротіло.


2
Дякуємо за уточнення версії. Мені було цікаво, чи маєте ви справу з версією LTS, тоді як проміжні версії (для мене) в основному призначені для тестування з великою кількістю змін, які можуть перетворити її на LTS. Що стосується версій LTS, на які я зосереджуюсь, я не був достатньо спостережливим, щоб помітити невирішені помилки. Я регулярно оновлююсь. Час від часу я помічаю незначні проблеми, з якими, мабуть, розробники постійно стикаються. Ви можете подумати про те, щоб зосередитись на оновленнях безпеки для захищеної системи та дозволити вирішувати щоденні зміни більш сміливими.
ЛД Джеймс

1
@fkraiem так, я побачив, що два останні випуски ядра відмовилися незабаром після того, як мені було повідомлено, що вони доступні. Досить смішно, я вирішив зробити оновлення пізніше, і коли я повернувся, їх уже не було!
heynnema

Я використав вимкнення автоматичних оновлень Windows частково через ваш останній досвід роботи в Ubuntu. Я помітив останнім часом оновлення, здається, щодня. Можливо, я повинен закрити своє, оскільки у мене зараз немає помилок.
WinEunuuchs2Unix

Чи частіше вони пропускають основні порти StableReleaseUpdates , особливо для основних пакетів ? AFAIK, про який не було оголошено, і залучення дискусії до списку розсилки ubuntu-devel було б належним заходом.
Gunnar Hjalmarsson

Відповіді:


2

Найбільш різкою альтернативою є перехід на Debian Stable, а не на будь-який * buntu або його похідну, оскільки Debian Stable пройшов повний процес QA, тоді як Ubuntu походить від Debian Testing, який має певний шлях до того, як він стане стабільним.

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

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


1
Це гарна інформація. Я закінчив справу з цим, встановивши власне місцеве дзеркало, яке по суті завантажує всі оновлення щодня. Мої домашні комп’ютери локальної мережі отримують оновлення з локального дзеркала, але лише за командою, а не автоматично. Тож якщо щось виглядає страшно, я можу посидіти на ньому кілька днів, якщо хочу.
Органічний мармур

Це дуже вдале рішення проблеми. Багато бізнес-мереж налаштовано так само з оновленнями Windows з подібних причин!
tiger99

0

Поверніть оновлення пакета на старішу версію

Якщо у вас є номер версії або цільовий випуск, apt-get підтримує вибір певної версії або цільового випуску.

  1. Встановити здатність

    sudo apt-get install aptitude
    
  2. Показати старі версії пакету.

    aptitude versions <package-name> | less # use less to display only the top of the list of versions
    
  3. Поверніть вибраний пакет на старішу версію.

    sudo apt-get -t=<target release> install <package-name>  # target release is old version
    
  4. Видаліть неправильне оновлення вибраного пакету.

    sudo apt-get -t=<target release> remove <package-name> # target release is new version
    
  5. Не допускайте автоматичного оновлення версії пакета назад за допомогою apt-mark hold. apt-mark holdвикористовується для позначення пакету як затриманого, що запобігає автоматичному встановленню, модернізації або видаленню пакета.

    sudo apt-mark hold <package-name>  
    

Поверніть оновлення ядра на старішу версію

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


aptitude versions <package-name> не показує всі поточно встановлені версії ядра, проте ви можете показати всі поточно встановлені версії ядра за допомогою цієї команди:

dpkg-query -W -f='${Package}\n' | grep -f <(ls -1 /boot/vmlinuz* | cut -d- -f2,3)  

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

Після видалення пакунків, що належать до непрацюючої версії ядра, ви отримаєте це повідомлення:

The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]

Це повідомлення відображається тому, що vmlinuz.old пов'язаний із видаленими файлами, тому вам потрібно оновити grub, виконавши цю команду:

sudo update-grub

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

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

2
@OrganicMarble Для ваших дітей, які, можливо, не мають достатньо кмітливості на комп’ютері або не турбуються про те, щоб замислитись над ядром та питаннями, чи протестували ви, налаштовуючи їх комп’ютери лише на оновлення безпеки ? Чи трапляється така ж проблема з цією конфігурацією? Я не можу уявити собі обставин, коли загальні оновлення були б ідеальними до тих пір, поки масові кількості комп'ютерів та середовищ не будуть перевірені після випуску, коли це працює без проблем у лабораторії. Принаймні у вашому питанні відображаються швидкі виправлення, коли виникають проблеми.
ЛД Джеймс

1
@LDJames - це гарна пропозиція. Але я підозрюю, що ці оновлення ядра були оновленнями безпеки. Я не впевнений, як повернутися назад і перевірити це.
Органічний мармур

1
@OrganicMarble Ви можете повернутися назад і перевірити, вивчивши unattendedфайли журналів ( /var/log/unattended-upgrades). Я вважаю, що unattended-upgradesпакет призначений для оновлень безпеки.
ЛД Джеймс

-1

Ваша найкраща стратегія, як і будь-яка ОС, - перевіряти наявність оновлень мінімум один раз на день.

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

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

В якості стратегії резервного копіювання завжди слід ... резервне копіювання! Резервне копіювання часто, резервне копіювання все Погані оновлення є однією з причин цього. Це особливо зручно, якщо ви зберігаєте важливі документи у хмарі.

EDIT: Моя відповідь ґрунтується на припущенні, що ви одна людина з домашніми персональними комп'ютерами.


1
Стратегія "посміхнись і понеси це" - це не те, що я шукаю.
Органічний мармур

@OrganicMarble Я ніколи цього не говорив. Але я припускаю, що ви один користувач, і ви говорите про особисту систему. В іншому випадку, будь ласка, розгорніть своє запитання. Що стосується керування оновленнями, ви можете зробити як одинока людина. Я керую великими сайтами з десятками серверів і сотнями робочих станцій в організації, яка в сотні разів більша, ніж мої сайти. Всі ми маємо справу з оновленнями дуже складним чином, який жодна людина ніколи не могла зробити.
Доріан

Так, я перебуваю у кутовому випадку, я думаю, де ми - сімейство Ubuntu, що має 5 комп’ютерів, плюс я запускаю кілька віртуальних машин. Тож бл. 10 систем, якими я повинен керувати. Занадто мало, щоб отримати автоматизовану систему управління, але достатньо, щоб зробити подібні речі подібними.
Органічний мармур

@OrganicMarble Так, одній людині важко керувати. І якщо чесно, найкраще, що ви можете зробити, - це просто оновлюватись якомога частіше. Швидка демонстрація для членів вашої родини, ймовірно, допоможе, коли справа доходить до появи кількох варіантів ядра. Потрібно показати їх лише раз або два. Чи розглядали ви простий сценарій, який працює від cronзавдання, щоб перевірити наявність кількох ядер? Чи декілька ядер є головним питанням?
Доріан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.