Pamac bricht ab, keine Datenbankdatei vorhanden

Ich habe schon intensiv nach Lösungen gesucht, komme aber nicht weiter.
Die Spiegelserver habe ich aktualisiert, das scheint durchzulaufen und wird bestätigt mit

::Mirror list generated and saved to: /etc/pacman.d/mirrorlist

Egal ob ich das Update in der GUI, oder mit “pamac update” anstoße, erhalte ich diese Fehlermeldung.

Vorbereitung...
Synchronisiere Paketdatenbanken...
Datenbankdatei für core ist nicht vorhanden.
Datenbankdatei für extra ist nicht vorhanden.
Datenbankdatei für community ist nicht vorhanden.
Datenbankdatei für multilib ist nicht vorhanden.
Aktualisierung von core.db...
Aktualisierung von extra.db...
Aktualisierung von community.db...
Aktualisierung von multilib.db...
Datenbankdatei für core ist nicht vorhanden.
Datenbankdatei für extra ist nicht vorhanden.
Datenbankdatei für community ist nicht vorhanden.
Datenbankdatei für multilib ist nicht vorhanden.
Aktualisierung von core.files...
Aktualisierung von extra.files...
Aktualisierung von community.files...
Aktualisierung von multilib.files...
Abhängigkeiten werden aufgelöst...
Interne Konflikte werden überprüft...
Warnung: Abhängigkeits-Zyklus entdeckt:
Warnung: harfbuzz wird vor seiner Abhängigkeit freetype2 installiert werden
Warnung: Abhängigkeits-Zyklus entdeckt:
Warnung: lib32-harfbuzz wird vor seiner Abhängigkeit lib32-freetype2 installiert werden
Warnung: Abhängigkeits-Zyklus entdeckt:
Warnung: mhwd-nvidia wird vor seiner Abhängigkeit mhwd installiert werden
Warnung: Abhängigkeits-Zyklus entdeckt:
Warnung: mhwd-nvidia-390xx wird vor seiner Abhängigkeit mhwd installiert werden
Warnung: Abhängigkeits-Zyklus entdeckt:
Warnung: mhwd-nvidia-470xx wird vor seiner Abhängigkeit mhwd installiert werden
https://mirror.23m.com/manjaro/stable/extra/x86_64/gtk4-1:4.10.3-2-x86_64.pkg.tar.zst: Fehler 404
https://mirror.23m.com/manjaro/stable/extra/x86_64/libadwaita-1:1.3.2-1-x86_64.pkg.tar.zst: Fehler 404
.......(gekürzt)

Wenn ich pamac starte, bekomme ich drei Fenster mit der selben Meldung angezeigt.

unter " /var/tmp/pamac/dbs/sync" sind aber Datein vorhanden.
Eine db.lck ist bei mir nicht vorhanden, die ich löschen könnte.
Screenshot_20230806_093406

in " /var/lib/pacman/" sieht es so ähnlich aus. Auch da ist keine “db.lck”
Screenshot_20230806_095023

Hat jemand einen Tip für mich, wie ich weiter komme?

Wilkommen,

  • Es werden für jedes Update Informationen bereitgestellt, die du vorher zumindest überfliegen solltest.
    So ist das bei einem “rolling-release” wie manjaro, ständig ändert sich etwas und das will gepflegt werden.

(Ich habe das mal auf Deutsch übersetzen lassen)

Die Arch- Git-Migration ist nun abgeschlossen .

Das [community] Repository wurde zusammengeführt mit [extra] und ist nun leer.
Es kann eine Weile dauern, bis die Mirrors aufholen (weitere Details hier) . ).

Aktualisieren Sie Ihr System und kümmern Sie sich um den Pacman

sudo pacman -Syu "pacman>=6.0.2-11"

