Я хотел обновиться до версии 14.04.2 с версии 14.04. Что я сделал:
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade -y
Затем я захотел обновить ядро до версии 3.16, поскольку это не было сделано с помощью указанной выше команды, поэтому я сделал следующее:
sudo apt-get install linux-generic-lts-utopic xserver-xorg-lts-utopic libegl1-mesa-drivers-lts-utopic xserver-xorg-video-all-lts-utopic xserver-xorg-input-all-lts-utopic
sudo apt-get install linux-signed-generic-lts-utopic
Теперь, когда я это делаю:
uname -a
я получил
Linux Y500 3.16.0-33-generic #44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/os-release | grep VERSION= I get
VERSION="14.04.2 LTS, Trusty Tahr"
И когда я это делаю, lsb_release -a
я получаю
Distributor ID: Ubuntu
Description: Ubuntu 14.04.2 LTS
Release: 14.04
Codename: trusty
Я знаю, что оба uname -a
варианта lsb_release -a
ссылаются на разную информацию, но почему
cat /etc/os-release | grep VERSION=
отображаются разные версии?
решение1
TL;DR:Эта серия ядер HWE на самом деле вышла до версии 14.04.2.
Настоящий вопрос здесь в том, почему uname -v
вывод в Ubuntu#44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015
14.04.2? То есть, почему система 14.04.2 получаетХВЭядра, номера сборок которых имеют тег 14.04.1?
Вот почему ваш вопрос сводится к этому конкретному пункту:
lsb_release -a
и согласны; они оба говорят, что у вас 14.04.2 (что так и есть). Поэтому единственное очевидное расхождение — это информация, предоставленная о вашем ядре, и информация в обоих и о вашей системе в целом.cat /etc/os-release | grep VERSION=
uname
/etc/lsb-release
/etc/os-release
- Вы запустили
uname -a
, а неuname -v
. Ноuname -a
печатает всю доступную информацию, когда-либо напечатаннуюuname
(это эквивалентноuname -snrvmpio
, когда-i
и-o
известны). Вывод, который вас интересует, ограничен полем, ошибочно называемым «версия ядра» вman uname
. - Хотя иногда его называют «версией ядра», на самом деле лучше думать о нем как о номере сборки или идентификаторе сборки, если вам не нравится называть нечисловые строки «номерами». Вывод изменений,
uname -v
позволяющих пользователямотличитьядра, созданные как отдельные выпуски в серии, даже если они относятся к одному и тому же базовому «выпуску ядра» (uname -r
).
Первый шаг к пониманию того, почему ваша «версия ядра» содержит 14.04.1, а не 14.04.2, — это отметить, что большинство строк версии ядра, включая нижестоящие ядра Ubuntu, не содержатлюбойИнформация о версии операционной системы в целом. Например, в моей системе 15.04:
ek@Io:~$ uname -v
#12-Ubuntu SMP Fri Apr 3 04:03:26 UTC 2015
Это более распространенная ситуация. Первое слово ( #12-Ubuntu
) указывает на то, что это двенадцатая нижестоящая сборка Ubuntu этого конкретного ядра — или, в любом случае, что это двенадцатая в серии сборок, которые могут состоять или не состоять полностью из ядер с тем же uname -r
.
Ядро HWE в Ubuntu содержит номера, указывающие на конкретную версию Ubuntu, поскольку оно портировано из более поздней версии Ubuntu и должно быть легко отличимо отчтоСборки релизов Ubuntu. Чтобы отличить сборки HWE Linux 3.16, предоставляемые черезlinux-generic-lts-утопический дляВерныйиз тех, которые предоставлены черезlinux-generic дляУтопическийсборки Trusty содержат 14.04.1 в строке версии ядра.
Почему не 14.04.2 вместо 14.04.1? (В конце концов,Заметки о выпуске 14.04.2говорят: «Этот релиз содержит обновленное ядро и стек X...»Заметки о выпуске 14.04.1(Не говори ничего подобного.)
Причина в том, чтоlinux-generic-lts-утопический --и первый из пакетов этовтянуты как зависимостидля фактической установки ядра 3.16 — было выпущено и установлено на Trustyмеждувыпуски 14.04.1 и 14.04.2.
Чтобы проверить это, вы можете посетитьUbuntu на Launchpadипоиск linux-generic-lts-utopic
пакета, раскрывающийlinux-meta-lts-utopic
как базовый исходный пакет. Затем нажимаем на"Просмотреть полную информацию о публикации"или"Просмотреть полный журнал изменений"раскрывает историю упаковки.
В частности,в истории издательства, примечание:
- Весь списокВерныйв качестве цели, поэтому это относится к вашей системе; мы не рассматриваем пакеты для неправильного выпуска Ubuntu.
- Первые пакеты считаются стабильными, т.е. предоставленными пользователям вобновленияилибезопасностькарманы (а не толькопредложенныйкарман) начинаются с3.16.0.25.19на2014-12-11 01:25:33 UTC.
То есть, linux-meta-lts-utopic
вышел на Трасти 11 декабря 2014 года, что былоза десять недель до the 14.04.2 выпуск версии 20 февраля 2015 г.. Когда эти ядра вышли, они были собраны и протестированы для систем 14.04.1, а не 14.04.2, поэтому их сборки были (и, вероятно, должны оставаться таковыми для единообразия) пронумерованы по шаблону .#N~14.04.1-Ubuntu
решение2
Митчэто по сути тот же вопрос, который я вам задалздесьраньше :) Я тоже пытался в этом разобраться.
Я попробовал погуглить и посетить разные форумы, включая официальные источники Ubuntu, и вот что мы получаем:
Ubuntu 14.04.2 поставляется с ядром Utopic по умолчанию, это 3.16.0.30 (стабильное), например, apt-cache policy
я получаю ядро:
Installed: 3.16.0-30.40~14.04.1
linux-headers-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
linux-image-extra-3.16.0-30-generic:
Installed: 3.16.0-30.40~14.04.1
Candidate: 3.16.0-30.40~14.04.1
И что я сделал, я скачал и переустановил Ubuntu, используя официальный образ с ubuntu.com, когда я попытался обновить его так, как вы сделали, я получил то же ядро, что и вы сейчас. Я думаю, это потому, что он устанавливает последнее ядро Utopic, но не стабильное для Trusty Tahr, потому что я все еще получаю версию ядра 3.16.0.30.