Help with ppp id-down script


I was trying to get a VPN working for my university, and accidentally did an rm on /etc/ppp/ip-down, instead of ip-down.local.

If anyone has ppp 2.4.5 on their machine, and wouldn’t mind posting me a copy of their script (I hadn’t modified the ip-down at all), I would be most appreciative.

If it makes a difference for these files, I am on 11.1 KDE 4.2.


Here you go…

Cheers Malcolm °¿° (Linux Counter #276890)
openSUSE 11.1 x86 Kernel
up 20:54, 2 users, load average: 1.30, 0.55, 0.23
GPU GeForce 6600 TE/6200 TE - Driver Version: 180.29

If you find that you have deleted one file from a package which you have not modified from the original, there is a way to extract just that file from the RPM package. You need to be comfortable with CLI and RPM files for this. I won’t describe some maneuvers in detail.

First find which package owns the file:

$ rpm -qf /etc/ppp/ip-down

Turns out it’s in sysconfig.

Next, get hold of the RPM one way or another. If it’s on the DVD you need to mount the DVD. If you have the ISO image, you can loop mount it. Otherwise you can fetch it from the repo with your web browser. Then run rpm2cpio to convert the RPM to a CPIO image and you can view its contents like this:

$ rpm2cpio sysconfig-0.71.11-7.2.x86_64.rpm | cpio -itv | grep down 
lrwxrwxrwx   1 root     root            5 Dec  3 21:45 ./etc/ppp/ip-down -> ip-up                          
lrwxrwxrwx   1 root     root            5 Dec  3 21:45 ./etc/ppp/ipv6-down -> ip-up

So in fact it’s just a symlink to ip-up and you can fix it by remaking the link. But if you had to extract it, you would do:

# cd /
# rpm2cpio /somewhere/sysconfig-0.71.11-7.2.x86_64.rpm | cpio -idmv  ./etc/ppp/ip-down

It’s important to be in / for the extraction and also to use the exact path as stored in the CPIO archive, that’s why we entered ./etc/ppp/ip-down


Thanks very much to both of you for the file and the advice for how to recover (stupidly) deleted files. I very much appreciate the time and effort.


P.S. I tried out the extraction route you suggested, and worked well. A good learning experience, thanks!