Od czasu do czasu tracę plik konfiguracyjny „/etc/mysql/my.cnf” i chcę go przywrócić. Plik należy do pakietu, mysql-common
który jest potrzebny do niektórych ważnych funkcji, więc nie mogę tego po prostu purge && install
: zależności zostałyby również odinstalowane (lub jeśli mogę je tymczasowo zignorować, nie będą działać).
Czy istnieje sposób na przywrócenie pliku konfiguracyjnego z pakietu bez cofania ar
usuwania pliku pakietu?
dpkg-reconfigure mysql-common
nie przywrócił go.
linux
configuration
apt
restore
dependencies
kolypto
źródło
źródło
7z x /path/to/foo.deb
a potem7z x data.tar.gz
) ....conf.d
folderów, a kiedy opiekun pakietu aktualizuje go, proces aktualizacji naprawdę chce wyświetlać komunikaty „zmodyfikowano plik konfiguracyjny” :) Przyczyna nie jest tak ważna, aby o tym wspomnieć, więc postanowiłem uprościć moje pytanieOdpowiedzi:
dpkg -i --force-confmiss mysql-common.deb
odtworzy wszelkie brakujące pliki konfiguracyjne, tj./etc/mysql/my.cnf
w twoim przypadku.źródło
sudo dpkg --force-confmiss -i /var/cache/apt/archives/mysql-common*.deb
W Debian Squeeze - przynajmniej - możemy to zrobić w ten sposób, po
su
- lubsudo
dla Ubuntu -To zajmie się zależnościami
mysql-server
i zresetuje wszystkie brakujące pliki conf partii, w tymmysql-common
. Sprzeczne (pozostałe) pliki zostaną poproszone o zachowanie lub zresetowanie.Niestety istnieje błąd w umiejętnościach i
nie zadziała . Więc musimy to zrobić pojedynczo
Spowoduje to usunięcie dowolnego pliku konfiguracyjnego , oryginalnego lub zmodyfikowanego, ale pliki niestandardowe zostaną zachowane z komunikatem na ekranie. Przy okazji pamiętaj, że
dpkg
rozpoznaje--force-confnew
i--force-confold
opcje.Aby
mysql-server
wydrukować listę zależności na ekranie:źródło
Żadne z powyższych nie działało dla mnie - być może nieaktualne - w każdym razie znalazłem takie rozwiązanie:
źródło
Domyślne pliki konfiguracyjne mysql można znaleźć w
/usr/share/doc/mysql-server-5.0/examples/
lub podobnym. Może to być wszystko, czego potrzebujesz, chyba że masz włączone jakieś naprawdę specjalne / ezoteryczne konfiguracje.źródło
W moim
/etc/mysql/
katalogu mammy.cnf.orig
plik, który zawiera oryginalną zawartośćmy.cnf
.Nie jestem pewien, skąd
/etc/mysql/my.cnf.orig
pochodzi - to znaczy, czy ja go stworzył, czy instalacja mysql to zrobił. Pamiętam, jak kiedyś sprawdziłem, czy było dokładnie tak samo jakmy.cnf
Jeśli masz coś takiego i nie
my.cnf
możesz skopiować jednego na drugi.W każdym razie jest to prosty plik tekstowy o długości 3897 bajtów, który można skopiować i wkleić z ogólnego pliku konfiguracyjnego MySQL.
Będzie to dobry pomysł raz przywrócić swój
/etc/mysql/my.cnf
zrobić kopię, dzięki czemu można je łatwo przywrócić w przyszłości.źródło
/path/to/foo.conf.orig
... jeśli są one automatycznie instalowane, są tworzone, gdy apt-get instaluje nową wersję i wykrywa, że zmieniłeś oryginalny plik konfiguracyjny./etc/mysql/my.cnf.orig
kopię zapasową, której nie zastąpiłaby nowa instalacja. Ale umieszczenie go w zupełnie innym miejscu jest dobrym pomysłem./etc/mysql/my.cnf.orig
. Następnie, oczywiście, wykonaj kopię zapasową tarballa/etc
. :)Musisz ponownie zainstalować mysql-common za pomocą tego polecenia:
apt-get install --reinstall mysql-common
źródło
Wygląda na to, że niektóre inne rozwiązania nie będą działać, jeśli pliki konfiguracyjne pakietu są zarządzane za pomocą
ucf
.W takim przypadku możesz użyć:
źródło