Um das nicht mehr existierende [Community]-Repo zu entfernen, müssen Änderungen vorgenommen werden an /etc/pacman.conf .
Änderungen werden bereitgestellt in einer Datei mit der Erweiterung . pacnew .
Pacman bietet das Dienstprogramm pacdiff zum Verwalten dieser Dateien und wird vim -d zum Vergleich verwendet, wenn die Umgebungsvariable DIFFPROG nicht festgelegt ist.

pacdiff -s

Wenn Sie ein anderes Vergleichstool verwenden möchten, können Sie die Umgebungsvariable voranstellen:

DIFFPROG=meld pacdiff -s

Anschließend erneut mit den Repositorys synchronisieren:

sudo pacman -Syu

Und Sie können das jetzt nicht verwendete Repository auch entfernen.

sudo pacman -Sc

HINWEIS: Beachten Sie, dass dieser letzte Befehl auch alle Pakete im Pacman-Cache entfernt, die derzeit nicht installiert sind: Mit anderen Worten: Sicherungskopien von Paketen, die Sie irgendwann deinstalliert haben, werden nicht mehr auf Ihrer Festplatte gespeichert.

In den meisten Fällen wird dies wahrscheinlich keine Kopfschmerzen verursachen. Um selbst kleinere Schmerzen zu vermeiden, finden Sie im Arch-Wiki Informationen zum Bereinigen des Caches

Die Update Informationen lese ich mir immer erst durch. Das hat bis jetzt auch immer gut geklappt. Mein Englisch ist aber nicht so prall und diesmal kann ich die Hinweise nicht verstehen (Auch mit Übersetzer kann ich mir nichts sinnvolles zusammen reimen).
Diesen Satz: “It may take a bit of time for mirrors to catch up.”, habe ich so gedeutet, das es eine weile dauert bis alle Spiegel aktuell sind. Daher habe ich noch eine Weile mit dem Update gewartet.
Die folgenden Anweisungen verstehe ich dann nicht. Ich will mein System nicht schrotten, indem ich unbedacht Befehle mit sudo ausführe.
Ich sehe gerade, du hast deine Antwort noch mit einer deutschen Anleitung ergänzt.
Vielen Dank, ich werde das gleich mal durcharbeiten.

