Wie erhalte ich die Standard-Samba-Konfigurationsdatei (Debian-basiertes System) zurück?
19415
Frew Schmidt
Ich habe vor kurzem Samba installiert und die /etc/samba/smb.confDatei durcheinander gebracht . Wie bekomme ich die ursprüngliche Konfiguration zurück?
`sudo cp /usr/share/samba/smb.conf / etc / samba / smb.conf`
ThorSummoner vor 7 Jahren
0
Dies bedeutet dpkg, fehlende Konfigurationsdateien durch die aus der .deb-Datei zu ersetzen. Sie finden das Originalpaket .deb möglicherweise in /var/cache/apt/archivesoder Sie können eine neue Kopie derselben Version aus den Repositorys Ihrer Distribution verwenden.
dpkg -i --force-confnew foo.deb
Dies bedeutet dpkg, vorhandene Konfigurationsdateien mit den Dateien aus der .deb zu überschreiben. Sie finden das Originalpaket .deb möglicherweise in /var/cache/apt/archivesoder Sie können eine neue Kopie derselben Version aus den Repositorys Ihrer Distribution verwenden.
Dieses Flag zwingt `dpkg` nur dazu, die Konfigurationsdatei * zu überschreiben, wenn es sonst um Erlaubnis gebeten hätte *. Es macht ** nicht **, dass es die ursprünglichen Konfigurationsdateien auf magische Weise aus dem Paket wiederherstellt.
Teddy vor 14 Jahren
0
Ich glaube, du hast recht. ok, du willst stattdessen das `--force-confmiss`. In diesem speziellen Fall, z. B. Samba, denke ich, dass "--force-confnew" das Überschreiben ausführen würde, aber Sie haben Recht, dass es von den Details der Paketkonfigurationsskripte abhängt.
quack quixote vor 14 Jahren
0
6
Teddy
Kurze Antwort: /usr/share/samba/smb.confIst die Originalversion der Datei smb.conf.
Wenn ich mit dieser Situation für jedes Paket konfrontiert bin, mache ich eine der folgenden Möglichkeiten:
Suchen Sie in Ihrem Editor nach Sicherungsdateien der Originalversion . Ich verwende Emacs, das normalerweise foo~Dateien hinterlässt, und ich habe die Option zur numerischen Versionskontrolle so eingestellt, dass die Originalversion immer verwendet wird foo.~1~. Aber vielleicht haben Sie es anders gemacht oder einen anderen Editor verwendet. Überprüfen Sie die Konfiguration Ihres Editors, um diese Funktion zu aktivieren, falls Sie dies noch nicht getan haben. es ist eine gute Angewohnheit, sich einzulassen.
Rekonfigurieren Sie das Paket mit dpkg-reconfigure PACKAGENAME. Manchmal macht das den Trick. Nach meiner Erfahrung funktioniert es selten; Dies hängt davon ab, wie das Paket seine Konfigurationsdateien erstellt.
Löschen Sie das Paket und installieren Sie es erneut (mit apt-get purge packagenamegefolgt von apt-get install packagename). Das sollte immer funktionieren.
In extremen Fällen müssen Sie nach dem Löschen die Konfigurationsdateien manuell suchen und löschen, bevor Sie das Paket erneut installieren. Dies ist jedoch selten. Dadurch werden jedoch alle anderen Daten- und / oder Konfigurationsdateien für das Paket entfernt. Dies ist nicht immer akzeptabel.
Laden Sie den Quellcode für das package ( apt-get source foo) herunter und prüfen Sie, ob die ursprüngliche Konfigurationsdatei dort als Datei vorhanden ist. Es kann jedoch vorkommen, dass die Konfigurationsdatei zuvor nicht vorhanden ist, sondern bei der Installation vom Nachinstallationsskript des Pakets erstellt wird.
Überprüfen Sie das postinst-Skript für package ( /var/lib/dpkg/info/foo.postinst), um herauszufinden, wo die Konfigurationsdatei erstellt wird und wie sie ausgeführt wird. Versuchen Sie dann, den Vorgang manuell zu wiederholen. Dies ist ein bisschen Arbeit und nicht immer einfach.
Dies sollte höher sein. Für mich war es nur ein Fall, sudo cp /usr/share/samba/smb.conf / etc / samba / smb.conf zu tun, um meine verworfene conf-Datei mit dem Original zu überschreiben.
edzillion vor 9 Jahren
0
wo der Name der Paketdatei normalerweise so ist <package name>_<version>.deb(verwenden Sie einfach die Tabulatorvervollständigung). Dies durchläuft den gleichen Vorgang wie ein apt-Upgrade. Sie werden gefragt, was Sie tun möchten, wenn eine geänderte conf-Datei gefunden wird. Geben Sie einfach Nbei jeder Eingabeaufforderung ein. dpkg installiert die Paketversion der conf-Datei .dpkg-distam Ende des Dateinamens. Sie können dann vimdiffein anderes Zusammenführungswerkzeug verwenden, um die Unterschiede zu vergleichen und die gelesene conf-Datei zu ändern.
1
John T
Sie können das deb entpacken und die Originaldatei packen:
ar p packagename.deb data.tar.gz | tar zx
Die Verwendung von "dpkg-source" ist einfacher und die Verwendung von "apt-get source PACKAGE" ist * viel * einfacher.
Teddy vor 14 Jahren
0
@ Teddy: Nur wenn die Standardkonfigurationsdatei im Quellpaket enthalten ist. Viele Pakete installieren eine stark herstellerspezifische Konfigurationsdatei. Einige generieren automatisch ihre Konfigurationsdateien im `packagename.postinst`-Skript.
quack quixote vor 14 Jahren
1
1
Mahmoud Hossam
Sie können den Inhalt des Deb-Pakets erneut herunterladen und extrahieren
Dies ist viel zu wenig, um dies zu tun
Frew Schmidt vor 15 Jahren
1
bedeutet nicht, dass es nicht funktioniert
John T vor 15 Jahren
4
1
Frew Schmidt
Der beste Weg (von #ubuntu erhalten) ist dies zu tun:
dpkg-reconfigure <package>
In diesem Fall heißt das
dpkg-reconfigure samba-common
1
Totor
Sie können die ursprüngliche smb.confKonfigurationsdatei folgendermaßen wiederherstellen :
Dies ist im Wesentlichen das, was der ursprüngliche Paketinstallationsprozess (unter Debian Squeeze) ausführt.
Dadurch werden die aktuellen Daten überschrieben. Erstellen Sie smb.confdaher zuerst ein Backup, wenn Sie es nicht verlieren möchten.
Vielen Dank, dass Sie den Namen des Pakets angegeben haben, das diese Datei enthält. "sudo aptitude purge samba-common; sudo aptitude install samba" war meine Wahl, aber Totors Antwort sieht am wenigsten unheimlich und die meisten Debian-Entscheidungen aus.
Martin Dorey vor 8 Jahren
0