Pacman deleted, butno pacman-key either, nor makepkg

Try running sudo pacman-key --init first.

sudo: pacman-key : commande introuvable

I do not have it, hence earlier I tried downloading that script and provided the output in the very first post.

What does sudo find /etc/pacman.d return?

8192 /etc/pacman.d
1952 └──􀀀 mirrorlist

(broot)

mirrorlist

######################################################

EndeavourOS Repository Mirrorlist

######################################################

Entry in file /etc/pacman.conf:

[endeavouros]

SigLevel = PackageRequired

Include = /etc/pacman.d/endeavouros-mirrorlist

######################################################

Tip: Use the ‘eos-rankmirrors’ program to rank

these mirrors or re-order them manually.

######################################################

Canada

Server = https://ca.gate.endeavouros.com/endeavouros/repo/$repo/$arch

China

Server = https://mirrors.tuna.tsinghua.edu.cn/endeavouros/repo/$repo/$arch
Server = https://mirrors.jlu.edu.cn/endeavouros/repo/$repo/$arch

Germany

Server = https://mirror.alpix.eu/endeavouros/repo/$repo/$arch
Server = https://de.freedif.org/EndeavourOS/repo/$repo/$arch
Server = https://mirror.moson.org/endeavouros/repo/$repo/$arch

France

Server = https://endeavour.remi.lu/repo/$repo/$arch
Server = https://mirror.jordanrey.me/endeavouros/repo/$repo/$arch

India

Server = https://mirror.albony.xyz/endeavouros/repo/$repo/$arch

Moldova

Server = https://md.mirrors.hacktegic.com/endeavouros/repo/$repo/$arch

Singapore

Server = https://mirror.jingk.ai/endeavouros/repo/$repo/$arch
Server = https://mirror.freedif.org/EndeavourOS/repo/$repo/$arch

South Korea

Server = https://mirror.funami.tech/endeavouros/repo/$repo/$arch

Sweden

Server = https://ftp.acc.umu.se/mirror/endeavouros/repo/$repo/$arch
Server = https://mirror.linux.pizza/endeavouros/repo/$repo/$arch

Taiwan

Server = https://mirror.archlinux.tw/EndeavourOS/repo/$repo/$arch

Ukraine

Server = https://fastmirror.pp.ua/endeavouros/repo/$repo/$arch

United States

Server = https://mirrors.gigenet.com/endeavouros/repo/$repo/$arch

OK. Let’s try manually downloading them one at a time.

wget https://arch.mirror.constant.com/core/os/x86_64/pacman-mirrorlist-20230410-1-any.pkg.tar.zst
wget https://arch.mirror.constant.com/core/os/x86_64/pacman-6.0.2-7-x86_64.pkg.tar.zst
sudo ./pacman-static -U pacman-mirrorlist-20230410-1-any.pkg.tar.zst
sudo ./pacman-static -U pacman-6.0.2-7-x86_64.pkg.tar.zst
sudo ./pacman-static -U ./archlinux-keyring-20230504-1-any.pkg.tar.zst
result

wget https://arch.mirror.constant.com/core/os/x86_64/pacman-mirrorlist-
20230410-1-any.pkg.tar.zst
wget https://arch.mirror.c
onstant.com/core/os/x86_64/pacman-6.0.2-7-x86
_64.pkg.tar.zst
sudo ./pacman-static -U pa
cman-mirrorlist-20230410-1-any.pkg.tar.zst
sudo ./pacman-static -U pa
cman-6.0.2-7-x86_64.pkg.tar.zst
sudo ./pacman-static -U ./
archlinux-keyring-20230504-1-any.pkg.tar.zst

–2023-06-11 22:53:30-- https://arch.mirror.constant.com/core/os/x86_64/pacman-mirrorlist-20230410-1-any.pkg.tar.zst
Certificat de l’autorité de certification « /etc/ssl/certs/ca-certificates.crt » chargé
Résolution de arch.mirror.constant.com (arch.mirror.constant.com)… 2001:19f0:1595:1403::1098, 108.61.5.83
Connexion à arch.mirror.constant.com (arch.mirror.constant.com)|2001:19f0:1595:1403::1098|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 8162 (8,0K) [application/octet-stream]
Sauvegarde en : « pacman-mirrorlist-20230410-1-any.pkg.tar.zst »

  pacman   0%       0  --.-KB/s          pacman-mirro 100%   7,97K  --.-KB/s    ds 0s      

