2013-11-04 06:06:11 -08:00
|
|
|
python-ifupdown2
|
|
|
|
================
|
|
|
|
|
|
|
|
This package is a replacement for the debian ifupdown package.
|
|
|
|
It is completely re-written in python. It maintains the original ifupdown
|
|
|
|
pluggable architecture and extends it further.
|
|
|
|
|
|
|
|
The python-ifupdown2 package provides the infrastructure for
|
|
|
|
parsing /etc/network/interfaces file, loading, scheduling and state
|
|
|
|
management of interfaces.
|
|
|
|
|
|
|
|
It dynamically loads python modules from /usr/share/ifupdownmodules (provided
|
|
|
|
by the python-ifupdown2-addons package). To remain compatible with other
|
|
|
|
packages that depend on ifupdown, it also executes scripts under /etc/network/.
|
|
|
|
To make the transition smoother, a python module under
|
|
|
|
/usr/share/ifupdownmodules will override a script by the same name under
|
|
|
|
/etc/network/.
|
|
|
|
|
|
|
|
It publishes an interface object which is passed to all loadble python
|
|
|
|
modules (more details about the interface object is available in the
|
|
|
|
python docs).
|
|
|
|
|
|
|
|
|
|
|
|
pluggable python modules:
|
|
|
|
=========================
|
|
|
|
Unlike original ifupdown, all interface configuration is moved to external
|
|
|
|
python modules. That includes inet, inet6 and dhcp configurations.
|
|
|
|
|
|
|
|
It expects a few things from the pluggable modules:
|
|
|
|
- the module should implement a class by the same name
|
|
|
|
- the interface object (class iface) and the operation to be performed is
|
|
|
|
passed to the modules
|
|
|
|
- the python class should provide a few methods:
|
|
|
|
- run() : method to configure the interface.
|
|
|
|
- get_ops() : must return a list of operations it supports.
|
|
|
|
eg: 'pre-up', 'post-down'
|
|
|
|
- get_dependent_ifacenames() : must return a list of interfaces the
|
|
|
|
interface is dependent on. This is used to build the dependency list
|
|
|
|
for sorting and executing interfaces in parallel.
|
2013-11-10 22:35:40 -08:00
|
|
|
|
|
|
|
install instructions
|
|
|
|
====================
|
|
|
|
- remove existing ifupdown package
|
|
|
|
dpkg -r ifupdown
|
|
|
|
|
|
|
|
- download python-ifupdown2*.deb's and install
|
|
|
|
|
|
|
|
- or apt-get from testing repo
|
|
|
|
apt-get install python-ifupdown2
|
|
|
|
apt-get install python-ifupdown2-addons
|
|
|
|
|
|
|
|
- or install from deb
|
|
|
|
dpkg -i python-ifupdown2-<ver>.deb
|
|
|
|
dpkg -i python-ifupdown2-addons-<ver>.deb
|
|
|
|
|
|
|
|
|
2014-01-16 06:46:17 -08:00
|
|
|
extra packages to use addional packages:
|
|
|
|
======================================
|
|
|
|
|
|
|
|
To use templates install python-mako (from wheezy):
|
|
|
|
apt-get install python-mako
|
|
|
|
|
|
|
|
To generate dot files install python-gvgen (from wheezy):
|
|
|
|
apt-get install python-gvgen
|
|
|
|
|