Manjaro Difference between revisions of "Pacman troubleshooting"

Difference between revisions of "Pacman troubleshooting"

From Manjaro
imported>Richard
(update package extension on manjaro keyring)
 
(50 intermediate revisions by 17 users not shown)
Line 1: Line 1:
= Software Installation =
<languages/>
__TOC__
<translate>
= Software Installation = <!--T:1-->


<!--T:2-->
Various issues relating to the download and installation of software packages from the Manjaro repositories are dealt with here.
Various issues relating to the download and installation of software packages from the Manjaro repositories are dealt with here.


== "Unable to lock database" Error ==
== "Unrecognized archive format" Error == <!--T:3-->


<!--T:4-->
It has ocurred more than once, an update is issuing these messages in a seemingly never ending stream.
[https://forum.manjaro.org/t/pacman-could-not-open-file-sync-files/20046 Pacman could not open file: sync files]
<!--T:5-->
error: could not open file /var/lib/pacman/sync/core.db: Unrecognized archive format
error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format
error: could not open file /var/lib/pacman/sync/community.db: Unrecognized archive format
error: could not open file /var/lib/pacman/sync/multilib.db: Unrecognized archive format
<!--T:6-->
The error relates to content of the db files. The error happens when pacman receives markup from the mirror instead of the database archives.
<!--T:97-->
While it sometimes is possible to fix the issue simply by deleting the files and the running a pacman update it far from every time.
<!--T:98-->
'''Run pacman-mirrors to refresh your mirrorlist'''
{{UserCmd|command=sudo pacman-mirrors -c Global}}
<!--T:99-->
'''Download the databases and update the system'''
{{UserCmd|command=sudo pacman -Syu}}
== "Unable to lock database" Error == <!--T:14-->
<!--T:15-->
When downloading and installing software from the repositories, a special database lock file will be created in order to ensure that the current installation process is the only one running at that time. Otherwise, attempting to install multiple files from multiple sources simultaneously may corrupt the downloaded files, cause file conflicts - or worse still - damage your system. Once the installation has been completed, the lock file will then be automatically deleted. This error may therefore occur due to two possible reasons:
When downloading and installing software from the repositories, a special database lock file will be created in order to ensure that the current installation process is the only one running at that time. Otherwise, attempting to install multiple files from multiple sources simultaneously may corrupt the downloaded files, cause file conflicts - or worse still - damage your system. Once the installation has been completed, the lock file will then be automatically deleted. This error may therefore occur due to two possible reasons:


<!--T:16-->
* Another installation is still taking place and has not yet finished, or
* Another installation is still taking place and has not yet finished, or
* A previous installation attempt had not finished properly (e.g. due to being aborted early)
* A previous installation attempt had not finished properly (e.g. due to being aborted early)


<!--T:17-->
It is therefore wise to first check to ensure that another installation is not (or had not been) in process at the time of the error. When satisfied that this is not the case, then the database lock file can be manually deleted. To do so, open up the terminal and enter the following command:
It is therefore wise to first check to ensure that another installation is not (or had not been) in process at the time of the error. When satisfied that this is not the case, then the database lock file can be manually deleted. To do so, open up the terminal and enter the following command:
{{UserCmd|command=sudo rm /var/lib/pacman/db.lck}}


sudo rm /var/lib/pacman/db.lck
<!--T:19-->
 
Once done, you should now be able to successfully re-attempt your intended installation.
Once done, you should now be able to successfully re-attempt your intended installation.


== Errors about Keys == <!--T:20-->


== "Failed to commit transaction (invalid or corrupted package)" Error ==
<!--T:21-->
 
We all have our own unique signatures which are used to authenticate who we are and to prevent fraudulent or even malicious activities by others. This is also the case with software packages available from the software repositories. They all contain encrypted codes (signature keys) unique to their developers to ensure that they are authentic and not malicious in nature.  
We all have our own unique signatures which are used to authenticate who we are and to prevent fraudulent or even malicious activities by others. This is also the case with software packages available from the software repositories. They all contain encrypted codes (signature keys) unique to their developers to ensure that they are authentic and not malicious in nature.  


<!--T:22-->
During the installation process, once any software packages have been downloaded, your system will first check their signature keys to ensure that they are authentic prior to actually installing them. If a signature key cannot be verified for any reason, then the installation process will be aborted. This problem will usually occur due to:
During the installation process, once any software packages have been downloaded, your system will first check their signature keys to ensure that they are authentic prior to actually installing them. If a signature key cannot be verified for any reason, then the installation process will be aborted. This problem will usually occur due to:


<!--T:23-->
* one or more signature keys contained in your system's database being revoked, changed, corrupted, or out of date  
* one or more signature keys contained in your system's database being revoked, changed, corrupted, or out of date  
* one or more software packages not having been signed off properly when placed in a repository
* one or more software packages not having been signed off properly when placed in a repository


<!--T:24-->
Where a package has not been signed off properly before being placed in a repository, it will be the responsibility of the developer(s) to correct this. However, as this problem will be more than likely due to a problem with your system's verification of a signiture key, this can be solved in three easy steps. Working net connection is required. Once you have opened your terminal:


Where a package has not been signed off properly before being placed in a repository, it will be the responsibility of the developer(s) to correct this. However, as this problem will be more than likely due to a problem with your system's verification of a signiture key, this can be solved in three easy steps. Once you have opened your terminal:
<!--T:25-->
{{Warning|The following commands only work, when your system time is set correctly! }}


<!--T:100-->
{{BoxInfo|Info|Retrieving the latest keyring packages can be done by browsing a current mirrors pool folder. E.g. from '''https://mirror.easyname.at/manjaro/pool''' - using the '''overlay''' for Manjaro keyring and '''sync''' for Arch keyring and downloading them to your system. Do not download '''.sig''' files.}}


'''1. Refresh and update the signature keys''' by entering the command:
<!--T:101-->
{{BoxInfo|Info|Those running ARM can find the '''archlinuxarm-keyring''' and '''manjaro-arm-keyring''' in the '''sync-arm''' and '''overlay-arm''' folders respectively.}}


sudo pacman-key --refresh-keys
<!--T:102-->
'''Download the new keyring packages'''
Before you download ensure no keyring packages is in the current folder.
{{UserCmd|command=rm manjaro-keyring* archlinux-keyring*}}


<!--T:103-->
Use either your browser or curl to download. Using curl assumes you know the correct package name as located with the mirror. Replace '''YYYYMMDD-R''' as available from the mirror.


'''2. Reload the signature keys''' by entering the command:
<!--T:104-->
{{UserCmd|command=curl -O <nowiki>https://mirror.easyname.at/manjaro/pool/overlay/manjaro-keyring-YYYYMMDD-R-any.pkg.tar.zst</nowiki>}}
{{UserCmd|command=curl -O <nowiki>https://mirror.easyname.at/manjaro/pool/sync/archlinux-keyring-YYYYMMDD-R-any.pkg.tar.zst</nowiki>}}


sudo pacman-key --populate archlinux manjaro
<!--T:105-->
'''Remove the dysfunctional keyrings''' by entering this command:
{{UserCmd|command=sudo rm -r /etc/pacman.d/gnupg}}


<!--T:106-->
'''Initialize the pacman keyring''':
{{UserCmd|command=sudo pacman-key --init}}


'''3. Clear out the software packages downloaded during the aborted installation''' by entering the command:
<!--T:107-->
'''Install the downloaded packages'''
Assuming the files is the current folder and using wildcard so you don't have to deal with dates and versions - remove the packages after successful installation
{{UserCmd|command=sudo pacman -U manjaro-keyring*.pkg.tar.zst archlinux-keyring*.pkg.tar.zst}}


sudo pacman -Scc
<!--T:108-->
'''Populate the keyrings''' - (optional as the install process will do that)
{{UserCmd|command=sudo pacman-key --populate manjaro archlinux}}


<!--T:109-->
'''Clear out the software packages downloaded during the aborted installation''' (optional):
{{warning|The command clears the pacman cache completely, and one will not be able to downgrade to a previous version of a package if required. Instead packages that are causing signing errors can be removed individually when upgrading.}}
{{UserCmd|command=sudo pacman -Sc}}


During this process, you will be asked to confirm that you wish to remove all files from the cache, and remove unused repositories. Enter '''y''' for 'yes' to confirm on both occasions, as it will be necessary to download the software packages again should you wish to re-attempt an installation, having refreshed and re-loaded the signature keys.
<!--T:110-->
After that try running '''sudo pacman -Syu''' to see if the errors were resolved.


== Conflicting files - ''FILENAME'' exists in filesystem == <!--T:39-->


{{tip|Should there still be a problem with installing software packages, then please raise this issue on '''[http://forum.manjaro.org/index.php The Official Manjaro Forum]''' for help and advice.}}
<!--T:40-->
'''If you cant can't install or update a package because of an error like this:'''


<!--T:41-->
error: could not prepare transaction
error: failed to commit transaction (conflicting files)
libname: /insert/file/name/here exists in filesystem
Errors occurred, no packages were upgraded.


== "Configuration file...not recognized" Error ==
<!--T:42-->
Then the package manager, pacman, has detected an unexpected file that already exists on the disk.


{{tip|The '''[[Change to a Different Download Server]]''' guide provides more detailed information on how to correctly select and enable another Manjaro server for downloading.}}
<!--T:43-->
'''Why is this happening?'''


<!--T:44-->
By design pacman will '''not''' overwrite files that already exist. This is a design feature, not a flaw - package managers are designed to keep track of installed files.


Manjaro's package manager - '''[[pacman]]''' - uses a file called ''mirrorlist'' to tell it the internet addresses of the Manjaro servers in order to download updates and software applications from them. This error will therefore occur if one or more server addresses contained in the mirrorlist file have not been listed properly, resulting in pacman being unable to connect to them. Another tell-tale sign is that this problem will also be encountered immediately after:
<!--T:45-->
This issue normally happens because you've manually added, copied, or created a file. It can also happen when you install software using a downloaded executable, run a make install, or use a third-party package system such as conda. It also occurs when you install an AUR package which installs files that conflict with a repo package.


* Installing Manjaro and editing the mirrorlist file during installation, or
<!--T:46-->
* Editing the mirrorlist file at a later time.
When using a third-party installer you should always specify an alternative installation location, such as under your home directory, or under /opt or /usr/local/. Never install directly under / or /usr.


<!--T:47-->
'''How can I fix this?'''


=== Opening the Mirrorlist ===
<!--T:48-->
The first step is to identify which, if any, package owns the file. This can be easily done with:


You will need to first open your terminal in order to (re)edit the mirrorlist file and correct the problem. The syntax of the command to edit the mirrorlist is:
<!--T:49-->
{{UserCmd|command=pacman -Qo /path/to/file}}


sudo [text editor] /etc/pacman.d/mirrorlist
<!--T:50-->
If this identifies a conflicting package you can decide to remove it with pacman -R. If no package is identified you can delete the file (or move it to a backup location).


<!--T:51-->
'''Where can I read more?'''


For example, if you wish to edit the file within the terminal using ''nano'' (a standard terminal-based text editor) then enter:
<!--T:52-->
This post was inspired by (and adapted from):


sudo nano /etc/pacman.d/mirrorlist
<!--T:53-->
https://wiki.archlinux.org/title/Pacman#%22Failed_to_commit_transaction_(conflicting_files)%22_error


<!--T:54-->
The above post also has links to further reading.


If you have installed the full version of Manjaro, not the NET-Edition, you may find it easier to use the pre-installed ''gedit'' text editor instead. This will open the mirrorlist file up as a document, making it easier to read and edit. To use gedit instead, the command is:
== "Configuration file...not recognized" Error == <!--T:55-->


sudo gedit /etc/pacman.d/mirrorlist
<!--T:56-->
Manjaro's package manager - '''[[pacman]]''' - uses a file called ''mirrorlist'' to tell it the internet addresses of the Manjaro servers in order to download updates and software applications from them. This error will therefore occur if one or more server addresses contained in the mirrorlist file have not been listed properly, resulting in pacman being unable to connect to them. Another tell-tale sign is that this problem will also be encountered immediately after:


=== Understanding the Mirrorlist ===
<!--T:57-->
 
* Installing Manjaro and editing the mirrorlist file during installation, or
Once opened, the mirrorlist file presented should look similar to this (text has been coloured for illustrative purposes):
* Editing the mirrorlist file at a later time.
 
# Server list generated by rankmirrors on 2012-10-07
##
## Manjaro Linux repository mirrorlist
## Generated on 2012-09-11
##
## France
# http://manjarolinux.polymorf.fr/$repo/$arch <font color="red">... 0.494</font color>
## Germany
# http://mirrors.mycraft.eu/manjaro/$repo/$arch <font color="red">... 0.367</font color>
# http://ftp.halifax.rwth-aachen.de/manjaro/$repo/$arch <font color="red">... 0.300</font color>
## Greece
# http://ftp.cc.uoc.gr/mirrors/linux/manjaro/$repo/$arch <font color="red">... 0.769</font color>
## United Kingdom
# http://repo.manjaro.org.uk/$repo/$arch <font color="red">... 0.518</font color>
## United States
# http://mirror.dacentec.com/manjaro/$repo/$arch <font color="red">... 0.887</font color>
<font color="green">Server =</font color> http://ftp.halifax.rwth-aachen.de/manjaro/$repo/$arch
<font color="green">Server =</font color> http://mirrors.mycraft.eu/manjaro/$repo/$arch
<font color="green">Server =</font color> http://manjarolinux.polymorf.fr/$repo/$arch
<font color="green">Server =</font color> http://repo.manjaro.org.uk/$repo/$arch
 
 
'''Lines beginning with a hash '#' will be ignored by pacman.''' As such, the top part of the file is a table that lists the names of countries followed by their server internet addresses purely for your own information. Its purpose is to tell you --not pacman-- which servers are available in what countries. The text coloured in <font color="red">red</font color> at the end of each internet address is there to tell you the <font color="red">download speed</font color> of the server. It is actually the bottom part of the file where the hashes have been removed that is intended to be used by pacman to connect to the manjaro servers. Notice that each of these lines begins with the command <font color="green">Server =</font color>. They will be accessed in the order they are listed.
 
 
=== Fixing the Mirrorlist ===
 
The most common reason for not being able to connect to the Manjaro servers is therefore due to attempting to use one or more of the server addresses listed in the table, and:
 
* Not removing the text that tells you the <font color="red">download speed</font> of the server (e.g. '<font color="red">... 0.769</font color>'), and/or  
* Not starting the server address line with the <font color="green">Server =</font color> command.
 
 
Ensure that the server download speed listed at the end of any unhashed server address line is removed --including the dots ('...')--; otherwise, pacman will think that it is part of the actual internet address. In addition, ensure that any unhashed server address used begins with 'Server =', else pacman will not know what the address is for. Furthermore, if you had previously copied and pasted one or more server addresses, or had manually typed them in, also ensure that what's listed is both complete and correct. A single missing or incorrect character will be enough to cause an error.
 
 
{{tip|If you had tried to use any of the server addresses contained in the table at the top of the mirrorlist by unhashing them, a much simpler solution is just to replace the hashes and use the servers listed for you at the bottom. The fastest servers will have been automatically chosen, anyway.}}
 
 
Once your amendments have been completed save your changes and close the mirrorlist by:
 
*'''nano''': Press CTRL and 'x' to exit, 'y' to save, and <enter> to finish, or
*'''gedit''': Select the 'save' option and then close the window.


<!--T:58-->
See the [[Change to a Different Download Server]] guide for more detailed information on how to correctly select and enable another Manjaro server for downloading.


=== Synchronising with the Manjaro Servers ===


Once the amendments to the mirrorlist have been made, it will then be necessary to synchronise with the Manjaro servers. To do so, enter the following command into the terminal:
== "GPGME error: No data" Error == <!--T:59-->


sudo pacman -Syy
<!--T:111-->
 
{{Warning|This section duplicates information from [[Pacman_troubleshooting#Errors_about_Keys]] consider removing duplicated information}}
== "GPGME error: No data" Error ==


<!--T:60-->
The most likely cause of this issue is that an error or corruption has been detected by ''pacman'' in one or more software packages being downloaded. Package signatures and checksums are used to verify the validity of downloaded software, and should they fail, the installation attempt will be aborted to protect your system until the matter is resolved.
The most likely cause of this issue is that an error or corruption has been detected by ''pacman'' in one or more software packages being downloaded. Package signatures and checksums are used to verify the validity of downloaded software, and should they fail, the installation attempt will be aborted to protect your system until the matter is resolved.




=== Option 1: Basic Resolution ===
=== Option 1: Basic Resolution === <!--T:61-->


<!--T:62-->
To resolve this issue, first follow the basic procedure provided below. If this does not work, then there is a more comprehensive procedure available.
To resolve this issue, first follow the basic procedure provided below. If this does not work, then there is a more comprehensive procedure available.




1. Resynchronise with the Manjaro servers to ensure that everything is up to date by entering the command:
<!--T:63-->
 
1. Download the package databases and update your system:
sudo pacman -Syy


<!--T:64-->
{{UserCmd|command=sudo pacman -Syu}}


<!--T:65-->
2. Clear out the software packages downloaded during the aborted installation by entering the command:  
2. Clear out the software packages downloaded during the aborted installation by entering the command:  


  sudo pacman -Scc
  <!--T:66-->
 
{{UserCmd|command=sudo pacman -Sc}}


<!--T:67-->
3. Re-attempt the aborted download.
3. Re-attempt the aborted download.


=== Option 2: Comprehensive Resolution === <!--T:68-->


=== Option 2: Comprehensive Resolution ===
<!--T:69-->
 
If the basic proceedure still does not resolve the matter, further steps are available:
If the basic proceedure still does not resolve the matter, further steps are available:


 
<!--T:96-->
1. Resynchronise with the Manjaro servers to ensure that everything is up to date by entering the command:
1. Resynchronise with the Manjaro servers to ensure that everything is up to date by entering the command:
{{UserCmd|command=sudo pacman -Sy}}


sudo pacman -Syy
<!--T:72-->
 
 
2. Refresh and update the signature keys by entering the command:
2. Refresh and update the signature keys by entering the command:
{{UserCmd|command=sudo pacman-key --refresh-keys}}


sudo pacman-key --refresh-keys
<!--T:74-->
 
 
3. Reload the signature keys by entering the command:
3. Reload the signature keys by entering the command:
{{UserCmd|command=sudo pacman-key --populate archlinux manjaro}}


sudo pacman-key --populate archlinux manjaro
<!--T:76-->
 
 
4. Clear out the software packages downloaded during the aborted installation by entering the command:  
4. Clear out the software packages downloaded during the aborted installation by entering the command:  
{{UserCmd|command=sudo pacman -Sc}}


sudo pacman -Scc
<!--T:78-->
 
 
5. Re-attempt the aborted download.
5. Re-attempt the aborted download.


<!--T:79-->
If the error still persists, then it is recommended to '''[[Change to a Different Download Server|Change to a Different Download Server]]'''.


If the error still persists, then it is recommended to '''[[Change to a Different Download Server]]'''.
== "keyserver refresh failed: No dirmngr" Error == <!--T:80-->
 
 
= See Also =


* '''[[Change to a Different Download Server]]'''
<!--T:81-->
* '''[[Rankmirrors to Set the Fastest Download Server|Use Rankmirrors to Set the Fastest Download Server]]'''
Try running the following command:
{{UserCmd|command=sudo dirmngr <nowiki></dev/null</nowiki>}}


= See Also = <!--T:83-->


[[Category:Contents Page]]
<!--T:84-->
* '''[[Change to a Different Download Server|Change to a Different Download Server]]'''
* '''[[Pacman-mirrors|Reference Guide for pacman-mirrors]]'''
* '''[https://wiki.archlinux.org/index.php/Pacman#Troubleshooting Arch wiki for more comprehensive troubleshooting]'''
</translate>
[[Category:Contents Page{{#translation:}}]]

Latest revision as of 04:27, 15 July 2024

Other languages:
English • ‎Türkçe • ‎español • ‎français • ‎русский • ‎中文(中国大陆)‎

Software Installation

Various issues relating to the download and installation of software packages from the Manjaro repositories are dealt with here.

"Unrecognized archive format" Error

It has ocurred more than once, an update is issuing these messages in a seemingly never ending stream. Pacman could not open file: sync files

error: could not open file /var/lib/pacman/sync/core.db: Unrecognized archive format
error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format
error: could not open file /var/lib/pacman/sync/community.db: Unrecognized archive format
error: could not open file /var/lib/pacman/sync/multilib.db: Unrecognized archive format

The error relates to content of the db files. The error happens when pacman receives markup from the mirror instead of the database archives.

While it sometimes is possible to fix the issue simply by deleting the files and the running a pacman update it far from every time.

Run pacman-mirrors to refresh your mirrorlist

user $ sudo pacman-mirrors -c Global COPY TO CLIPBOARD


Download the databases and update the system

user $ sudo pacman -Syu COPY TO CLIPBOARD


"Unable to lock database" Error

When downloading and installing software from the repositories, a special database lock file will be created in order to ensure that the current installation process is the only one running at that time. Otherwise, attempting to install multiple files from multiple sources simultaneously may corrupt the downloaded files, cause file conflicts - or worse still - damage your system. Once the installation has been completed, the lock file will then be automatically deleted. This error may therefore occur due to two possible reasons:

  • Another installation is still taking place and has not yet finished, or
  • A previous installation attempt had not finished properly (e.g. due to being aborted early)

It is therefore wise to first check to ensure that another installation is not (or had not been) in process at the time of the error. When satisfied that this is not the case, then the database lock file can be manually deleted. To do so, open up the terminal and enter the following command:

user $ sudo rm /var/lib/pacman/db.lck COPY TO CLIPBOARD


Once done, you should now be able to successfully re-attempt your intended installation.

Errors about Keys

We all have our own unique signatures which are used to authenticate who we are and to prevent fraudulent or even malicious activities by others. This is also the case with software packages available from the software repositories. They all contain encrypted codes (signature keys) unique to their developers to ensure that they are authentic and not malicious in nature.

During the installation process, once any software packages have been downloaded, your system will first check their signature keys to ensure that they are authentic prior to actually installing them. If a signature key cannot be verified for any reason, then the installation process will be aborted. This problem will usually occur due to:

  • one or more signature keys contained in your system's database being revoked, changed, corrupted, or out of date
  • one or more software packages not having been signed off properly when placed in a repository

Where a package has not been signed off properly before being placed in a repository, it will be the responsibility of the developer(s) to correct this. However, as this problem will be more than likely due to a problem with your system's verification of a signiture key, this can be solved in three easy steps. Working net connection is required. Once you have opened your terminal:


Warning
The following commands only work, when your system time is set correctly!


Info
Retrieving the latest keyring packages can be done by browsing a current mirrors pool folder. E.g. from https://mirror.easyname.at/manjaro/pool - using the overlay for Manjaro keyring and sync for Arch keyring and downloading them to your system. Do not download .sig files.


Info
Those running ARM can find the archlinuxarm-keyring and manjaro-arm-keyring in the sync-arm and overlay-arm folders respectively.

Download the new keyring packages Before you download ensure no keyring packages is in the current folder.

user $ rm manjaro-keyring* archlinux-keyring* COPY TO CLIPBOARD


Use either your browser or curl to download. Using curl assumes you know the correct package name as located with the mirror. Replace YYYYMMDD-R as available from the mirror.

user $ curl -O https://mirror.easyname.at/manjaro/pool/overlay/manjaro-keyring-YYYYMMDD-R-any.pkg.tar.zst COPY TO CLIPBOARD


user $ curl -O https://mirror.easyname.at/manjaro/pool/sync/archlinux-keyring-YYYYMMDD-R-any.pkg.tar.zst COPY TO CLIPBOARD


Remove the dysfunctional keyrings by entering this command:

user $ sudo rm -r /etc/pacman.d/gnupg COPY TO CLIPBOARD


Initialize the pacman keyring:

user $ sudo pacman-key --init COPY TO CLIPBOARD


Install the downloaded packages Assuming the files is the current folder and using wildcard so you don't have to deal with dates and versions - remove the packages after successful installation

user $ sudo pacman -U manjaro-keyring*.pkg.tar.zst archlinux-keyring*.pkg.tar.zst COPY TO CLIPBOARD


Populate the keyrings - (optional as the install process will do that)

user $ sudo pacman-key --populate manjaro archlinux COPY TO CLIPBOARD


Clear out the software packages downloaded during the aborted installation (optional):

Warning
The command clears the pacman cache completely, and one will not be able to downgrade to a previous version of a package if required. Instead packages that are causing signing errors can be removed individually when upgrading.
user $ sudo pacman -Sc COPY TO CLIPBOARD


After that try running sudo pacman -Syu to see if the errors were resolved.

Conflicting files - FILENAME exists in filesystem

If you cant can't install or update a package because of an error like this:

error: could not prepare transaction
error: failed to commit transaction (conflicting files)
libname: /insert/file/name/here exists in filesystem
Errors occurred, no packages were upgraded.

Then the package manager, pacman, has detected an unexpected file that already exists on the disk.

Why is this happening?

By design pacman will not overwrite files that already exist. This is a design feature, not a flaw - package managers are designed to keep track of installed files.

This issue normally happens because you've manually added, copied, or created a file. It can also happen when you install software using a downloaded executable, run a make install, or use a third-party package system such as conda. It also occurs when you install an AUR package which installs files that conflict with a repo package.

When using a third-party installer you should always specify an alternative installation location, such as under your home directory, or under /opt or /usr/local/. Never install directly under / or /usr.

How can I fix this?

The first step is to identify which, if any, package owns the file. This can be easily done with:

user $ pacman -Qo /path/to/file COPY TO CLIPBOARD


If this identifies a conflicting package you can decide to remove it with pacman -R. If no package is identified you can delete the file (or move it to a backup location).

Where can I read more?

This post was inspired by (and adapted from):

https://wiki.archlinux.org/title/Pacman#%22Failed_to_commit_transaction_(conflicting_files)%22_error

The above post also has links to further reading.

"Configuration file...not recognized" Error

Manjaro's package manager - pacman - uses a file called mirrorlist to tell it the internet addresses of the Manjaro servers in order to download updates and software applications from them. This error will therefore occur if one or more server addresses contained in the mirrorlist file have not been listed properly, resulting in pacman being unable to connect to them. Another tell-tale sign is that this problem will also be encountered immediately after:

  • Installing Manjaro and editing the mirrorlist file during installation, or
  • Editing the mirrorlist file at a later time.

See the Change to a Different Download Server guide for more detailed information on how to correctly select and enable another Manjaro server for downloading.


"GPGME error: No data" Error

Warning
This section duplicates information from Pacman_troubleshooting#Errors_about_Keys consider removing duplicated information

The most likely cause of this issue is that an error or corruption has been detected by pacman in one or more software packages being downloaded. Package signatures and checksums are used to verify the validity of downloaded software, and should they fail, the installation attempt will be aborted to protect your system until the matter is resolved.


Option 1: Basic Resolution

To resolve this issue, first follow the basic procedure provided below. If this does not work, then there is a more comprehensive procedure available.


1. Download the package databases and update your system:

user $ sudo pacman -Syu COPY TO CLIPBOARD


2. Clear out the software packages downloaded during the aborted installation by entering the command:

user $ sudo pacman -Sc COPY TO CLIPBOARD


3. Re-attempt the aborted download.

Option 2: Comprehensive Resolution

If the basic proceedure still does not resolve the matter, further steps are available:

1. Resynchronise with the Manjaro servers to ensure that everything is up to date by entering the command:

user $ sudo pacman -Sy COPY TO CLIPBOARD


2. Refresh and update the signature keys by entering the command:

user $ sudo pacman-key --refresh-keys COPY TO CLIPBOARD


3. Reload the signature keys by entering the command:

user $ sudo pacman-key --populate archlinux manjaro COPY TO CLIPBOARD


4. Clear out the software packages downloaded during the aborted installation by entering the command:

user $ sudo pacman -Sc COPY TO CLIPBOARD


5. Re-attempt the aborted download.

If the error still persists, then it is recommended to Change to a Different Download Server.

"keyserver refresh failed: No dirmngr" Error

Try running the following command:

user $ sudo dirmngr </dev/null COPY TO CLIPBOARD


See Also

Cookies help us deliver our services. By using our services, you agree to our use of cookies.