2023-06-11 22:53:31 (117 MB/s) — « pacman-mirrorlist-20230410-1-any.pkg.tar.zst » sauvegardé [8162/8162]

–2023-06-11 22:53:31-- https://arch.mirror.constant.com/core/os/x86_64/pacman-6.0.2-7-x86_64.pkg.tar.zst
Certificat de l’autorité de certification « /etc/ssl/certs/ca-certificates.crt » chargé
Résolution de arch.mirror.constant.com (arch.mirror.constant.com)… 2001:19f0:1595:1403::1098, 108.61.5.83
Connexion à arch.mirror.constant.com (arch.mirror.constant.com)|2001:19f0:1595:1403::1098|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 943852 (922K) [application/octet-stream]
Sauvegarde en : « pacman-6.0.2-7-x86_64.pkg.tar.zst »

  pacman   0%       0  --.-KB/s               pacman-   6%  63,63K   305KB/s              pacman-6  24% 223,63K   545KB/s             pacman-6.  48% 447,63K   728KB/s            pacman-6.0  55% 511,63K   570KB/s           pacman-6.0.  78% 719,63K   642KB/s          pacman-6.0.2 100% 921,73K   820KB/s    ds 1,1s    

2023-06-11 22:53:33 (820 KB/s) — « pacman-6.0.2-7-x86_64.pkg.tar.zst » sauvegardé [943852/943852]

[sudo] Mot de passe de anon :
warning: config file /etc/pacman.conf, line 12: directive ‘UseDelta’ in section ‘options’ not recognized.
loading packages…
resolving dependencies…
looking for conflicting packages…

Packages (1) pacman-mirrorlist-20230410-1

Total Installed Size: 0.05 MiB

:: Proceed with installation? [Y/n] Y
(0/1) checking keys in keyring (1/1) checking keys in keyring
(0/1) checking package integrity (1/1) checking package integrity
(0/1) loading package files (1/1) loading package files
(0/1) checking for file conflicts (1/1) checking for file conflicts
(0/1) checking available disk space (1/1) checking available disk space
:: Processing package changes…
(1/1) installing pacman-mirrorlist (1/1) installing pacman-mirrorlist
warning: /etc/pacman.d/mirrorlist installed as /etc/pacman.d/mirrorlist.pacnew
warning: config file /etc/pacman.conf, line 12: directive ‘UseDelta’ in section ‘options’ not recognized.
loading packages…
resolving dependencies…
looking for conflicting packages…

Packages (1) pacman-6.0.2-7

Total Installed Size: 4.72 MiB

:: Proceed with installation? [Y/n] Y
(0/1) checking keys in keyring (1/1) checking keys in keyring
(0/1) checking package integrity (1/1) checking package integrity
(0/1) loading package files (1/1) loading package files
(0/1) checking for file conflicts (1/1) checking for file conflicts
error: failed to commit transaction (conflicting files)
pacman: /usr/bin/pacman exists in filesystem
Errors occurred, no packages were upgraded.
warning: config file /etc/pacman.conf, line 12: directive ‘UseDelta’ in section ‘options’ not recognized.
loading packages…
resolving dependencies…
looking for conflicting packages…

Packages (2) pacman-6.0.2-7
archlinux-keyring-20230504-1

Total Installed Size: 6.33 MiB

:: Proceed with installation? [Y/n] Y
error: no servers configured for repository: core
(0/2) checking keys in keyring (1/2) checking keys in keyring (2/2) checking keys in keyring
warning: Public keyring not found; have you run ‘pacman-key --init’?
downloading required keys…
error: keyring is not writable
error: required key missing from keyring
error: failed to commit transaction (could not find or read file)
Errors occurred, no packages were upgraded.

Getting closer

sudo ./pacman-static -U pacman-6.0.2-7-x86_64.pkg.tar.zst --overwrite "*"
sudo ./pacman-static -U ./archlinux-keyring-20230504-1-any.pkg.tar.zst

Progress ! It installed smoothly.
then I ran

sudo pacman-key --init
warning: config file /etc/pacman.conf, line 12: directive ‘UseDelta’ in section ‘options’ not recognized.
gpg: /etc/pacman.d/gnupg/trustdb.gpg : base de confiance créée
gpg: aucune clef de confiance ultime n’a été trouvée
gpg: starting migration from earlier GnuPG versions
gpg: porting secret keys from ‘/etc/pacman.d/gnupg/secring.gpg’ to gpg-agent
gpg: migration succeeded
==> Generating pacman master key. This may take some time.
gpg: Generating pacman keyring master key…
gpg: répertoire « /etc/pacman.d/gnupg/openpgp-revocs.d » créé
gpg: revocation certificate stored as ‘/etc/pacman.d/gnupg/openpgp-revocs.d/066BEC5AD960BCD72DE0E7C4DB3EB19D7ED2E324.rev’
gpg: Done
==> Mise à jour de la base de données de confiance…
gpg: marginals needed: 3 completes needed: 1 trust model: pgp
gpg: profondeur : 0 valables : 1 signées : 0
confiance : 0 i., 0 n.d., 0 j., 0 m., 0 t., 1 u.

