Получение различных выводов с помощью ‘lsb_release -a’ и ‘uname -a’. Какая версия Ubuntu является правильной?

Вопрос или проблема

lsb_release -a возвращает 16.04.3:

# lsb_release -a
Нет доступных модулей LSB.
ID дистрибьютора: Ubuntu
Описание:    Ubuntu 16.04.3 LTS
Версия:    16.04
Кодовое имя:   xenial

в то время как uname -a возвращает 16.04.2

# uname -a
Linux u1b 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Какой из них правильный?

Я полагаю, это может указывать на проблему в моей системе, так как когда я запускаю apt-get -f install, я получаю ошибки, которые говорят о том, что “у вас установлена более новая версия, но мне нужна более старая версия”, и наоборот:

# apt -f install
Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение состояния информации... Готово
Исправление зависимостей... не удалось.
Следующие пакеты имеют неудовлетворенные зависимости:
 ghostscript:i386 : Зависит: gsfonts:i386 (>= 6.0-1), но он не может быть установлен
 ghostscript-dbg : Зависит: libgs9 (= 9.18~dfsg~0-0ubuntu2.6), но установлен 9.18~dfsg~0-0ubuntu2.7 или
                            ghostscript (= 9.18~dfsg~0-0ubuntu2.6) или
                            ghostscript-cups (= 9.18~dfsg~0-0ubuntu2.6), но он не может быть установлен или
                            ghostscript-x (= 9.18~dfsg~0-0ubuntu2.6), но он не может быть установлен
 libaudit1 : Прерывает: libaudit1:i386 (!= 1:2.4.5-1ubuntu2.1), но установлен 1:2.4.5-1ubuntu2
 libaudit1:i386 : Прерывает: libaudit1 (!= 1:2.4.5-1ubuntu2), но установлен 1:2.4.5-1ubuntu2.1
 libblkid1 : Прерывает: libblkid1:i386 (!= 2.27.1-6ubuntu3.4), но установлен 2.27.1-6ubuntu3.3
 libblkid1:i386 : Прерывает: libblkid1 (!= 2.27.1-6ubuntu3.3), но установлен 2.27.1-6ubuntu3.4
 libcupsfilters1 : Прерывает: libcupsfilters1:i386 (!= 1.8.3-2ubuntu3.3), но установлен 1.8.3-2ubuntu3.1
 libcupsfilters1:i386 : Прерывает: libcupsfilters1 (!= 1.8.3-2ubuntu3.1), но установлен 1.8.3-2ubuntu3.3
 libgs9 : Зависит: libjbig2dec0 (>= 0.11), но он не установлен
 libgs9:i386 : Зависит: libgs9-common:i386 (>= 9.18~dfsg~0), но он не может быть установлен
 libmount1 : Прерывает: libmount1:i386 (!= 2.27.1-6ubuntu3.4), но установлен 2.27.1-6ubuntu3.3
 libmount1:i386 : Прерывает: libmount1 (!= 2.27.1-6ubuntu3.3), но установлен 2.27.1-6ubuntu3.4
 libseccomp2 : Прерывает: libseccomp2:i386 (!= 2.3.1-2.1ubuntu2~16.04.1), но установлен 2.2.3-3ubuntu3
 libseccomp2:i386 : Прерывает: libseccomp2 (!= 2.2.3-3ubuntu3), но установлен 2.3.1-2.1ubuntu2~16.04.1
 libuuid1 : Прерывает: libuuid1:i386 (!= 2.27.1-6ubuntu3.4), но установлен 2.27.1-6ubuntu3.3
 libuuid1:i386 : Прерывает: libuuid1 (!= 2.27.1-6ubuntu3.3), но установлен 2.27.1-6ubuntu3.4
 python : Предварительно зависит: python-minimal (= 2.7.11-1), но установлен 2.7.12-1~16.04
          Зависит: libpython-stdlib (= 2.7.11-1), но установлен 2.7.12-1~16.04
 systemd-shim:i386 : Зависит: cgmanager:i386 (>= 0.32), но он не может быть установлен
