# Ethtoolのバージョン違いバイナリが欲しい 以下を流すと、3.x.xから6.5が全部コンパイルされてbinに入ります。 ```shell #!/bin/sh -x # curl https://cdn.kernel.org/pub/software/network/ethtool/ | grep "a href" | grep "tar.gz" | egrep "(tool-4|tool-5|tool-6|tool-3)" | cut -d '>' -f 3- | cut -d '<' -f 1 basepath="https://cdn.kernel.org/pub/software/network/ethtool/" versions="ethtool-6.5.tar.gz ethtool-6.4.tar.gz ethtool-6.3.tar.gz ethtool-6.2.tar.gz ethtool-6.1.tar.gz ethtool-6.0.tar.gz ethtool-5.19.tar.gz ethtool-5.18.tar.gz ethtool-5.17.tar.gz ethtool-5.16.tar.gz ethtool-5.15.tar.gz ethtool-5.14.tar.gz ethtool-5.13.tar.gz ethtool-5.12.tar.gz ethtool-5.10.tar.gz ethtool-5.9.tar.gz ethtool-5.8.tar.gz ethtool-5.7.tar.gz ethtool-5.6.tar.gz ethtool-5.4.tar.gz ethtool-5.3.tar.gz ethtool-5.2.tar.gz ethtool-5.1.tar.gz ethtool-5.0.tar.gz ethtool-4.19.tar.gz ethtool-4.18.tar.gz ethtool-4.17.tar.gz ethtool-4.16.tar.gz ethtool-4.15.tar.gz ethtool-4.13.tar.gz ethtool-4.11.tar.gz ethtool-4.10.tar.gz ethtool-4.8.tar.gz ethtool-4.6.tar.gz ethtool-4.5.tar.gz ethtool-4.2.tar.gz ethtool-4.0.tar.gz ethtool-3.18.tar.gz ethtool-3.16.tar.gz ethtool-3.15.tar.gz ethtool-3.14.tar.gz ethtool-3.13.tar.gz ethtool-3.12.1.tar.gz ethtool-3.12.tar.gz ethtool-3.11.tar.gz ethtool-3.10.tar.gz ethtool-3.9.tar.gz ethtool-3.8.tar.gz ethtool-3.7.tar.gz ethtool-3.6.tar.gz ethtool-3.5.tar.gz ethtool-3.4.2.tar.gz ethtool-3.4.1.tar.gz ethtool-3.4.tar.gz ethtool-3.2.tar.gz ethtool-3.1.tar.gz ethtool-3.0.tar.gz" sudo apt install libmnl-dev for ver in $versions; do dlpath=$basepath$ver echo -n $ver... if test ! -f $ver; then echo LOADING curl $dlpath -so $ver else echo CACHE fi done for ver in $versions; do tar zxf $ver done mkdir src targetdir=`find . -type d | grep ethtool` echo $targetdir for target in $targetdir; do cd $target ./configure make cp ethtool ../bin/$target cd .. done # for et in `ls ethtool*`; do echo ------$et ; sudo ./$et -m enp1s0f0np0 | head -n 20;sleep 1; done ``` ## どうなるの? ``` ubuntu@optiplex:~/ethtool/bin$ ls ethtool-3.0 ethtool-3.12 ethtool-3.16 ethtool-3.4.1 ethtool-3.7 ethtool-4.11 ethtool-4.17 ethtool-4.5 ethtool-5.1 ethtool-5.14 ethtool-5.18 ethtool-5.4 ethtool-5.9 ethtool-6.3 ethtool-3.1 ethtool-3.12.1 ethtool-3.18 ethtool-3.4.2 ethtool-3.9 ethtool-4.13 ethtool-4.18 ethtool-4.6 ethtool-5.10 ethtool-5.15 ethtool-5.19 ethtool-5.6 ethtool-6.0 ethtool-6.4 ethtool-3.10 ethtool-3.14 ethtool-3.2 ethtool-3.5 ethtool-4.0 ethtool-4.15 ethtool-4.19 ethtool-4.8 ethtool-5.12 ethtool-5.16 ethtool-5.2 ethtool-5.7 ethtool-6.1 ethtool-6.5 ethtool-3.11 ethtool-3.15 ethtool-3.4 ethtool-3.6 ethtool-4.10 ethtool-4.16 ethtool-4.2 ethtool-5.0 ethtool-5.13 ethtool-5.17 ethtool-5.3 ethtool-5.8 ethtool-6.2 ``` 全バージョン使い放題です! お好きなように。 ``` for et in `ls ethtool*`; do echo ------$et ; sudo ./$et --version | head -n 20;sleep 1; done ------ethtool-3.0 ethtool version 3.0 ------ethtool-3.1 ethtool version 3.1 ------ethtool-3.10 ethtool version 3.10 ------ethtool-3.11 ethtool version 3.11 ------ethtool-3.12 ethtool version 3.12 ------ethtool-3.12.1 ethtool version 3.12.1 ------ethtool-3.14 ethtool version 5.1 ------ethtool-3.15 ethtool version 3.15 ... ```