¿Cómo puedo hacer esto sin reinstalar también el resto de los archivos?
¿Cómo puedo hacer esto sin reinstalar también el resto de los archivos?
Respuestas:
Descargue el paquete, por ejemplo transmission-daemon
, con
sudo apt-get --download-only install transmission-daemon
desempaquete el paquete con
mkdir ~/dummy
dpkg-deb -x /var/cache/apt/archives/transmission-daemon_*.deb ~/dummy
restaurar el archivo, por ejemplo /etc/init.d/transmission-daemon
sudo cp ~/dummy/etc/init.d/transmission-daemon /etc/init.d
eliminar el directorio
rm -rf ~/dummy
dpkg-deb --fsys-tarfile
y tar
, de esta manera:dpkg-deb --fsys-tarfile "$package"*.deb | tar -x ./path/to/file
/tmp/dummy
Parece más conveniente eso ~/dummy
y la necesidad de eliminarlo.
apt-get download
ya que apt-get --download-only install
se detendrá si el paquete ya está instalado. Como lo indica la respuesta de camypaj.
nginx
la worker_processes
configuración de en una gama de máquinas. Así me ocurrió con el siguiente comando: for f in /var/cache/apt/archives/nginx-common*; do dpkg-deb --fsys-tarfile "$f" | tar xO ./etc/nginx/nginx.conf | grep worker_processes; done
.
Sé que esto es un poco viejo, pero aquí está mi mejora:
$ sudo apt-get download <package-name>
en lugar de
$ sudo apt-get --download-only install <package-name>
Tuve una situación en la que el paquete ya estaba instalado (por lo tanto, la solución propuesta no funcionó), y quería restaurar solo un archivo de configuración, para solucionar el problema.
Salud
/var/cache/apt/archives/
y no debería tener que descargarlo.
apt-get download
descargas en el directorio de trabajo actual.