E: Ошибка, pkgProblemResolver::Resolve сгенерировал нарушения, это может быть вызвано удерживаемыми пакетами.
E: Невозможно исправить зависимости

И если это действительно проблема, как я могу ее исправить?

ИЗМЕНЕНИЕ: Вывод команды apt-cache policy ghostscript-dbg следующий:

ghostscript-dbg:
  Установлено: 9.18~dfsg~0-0ubuntu2.6
  Кандидат: 9.18~dfsg~0-0ubuntu2.7
  Версия:
     9.18~dfsg~0-0ubuntu2.7 500
        500 http://192.168.12.61/ubuntu xenial-security/main amd64 Packages
 *** 9.18~dfsg~0-0ubuntu2.6 100
        100 /var/lib/dpkg/status
     9.18~dfsg~0-0ubuntu2 500
        500 http://192.168.12.61/ubuntu xenial/main amd64 Packages

Источник – это зеркала Ubuntu, которое я настроил. Файл /etc/apt/sources.list содержит следующее:

deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial main restricted multiverse universe
deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial-security main restricted multiverse universe
deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial-updates main restricted multiverse universe
deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial-proposed main restricted multiverse universe
deb [arch=amd64] http://192.168.12.61/ubuntu/ xenial-backports main restricted multiverse universe

ИЗМЕНЕНИЕ 2: Вывод команды sudo apt install ghostscript-dbg=9.18~dfsg~0-0ubuntu2.7:

Чтение списков пакетов... Готово
Построение дерева зависимостей       
Чтение состояния информации... Готово
Возможно, вы захотите выполнить 'apt-get -f install', чтобы исправить это:
Следующие пакеты имеют неудовлетворенные зависимости:
 ghostscript:i386 : Зависит: gsfonts:i386 (>= 6.0-1), но он не может быть установлен
 libaudit1 : Прерывает: libaudit1:i386 (!= 1:2.4.5-1ubuntu2.1), но 1:2.4.5-1ubuntu2 должен быть установлен
 libaudit1:i386 : Прерывает: libaudit1 (!= 1:2.4.5-1ubuntu2), но 1:2.4.5-1ubuntu2.1 должен быть установлен
 libblkid1 : Прерывает: libblkid1:i386 (!= 2.27.1-6ubuntu3.4), но 2.27.1-6ubuntu3.3 должен быть установлен
 libblkid1:i386 : Прерывает: libblkid1 (!= 2.27.1-6ubuntu3.3), но 2.27.1-6ubuntu3.4 должен быть установлен
 libcupsfilters1 : Прерывает: libcupsfilters1:i386 (!= 1.8.3-2ubuntu3.3), но 1.8.3-2ubuntu3.1 должен быть установлен
 libcupsfilters1:i386 : Прерывает: libcupsfilters1 (!= 1.8.3-2ubuntu3.1), но 1.8.3-2ubuntu3.3 должен быть установлен
 libgs9 : Зависит: libjbig2dec0 (>= 0.11), но он не будет установлен
 libgs9:i386 : Зависит: libgs9-common:i386 (>= 9.18~dfsg~0), но он не может быть установлен
 libmount1 : Прерывает: libmount1:i386 (!= 2.27.1-6ubuntu3.4), но 2.27.1-6ubuntu3.3 должен быть установлен
 libmount1:i386 : Прерывает: libmount1 (!= 2.27.1-6ubuntu3.3), но 2.27.1-6ubuntu3.4 должен быть установлен
 libseccomp2 : Прерывает: libseccomp2:i386 (!= 2.3.1-2.1ubuntu2~16.04.1), но 2.2.3-3ubuntu3 должен быть установлен
 libseccomp2:i386 : Прерывает: libseccomp2 (!= 2.2.3-3ubuntu3), но 2.3.1-2.1ubuntu2~16.04.1 должен быть установлен
 libuuid1 : Прерывает: libuuid1:i386 (!= 2.27.1-6ubuntu3.4), но 2.27.1-6ubuntu3.3 должен быть установлен
 libuuid1:i386 : Прерывает: libuuid1 (!= 2.27.1-6ubuntu3.3), но 2.27.1-6ubuntu3.4 должен быть установлен
 python : Предварительно зависит: python-minimal (= 2.7.11-1), но 2.7.12-1~16.04 должен быть установлен
          Зависит: libpython-stdlib (= 2.7.11-1), но 2.7.12-1~16.04 должен быть установлен
 systemd-shim:i386 : Зависит: cgmanager:i386 (>= 0.32), но он не может быть установлен
