title: How do I use rpm to update/replace existing files?
body: <p>I have several applications that I wish to deploy using rpm.  Some of the files in my application deployments override files from other deployed packages.  Simply including the new files in the deployment package will cause rpm conflicts.</p>
  
  <p>I am looking for the proper way to use rpm to update/replace already installed files.</p>
  
  <p>I have already come up with a few solutions but nothing seems quite right.</p>
  
  <ul>
  <li>Maintain custom versions of the rpms containing the original files.</li>
  </ul>
  
  <p>This seems like a large amount of work for a relatively small reward even though it feels less like a hack than some of the other possible solutions.</p>
  
  <ul>
  <li>Include the files in the rpm with another name and copy them over in the post section.</li>
  </ul>
  
  <p>This would work but will mean littering the system with multiple copies of the files.  Also it means additional maintenance in the rpm build spec for each file.</p>
  
  <ul>
  <li>Use wget in the post section to replace the original files from some known server.</li>
  </ul>
  
  <p>This is similar to the copy technique but the files wouldn't even live in the rpm.  This might act like a nice central configuration authority though.</p>
  
  <ul>
  <li>Deploy the files as new files, then use symlinks to override the originals.</li>
  </ul>
  
  <p>This is also similar to the copy technique but with less clutter.  The problem here is that some files don't behave well as symlinks.</p>