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-tarfilei tar, podobnie jak:dpkg-deb --fsys-tarfile "$package"*.deb | tar -x ./path/to/file
/tmp/dummywydaje się wygodniejsze ~/dummyi konieczność jego usunięcia.
apt-get downloadponieważ apt-get --download-only installprzestanie działać , jeśli pakiet jest już zainstalowany. Jak wskazuje odpowiedź camypaj.
nginx„s worker_processesustawienie 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 downloadpliki do pobrania do bieżącego katalogu roboczego.