Come posso farlo senza reinstallare anche il resto dei file?
Come posso farlo senza reinstallare anche il resto dei file?
Risposte:
Scarica il pacchetto, ad esempio transmission-daemon
, con
sudo apt-get --download-only install transmission-daemon
decomprimere il pacchetto con
mkdir ~/dummy
dpkg-deb -x /var/cache/apt/archives/transmission-daemon_*.deb ~/dummy
ripristinare il file, ad esempio /etc/init.d/transmission-daemon
sudo cp ~/dummy/etc/init.d/transmission-daemon /etc/init.d
rimuovere la dir
rm -rf ~/dummy
dpkg-deb --fsys-tarfile
e tar
, in questo modo:dpkg-deb --fsys-tarfile "$package"*.deb | tar -x ./path/to/file
/tmp/dummy
sembra più conveniente ~/dummy
e la necessità di rimuoverlo.
apt-get download
poiché apt-get --download-only install
si arresterà se il pacchetto è già installato. Come indicato dalla risposta di Camypaj.
nginx
's worker_processes
impostazione su una gamma di macchine. Così mi è venuta con il seguente 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
.
So che è un po 'vecchio, ma ecco il mio miglioramento:
$ sudo apt-get download <package-name>
invece di
$ sudo apt-get --download-only install <package-name>
Ho avuto una situazione in cui il pacchetto era già installato (quindi la soluzione proposta non funzionava) e volevo ripristinare solo un file di configurazione, al fine di risolvere il problema.
Saluti
/var/cache/apt/archives/
e non dovresti scaricarlo.
apt-get download
download nella directory di lavoro corrente.