16

Is there a way to replace /etc configuration files from a package, overwriting my local changes? I've tried apt-get install --reinstall mypackage but it doesn't update the files.

How can I do this?

28

A related serverfault question describes how to restore package conffiles if you've removed them, and requires that you track down the actual .deb file.

All you need to do:

  • Find the list of conffiles provided by the package:

    dpkg --status <package>
    

    (look under the Conffiles: section).

  • Remove those conffiles yourself.

  • Reinstall the package. If you've found the .deb file,

    dpkg -i --force-confmiss <package_deb>.deb
    

    Alternatively, passing the dpkg option via apt should work:

    apt-get install --reinstall -o Dpkg::Options::="--force-confmiss" <package>
    
  • Nice, thanks. What if you don't know in particular which package provides a file? – Naftuli Kay Dec 27 '11 at 19:33
  • 8
    dpkg -S /file/to/search give you the package name – Dom Dec 27 '11 at 19:51
4

Besides remove apt-get also offers the purge command which cleans out your config customizations, which can then be followed by an apt-get install

  • 1
    purge certainly works for many packages but not the essential ones that you can't remove without seriously breaking things. – jw013 Dec 28 '11 at 1:06
1
apt-get install -o Dpkg::Options::="--force-confnew" packagename

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.