Команды линукса для обновления драйверов

Самые полезные настройки и команды Linux

Автор: Igor Ljubuncic, перевод: С.Русинов

Установка драйверов

Драйверы — это программы подобные обычному программному обеспечению. Разница лишь в том, что для их работы не требуется постоянное вмешательство пользователя. Они служат для взаимодействия ваших аппаратных средств между собой. Как все просто. Вам необходимо улучшить их использование операционной системой.

Чаще всего, необходимые драйвера включаются в дистрибутив и устанавливаются в процессе установки. Иногда бывает все не так удачно, и только что собранная рабочая станция будет идти без звука, сети или видео драйверов.

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

Установка

Подобно любому программному обеспечению, драйверы могут быть скомпилированными или нет. Обычно они не скомпилированы. Драйверы обычно распространяются в виде исходных текстов, с целью достижения максимально возможной совместимости аппаратных средств на установленной платформе. Это значит, что вам придется компилировать их из исходных текстов. Элементарно! Мы уже знаем как это сделать.

Если поставщик оборудования является щедрым, он, возможно, дополнит поставляемый драйвер само-устанавливающим скриптом. Другими словами, вам будет нужно только запустить одну команду, которая выполнит: распаковку архива, компиляцию, установку и загрузку драйвера. Но это может не работать. Я был свидетелем как само-устанавливающийся скрипт драйвера работал неверно. По этой причине, для всех практических задач, вам следует устанавливать драйвер вручную.

После успешной распаковки из архива и компиляции исходников (./configure, make, make install), вы, скорее всего, столкнетесь с выбором из трех вариантов:

  • Драйвер будет полностью сконфигурирован и скопирован в папки, выбранные по умолчанию, и системные пути будут обновлены. В этом случае, вам не нужно ничего делать, чтобы использовать драйвер.
  • Драйвер будет сконфигурирован автоматически, и системные пути будут обновлены. Это значит, что вы только добавите имя драйвера в список загружаемых драйверов начальной загрузки, чтобы он загружался автоматически при запуске системы.
  • Драйвер будет готов к использованию, но не будет сконфигурирован, системные пути не будут обновлены. Вам придется вручную загрузить драйвер и затем обновить список загружаемых драйверов начальной загрузки, чтобы он загружался автоматически при запуске системы.

При втором варианте, процесс установки, будет выглядеть следующим образом:

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

Вам нужно открыть конфигурационный файл, содержащий список модулей. Также необходимо знать его точное имя и размещение файла в вашем дистрибутиве. В Ubuntu этот файл называется modules.conf и размещается в /etc каталоге ( /etc/modules.conf ). Мы обновим этот файл, но вначале мы сделаем его резервную копию. Пожалуйста помните, что для изменения конфигурационных файлов нужны права суперпользователя.

Так будет выглядеть эта процедура:

Приведенные выше команды откроют файл modules.conf в текстовом редакторе gedit. Теперь, просто добавьте драйвер в пустую строку ниже существующих драйверов, сохраните файл, выйдите из текстового редактора и перезагрузите систему, чтобы изменения вступили в силу. Это все!

Вот пример, файла modules.conf для Kubuntu Linux, установленной на виртуальной машине. Добавим новый драйвер. Мы просто запишем его имя ниже существующих записей. Конечно, необходимо знать ТОЧНОЕ имя соответствующего драйвера.

Третий вариант немного более сложный.

Загрузка драйверов

Вы успешно скомпилировали драйвер, но ничего не произошло. Это получилось потому, что драйвер еще не включен. Посмотрев внутрь каталога, вы заметите файл с расширением .ko . Это и есть ваш драйвер, и его необходимо загрузить вручную.

Нам нужно установить драйвер в ядро. Это можно сделать с помощью команды insmod .

После загрузки драйвера его можно конфигурировать. Вы можете убедиться в том, что драйвер действительно присутствует в списке всех доступных модулей:

Если вы случайно сделали серьезную ошибку и хотите удалить драйвер, то можете воспользоваться командой rmmod :

Конфигурирование драйверов

Конфигурирование драйвера требует немного знаний о его функциональности. Чаще всего инструкции находятся в текстовых файлах how-to руководства.

Ниже приведенный пример показывает как конфигурировать сетевую карту после загрузки сетевого драйвера. Сетевой карте присвоен идентификатор и IP адрес. В данном случае, eth0 — имя выбранного устройства, но оно может быть другим, например: eth1, eth2 и т. д. . Назначенный IP адрес показывает нам, что машина будет частью локальной сети.

Читайте также:  Windows 10 turbo boost technology driver что это

