iproute2 - iproute2 networking utils for Linux ChangeLog

HOWTO


# iproute2
# ========
# Slackware 11.0, 12.0, 12.1: iproute2 2.6.16_060323
# Slackware 12.2: iproute2 2.6.26
# Slackware 13.0: iproute2 2.6.29_1
# Slackware 13.1: iproute2 2.6.33
# Slackware 13.37: iproute2 2.6.37

# Below are instructions for installing the latest source release and
# below that are instructions for installing iproute2 from the latest
# development source in GIT.

# If you use scripts that use the 'ip' utility (and friends), make note of
# where your current version is installed, if you have one installed in case
# you need to create a symlink or update your scripts later.
#
# Older versions did not have a 'make install' target, so they may have
# ended up in /usr/local/bin, /sbin, ...who knows.

# If you want to uninstall iproute2 or clean up files from old versions
# before installing this one, skip down to the bottom for instructions.


# iproute2 3.3.0
# ===============
# This release is named 3.3.0 because it includes all of the features
# of the 3.3.0 kernel.  You can use it if you're running older kernels,
# just don't expect to use 3.3.0 features if you're not running a
# 3.3.0 kernel.

# Prerequisites:
# flex >= 2.5.27 (see note below)

# Get it
cd
test -f installed/iproute2-3.3.0.tar.xz &&
mv installed/iproute2-3.3.0.tar.xz .
test ! -f iproute2-3.3.0.tar.xz &&
wget http://kernel.org/pub/linux/utils/net/iproute2/iproute2-3.3.0.tar.xz

# Verify tarball w/ md5sum:
# (this came from my gpg-verified tarball)
echo "39a7ff2c5149475c710365954e2ce49b  iproute2-3.3.0.tar.xz" | \
md5sum -c

# Verify tarball w/ sha1sum:
# (this also came from my gpg-verified tarball)
echo "25307c2418b9d4c6433d61a296f50b886da84b8c  iproute2-3.3.0.tar.\
xz" | sha1sum -c

# Verify tarball w/ gpg:
( gpg --list-keys 95CDE47E > /dev/null 2>&1 || gpg --recv-keys 95CDE47E ) &&
wget -nc http://kernel.org/pub/linux/utils/net/iproute2/\
iproute2-3.3.0.tar.sign &&
xzcat iproute2-3.3.0.tar.xz | gpg --verify iproute2-3.3.0.tar.sign - &&
  rm iproute2-3.3.0.tar.sign

# Extract tarball
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "iproute2-*" -exec rm -r {} \;
tar xJvf ~/iproute2-3.3.0.tar.xz
cd iproute2-3.3.0
test $UID = 0 && chown -R root:root .

# If your db_185.h is in /usr/include, you should be fine.  Otherwise,
# make sure you pass it to make below with DBM_INCLUDE (or change it in the
# Makefile).  e.g. "make DBM_INCLUDE=/usr/include/db4"
# The default path of a source-installed BDB 4.2 would put it here:
# /usr/local/BerkeleyDB.4.2/include  If you have no idea where it is try
# 'locate db_185.h'.

# If you don't use Slackware (where /usr/man is a directory, /usr/share/man
# is a symlink to it), you should take a look through the Makefile or at
# least verify that the DOCDIR, CONFDIR, MANDIR, etc. parts below are where
# you need them to be.

# Previous versions of iproute2 (like 2.6.16-070323), make would
# (non-fatally) fail in the tc subdirectory if you had flex 2.5.31
# installed, but it would be OK with flex 2.5.27  I have not had that
# problem with flex 2.5.33 onward, and a few releases of iproute2 that
# have been released since then.

# Build it
make

# Become root to install it
su

# Remove the Slackware package, if there is one
# (you may be left with old files in /etc/iproute2 after this)
test -x /sbin/removepkg && /sbin/removepkg iproute2

# If you want to build the docs (requires dvips)
cd docs
make PAGESIZE=letter
cd ..

# Ancient versions of this howto may have put programs in other places.
# This will clear them up.
for prog in arpd ctstat genl ifcfg ifstat ip lnstat nstat routef \
routel rtacct rtmon rtpr rtstat tc;
do
  test -f /sbin/${prog} && rm -f /sbin/${prog}
  test -f /usr/sbin/${prog} && rm -f /usr/sbin/${prog}
  test -f /usr/local/bin/${prog} && rm -f /usr/local/bin/${prog}
done

