LINUX.ORG.RU

Правильная инструкция по установке linux-headers в Debian Stretch. uname -r|sed 's/[^-]*-[^-]*-//' — работает неправильно?

 , , ,


1

1
uname -r
4.17.0-0.bpo.3-amd64
apt-get install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//')
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующий пакет устанавливался автоматически и больше не требуется:
  linux-image-4.9.0-7-amd64
Для его удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
  binutils gcc-6 libasan3 libatomic1 libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-6-dev libitm1 liblsan0 libmpx2 libtsan0 libubsan0 linux-compiler-gcc-6-x86 linux-headers-4.9.0-8-amd64
  linux-headers-4.9.0-8-common linux-kbuild-4.9 linux-libc-dev manpages-dev
Предлагаемые пакеты:
  binutils-doc gcc-6-multilib gcc-6-doc gcc-6-locales libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg libasan3-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx2-dbg
  libquadmath0-dbg glibc-doc
НОВЫЕ пакеты, которые будут установлены:
  binutils gcc-6 libasan3 libatomic1 libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libgcc-6-dev libitm1 liblsan0 libmpx2 libtsan0 libubsan0 linux-compiler-gcc-6-x86 linux-headers-4.9.0-8-amd64
  linux-headers-4.9.0-8-common linux-headers-amd64 linux-kbuild-4.9 linux-libc-dev manpages-dev

(uname -r|sed 's/[^-]*-[^-]*-//') — что вот это вот делает?

apt-cache policy linux-headers-amd64
linux-headers-amd64:
  Установлен: (отсутствует)
  Кандидат:   4.9+80+deb9u6
  Таблица версий:
     4.17+97~bpo9+1 100
        100 http://deb.debian.org/debian stretch-backports/main amd64 Packages
     4.9+80+deb9u6 500
        500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
     4.9+80+deb9u5 500
        500 http://deb.debian.org/debian stretch/main amd64 Packages

Но почему apt-get устанавливает linux-headers откуда-то отсюда:

        500 http://security.debian.org/debian-security stretch/updates/main amd64 Packages
     4.9+80+deb9u5 500
        500 http://deb.debian.org/debian stretch/main amd64 Packages

Или нужно при установке обязательно указывать часть backports?

apt-get install -t stretch-backports linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//')

Ответ на: комментарий от just_a_brake

Заменяет последовательность «[не минусы]минус[не минусы]минус» на пустую строку

$ echo 4.17.0-0.bpo.3-amd64 | sed 's/[^-]*-[^-]*-//'
amd64

Deleted
()
Ответ на: комментарий от i-rinat

Кстати, можно было написать

Можно, но пока нет

uname -r|sed 's/[^-]*-[^-]*-//'
686-pae

uname -r | cut -d- -f3
686

apt show linux-headers-`uname -r|sed 's/[^-]*-[^-]*-//'`
Package: linux-headers-686-pae

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

А как желательно писать при установку пакетов для архитектуры процессора amd64?

apt-get install linux-image-amd64

или

apt-get install linux-image-$(uname -r|sed 's/[^-]*-[^-]*-//')

?

just_a_brake
() автор топика

Зачем это всё, когда есть мета-пакеты? Поставил мета-пакет и у тебя всегда будет актуальная версия ядра и хедеров после обновления.

Deleted
()
Ответ на: комментарий от just_a_brake

для amd64 одинаково, но это-то заклинание именно такое, чтобы не задавать новичку лишний раз вопрос об архитектуре системы, чтобы работало везде.

redgremlin ★★★★★
()

замудрено больно, мне проще посмотреть что там есть вкусного

# apt-cache search linux-image

и потом полностью указать желаемое

amd_amd ★★★★★
()
Ответ на: комментарий от amd_amd

мне проще посмотреть что там есть вкусного

Ещё есть apt-cache policy

just_a_brake
() автор топика
Ответ на: комментарий от just_a_brake

linux-image-amd64 linux-headers-amd64 — если для обоих указать backports, то так и поставятся.

Vsevolod-linuxoid ★★★★★
()

Вместо того, чтобы в гугле на первой странице найти ответ на вопрос, ты лезешь на форум спрашивать. Нет предела тупости.

anonymous
()
Ответ на: комментарий от Deleted

А ну я уже поставил этот мета-пакет. Осталось только найти 5 пакетов для 390 драйвера. А эта установка мета-пакетов тоже нужна из backpor'ов насколько я понял.

just_a_brake
() автор топика
Ответ на: комментарий от Deleted

Такой подход не всегда нужен. Иногда надо установить определённую версию, а не последнюю в случае указания мета-пакета.

Так для меня актуально ядро 4.17, а не 4.18, на который указывает мета-пакет.

anonymous
()
Ответ на: комментарий от anonymous

в таком случае проще поставить нужную версию, чем колупать sed.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.