Nethogs → создание сокета не удалось при установке локального IP - вы root?


67

После обновления моего Kubuntu я не могу контролировать потребление сети с помощью nethogs:

sudo nethogs enp1s0
creating socket failed while establishing local IP - are you root?

ядро

$ uname -a
Linux xyz 4.2.0-27-generic #32-Ubuntu SMP Fri Jan 22 04:49:08 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Выпуск

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:        15.10
Codename:       wily

Версия

$ nethogs -V
version 0.8.0

это даже падает здесь ..., GitHub, кажется, хорошо, хотя
Водолей Power

Ответы:


98

Это решается по версии0.8.1 .

Так как он не доступен ни в репо, ни в PPA, вам нужно его построить (это действительно легко и быстро сделать ).

Выбрать и извлечь самую последнюю версию (по состоянию на август 2016 г., версия 0.8.5)

wget -c https://github.com/raboof/nethogs/archive/v0.8.5.tar.gz
tar xf v0.8.5.tar.gz 
cd ./nethogs-0.8.5/

Установите зависимости и соберите

sudo apt-get install libncurses5-dev libpcap-dev
make && sudo make install 

Проверьте и запустите

nethogs -V
sudo nethogs

10
Лучше с checkinstall, что мы можем легко управлять им, также избегая конфликтов с репо по умолчанию из ubuntu. Просто проверить лицензию и версию , чтобы обновить эту команду: make && sudo -k checkinstall --pkgsource="https://github.com/raboof/nethogs/" --pkglicense="GPL2" --deldesc=no --nodoc --maintainer="$USER\\<$USER@$HOSTNAME\\>" --pkgarch=$(dpkg --print-architecture) --pkgversion="0.8.2" --pkgrelease="SNAPSHOT" --pkgname=nethogs make install.
Водолей Power

3
@ ÉdouardLopez checkinstall позвонит make installи отследит все, что делает для создания пакета deb :)
Aquarius Power

2
Вы можете использовать его, checkinstallесли хотите, чтобы он обновлялся при появлении следующих версий
GuySoft

1
@TylerCollier переменная $ PATH, вероятно, была обновлена ​​и нуждается в повторном экспорте, чтобы вы могли получить доступ к правильной версии. Вы можете установить пакет synaptic и проверить, где он установлен which nethogs, затем переустановить из исходного кода и еще раз проверить, изменяется ли путь.
Эдуард Лопес

2
Я могу подтвердить, что команда @AquariusPower отлично работает в gNewSense 4 Ucclia (обновлена ​​до Debian Jessie). Я использую NetHogs 0.8.1 сейчас. Мой двоичный файл nethogs здесь принадлежит / usr / local / sbin / nethogs . Спасибо.
Аде Мальсаса Акбар

6

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

sudo apt-get install libncurses5-dev libpcap-dev
git clone --depth 1 https://github.com/raboof/nethogs.git
cd nethogs
make
sudo ./src/nethogs

Вы также можете найти инструкции на странице проекта Nethogs .


6
Пожалуйста, не просто выведите здесь несколько команд, но и объясните, что они делают и почему вы думаете, что они решают проблему. Благодарю.
Byte Commander

3
Я думаю, это говорит само за себя, 1 - установить зависимости программного обеспечения, 2 - загрузить последний источник из Git, 3 - перейти в недавно созданный каталог, 4 - скомпилировать программу, 5 - запустить программу
D.Snap

2
Я добавил запрашиваемое объяснение в ответ и ссылку на официальные инструкции.
Стефан Хеннингсен

2
Не у всех есть мерзавцы и не хотят их устанавливать Загрузка смолы и сборки достаточно хороша.
erm3nda

2
текущий репо компилирует исполняемый файл в подкаталог src /, поэтому последняя команда должна бытьsudo src/nethogs
drevicko
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.