пятница, 11 августа 2017 г.

Обновление Armbian на Cubietruck и проблемы с сетью.



Armbian - это общее имя дистрибутивов на основе Debian linux для одноплатных компьютеров на процессорах ARM. От базовой системы его отличает модифицированное ядро и наличие дополнительных пакетов от авторов дистрибутива. В остальном это такой же Debian.


А если отличий так мало, то ничего не мешает обновить его Debian 9 Stretch.

Обновление состоит из двух этапов:

1) Изменение адресов репозиториев в файле "/etc/apt/source.list".
У меня этот файл после замены выглядит так:

deb http://httpredir.debian.org/debian stable main contrib non-free
deb http://httpredir.debian.org/debian stable-updates main contrib non-free
deb http://httpredir.debian.org/debian stretch-backports main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
deb-src https://mirror.yandex.ru/debian/ stable main contrib non-free

2) Запуск обновления командой
sudo apt dist-upgrade

Остаётся только периодически поглядывать в консоль и отвечать на вопросы о замене файлов настройки, если такие возникнут.

Кусок этого скучного процесса я даже записал на видео

А теперь о проблемах с сетью.

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

В системе изначально установлен NetworkManager, который управляет настройками сетевых подключений. Но после обновления в системе появился старый "networking" и пакет "ifupdown".

Первый я отключил командой:

sudo systemctl disable networking

А вот со вторым было сложнее, потому что после его удаления сеть поднималась только с протоколом IPv6. С помощью документации и метода тыка я изваял для NetworkManager конфиг:

# /etc/NetworkManager/NetworkManager.conf
[main]
plugins=keyfile
dhcp=dhclient

[ifupdown]
managed=true

dhcp=dhclient указывает на использование конкретного клиента для DHCP-сервера.
Хотя в документации сказано, что без указания этого параметра идёт перебор клиентов, но у меня сеть поднялась только после того, как указал конкретный клиент

Итогом как обычно стало это: