Отключить обновление драйвера Ethernet

Я обнаружил, что последний драйвер для моих компьютеров ethernet-адаптер не работает. Я исправил это, загрузив более ранний драйвер, который работал отлично.

Однако каждый раз, когда я запускаю "apt-get upgrade", обновленный драйвер обновляется. Хотя простая переустановка старого драйвера решает проблему, это довольно раздражает.

Я использую Ubuntu 11.10 64-bit. Драйвер, который работает, это "r8168", а более новый драйвер, который не работает, это "r8169".

Есть ли способ сказать apt не устанавливать новый, не работающий драйвер?

2 ответа

Решение

У меня точно такая же проблема с драйверами: это хорошо известная проблема ядра Linux с сетевыми адаптерами Realtek, смотрите здесь и здесь. Я предполагаю, что вы установили драйвер r8168 от Realtek вручную поверх драйвера r8169, который поставляется с ядром Linux. Обратите внимание, что эти номера являются не номерами версий, а названиями продуктов. Некоторые люди говорят, что драйвер r8168 от Realtek работает лучше, чем драйвер r8169 от ядра Linux.

Если я прав, то вы устанавливаете модуль ядра поверх драйверов, установленных пакетом linux-image-* из apt. Когда вы обновляете этот скрипт, он перестраивает ваши модули ядра и не знает, как переустановить ваш собственный драйвер. Проблема не столько в драйвере, сколько в ядре.

Вы можете попробовать закрепить linux-образ, чтобы apt никогда не обновлял его, но тогда вы потеряете обновления ядра. Кроме того, вы можете переустановить драйвер Realtek вручную после каждого обновления ядра, повторно запустив autorun.sh из кода r8168. Третий вариант, одна из ссылок выше, имеет решение, которое рекомендует занести в черный список модуль r8169, который поставляется вместе с ядром. Тем не менее, это может привести к тому, что у вас не будет ядра для вашей сети Ethernet, я не знаю достаточно о модулях и виртуальных дисках, чтобы посоветовать вам безопасно.

Вы можете держать пакет. Связанные инструкции: https://help.ubuntu.com/community/PinningHowto

Просто простой способ терминала:

sudo -i 
echo package_name hold | dpkg --set-selections

Замените package_name на ваше точное имя пакета драйвера.

Другие вопросы по тегам