Konfigurationsdateien neu erstellen lasssen [GELÖST]

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Konfigurationsdateien neu erstellen lasssen [GELÖST]

Beitrag von mcmehl » 10.12.2004 10:23:28

Hallo liebe Forenleser

Habe gestern ein wenig zu viel in einigen Konfigurationsdateien sagen wir "umhergemehrt" und dann ging so gut wie nichts mehr mit meiner grafischen Oberfläche.

Naja kurzum habe ich gedacht och Hauste nochmal alles runter und iinstallierst neu. Also ich via "tasksel" den Deskop deinstalliert. Dann die Konfigurationsdateien von Hand gelöscht. Und dann via tasksel wieder das Grundsystem installiert.
Leider wurden meinen Konfigfiles nicht mehr erstellt und sitz so zu sagen auf dem trockenen.

Kann man die Konfigurationsdateien für die installierten Pakete nicht irgendwie prüfen und ggf. neu erstellen lassen? Oder muss ich jetzt mein System nochmal ganz neu aufsetzen?


MfG
Arnold Scheibe
Zuletzt geändert von mcmehl am 11.12.2004 10:56:06, insgesamt 1-mal geändert.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 10.12.2004 11:44:58

in welchen Konfigurationsdateien hast du den "umhergemehrt" ?

Benutzeravatar
rotwein
Beiträge: 619
Registriert: 03.06.2003 12:22:51
Wohnort: Altdorf (bei Nürtingen -> bei Stuttgart)

Beitrag von rotwein » 10.12.2004 12:21:11

Hallo,

Du könntest versuchen, die Pkete mit nun kaputten (d.h. von dir "umhergemehrt") configs per

Code: Alles auswählen

dpkg -P <Paketname>
zu deinstallieren.
Damit werden auch die config-Files dieser Pakete gelöscht; bei normalem deinstallieren via apt (oder dpkg ohne -P) werden die configs behalten. Daher hast Du vermutlich wieder die selben configs wie vor der Deinstallation (wie tasksel genau deinstalliert weiß ich nicht; setzt ich dazu nie ein, ist mir zu grob :? ).

Gruß und viel Glück, rotwein

PS: ob das -P oder -p richtig ist, weiß ich grad nicht (auf Arbeit kein Debian System :cry: )

Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Beitrag von mcmehl » 10.12.2004 15:52:06

Ja hast recht.

Code: Alles auswählen

dpkg -P
deinstalliert die Packete komplett mit Konfig. Jetzt auch der Grund bekannt warum bei mir tasksel versagt hat. Der macht nur eine normale deinstallation und "normale" installation.

Bei einer Standarddeinstallation bleiben z.B. die Configfiles erhalten und das Debianpaketsystem "merkt" sich von welchen Programmen die Files noch nicht komplett deinstalliert wurden. Übersicht z.B. mit

Code: Alles auswählen

dpkg -l
So und da Debian schlauer ist als ich :wink: überschreibt/legt er auch nicht einfach die Konfigfiles an, die ja noch wichtige Sachen beeinhalten könnten. Es wäre ja z.B. möglich das man nur ein Update macht oder nur vorübergehend das Programm nicht braucht.

:idea: Ich weiß jetzt auch, dass bei mir alles inna Hose gegangen ist weil der Status der Pakete nach der Überinstallation wieder auf "ii" steht und die Konfig-Files trotzdem net da sind. Nur jetzt habe ich auch keine möglichkeit mehr die "guten" von den "bösen" zu unterscheiden!?

Vielen Dank für eure hilfe

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 10.12.2004 17:18:12

mcmehl hat geschrieben::idea: Ich weiß jetzt auch, dass bei mir alles inna Hose gegangen ist weil der Status der Pakete nach der Überinstallation wieder auf "ii" steht und die Konfig-Files trotzdem net da sind. Nur jetzt habe ich auch keine möglichkeit mehr die "guten" von den "bösen" zu unterscheiden!?
Doch, du kannst /var/lib/dpkg/info/paketname.list ansehen, dort stehen die Dateien drin, die da sein sollten, fehlen welche, kannst du neu installieren... Ich habe schonmal ein Skript gepostet, dass soetwas macht, hier nochmal ein Versuch, es überprüft nur Dateien in /etc:

Code: Alles auswählen

#!/bin/bash
for LISTFILE in /var/lib/dpkg/info/*.list; do
  if ! grep -q "^/etc" $LISTFILE; then continue; fi
  while read NAME; do
    if [ ! -e $NAME ]; then
      PKGNAME=$(basename $LISTFILE)
      echo ${PKGNAME/.list/}
      break
    fi
  done < $LISTFILE
done
Dieses Skript gibt eine Liste aller Pakete aus, wo einige Dateien in /etc Fehlen, ein
apt-get --reinstall install $(skript) müsste dann helfen...

Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Beitrag von mcmehl » 10.12.2004 21:14:38

Der Script hat so weit alles erledigt wie Du gesagt hast!

Leider das gleiche Problem wie wie mit meiner Reinstall. Der Script findet zwar alle alle Dateien und die die Packages werden auch alle brav neu installiert, allerdings fehlen dann trotzdem noch die Config-Files...

Ich habe zwar schon in die man von apt-get geschaut, leider nix gefunden, dass er auch die Configs überschreibt?

2 Fragen bleiben fü mich jedoch bezüglich des Scripts offen:
Warum die Tilde in:
Jif ! grep -q "^/etc" $LISTFILE; then continue; fi
und warum der 2. Install Parameter "install"?:
apt-get --reinstall install $(skript)
PS: Ich will doch nur dazu lernen ... :D

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 10.12.2004 22:21:10

mcmehl hat geschrieben:allerdings fehlen dann trotzdem noch die Config-Files...
Tatsache! dpkg ersetzt nur dann fehlende Configdateien, wenn es die Option --force-confmiss übergeben bekommt, dass müssen wir apt-get noch mitteilen:

Code: Alles auswählen

apt-get --reinstall -o=DPkg::Options::="--force-confmiss" install $(skript)
8O
Beachte die Schreibweise und die Doppelpunkte vor dem =
Ich habe zwar schon in die man von apt-get geschaut, leider nix gefunden, dass er auch die Configs überschreibt?
man dpkg wäre hier das richtige gewesen; apt-get ruft dpkg auf, um die Pakete zu installieren.
Warum die Tilde in:
Das ist keine Tilde (~), sondern ein Caret!
Es matcht den Zeilenanfang, so wird sichergestellt dass nur "/etc/blabla" und nicht "/usr/share/doc/examples/etc/blabla" überprüft wird.
und warum der 2. Install Parameter "install"?
Das ist der Befehl. --reinstall ist nur ein Flag, dass apt-get sagt, dass er beim installieren von Paketen erneut installieren soll, den Befehl install muss man dann explizit geben...

Bei aptitude kann man einfach den Befehl reinstall nehmen.
PS: Ich will doch nur dazu lernen ... :D
Das ist doch schön! :)
Dafür ist das Forum ja da. Leute, die sich einfach alles vorkauen lassen wollen und nicht lernwillig sind, sind hier nicht so gern gesehen.

Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Beitrag von mcmehl » 11.12.2004 10:54:54

Cool hat gefunzt ;-)

Ich finde den Script so gut, der sollte Standardmäßig irgenwo auf der Pladde liegen, schließlich ist nicht jeder so gut im Scripten :o Außerdem haben ja einige Leute bestimmt schon mal einige Files unabsichtlich gelöscht!


Danke nochmal für die Hilfe

Antworten