En fouinant un peu sur la toile, je suis tombé sur l’outil de monitoring réseau Ifstatus.
Ce logiciel en mode texte, basé sur une interface ncurses permet donc de surveiller vos interfaces réseaux en temps réel à l’image d’un Slurm, iftop ou encore d’un Ifstat.
Chose étonnante, cette application n’est pas disponible dans le dépôt AUR. Cette soirée a donc été pour moi l’occasion de créer un PKGBUILD dans l’optique de le diffuser ensuite sur le dépôt d’utilisateurs d’Arch Linux.
Screenshot :
Le PKGBUILD :
Rentrons directement dans le vif du sujet avec la présentation du fichier PKGBUILD :
# Maintainer: ubunblox <ubunblox@gmail.com> pkgname=ifstatus pkgrealname=ifstatus pkgver=1.1.0 pkgrel=1 pkgdesc="network interface status monitor with graphical statistics" arch=('any') url="http://ifstatus.sourceforge.net/" license=('GPL') depends=('ncurses' 'libstdc++5') source=(http://ifstatus.sourceforge.net/download/$pkgrealname-v$pkgver.tar.gz) md5sums=('f4d413f880754fd6677290160f8bc5d7') build() { cd "$srcdir/${pkgname}" sed -i '26i #include <stdlib.h>' Main.h make install -d $pkgdir/usr/bin install -d $pkgdir/usr/share/doc/${pkgname} install -m 755 $srcdir/${pkgname}/$pkgname $pkgdir/usr/bin/ install -m 644 $srcdir/${pkgname}/README $pkgdir/usr/share/doc/${pkgname}/README }
Après la récupération des sources, la commande sed ajoute la ligne suivante au fichier Main.h :
#include <stdlib.h>
La raison de cet ajout est simple, puisqu’il est impossible de compiler sans cette ligne (Solution trouvée ici).
En ce qui concerne la manière procéder, elle est sûrement très critiquable (modification d’un fichier source à la volée) : J’espère donc en savoir d’avantage .
How to :
Créez votre répertoire de travail :
$ mkdir ~/ifstatus
$ cd ~/ifstatus
Copiez le PKGBUILD :
$ vim PKGBUILD
Installez les dépendances :
$ yaourt -S ncurses libstdc++5
Compilez et installez :
$ makepkg -si
Lancez à présent Ifstatus :
$ ifstatus
Configuration :
Ifstatus se configure à l’aide du fichier ifstatus.cfg :
$ vim ~/.ifstatus/ifstatus.cfg
# IFStatus v1.1.0 configuration file. EmailCheck = OFF # ON or OFF. GraphDataSource = BOTH # BOTH, RX or TX. GraphPeriod = 1 # Period in seconds to update the graph. GraphScaleInfo = ON # ON or OFF. Help = ON # ON or OFF. Information = ON # ON or OFF. Interfaces = wlan0 # ALL, eth0, eth1, ppp0...
Comme vous pouvez le voir la configuration est fort simple !
Utilisation :
Durant l’utilisation, il est possible de modifier l’interface à l’aide des touches suivantes :
- [S] : Active ou nom l’échelle.
- [I] : Affiche ou nom les informations.
- [+/-] : Modifie le temps de rafraichissement.
- [G] : Affiche TX, RX ou les deux.
- [H] : Affiche l’aide.
Pour plus d’informations, le fichier README est mis à disposition dans le répertoire /usr/share/doc :
$ less /usr/share/doc/ifstatus/README
Cet article touche à sa fin, j’attends donc vos retours concernant cette application et son PKGBUILD, merci d’avance !
26 septembre 2011 à 23:30
patch a la place de sed :
https://wiki.archlinux.org/index.php/Patching_in_ABS