/etc
.
Debian provides an elegant way to restore files of the maintainer’s version without touching your existing configuration.
Practical scenario
Let’s say I’ve removed the file /etc/apache2/sites-available/000-default.conf
, here’s the procedure to recover it:
- find the deb package containing the file
# dpkg -S /etc/apache2/sites-available/000-default.conf
- reinstall the package with a specific option
# apt-get install --reinstall -o Dpkg::Options::="--force-confmiss" apache2 Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 5 not upgraded. Need to get 86,7 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu/ saucy-updates/main apache2 amd64 2.4.6-2ubuntu2.1 [86,7 kB] Fetched 86,7 kB in 0s (264 kB/s) (Reading database ... 245864 files and directories currently installed.) Preparing to replace apache2 2.4.6-2ubuntu2.1 (using .../apache2_2.4.6-2ubuntu2.1_amd64.deb) ... Unpacking replacement apache2 ... Processing triggers for man-db ... Processing triggers for ufw ... Processing triggers for ureadahead ... ureadahead will be reprofiled on next reboot Setting up apache2 (2.4.6-2ubuntu2.1) ... Configuration file `/etc/apache2/sites-available/000-default.conf', does not exist on system. Installing new config file as you requested. * Restarting web server apache2 ...done.
That’s all.
Practical scenario #2
There’s another interesting case when this procedure comes handy: if you changed a default etc file and you want to restore it. In that case you can simply delete it and use the same apt-get
command:
# apt-get install --reinstall -o Dpkg::Options::="--force-confmiss" <package name>