Pamac upgrade cannot create regular file

Getting messed up…
My alias / abbr:
upgrade:

pamac upgrade --force-refresh --enable-downgrade --aur --devel 

Hitting an error:

cp: cannot create regular file '/var/tmp/pamac/dbs/sync/core.files': Permission denied
cp: cannot create regular file '/var/tmp/pamac/dbs/sync/multilib.files': Permission denied
Nothing to do.
Transaction successfully finished.

Hmmm so I removed dbs folder and ran this again. It is created by pamac with root permissions, pamac elevated it’s privileges, so why this problem?

Hi @Ben,

What are the permissions of the /var/tmp/pamac/ directory?

stat /var/tmp/pamac
  File: /var/tmp/pamac/
  Size: 44        	Blocks: 0          IO Block: 4096   directory
Device: 0,27	Inode: 995520      Links: 1
Access: (0777/drwxrwxrwx)  Uid: ( 1000/     ben)   Gid: ( 1000/     ben)
Access: 2022-09-25 16:20:59.746720751 +0700
Modify: 2022-09-25 16:20:59.016731118 +0700
Change: 2022-09-25 16:20:59.016731118 +0700
 Birth: 2022-09-06 10:21:09.837146855 +0700

Re-created by pamac after I deleted them…
Folder aur-ben owner ben, full permissions.
Folder dbs owner root, full permissions.
dbs/sync same story
cbs/sync content *.db files owner root, -rw-r–r–

File permissions match those of ancient snapshots…

You can reset these old/wrong permissions to default permissions:

$ sudo chown ben:ben /var/tmp/pamac/dbs
$ sudo chown ben:ben -R /var/tmp/pamac/dbs/sync

These default permissions are the same as in VM after new installation.

1 Like

Already tried - also deleted them and recreated them.

    ~  sudo chown ben:ben /var/tmp/pamac/dbs                                                    ✔  17:57:12 
[sudo] password for ben: 
    ~  sudo chown ben:ben -R /var/tmp/pamac/dbs/sync                                            ✔  17:57:23 
    ~  pamac upgrade --force-refresh --enable-downgrade --aur --devel                           ✔  17:57:37 
Preparing...
Synchronizing package databases...
Refreshing core.db...                                                                                               
Refreshing extra.db...                                                                                              
Refreshing community.db...                                                                                          
Refreshing multilib.db...                                                                                           
Refreshing chaotic-aur.db...                                                                                        
Refreshing core.files...                                                                                            
Refreshing extra.files...                                                                                           
Refreshing community.files...                                                                                       
Refreshing multilib.files...                                                                                        
Refreshing chaotic-aur.files...                                                                                     
Refreshing AUR...                                                                                                   
cp: cannot create regular file '/var/tmp/pamac/dbs/sync/core.files': Permission denied                              
cp: cannot create regular file '/var/tmp/pamac/dbs/sync/multilib.files': Permission denied
Nothing to do.
Transaction successfully finished.

I can not reproduce this issue.

Try to move the broken directory to backup

$ sudo mv /var/tmp/pamac/dbs/sync/ ~/Desktop/sync_backup
$ pamac upgrade --force-refresh --enable-downgrade --aur --devel

1 Like

Or, if that doesn’t work, how 'bout deleting the whole /var/tmp/pamac:

mv /var/tmp/pamac /var/tmp/pamac.backup

And then reinstalling pamac:

sudo pacman -Sy pamac-cli --overwrite='*'

:man_shrugging:

Yes, found a few threads - no definitive reason or solution…

1 Like

Here is the duplicate:

image