Jak mogę to zrobić bez ponownej instalacji reszty plików?
Jak mogę to zrobić bez ponownej instalacji reszty plików?
Odpowiedzi:
Pobierz pakiet, na przykład transmission-daemon
, za pomocą
sudo apt-get --download-only install transmission-daemon
rozpakuj paczkę za pomocą
mkdir ~/dummy
dpkg-deb -x /var/cache/apt/archives/transmission-daemon_*.deb ~/dummy
przywróć plik, na przykład /etc/init.d/transmission-daemon
sudo cp ~/dummy/etc/init.d/transmission-daemon /etc/init.d
usuń reż
rm -rf ~/dummy
dpkg-deb --fsys-tarfile
i tar
, podobnie jak:dpkg-deb --fsys-tarfile "$package"*.deb | tar -x ./path/to/file
/tmp/dummy
wydaje się wygodniejsze ~/dummy
i konieczność jego usunięcia.
apt-get download
ponieważ apt-get --download-only install
przestanie działać , jeśli pakiet jest już zainstalowany. Jak wskazuje odpowiedź camypaj.
nginx
„s worker_processes
ustawienie w szeregu maszyn. Więc wpadłem za pomocą następującego polecenia: 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
.
Wiem, że to trochę stare, ale oto moja poprawa:
$ sudo apt-get download <package-name>
zamiast
$ sudo apt-get --download-only install <package-name>
Miałem sytuację, w której pakiet był już zainstalowany (stąd proponowane rozwiązanie nie działa) i chciałem przywrócić tylko jeden plik konfiguracyjny, aby rozwiązać problem.
Twoje zdrowie
/var/cache/apt/archives/
i nie powinieneś go pobierać.
apt-get download
pliki do pobrania do bieżącego katalogu roboczego.