# Install it.
# The Makfile has some crazy things going on in it (default of /usr/etc?
# double slashes via DESTDIR with trailing slash...) so here we override
# most of it's directories.  You can also edit the Makefile instead of
# passing them all on the commandline.
make DESTDIR= DOCDIR=/usr/doc/iproute2 LIBDIR=/usr/lib MANDIR=/usr/man \
MODDESTDIR=/usr/lib/tc SBINDIR=/usr/sbin install

# If you have scripts that are set to use /sbin/ip, you may want to just
# create a symlink pointing to /usr/sbin/ip rather than fix all of them:
ln -sf /usr/sbin/ip /sbin/ip

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/iproute2-*.tar.*
mv iproute2-3.3.0.tar.xz installed/


# iproute2 GIT
# ============
# Prerequisites:
# GIT
# flex 2.5.27 (see note below)

mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "iproute2-*" -exec rm -r {} \;

# Either: download it newly, and kill an old one if found
test -d ./iproute2
git clone \
git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git
cd iproute2

# Or: update an existing previously downloaded copy
cd iproute2
git pull

# If you're doing this as root, make sure root owns everything in the
# source directory
test $UID = 0 && chown -R root:root .

# If your db_185.h is in /usr/include, you should be fine.  Otherwise,
# make sure you pass it to make below with DBM_INCLUDE (or change it in the
# Makefile).  e.g. "make DBM_INCLUDE=/usr/include/db4"
# The default path of a source-installed BDB 4.2 would put it here:
# /usr/local/BerkeleyDB.4.2/include  If you have no idea where it is try
# 'locate db_185.h'.

# If you don't use Slackware (/usr/man is a directory, /usr/share/man is a
# symlink to it), you can probably leave off the MANDIR part (actually, you
# can really leave it off with Slack too, unless it's a really old one...).
# Same goes for /usr/doc and /usr/share/doc (DOCDIR).

# Previous versions of iproute2 (like 2.6.16-070323), make would
# (non-fatally) fail in the tc subdirectory if you had flex 2.5.31
# installed, but it would be OK with flex 2.5.27  I have not had that
# problem with flex 2.5.33 onward, and a few releases of iproute2 that
# have been released since then.

# Build it
make

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg iproute2

# If you want to build the docs (requires dvips)
cd docs
make PAGESIZE=letter
cd ..

# Install it.
# The Makfile has some crazy things going on in it (default of /usr/etc?
# double slashes via DESTDIR with trailing slash...) so here we override
# most of it's directories.  You can also edit the Makefile instead of
# passing them all on the commandline.
make DESTDIR= CONFDIR=/etc/iproute2 DOCDIR=/usr/doc/iproute2 \
MANDIR=/usr/man LIBDIR=/usr/lib install

# If you have scripts that are set to use /sbin/ip, you may want to just
# create a symlink pointing to /usr/sbin/ip rather than fix all of them:
ln -sf /usr/sbin/ip /sbin/ip

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/iproute2-*.tar.*
echo "iproute2 was installed from GIT, source is in ~/src/iproute2" \
> installed/iproute2.README


# If you ever want to uninstall iproute2, this should do it:
su
test -d /etc/iproute2 && rm -r /etc/iproute2
for pfx in /usr /usr/local;
do
  test -d ${pfx}/doc/iproute2 && rm -r ${pfx}/doc/iproute2
  test -d ${pfx}/sbin &&
  ( cd ${pfx}/sbin ; rm -f arpd ctstat genl ifcfg ifstat ip lnstat nstat \
    routel routef rtacct rtmon rtpr rtstat ss tc )
  test -d ${pfx}/lib/tc && rm -r ${pfx}/lib/tc
done
for manpfx in /usr/man /usr/share/man;
do
  test -f ${manpfx}/man3/libnetlink.3 &&
   rm -f ${manpfx}/man3/libnetlink.3
  ( cd ${manpfx}/man8 ; rm -f arpd.8 ctstat.8 ip.8 lnstat.8 nstat.8 \
    routef.8 routel.8 rtacct.8 rtmon.8 rtstat.8 ss.8 tc.8 tc-bfifo.8 \
    tc-cbq.8 tc-cbq-details.8 tc-drr.8 tc-htb.8 tc-pfifo.8 tc-pfifo_fast.8 \
    tc-prio.8 tc-red.8 tc-sfq.8 tc-tbf.8 )
done
test -d /usr/local/etc/iproute2 && rm -r /usr/local/etc/iproute2
test -d /var/lib/arpd && rm -r /var/lib/arpd
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "iproute2-*" -exec rm -r {} \;
rm -f ~/installed/iproute2-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EST -0500)
HOWTO last updated: 2012-05-11 2:26am
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]