Установите (или создайте) экспериментальный пакет Debian для rpi (NetworkManager 1.0)

Поэтому мне нужно NetworkManager 1.0 на моем Rpi, чтобы иметь возможность настраивать новые подключения Wi-Fi через nmcli.

В экспериментальном debian-репо есть пакет: https://packages.debian.org/network-manager

Я сделал

$ sudo echo "deb http://ftp.debian.org/debian experimental main" >> /etc/apt/sources.list

Тогда

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get -t experimental -f install network-manager

И получил

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 network-manager : Depends: libc6 (>= 2.17) but 2.13-38+rpi2+deb7u7 is to be installed
                   Depends: libgcrypt20 (>= 1.6.0) but it is not installable
                   Depends: libgnutls-deb0-28 (>= 3.3.0) but it is not going to be installed
                   Depends: libndp0 (>= 1.2) but it is not installable
                   Depends: libnl-3-200 (>= 3.2.21) but 3.2.7-4 is to be installed
                   Depends: libnl-genl-3-200 (>= 3.2.21) but 3.2.7-4 is to be installed
                   Depends: libnm0 (>= 1.0.0) but it is not going to be installed
                   Depends: libsystemd0 but it is not going to be installed
                   Depends: libteamdctl0 (>= 1.9) but it is not installable
                   Depends: libpam-systemd but it is not going to be installed
                   Recommends: ppp (>= 2.4.6) but it is not going to be installed
                   Recommends: iputils-arping but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Ok. Я решил попытаться скомпилировать источники. Загрузили NetworkManager-1.0.0.tar.xz и попытались ./configure. Началась другая история о зависимостях.

echo "APT::Default-Release \"stable\";">> /etc/apt/apt.conf.d/50raspi
echo "deb http://ftp.ru.debian.org/debian testing main contrib" >> /etc/apt/sources.list
sudo apt-get install intltool
sudo apt-get install libdbus-1-dev libdbus-glib-1-dev
sudo apt-get install libgudev-1.0-0 libgudev-1.0-dev
sudo apt-get install libnl-3-200=3.2.24-2 libnl-3-dev=3.2.24-2 libnl-route-3-200=3.2.24-2 libnl-route-3-dev=3.2.24-2 libnl-genl-3-200=3.2.24-2 libnl-genl-3-dev=3.2.24-2
sudo apt-get install uuid uuid-dev
sudo apt-get install libreadline-dev libncurses5 libncurses5-dev
sudo apt-get install libnss3 libnss3-dev
sudo apt-get install ppp-dev
sudo apt-get install libndp-tools libndp-dev

И в конце он попросил libndp, который привел меня к

sudo apt-get -f install libc6=2.19-13

И я не смог установить его

Preparing to replace libc6:armhf 2.13-38+rpi2+deb7u7 (using .../libc6_2.19-13_armhf.deb) ...
Checking for services that may need to be restarted...
Checking init scripts...
/var/lib/dpkg/tmp.ci/preinst: 191: /var/lib/dpkg/tmp.ci/preinst: runlevel: not found
Unpacking replacement libc6:armhf ...
dpkg: warning: subprocess old post-removal script was killed by signal (Segmentation fault)
dpkg: trying script from the new package instead ...
dpkg: error processing /var/cache/apt/archives/libc6_2.19-13_armhf.deb (--unpack):
 subprocess new post-removal script was killed by signal (Segmentation fault)
dpkg: error while cleaning up:
 subprocess installed pre-installation script was killed by signal (Segmentation fault)
Errors were encountered while processing:
 /var/cache/apt/archives/libc6_2.19-13_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Любые предложения будут высоко оценены.

Наконец, я смог построить NetworkManager 1.0 из источников для чистого raspbian «jessie».

Спасибо @ goldilocks за его предложение о jessie, это спасло несколько дней для меня:)

#leave only jessie in repos list
echo "deb http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi" > /etc/apt/sources.list

#Update packege repositories
sudo apt-get update
sudo apt-get upgrade

#Install packages for NetworkManager 1.0
sudo apt-get install -y intltool
sudo apt-get install -y libdbus-1-3 libdbus-1-dev libdbus-glib-1-2 libdbus-glib-1-dev
sudo apt-get install -y libgudev-1.0-0 libgudev-1.0-dev
sudo apt-get install -y libnl-3-200 libnl-3-dev libnl-route-3-200 libnl-route-3-dev libnl-genl-3-200 libnl-genl-3-dev
sudo apt-get install -y uuid uuid-dev
sudo apt-get install -y libreadline5 libreadline-dev libncurses5 libncurses5-dev
sudo apt-get install -y libnss3 libnss3-dev
sudo apt-get install -y ppp ppp-dev
sudo apt-get install -y libndp-tools libndp0 libndp-dev
sudo apt-get install -y dbus libdbus-glib-1-2 libdbus-glib-1-dev
sudo apt-get install -y gcc
sudo apt-get install -y python-gi python-dbus

#Build NetworkManager 1.0 from sources
wget http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/1.0/NetworkManager-1.0.0.tar.xz
tar -xJf NetworkManager-1.0.0.tar.xz
cd NetworkManager-1.0.0
./configure
make
make check
sudo make install

НО это не работает из-за ограничений dbus. Его нужно правильно настроить. Источники включают в себя правила dbus, но, похоже, они не были установлены в систему. Я попытался установить их, и все, что я смог найти в источниках, но не результат. Это повлияло на NetworkManager, но я не смог заставить его работать должным образом в конце.

3 голоса | спросил Serafim Suhenky 25 FebruaryEurope/MoscowbWed, 25 Feb 2015 13:05:42 +0300000000pmWed, 25 Feb 2015 13:05:42 +030015 2015, 13:05:42

1 ответ


3
echo "deb http://ftp.debian.org/debian experimental main" >> /etc/apt/sources.list

> _ & л;

Это никогда не выполнит ничего, кроме, возможно, на Pi 2, и даже тогда это может быть отрывочно, если вы на самом деле не установили версию Debian, версию для ARMv7, для которой Raspbian не является . р>

Нормальный armhf debian скомпилирован для архитектуры ARMv7. Это НЕ совместимо с A /B /A + /B +, поэтому Raspbian для архитектуры ARMv6 был необходим в первую очередь.

К сожалению, это немного запутанно, так как оба они помечены как пакеты armhf.

Итак, возьмите эту строку из sources.txt. Я проверил raspbian «jessie» repos , но самая высокая версия из НМ 0,9.10. Я предлагаю, если вы хотите 1.0.0, постройте его из источника . Он не такой большой и не должен занимать так много времени, даже на пике.

Общая процедура для этого должна быть:

wget https://download.gnome.org/sources/NetworkManager/1.0/NetworkManager-1.0.0.tar.xz
tar -xJf NetworkManager-1.0.0.tar.xz

Вы можете получить жалобу о xz, которая недоступна, apt-get install xz-utils (довольно уверен, что это так). После распаковки:

cd NetworkManager-1.0.0
./configure 

Вероятно, вам скажут, что вам что-то не хватает. Например, если вы не скомпилировали ничего на pi, вам сначала нужен компилятор, apt-get install gcc. После этого могут быть некоторые библиотеки; для создания против библиотеки вам нужен дополнительный пакет -dev, например, libabc-dev, а не только libabc. Как только это наконец пройдет:

make
make install

Это поместит его в /usr/local/, который должен переопределить нормальный - дважды проверьте /usr/local/bin находится в начале echo $PATH. Вы также можете проверить с помощью which nmcli.

ответил goldilocks 25 FebruaryEurope/MoscowbWed, 25 Feb 2015 17:33:16 +0300000000pmWed, 25 Feb 2015 17:33:16 +030015 2015, 17:33:16

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132