Ubuntu 16.04 - пакети ядра були збережені


18

Я побіг sudo apt-get upgradeі отримую таке:

The following packages have been kept back:  
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04  
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Я боюся, що якщо я запускаю sudo apt-get dist-upgradeщось, може піти не так і може зіпсувати мою установку Ubuntu. Я бачив подібні питання тут, але думаю, що вони відрізняються від моєї проблеми. Що я повинен зробити ?



@Yaron Я не думаю, що це те саме.
FenrisL

Це те саме. Прочитайте відповіді.
pzkpfw

Apt ніколи не виконує операцій, що не відповідають явно запитуваному, без відгуків користувачів; просто дайте відповідь на запитання nза "ні" (або еквівалент мови, якою користується Apt). Якщо ви все ще не впевнені в тому, що може статися під час операції Apt, ви можете скористатися параметрами командного рядка -s/ --simulate/ --just-print/ --dry-run/ --recon/, --no-actщоб побачити, що зробить Apt, фактично не зробивши цього.
Девід Фоерстер

Відповіді:


6

Незважаючи на те, що на загальну тему " пакети були збережені назад " тут було відповідено раніше: сьогодні відбувається щось дивне ... коли я виконав sudo apt updateкілька годин тому, нове ядро ​​4.8.0-42 було запропоновано для встановлення. Я виконав sudo apt dist-upgradeі після перезавантаження системи (робоча станція Ubuntu 16.10) запустив це нове ядро.

Через кілька годин я хотів оновити свою установку сервера Ubuntu, але нове ядро ​​не було запропоновано. Щоб повторно перевірити ситуацію, я відновив резервне копіювання зображень системи clonezilla з вчорашнього дня на робочій станції Ubuntu, щоб повторно перевірити ситуацію. Цього разу нове ядро ​​більше не пропонувалося. Здається, що ядро ​​4.8.0-42 було випадково висунуто до основного сховища і на шляху повернення до запропонованого сховища - можливо, Canonical знайшов помилку.

Ви увімкнули HWE-стек Ubuntu 16.04, що означає, що ви використовуєте ядро ​​4.8 Ubuntu 16.10. Отже, все відбувається з ядром у Ubuntu 16.10 спочатку, можливо пояснення тимчасової затримки процесу оновлення для сховищ Ubuntu 16.04 LTS.

Якщо ви знову запустите sudo apt updateтрохи пізніше, отримане повідомлення більше не повинно з’являтися. Висновок: Не запускайте sudo apt dist-upgradeі не чекайте праворуч, поки сховища не оновляться і повідомлення про затримані пакети ядра більше не з’являться. До речі, саме так сталося з версією ядра 4.8.0-40 вже деякий час тому.


Індекс Пакет повідомляє 4.8.0-42: packages.ubuntu.com/xenial-updates/linux-generic-hwe-16.04 ... яке дзеркало ви використовуєте?
muru

Це, безумовно, реальна річ / проблема. Я вчора оновив свою систему, використовуючи звичайний процес. Сьогодні apt-cache policy linux-generic-hwe-16.04показує *** 4.8.0.42.14 100 100 /var/lib/dpkg/status Іншими словами, він осиротів.
Органічний мармур

@ cl-netbox я вже зараз зробив оновлення apt-get знову, і пакунки зникли.
FenrisL

12

Якщо для оновлення існуючого пакета буде потрібно встановити "новий" пакет (наприклад, ще не встановлений), то цей конкретний існуючий пакет буде "збережений".

За словами людини apt-get , upgradeза замовчуванням не встановлюються інші ще не встановлені пакети:

оновлення

... ні в якому разі не встановлюються встановлені пакети, або пакети, які не встановлені, отримані та встановлені.

--з новими pkgs

Дозволити встановлення нових пакетів при використанні спільно з оновленням. Це корисно, якщо оновлення встановленого пакету вимагає встановлення нових залежностей. Замість того, щоб утримувати оновлення пакета, оновіть пакет та встановіть нові залежності. ...

Отже, --with-new-pkgsпотрібно додати, щоб дозволити включення відповідних інших пакетів.

sudo apt-get --with-new-pkgs upgrade

--with-new-pkgs дозволяє встановити пов'язані "ще не встановлені" пакети за допомогою інтерактивного запиту Y / n.

Крім того, як додаткова перевага, sudo apt-get --with-new-pkgs upgradeНЕ має побічного впливу на те, щоб пакети були позначені як встановлені вручну.


Оновлення

Ubuntu 18.04 пропонує новіший, спрощений синтаксис, aptякий можна використовувати замість apt-get.

sudo apt full-upgrade

Ціле "якщо пакет вимагає встановлення нового пакета", то він буде відмовлений для мене. У мене є власний пакет дебю, яким я керую, і якщо я додам залежність, яка не встановлена ​​в моєму системному апгрейді, все одно оновити пакет і не тримати його назад.
клаптик

@shreddish На мій досвід, деякі sudo apt-get upgradeсценарії потребували інформації --with-new-pkgsна сторінці чоловічої сторінки. Мабуть, дебільний пакет, яким ви керуєте, або тестовий сценарій, що використовується , не викликає необхідності в --with-new-pkgsопції із доданою невстановленою залежністю ... з деяких ще не розкритих причин. Було б цікаво дізнатися, чи вдалося ви виокремити причину.
l --marc l

2

Будучи відносно новим користувачем Ubuntu, я наткнувся на ту саму проблему і, мабуть, вирішив її. Я виявив, що триває очікуване оновлення програмного забезпечення Ubuntu з тими ж назвами, що і ті, що вказані на терміналі, як зазначено нижче:

The following packages have been kept back:
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Після встановлення цих оновлень з програмного забезпечення Ubuntu я повернувся до Терміналу і зробив sudo apt-get updateі sudo apt-get upgrade. Результат:

The following packages were automatically installed and are no longer required:
  linux-headers-4.8.0-41 linux-headers-4.8.0-41-generic linux-headers-4.8.0-44 linux-headers-4.8.0-44-generic linux-image-4.8.0-41-generic
  linux-image-4.8.0-44-generic linux-image-extra-4.8.0-41-generic linux-image-extra-4.8.0-44-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

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


Спасибі. Як правило, Ubuntu радить нам не використовувати підхожість чи синаптичність (видаляючи їх із встановлення за замовчуванням. Можливо, саме той напрямок, у якому потрібно шукати відповіді. Я зараз спробую уникнути цих двох. Щойно я побачив вашу відповідь, я біжу до програмного забезпечення Центру, і це показало мені, що вміє ігнорувати. Оскільки ОС побудована Ubuntu, я буду переходити до SC. Це трохи схоже на суперечки з AppStore, коли домашня мова пред'являє претензії.
nyxee

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