EDIT: wie banjo schon schrieb, solltest Du zuerst den Übergang auf die neue Struktur durchführen…
( sudo pacman -Syu "pacman>=6.0.2-11" ) (community ist Geschichte") :innocent:

Ich würde zuerst in Pamac die Option “Datenbank aktualisieren” wählen und gucken, was passiert.
Dann die Spiegelserver NEU mache mit:
sudo pacman-mirrors --interactive --default && sudo pacman -Syyu
Wenn dann das update durchläuft, ist vieles/alles gut.
Sonst: “sudo pamac clean” und danach ausnahmsweise mit sudo vorneweg:
sudo pamac update --force-refresh --aur
im Terminal.
und oder: sudo rm -rf /var/cache/pkgfile ; sudo pacman -S pkgfile
sudo pacman-mirrors -c all && sudo pacman-mirrors -f
Deine Fehlermeldungen besagen hauptsächlich, das kein gültiger Spiegelserver
gefunden wurde.

Das habe ich gestern schon probiert und jetzt noch einmal. Erst bekomme ich ein Fenster mit den Aktualisierungen angezeigt. Wenn ich dann auf Übernehmen klicke, steht eine ganze Weile in der Statuszeile “Interne Konflikte werden überprüft…”. Danach dann zwei Fenster mit Fehlermeldungen.
“Fehler beim Synchronisieren der Datenbanken” und “konnte ein paar Dateien nicht empfangen”

Was bedeutet, das die liste der Spiegelserver nicht aktuell ist:
also: sudo pacman-mirrors --interactive --default && sudo pacman -Syyu probieren…
Bei Angst vor sudo geht es auch, im “Pamac” in den Einstellungen die Spiegelserver für Deutschland zu erneuern…
Noch etwas (Zitat):
Um das nicht mehr existierende [Community]-Repo zu entfernen, müssen Änderungen vorgenommen werden an /etc/pacman.conf .
Änderungen werden bereitgestellt in einer Datei mit der Erweiterung . pacnew .
Es wäre hilfreich, wenn Du “Krusader” installiert hättest, der hat einen “Systemverwalter-Modus”.
Das wesentliche ist, die Datei /etc/pacman.conf und die Datei /etc/pacman.conf.pacnew zu finden.
Die alte /etc/pacman.conf kannst Du löschen oder mit einer Endung wie.bak umbenennen,
und die Datei /etc/pacman.conf.pacnew umbenennen in /etc/pacman.conf.
Jedenfalls, sobald ```

sudo pacman -Syu "pacman>=6.0.2-11"

gemacht ist! Was passiert nach einem Neustart?

@banjo

Genau da bin ich nicht weiter gekommen. Danke für’s Erklären.
Also sollte ich folgendes ausführen:

sudo pacman -Syu "pacman>=6.0.2-11"
pacdiff -s
sudo pacman -Syu

wenn dann alles flutscht, kann ich in ein paar wochen noch das hier machen:

sudo pacman -Sc

Wäre das die Richtige Vorgehensweise?

@GaVenga

Auch das habe ich gestern schon gemacht und jetzt noch mal. Kommt auch nur ein Fenster mit: “Fehler beim Synchronisieren der Datenbanken”

1 Like

Die Suchfunktion im Forum: (die Lupe rechts oben)

Die ist leer und zu einem Störfaktor geworden, also entfernen.
Kurze manuelle Prüfung:
Im Dateimanager /etc/pacman.conf öffnen und schauen, ob die [community] Repository noch existiert, oder entfernt wurde, oder eine pacman.conf.pacnew daneben auch noch existiert.

…so (in etwa) sollte es aussehen:

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
#IgnorePkg   =
#IgnorePkg   =
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir     = /
#DBPath      = /var/lib/pacman/
#CacheDir    = /var/cache/pacman/pkg/
#LogFile     = /var/log/pacman.log
#GPGDir      = /etc/pacman.d/gnupg/
#HookDir     = /etc/pacman.d/hooks/
HoldPkg      = pacman glibc manjaro-system
# If upgrades are available for these packages they will be asked for first
SyncFirst    = manjaro-system archlinux-keyring manjaro-keyring
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

#IgnorePkg   =
#IgnorePkg   =
#IgnoreGroup =

#NoUpgrade   =
#NoExtract   =

# Misc options
#UseSyslog
Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
ParallelDownloads = 8
ILoveCandy

# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required

# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.

#
# REPOSITORIES
#   - can be defined here or included from another file
#   - pacman will search repositories in the order defined here
#   - local/custom mirrors can be added here or in separate files
#   - repositories listed first will take precedence when packages
#     have identical names, regardless of version number
#   - URLs will have $repo replaced by the name of the current repo
#   - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
#       [repo-name]
#       Server = ServerName
#       Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#

# Include = /etc/pacman.d/mesa-nonfree.pre.repo.conf

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.

[multilib]
Include = /etc/pacman.d/mirrorlist

# An example of a custom package repository.  See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs

…nicht mehr enthalten:

[community]
Include = /etc/pacman.d/mirrorlist
1 Like

@GaVenga
Sorry, ich habe nicht mitbekommen, dass du deine Antwort noch ergänzt hast, während ich geschrieben habe. Vielen Dank für deine Unterstützung.

Krusader ist bei mir immer installiert. Ich habe gleich mal nach den Dateien geschaut. Ich habe diese jewails für pacman und pamac, aber unterschiedlich groß und alt. Keine scheint aktuell zu sein. Die pacman.conf.pacnew ist vom 03.04.23 und pamac.conf.pacnew vom 09.07.23.

Diese aktualisiere ich also hiermit:

Danach müssen die .conf-Dteien aktualisiert werden.

Verstehe ich das richtig? Dieses Vorgehen entspräche dann dem Vorschlag von @banjo mit

die pacman.conf zu aktualisieren?
Wenn ich das manuell im Krusader mache, muß ich dann die Änderungen also auch für beide durchführen?

@banjo

OK, vielen Dank. Dann werde ich mal deiner Anleitung folgen.
Wird dabei auch pamac mit aktualisiert oder muss ich das separat machen?

1 Like

Mein Vorschlag Ist nur die händische Methode - zum lernen, was so ein Script anstellt.

Die beiden hängen eng zusammen - bei mir ging das jedenfalls von alleine…

…ok, noch mal in einfach:
Du hast zwei .pacnew Dateien,

  1. pamac.conf.

diese kannst du in

pamac.conf.bak umbenennen (als Backup).
Anschließend die pamac.conf.pacnew in pamac.conf umbenennen. Pamac wird auf den Ursprungszustand zurückgesetzt, deine Änderungen, z.B. AUR-Support kannst du hinterher wieder nach Wunsch einstellen.

  1. pacman.conf

…die scheint schon alt zu sein, hast du wohl schon länger übersehen. Die bitte mal posten, oder zumindest mit dem Beispiel vergleichen und entsprechend abändern. Die Zeilen

[community]
Include = /etc/pacman.d/mirrorlist

sollten, wenn enthalten, auf jeden Fall gelöscht werden. Es folgt das gleiche Vorgehen beim umbenennen wie zu 1. beschrieben.

Anschließend Datenbank für pacman erneuern:

sudo pacman-mirrors --geoip && sudo pacman -Syyu

für pamac:

pamac update --force-refresh

Kleine Info:

2 Likes

Und wenn du schon mal dabei bist, dann schau doch nach, ob du noch weitere Dateien mit der Endung .pacnew hast, die du noch nicht abgearbeitet hast.

Das gehört zur Systemwartung !

Nach jedem Update solltest du unbedingt nachschauen, ob unter /etc/** irgendwelche solche Dateien neu entstanden sind. Es ist überlebenswichtig (für dein System) den Inhalt dieser Dateien in deine vorhandenen Systemdateien einzupflegen. Dazu gibt es verschiedene tools (z.B. meld, mc, … )

Nicht immer wirken sich solche Dateien massiv aus (wie diesmal). Aber man sollte sie auf keinen Fall für längere Zeit ignorieren. (Die Spezialisten neigen dann irgendwann dazu ihr System neu zu installieren. Das löst das Problem dann ohne dass sie was lernen müssen :wink: )
:footprints:

2 Likes

Vielen Dank für diesen Hinweis. Davon hatte ich keine Ahnung. Ich habe bisher nur mit Debian basierten Systemen gearbeitet. Die Raspis setzt man ja schnell frisch auf aber den Desktop wollte ich nicht mehr aller zwei Jahre neu machen. So habe ich mir Manjaro parallel zu Ubuntu, eigentlich nur zum Ausprobieren, installiert.
Das war vor über einem Jahr und seit dem habe ich das Ubuntu nicht mehr benutzt.
Nun bin ich da wohl zu Blauäugig an die Sache gegangen, weil bisher alles gut ging.
Durch deinen Hinweis habe ich mal einen Blick ins Wiki geworfen und tatsächlich einen Link zur Systempflege gefunden. Vielen Dank nochmal, das werde ich mir ansehen und in Zukunft so machen.
Ich habe da also einiges nachzuholen und hoffe, ich bekomme das mit eurer Hilfe hin. Deine vorgeschlagene Suche nach pacnew liefert mir folgende Dateien:

/etc/default/grub.pacnew (19.04.23)
/etc/locale.gen.pacnew (30.04.23)
/etc/mkinitcpio.conf.pacnew (01.04.23)
/etc/pacman.conf.pacnew (03.04.23)
/etc/pamac.conf.pacnew (09.07.23)

Lässt sich das jetzt noch nachholen ohne Schaden anzurichten? Und wenn ja, wie?

Ein

sudo DIFFPROG=diff pacdiff|result=

liefert leider nichts.

Auch wieder die manuelle Methode:

  • /etc/default/grub.pacnew (19.04.23)
    hast du Änderungen vorgenommen, z.B. os_prober oder ein Kernel Parameter in GRUB_CMDLINE_LINUX_DEFAULT ?
    Wenn ja, diese in die .pacnew übernehmen. Dann die grub Datei in grub.bak umbenennen, und entsprechend die grub.pacnew in grub .
    Das kennst du jetzt ja schon.
    Anschließend den Befehl
    sudo update-grub
    im terminal ausführen.

  • /etc/locale.gen.pacnew (30.04.23)
    Ich nehme jetzt mal an, das du aus Deutschland bist. In diesem Fall kannst du es dir einfach machen

###
#
# Locales enabled by Calamares
de_DE.UTF-8 UTF-8
en_US.UTF-8 UTF-8

an die .pacnew Datei unten anhängen, speichern, umbenennen - kennst du ja schon.

  • /etc/mkinitcpio.conf.pacnew (01.04.23)
    Auch hier gilt, hast du Änderungen vorgenommen, z.B. an MODULES oder HOOKS ?
    Wenn ja, diene Änderungen in die .pacnew Datei übernehmen, umbenennen, usw… schon gelernt.
    Anschließend den Befehl
    sudo mkinitcpio -P
    im terminal ausführen.

  • /etc/pacman.conf.pacnew (03.04.23) schon besprochen

  • /etc/pamac.conf.pacnew (09.07.23) ebenso.

Schönen Abend.

2 Likes

Vielen Dank für Deine ausführlichen und verständlichen Anleitungen. Prinzipiell habe ich das alles verstanden und sollte das auch umsetzen können. Ich komme das erste mal mit diesen Dateien in Kontakt, also da habe ich noch nie dran rumgeschraubt.
In meiner pacman.conf.pacnew ist der community-Eintrag noch vorhanden. Ok, den lösche ich raus. Die locale sollte ja auch unkritisch sein. Ist denn zu erwarten, dass die Einträge in meinen anderen.pacnew aktuell genug sind?
In welcher Reihenfolge sollte ich das abarbeiten? Braucht es einen Neustart an irgendeiner Stelle zwischendurch?

Auf jeden Fall aktueller als der “jetzt Zustand”. Also, alles ausführen (die terminal Befehle nicht vergessen), evtl. vorher noch einen Timeshift snapshot, dann einen herzlichen reboot.
Schauen wir mal, dann sehen wir schon.

…ist egal, mach alle fertig, richtig wirksam wird es erst nach dem reboot.

Ok, dann werde ich das mal vorbereiten und mich ranmachen.
Beim pacman bin mir noch unsicher. Habe ich die Reihenfolge so richtig verstanden?

  1. sudo pacman -Syu "pacman>=6.0.2-11"
  2. pacman.conf aktualisieren
  3. sudo pacman-mirrors --geoip && sudo pacman -Syyu
  4. sudo pacman -Sc

Für pamac muß ich nur die pamac.conf. ändern und dann pamac update --force-refresh ausführen. (ohne sudo?)

Ich frage mir nur, ob ich die Befehle überhaut noch ausführen kann. Die Updatversuche brechen ja immer mit einer Fehlermeldung ab.

hier in Deutschland bekommstt du mit

sudo pacman-mirrors -c Germany

eigentlich die schnellste Verbindung

    sudo pacman -Scc
    sudo pacman -Syu "pacman>=6.0.2-11"
    sudo pacman-mirrors -c Germany
    sudo pacman -Syu
    pamac update -a