E: Неудовлетворенные зависимости. Попробуйте 'apt-get -f install' без пакетов (или укажите решение).

Ответ или решение

При выполнении команд lsb_release -a и uname -a вы получаете разные результаты, что может вызвать путаницу относительно версии операционной системы Ubuntu, установленной на вашем компьютере. Давайте проанализируем каждый из этих инструментов и выясним, какая информация является наиболее актуальной.

Разбор команд

  1. lsb_release -a:

    • Эта команда предоставляет информацию об общей версии дистрибутива. В вашем случае результатом выполнения является:
      Distributor ID: Ubuntu
      Description:    Ubuntu 16.04.3 LTS
      Release:        16.04
      Codename:       xenial
    • Это означает, что вы используете Ubuntu 16.04.3 LTS. Эта информация отражает уровень выпуска (или "релиз") системы операционной системы, указывая на то, что вы используете Long Term Support (LTS) версию.
  2. uname -a:

    • Эта команда предоставляет информацию о ядре Linux. В вашем случае результат выполнения следующей команды:
      Linux u1b 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    • Здесь указана версия ядра (4.10.0-28-generic) и информация о том, что она была упакована для Ubuntu 16.04.2. Это говорит о том, что версия ядра вашего дистрибутива отличается от версии самого дистрибутива Ubuntu.

Какой вывод правильный?

Чтобы ответить на вопрос, какая версия Ubuntu правильная, следует учитывать, что lsb_release раскрывает информацию о версии дистрибутива, а uname представляет данные о версии ядра. Итак, если ваш интерес заключается в версии самой операционной системы, следует доверять данным из lsb_release -a, что подтверждает, что у вас установлена версия Ubuntu 16.04.3 LTS. В то время как uname -a показывает, что установленное ядро относится к Ubuntu 16.04.2.

Проблемы с зависимостями

Ваше выражение о проблемах с выполнением команды apt-get -f install указывает на конфликты зависимостей программного обеспечения. Сообщения об ошибках, которые вы видите, говорят о том, что некоторые пакеты требуется либо обновить до более новой версии, либо установить в результате конфликтов версий.

Шаги для решения проблемы

  1. Обновление списков пакетов:

    sudo apt update
  2. Обновите все установленные пакеты:

    sudo apt upgrade
  3. Используйте aptitude для решения зависимостей (может потребоваться установка aptitude):

    sudo aptitude

    Этот инструмент может предложить несколько способов для решения потенциальных конфликтов.

  4. Удаление конфликтующих пакетов:
    Если конфликты продолжаются, вы можете рассмотреть вариант удаления конфликта через:

    sudo apt remove <имя_пакета_с_конфликтом>

    Например,

    sudo apt remove ghostscript:i386
  5. Установите вручную недостающие пакеты:

    sudo apt install <пакет>

Заключение

Разница в выводах команд lsb_release и uname объясняется различием в том, какую информацию они предоставляют. Если вы видите конфликты с зависимостями, это часто решается обновлением системных пакетов или использованием специфических инструментов для управления зависимости (таких как aptitude). Всегда работаете с актуальными версиями репозиториев и пакетами, чтобы избежать подобных ситуаций в будущем.

Оцените материал
Добавить комментарий

Капча загружается...