I will give an example of updating the accel-ppp, the commands need to be executed as root user.
First, see the current version of accel-ppp:
Make a copy of the dictionary, if you previously made your own changes to it:
cp /usr/local/share/accel-ppp/radius/dictionary /usr/local/share/accel-ppp/radius/dictionary_copy
The file /etc/accel-ppp.conf after accel-ppp is usually left untouched, but just in case we make a backup copy:
cp /etc/accel-ppp.conf /etc/accel-ppp_`date +%Y-%m-%d`_backup.conf
Rename the old source directory accel-ppp (it may still come in handy):
mv /opt/accel-ppp-code /opt/accel-ppp-code_old
Download the new source code accel-ppp:
cd /opt/ git clone git://git.code.sf.net/p/accel-ppp/code accel-ppp-code
If we stop accel-ppp and use a watchdog, we comment it out or turn it off so that it does not start.
telnet 127.0.0.1 2000 shutdown hard
We are waiting for the completion of the sessions.
In extreme cases, you can stop like this:
service accel-ppp stop killall -9 accel-pppd
modprobe -r ipoe modprobe -r vlan_mon
Make sure that there are no ipoe interfaces left (when accel-ppp is turned off, even with kill, they should not be):
ip a | grep ipoe ifconfig | grep ipoe
If accel-ppp will be installed in another directory, then delete the old files:
which accel-pppd which accel-cmd find / -name ipoe.ko rm /dir/file
You can also perform the update while accel-ppp is running, and then restart everything.
Continue the installation as I described in this article – Accel-ppp installation
You can look at the date of some files to make sure that accel-ppp is installed:
ls -lah /usr/local/share/accel-ppp/radius/dictionary ls -lah /usr/share/accel-ppp/radius/dictionary ls -lah /usr/local/share/accel-ppp/radius/ ls -lah /usr/local/bin/accel-cmd ls -lah /usr/local/sbin/accel-pppd ls -lah /usr/local/lib64/accel-ppp/ ls -lah /lib/modules/`uname -r`/kernel/net/ipoe.ko ls -lah /lib/modules/`uname -r`/kernel/net/vlan_mon.ko
After successful installation of the new version of accel-ppp, we will load the modules and return the dictionary:
mv /usr/local/share/accel-ppp/radius/dictionary_copy /usr/local/share/accel-ppp/radius/dictionary
modprobe ipoe modprobe vlan_mon sudo chmod +x /etc/init.d/accel-ppp systemctl daemon-reload systemctl start accel-ppp.service
Check the current version:
Make sure the modules are compiled for the current kernel version:
uname -a modinfo ipoe modinfo vlan_mon
I would like to note that new versions of acel-ppp use new versions of libraries, which, for example, are newer than those in Ubuntu 16, which can cause problems, so I recommend installing acel-ppp on new operating systems, on older systems, you can try from source (not a package).