Как установить драйвер linux

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

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

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

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

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

Установка

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

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

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

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

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

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

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

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

Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

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

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

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

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

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

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

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

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

Скрипты

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

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

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

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

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

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

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

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

Источник

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

Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

Для того чтобы установленная операционная система могла корректно работать и взаимодействовать с комплектующими компьютера или другими внешними устройствами, подключенными к нему, должны быть установлены драйвера. В Windows с ними бывает много проблем, в особенности у людей слабо владеющими ПК, на деле в этом нет ничего трудного: достаточно узнать точное название модели и найти нужные файлы на официальном сайте производителя в разделе «Помощь». Но что насчёт дистрибутивов на базе GNU/Linux?

Как обстоит дело в Linux с ПО

Debian, Ubuntu их форки и другие дистрибутивы в большинстве случаев работают с открытыми драйверами, которые встроены в ядро Linux. Таким образом пользователь сможет в полной мере пользоваться как Live USB & CD, так и только что установленной системой. Ничего, кроме обновлений, устанавливать не приходится.

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

Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

Инсталляция проприетарных и свободных драйверов

Установка драйверов на Linux способна снизить нагрузку на компьютер и сделать работу систему плавнее и более оптимизированной. В особенности это подойдёт для игр и редакторов трёхмерной графики. Далеко не всегда на отдельно взятую машину можно установить проприетарный драйвер. Иногда таковых нет или оборудование в силу своей неактуальности прекращает поддерживаться. Тут два выхода: продолжать пользоваться открытым ПО или думать о переходе на более старый LTS дистрибутив, для которого производители ещё выпустили программное обеспечение.

Нередко на старых машинах с ОС Debian бывает так, что даже открытые драйвера не устанавливаются. Это обычно связано с устареванием железа или с отсутствием нужных компонентов репозитории.

Добавление несвободных компонентов в систему:

$ deb http://httpredir.debian.org/debian/ «Кодовое имя дистрибутива» main contrib non-free

Установка несвободной прошивки, OpenGL и пакета поддержки графики:

$ sudo apt install firmware-linux-nonfree libgl1-mesa-dri xserver-xorg-video-ati

После этого нужно перезагрузить систему.

Также есть и свободный графический драйвер для AMD Radeon «AMDGPU». Его можно скачать с сайта производителя, выбрав нужный пакет.

Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

Или установить из терминала. Сначала необходимо проверить систему на наличие данного пакета:

Команды для обновления или чистой инсталляции:

Далее необходима перезагрузка.

Используя старое оборудование, следует поставить драйвера Linux, которые последними были выпущены. Скорее всего, это будет Ubuntu 14.04 или ещё более старая версия.

Nvidia

Установить драйвера в Linux для Nvidia легче. На официальном сайте есть целый запрос для компьютеров с различными архитектурами и моделями видеокарт. Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

Также можно провести инсталляцию из официального репозитория. Проверка на наличие версий драйверов:

$ sudo apt update && clear && apt-cache search nvidia-4 | grep ‘binary driver’

$ sudo apt install nvidia-«Версия пакета» nvidia-«Настройки»

Создание конфига xorg.conf:

Перезагрузка компьютера, после которого всё должно работать правильно.

Intel

У Intel нет проприетарного ПО, все драйверы имеют открытый исходный код и находятся внутри ядра Linux. То есть для пользователей ноутбуков и настольных ПК с процессором Intel и встроенным графическим ядром вообще не придётся думать о дополнительных настройках ОС.Также написано и на официальной странице: «Большинство Linux-дистрибутивов включают в себя графические драйверы Intel. Обратитесь к поставщику операционной системы и используйте их дистрибутив для доступа и поддержки драйверов». Другими словами производительность операционной системы на базе процессора Intel не зависит от несвободного ПО.

Старые комплектующие

К сожалению, производители рано или поздно прекращают поддержку старого оборудования. В таком случае остаётся или использовать поддерживаемую версию Windows, или оставаться на более поздних дистрибутивах Ubuntu или Debian, для которых также были выпущены пакеты поддержки.

Источник

Добавление драйвера устройства в Linux

Обычно в системах Unix и Linux установка драйверов для новых устройств не вызывает трудностей. Даже для неопытных пользователей этих систем. Но это в том случае, если производители устройства (и/или разработчики драйверов) позаботились об этом. И оснастили пакет драйвера специальными установочными и конфигурационными скриптами. А также протестировали всё это в нескольких системах. Однако бывают случаи, когда «удобной» возможности установить драйвер устройства нет, но есть исходные коды драйвера. В таком случае можно попытаться собрать драйвер самостоятельно. Конечно, это далеко не так просто, нужно поэкспериментировать. Но успешный результат возможен с высокой вероятностью. И главное, что для этого требуется — это знать и понимать общий порядок действий в случае ручной сборки драйвера. С такими задачами часто сталкиваются администраторы систем, обслуживающих технологические процессы на производствах, хостинг-площадки и т. д.

Способы установки драйверов

Для Linux-систем установка драйверов устройств происходит тремя основными способами:

Надо признать, что для Linux ручная установка драйверов представляет собой довольно сложную и трудоёмкую работу. Поэтому разработчики стремятся всё чаще обеспечивать автоматическую установку и настройку для своих драйверов/устройств. Ведь они заинтересованы в максимально эффективном распространении своих разработок. По этой причине самым распространённым способом установки драйверов является использование сценариев установки. Для самых популярных типов устройств, например для видеокарт, аудиоустройств и даже для сетевого оборудования в настоящее время трудно найти драйверы без автоматической установки.Установка таких драйверов ничем не отличается от установки обычных пакетов. Вся инструкция описана в файле README, подробнее об установке из исходников читайте здесь.

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

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

Расположение «каталог_исходных_кодов_ядра» зависит от системы, в CentOS это /usr/lib/modules/ /kernel, Например

В случае с ручной установкой, необходимо для начала интегрировать драйвер некоего устройства (исходные коды) в дерево каталогов исходных кодов ядра.

Ручная установка драйвера

Для примера, пусть требуется добавить в ядро драйвер некоего сетевого устройства netdevice. Драйвер этого устройства нужно (как уже известно) поместить в один из каталогов с исходными кодами ядра. А именно — в каталог drivers, внутри которого может быть следующее содержимое:

Драйверы чаще всего помещаются в подкаталоги scsi, char, block, net, а также sound и usb. Эти подкаталоги отражают схему размещения драйверов в зависимости от их типа: блочные — для дисков IDE, символьные — для последовательных портов например, для сетевых устройств, звуковых плат и USB-устройств — USB-адаптеры, USB-модемы и т. д. Другие подкаталоги служат для размещения драйверов других категорий, в частности для системных и разного рода шин (pci, pcie, nubus, zorro), а также для платформенно-зависимых драйверов — acorn, macintosh.

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

Исходные коды драйвера представляют собой набор файлов *.c, *.cpp и *.h, которые могут быть объединены в дерево каталогов, в зависимости от того, как составлен проект «исходников» драйвера.

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

Файлы Makefile и Kconfig содержатся в каждом каталоге дерева каталогов с исходными кодами ядра Linux. Это необходимо для организации универсальной разработки и расширения функционала и возможностей ядра при его сборке из исходных кодов путём независимого дополнения новым кодом. В данном случае кодом драйвера для устройства netdevice.

В файл Makefile следует добавить следующий код:

Таким образом, при сборке ядра в его составе будет собран и сам драйвер netdevice. После дополнения файла Kconfig следующим кодом:

устройство netdevice будет доступно для использования конфигурационным макросом (необходимо на этапе конфигурирования сборки ядра). Здесь команда config использует ключевое слово NETDEVICE_DEV, которое обязательно должно совпадать с фразой, следующей после CONFIG, которое ранее было указано в файле Makefile.

Команда tristate указывает, что драйвер может быть собран как загружаемый модуль, если это поддерживается. Если нет, то вместо tristate следует указать bool – драйвер будет частью ядра. Фраза ‘Netdevice support’ будет отображаться в выводе конфигурационного скрипта на этапе конфигурирования сборки ядра. Это может быть любой текст, идентифицирующий устройство, для которого добавляется драйвер.

Использование нового драйвера

В современных версиях ядра Linux задействование новых драйверов существенно упрощено. В отличие версий, выпущенных раньше 2.6. Тогда это было настоящей головоломкой и требовало знаний в программировании. Но архитектурные изменения в модели драйверов и устройств, пришедшие в версии 2.6 позволяют теперь связывать драйверы с ядром на более высоком «общепользовательском» уровне. Для этого используется специальный конфигурационный макрос MODULE_DEVICE_TABLE. Он создаёт соответствия, которые позволяют утилите modprobe (и ей подобным) задействовать новые драйверы ядра.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Как установить драйвера в Ubuntu Linux?

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

Хорошей новостью будет то, что ваши устройства в системе Linux скорее всего будут работать «из коробки». Иногда требуется устанавливать драйверы, но иногда оборудование не совместимо с Linux.

Как работают драйверы в Windows?

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

Windows поможет вам в этом. Microsoft поставляет Windows с огромным набором драйверов, так же много драйверов содержится в Windows Update. Когда вы подключаете новое устройство к компьютеру, то в трее windows появится всплывающее сообщение о том, что устанавливается новый драйвер. Драйвер, написанный разработчиком оборудования, скачивается из Windows Update и устанавливается в вашу систему. Microsoft, в основном, не пишет драйверы к устройствам, а использует драйверы написанные разработчиками оборудования.

Если ваше оборудование не работает, то всегда есть драйвер для него, кроме случаев, когда у вас древнее оборудование, несовместимое с новой версией Windows.