Then sudo pacman -Su but it ended with

:: Proceed with installation? [Y/n] Y
error: no server configured for repository: extra
error: transaction validation failed (no server configured for deposit)
Errors occurred, no packages were updated.

Uhh…that would absolutely break it. That empties the keyring we just worked so hard to create…

Try this again:

sudo pacman -U ./archlinux-keyring-20230504-1-any.pkg.tar.zst

Then share the contents of /etc/pacman.conf

pacman.conf

[options]
RootDir = /
DBPath = /var/lib/pacman/
CacheDir = /var/cache/pacman/pkg/
HookDir = /etc/pacman.d/hooks/
GPGDir = /etc/pacman.d/gnupg/
LogFile = /var/log/pacman.log
HoldPkg = pacman
HoldPkg = glibc
Architecture = x86_64
CheckSpace
UseDelta = 0.000000
CleanMethod = KeepInstalled
SigLevel = PackageOptional
SigLevel = PackageTrustedOnly
SigLevel = DatabaseOptional
SigLevel = DatabaseTrustedOnly
[core]
Usage = All
SigLevel = PackageRequired
SigLevel = PackageTrustedOnly
SigLevel = DatabaseOptional
SigLevel = DatabaseTrustedOnly
[extra]
Usage = All
SigLevel = PackageRequired
SigLevel = PackageTrustedOnly
SigLevel = DatabaseOptional
SigLevel = DatabaseTrustedOnly
[community]
Usage = All
SigLevel = PackageRequired
SigLevel = PackageTrustedOnly
SigLevel = DatabaseOptional
SigLevel = DatabaseTrustedOnly
[multilib]
Usage = All

1 Like

That is a mess. Let’s overwrite it with a clean one:

wget https://raw.githubusercontent.com/endeavouros-team/EndeavourOS-ISO/main/airootfs/etc/pacman.conf
sudo mv pacman.conf /etc/.

And ? Btw, as far as I remember I never edited pacman.conf manually.

After that, try using pacman again.

I am not sure where that came from but it wasn’t valid.

I had shown the content of /pacman.d/ before and it was empty safe for mirrorlist.

sudo pacman -Sy
error: file /etc/pacman.d/endeavouros-mirrorlist cannot be read: No such file or directory

You are missing the endeavouros mirrorlist now. We can fix that.

wget https://raw.githubusercontent.com/endeavouros-team/PKGBUILDS/master/endeavouros-mirrorlist/endeavouros-mirrorlist
sudo mv endeavouros-mirrorlist /etc/pacman.d/.

Then try pacman again.

what the hell…
there’s this:

the core.db file could not be downloaded
file extra.db could not be downloaded
file multilib.db could not be downloaded

then a quintillon messages identical to this one, with different addresses:

error: Failed to retrieve file ‘core.db’ from ca.gate.endeavouros.com: The requested URL returned error: 404
error: Failed to retrieve file ‘extra.db’ from ca.gate.endeavouros.com: The requested URL returned error: 404
error: Failed to retrieve file ‘multilib.db’ from ca.gate.endeavouros.com: The requested URL returned error: 404
warning: too many errors from ca.gate.endeavouros.com, skipping for the remainder of this transaction

continuing with other urls.

Ahh…it looks to me like you overwrote your mirrorlist with the endeavouros-mirrorlist

Those are separate files. Did you typo one of those commands?

I think so. I did not know they were different. I don’t know anything about those files to be honest. And yes I read, but it doesn’t register. I swear I’ll get wasted to celebrate once that is finished…

OK, try this:

sudo mv /etc/pacman.d/mirrorlist /etc/pacman.d/endeavouros-mirrorlist
sudo pacman -U pacman-mirrorlist-20230410-1-any.pkg.tar.zst

sudo pacman -U pacman-mirrorlist-20230410-1-a
ny.pkg.tar.zst
error: file /etc/pacman.d/mirrorlist cannot be read: No such file or folder

of course, there’s no mirrorlist now !