После перезагрузки вы увидите, что сетевое подключение отсутствует. Это происходит из-за того, что драйвер отсутствует в общем каталоге по умолчанию, и система не знает, где его искать. Вам придется повторить всю процедуру снова:

Теперь становится понятно, что применение скрипта для автоматизации этих действий было бы отличной идеей. И это именно то, что мы собираемся сделать — написать скрипт и добавить его в начальную загрузку системы.

Скрипты

Как и в системах DOS и Windows, скрипты могут быть написаны в текстовом редакторе. Учитывая внутренние различия между текстовыми файлами и скриптами, необходимо различать текстовые файлы и скрипты. В системе Windows достаточно изменить расширение .txt на .bat и файл станет скриптом. В Linux немного по-другому.

Командная строка Linux находится внутри оболочки или, точнее сказать, и есть сама оболочка или Шелл (Shell). Существует несколько оболочек, каждая со своим уникальным набором команд. Самая популярная (устанавливается по умолчанию) оболочка Linux это BASH . Нам необходимо добавить информацию в наш скрипт, если хотим сделать его связанным с нашей оболочкой.

Таким образом, записав в файл приведенные выше команды плюс ссылка на оболочку, получим следующий скрипт:

Можно сделать это короче:

Теперь у нас есть рабочий скрипт. Или точнее текстовый файл, который содержит соответствующие команды. Нам необходимо сделать его исполняемым файлом. Во-первых, нужно сохранить этот файл. Назовем его network_script .

Сделаем скрипт исполняемым.

Теперь у нас есть работающий скрипт. Нам нужно разместить его в каталоге /etc/init.d и он будет запускаться во время начальной загрузки системы.

В завершение нужно обновить систему для активации скрипта.

После перезагрузки вы поймете, что драйвер загружен автоматически и сетевая карта сконфигурирована! Возможен и другой вариант, make install и драйвер будет помещен в каталог по умолчанию:

Или вы могли разместить драйвер в этом каталоге сами. Таким образом, вы могли бы избежать написания скрипта.

Однако мой метод, даже если и менее изящный, имеет одно преимущество. Драйверы, которые вы скомпилировали вручную и поместили в каталоги по умолчанию, будут потеряны при обновлении ядра системы. Это значит, что вам будет необходимо их переустанавливать каждый раз после такого обновления. Мой неэлегантный метод позволяет избежать этой проблемы.

Источник

Linux: обновление приложений, ОС и драйверов в UBUNTU/Debian, установка системы

APT – advanced package tool. Пакетный менеджер на ubuntu (и Debian) – позволяет легко искать приложения, скачивает приложения из репозиториев, устанавливает и их зависимости, удаляет все это при необходимости. Apt работает с пакетам .deb (так же как и Debian, на основе которого построен Ubuntu).

В новых версиях Ubuntu/Debian не обязательно использовать apt-get, достаточно apt.

Приложения

sudo apt-get update – получение списка всех доступных обновлений приложений из установленных в системе репозиториев. Обязательно запускаем чтобы гарантировать, что мы ставим последние версии приложений.

sudo apt-get dist-upgrade – обновление приложений на основе сформированного ранее списка обновлений. dist-upgrade лучше обычного upgrade (sudo apt-get upgrade) т.к. разрешает конфликты (доустанавливает/обновляет/удаляет необходимые зависимости). Логгирование лучше всего собирать с терминала (secure/putty легко это позволяют), а не записывать в файл (&>upgrade.log) – потому что могут появляться экраны с запросами, не только y/n, решаемые опцией -y.

После обновления перезагружаемся. Осторожно! при обновлении сервисов они могут не работать (у меня выдавало ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)) при обновлении mysql, что вполне естественно.

Обновление может помочь при переводе часов (обновлялся пакет tzdata, отвечающий за часовые пояса).

После перезагрузки не забываем стартануть все демоны, а так же можем наткнуться на отсутствие сетевой доступности из-за прописывания маршрутов динамически в RIB, а не в файл. Проверяем вышестоящими командами отсутствия новых апдейтов.

Clean

sudo apt-get autoremove – удаление осиротевших пакетов/библиотек и прочего треша, запускаем строго ПОСЛЕ обновления и перезагрузки. Запускать надо т.к. может сильно высвободить память от мусора. Причем запускать несколько раз, как с CCleaner. После этого может понадобится еще одна перезагрузка (в шапке будет system restart required).

  • если запустить до установки обновлений, после установки может остаться мусор, вот пример:
  • если запустить после обновления приложений, но до перезагрузки – можно сталкнуться с фейлом что осиротевшим пометится новое обновление, требующее перезагрузки т.к. оно еще недоустановилось! У меня так похерились mysql server/client, благо я и базу забекапил и сама база не потерлась:

Аналогично теряли базу postgres на gentoo. Причем она продолжала работать в оперативке.

Читайте также:  Универсальный драйвер для монитора windows 10
OS

lsb_release -a – смотрим версию дистрибутива.

uname –a – смотрим hostname, версию ядра, разрядность (если система 64-битная, то в консоли это будет обозначено как x86_64; если система 32-битная, то будет i686 или i386)

sudo apt-get install update-manager-core – устанавливаем приложение по обновлению ядра

sudo do-release-upgrade или sudo apt full-upgrade – обновление релиза OS (ядра Linux). Если версия хоть и предыдущая, но поддерживаемая LTS, несколько раз думаем перед обновлением, насколько оно нужно. Вместо обновления на новую LTS система может предложить обновить только Security стек, как самое необходимое.

Репозитории

/etc/apt/sources.list – для ubuntu находятся тут. Так же приложения можно ставить из ppa-репозиториев (установка ppa-приложений) с сайта launchpad.net, принадлежащего Canonical (по сути маркет для приложений). Например популярный репозиторий для php7.0 http://ppa.launchpad.net/ondrej/php/ubuntu. В любом случае (особенно в случае с ppa), устанавливая тот или иной репозиторий, нужно быть уверенным, что он надежный – иначе получим нерабочий или даже вредоносный софт.

Пример добавления репозитория.

Можно добавлять и непосредственно строкой в файл /etc/apt/sources.list, причем чем «выше» (т.е. ближе к началу файла) стоит строка, тем больший приоритет получит добавленный репозиторий.

Другие полезные apt-команды

apt list –installed – смотрим информацию про все установленные пакеты

apt show python3 – смотрим информацию про конкретный пакет

apt list phantomjs – смотрим информацию про конкретный пакет

apt search python3-pip – ищем конкретный пакет

apt-get -s install mysql-server – запускаем установку в режиме симуляции, для понимания что произойдет при установке

apt-cache policy mysql-server – смотрим текущую версию пакета и ту, на которую будет апдейт

REMOVE

DPKG

DPKG, как и пакет deb – от прародителя Ubuntu – Debian. DPKG – установщик пакетов в Debian like системах. Не является пакетным менеджером т.к. не умеет скачивать пакеты, не умеет скачивать/устанавливать их зависимости. Но в связке dpkg + apt “–fix-broken” работает – т.е. устанавливаем приложение с использованием dpkg, далее “подтягиваем” недостающее с помощью –fix-broken.

dpkg -i – install. С помощью dpkg в том числе можно установить/обновить драйвера. Можно установить все из папки, используя астериск.

Источник

Установка драйверов в Linux

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

В Linux, драйвера тоже необходимы, но ситуация состоит с ними немного по-другому. Здесь все свободные драйвера Linux встроены в ядро и если ваше оборудование будет работать с этой операционной системой, то, скорее всего, оно будет работать из коробки. Свободные драйвера разрабатываются производителями оборудования или же независимыми разработчиками. Также производители могут не открывать код своих драйверов, тогда они считаются проприетарными и не включаются в ядро, а доустанавливаются вручную.

Давайте рассмотрим подробнее работу с драйверами linux и Windows.

Как драйвера устройств работают в Windows

После установки Windows вам необходимо установить драйвера устройств, предоставляемые производителями — драйверы материнской платы, набора микросхем, драйверы видеокарты, звука, сети, wifi и многое другое.

Windows может немного в этом помочь и установить большинство драйверов от производителей через центр обновления Windows. При подключении устройства к компьютеру Windows вы увидите сообщение «Установка драйвера». Windows определяет производителя, ищет драйвер на серверах Microsoft и загружает его на ваш компьютер. Microsoft не пишут драйвера самостоятельно, они получают их от производителей и предоставляют вам, как только они понадобятся.

Если оборудование не работает в WIndows, то обычно вы можете найти драйвер чтобы заставить его работать. Обычно достаточно подыскать подходящий драйвер на просторах сети.

Как работают драйвера Linux

В Linux ситуация с драйверами очень сильно отличается. Большинство драйверов для вашего оборудования распространяются в виде открытого программного обеспечения и интегрированы в дистрибутив Linux. Эти драйверы linux, как правило, являются частью ядра Linux, но здесь есть исключение — драйверы видеокарты являются частью программного обеспечения Xorg, а драйверы принтера включены в набор CUPS (система печати).

Это значит, что большинство доступных для linux драйверов уже установлены на вашем компьютере, включены вместе с ядром, в виде модулей ядра или вместе с графическим сервером или сервером печати. Установка драйверов Linux почти не нужна. Драйвера в Linux разработаны, в основном, энтузиастами, но иногда их выпускают сами производители оборудования, которые вносят свой вклад в развитие ядра Linux и других проектов, например, это Intel, AMD, а также другие, более мелкие производители.

Читайте также:  Svchost exe грузит оперативную память windows 10 что делать

Все драйвера установлены из коробки, а значит вам не придется искать драйвера для каждого устройства в вашей системе и вручную их устанавливать. Система автоматически определит ваше оборудование и сама загрузит нужные драйвера в linux. Но здесь есть одно исключение — это проприетарные драйвера ядра linux и прошивки.

Установка проприетарных драйверов Linux

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

Чаще всего нам приходится сталкиваться с проприетарными драйверами для видеокарт, например, для NVIDIA, которые обеспечивают лучшую производительность в играх на Linux. Конечно, есть драйверы ядра Linux с открытым исходным кодом, которые заставят вашу видеокарту работать, но они не могут обеспечить достаточный уровень производительности в 3D играх. Некоторые драйвера wifi по прежнему закрыты, поэтому ваше оборудование не будет работать пока вы их не установите.

Установка драйверов в Linux зависит от вашего дистрибутива. В Ubuntu и основанных на ней дистрибутивах есть специальный инструмент — Дополнительные драйверы.

Программа определит, какие проприетраные драйверы устройств Linux можно установить и предложит скачать и установить их. В Linux Mint тоже есть инструмент менеджер драйверов, он работает аналогично инструменту в Ubuntu. Fedora — против проприетарных драйверов Linux и здесь нет никакого способа их установить. Во многих дистрибутивах проприетарные драйверы устройств linux можно найти в неофициальных репозиториях. Каждый дистрибутив решает эту проблему по-разному.

Установка прошивок в Linux

Не все могут делать драйвера с открытым кодом или проприетарные драйвера. Некоторым драйверам необходимы прошивки, чтобы правильно работать с устройствами. Например, прошивки нужны для работы некоторых модулей wifi или сетевых интерфейсов.

Чтобы установить прошивки в Linux необходимо скачать и установить пакет linux-firmware, это можно сделать с помощью следующей команды в Ubuntu:

sudo apt install linux-firmware

А в RPM дистрибутивах:

sudo yum install linux-firmware

Также возможно придется установить другие прошивки. Чтобы посмотреть подробнее, что нужно, и как установить, посмотрите лог ядра dmesg.

Как установить драйверы для принтера в Linux

Возможно, вам понадобится поставить драйвера linux для принтера. Однако при использовании инструмента для конфигурации принтеров — CUPS вы можете выбрать нужный драйвер из баз данных. Как правило, программа определяет производителя вашего принтера, а в списке вы можете выбрать точную модель принтера.

Вы также можете попытаться определить принтер по описанию PostScript или PPD файла. Эти файлы часто входят в состав драйвера принтера для Windows и вы можете найти PPD файл, который сделает работу вашего принтера лучше. Файл PPD можно выбрать в процессе работы CUPS.

Принтер может стать головной болью в Linux и многие из них могут не работать должным образом или даже вообще не работать. Так что при выборе принтера лучше сразу смотреть только те, которые точно будут работать с Linux.

Как заставить работать другое программное обеспечение

Иногда вам может понадобиться поставить драйвера linux для другого оборудования, которые не предоставляются автоматически. Например, NVIDIA предоставляет собственный инсталлятор для своего драйвера. Но тем не менее лучше использовать драйвера упакованные для вашего дистрибутива, они будут работать лучше.

В общем, если в Linux что-то не работает из коробки, и если оно все еще не работает после установки драйвера или прошивки, то, скорее всего, оно уже не будет работать вообще. Если вы используете старую версию Linux, может помочь обновление до самой новой версии. Это обеспечит лучшую аппаратную поддержку и обновления. Но если что-то все еще не работает, то , скорее всего, оно уже работать не будет.

Найти подробную информацию, как настроить работу того или иного оборудования в вашем дистрибутиве можно на различных форумах. Обычно, если у вас не очень новое устройство, другие пользователи уже сталкивались с этими проблемами, но они их уже решили, и вы можете найти эти ответы.

Выводы

Вы не должны возиться с драйверами слишком много. Драйвера в Linux с открытым исходным кодом и они интегрированы в ядро. В большинстве случаев вам не нужно устанавливать их или изменять, система автоматически определит оборудование и загрузит автоматические драйверы. Когда вы установили Linux, ваше оборудование должно работать либо сразу, либо после установки нескольких проприетарных драйверов.

Вы можете устанавливать и драйвера linux, размещенные на официальных сайтах производителей, но проприетарные драйвера могут работать не настолько хорошо, как подготовленные для вашей системы.

Источник

Оцените статью