Как работают аппаратные драйверы в Linux?

Большинство драйверов в Linux с открытым исходным кодом и включены в состав ядра (kernel), за исключением драйверов к видеокартам, входящим в состав Xorg, а так же драйверов принтеров, включенных в систему печати CUPS.

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

Иными словами, большинство драйверов в Linux доступны «из коробки». Вам не нужно выискивать необходимый драйвер по сайтам производителей оборудования. Драйвер будет включен в вашу систему, либо появится в ней при обновлении ядра до текущей версии. Система сама определит ваше оборудование и установит необходимый драйвер.

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

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

Чаще всего такие драйверы — графические драйверы NVIDIA и AMD, которые обеспечивают больше производительности графики для игр в Linux. Имеются и открытые аналоги графических драйверов, но они не могут обеспечить такую производительность в 3D играх, как проприетарные. Некоторые драйверы для Wi-Fi так же проприетарные, так что ваше беспроводное оборудование может не работать, пока вы их не становите.

Способ установки проприетарных драйверов зависит от вашего дистрибутива Linux. В Ubuntu и основанных на нем дистрибутивах есть специальный инструмент для установки дополнительных драйверов. Откройте даш (Dash), впишите там «дополнительные драйверы» и запустите его. Он определит какие проприетарные драйверы доступны для вашего оборудования и предложит вам установить их. В Mint и Fedora используются другие утилиты, но установка и поиск драйверов в них не становится от этого сложнее.
Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

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

Возможно, вам понадобится установить драйвер принтера. Для этого при настройке CUPS (система печати в Unix-системах) вам необходимо будет выбрать драйвер принтера из базы данных. При этом, как правило, необходимо выбрать производителя и модель принтера.

Вы так же можете указать PPD файл для описани PostScript принтера. Этот файл можно найти в драйверах принтера под Windows, они совместимы. Укажите этот файл при настройке принтера в Linux.

Хороший совет наперед — перед покупкой принтера для работы с Linux, очень советую уточнить его наличие в базе данных CUPS.

Как заставить работать другое оборудование в Linux?

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

Если что-то не работает в Linux «из коробки», а так же если не начинает работать даже после установки припроетарных драйверов от производителя, то скорее всего работать и не будет — устройство несовместимо с Linux или именно с вашим дистрибутивом.

Решением проблемы может стать обновление дистрибутива до нового, а так же обновление программного обеспечения (напр. команда apt-get upgrade в Ubuntu). Но нужно не забывать, что старые проприетарные драйверы не работают с новыми дистрибутивами и можно потерять работоспособность другого устройства.

Единого решения по установке «нестандартных» драйверов в Linux нет. В сети множество руководств. Поищите такое для вашего устройства. Скорее всего проблема уже была решена другими.

Related Posts

Благодаря Steam играть на Linux становится легче, доступнее и интереснее. В этой статье мы посмотрим…

Если вам нравится стилизация под старину, мониторы терминала в стиле Fallout, то обратите внимание на…

Мы уже ранее объясняли, почему драйверы для линукса не нужно устанавливать отдельно. Linux автоматически определит…

Если при попытке подключить в UBUNTU флешку или внешний HDD с файловой системой exFAT вы…

Источник

Обновление драйверов Ubuntu

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

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

Обновление драйверов в Ubuntu

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

Таким образом, чтобы обновить драйвера в Ubuntu достаточно просто обновить ядро до самой новой версии, а если ещё проще то просто регулярно обновлять систему с помощью команд:

sudo apt update
sudo apt upgrade

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

Обновление драйверов, встроенных в ядро

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

Посмотреть какая версия ядра используется сейчас вы можете командой:

Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

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

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

После применения этой команды необходимо будет перезагрузить компьютер.

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

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

sudo apt-cache policy linux-firmware

И затем установить если есть:

sudo apt install linux-firmware

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

Обновление проприетарных драйверов

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

Как установить драйвер linux. Смотреть фото Как установить драйвер linux. Смотреть картинку Как установить драйвер linux. Картинка про Как установить драйвер linux. Фото Как установить драйвер linux

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

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

Установка драйверов NVIDIA подробно описана в отдельной статье, поэтому я не буду подробно на этом останавливаться. Скажу только, что скачать установщик можно с официального сайта, но будьте осторожны и качайте драйвера только для вашей видеокарты.

С драйвером для видеокарт AMD все стало намного проще с выходом свободного драйвера, теперь он поставляется вместе с ядром и может быть обновлен без проблем, так, как описано в первом способе. О нём на сайте тоже есть подробная статья.

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

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

Выводы

Теперь вы знаете как обновить драйвера Ubuntu. Для новичков это может показаться сложным, но если ваше оборудование работает отлично, то вам и необязательно ничего обновлять. Если у вас остались вопросы, пишите комментарии!

Советы и замечания

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *