You are not logged in.

#201 2018-08-06 19:17:23

morarch
Member
Registered: 2015-10-06
Posts: 4

Re: pacserve - easily share Pacman packages between computers

Python aur packages need to be rebuilt since Arch Linux updated Python to version 3.7.
In case of pacserve run:

aurman -S python3-threaded_servers pacserve

to rebuild and reinstall the necessary python packages.

Then restart the pacserve server:

sudo systemctl start pacserve.service

Last edited by morarch (2018-08-06 19:18:29)

Offline

#202 2018-08-06 19:58:23

toothandnail
Member
From: Oxfordshire, UK
Registered: 2012-05-05
Posts: 71

Re: pacserve - easily share Pacman packages between computers

morarch wrote:

Python aur packages need to be rebuilt since Arch Linux updated Python to version 3.7.
In case of pacserve run:

aurman -S python3-threaded_servers pacserve

to rebuild and reinstall the necessary python packages.

Then restart the pacserve server:

sudo systemctl start pacserve.service

Thanks. Should have thought of that - I saw quite a number of python updates come through earlier and didn't twig. I'll have to wait and see if that solves the problem of the new install not picking up on locally available files.

Paul.

Offline

#203 2018-08-07 00:27:31

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 6,373
Website

Re: pacserve - easily share Pacman packages between computers

All Python packages in my repo have been rebuilt with Python 3.7. AUR users while have to update manually as suggested above.

toothandnail wrote:

Second problem. I recently got a new (to me anyway) laptop. I've just installed Arch on it, and one of the first things I installed was pacserve, since I should already have most of the packages that I want on other machines in my local network. Before the error above came up, it was running without any apparent problems. However, it did not look as if it was using any of the locally available packages - even on a wifi connection, there is a very visible difference in download speed. When pacserve is working, I normally get around 7.5 mbs transfers on anything in my local network. On raw internet, I normally get around 3.5 mbs. Ever since I installed pacserve on the new machine, I'm getting no better than the normal internet transfer rate. So it looks as though pacserve is not picking anything up from the local network.

If the second problem is unrelated to the first, check systemctl status pacserve.service (or the console output if you are running it manually) on different systems to see which Pacserve instances are detected. Check your firewall settings too to make sure that you are allowing everything through (the Pacserve HTTP(S) port, and the multicast ports if you use that). If you use Avahi, make sure that it's up and running too.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

#204 2018-10-26 12:55:50

julesm
Member
Registered: 2014-07-29
Posts: 69

Re: pacserve - easily share Pacman packages between computers

Pacserve has stopped working for me since updating from version 2018-9 to version 2018-11. My system is fully up to date - including python3-threaded_servers. What happens is that the pacserve service fails but pacserve-ports starts successfully. I don't see any errors in the journal. Here's some data. Not sure where to look next. Pointers/ideas/suggestions would be most appreciated.

xyne-x86_64/pacserve 2018-11 [installed]
    Easily share Pacman packages between computers. A replacement for PkgD.
xyne-x86_64/python3-threaded_servers 2018.6-3 [installed]
    Threaded server modules (ThreadedHTTPSServer, ThreadedMulticastServer, Quickserve, Pacserve).
systemctl status pacserve.service
● pacserve.service - Pacserve
   Loaded: loaded (/usr/lib/systemd/system/pacserve.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Fri 2018-10-26 14:40:54 CEST; 2s ago
  Process: 4229 ExecStart=/usr/bin/pacserve $PACSERVE_ARGS (code=exited, status=1/FAILURE)
 Main PID: 4229 (code=exited, status=1/FAILURE)

systemctl status pacserve-ports.service
● pacserve-ports.service - Open main and multicast ports for Pacserve
   Loaded: loaded (/usr/lib/systemd/system/pacserve-ports.service; enabled; vendor preset: disabled)
   Active: active (exited) since Fri 2018-10-26 14:29:58 CEST; 11min ago
 Main PID: 2490 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   Memory: 0B
   CGroup: /system.slice/pacserve-ports.service

This is the contents of my pacserve.service.conf file:

PACSERVE_ARGS="--multicast"

Cheers,
Jules

Offline

#205 2018-10-31 20:54:20

romax
Member
Registered: 2018-10-31
Posts: 1

Re: pacserve - easily share Pacman packages between computers

I have found an issue with pacserv which always gets me as it's happening once in a while and then I forget about it.

The issue is: *-any.pkg.tar.xz packages are signed by different build keys on different architectures.

In my home network, there are multiple instances of x64, 32bit and ARM Arch Linuxes, all set up to use pacserv. Usually, they get along pretty well. However, if a architecture-independent package is updated and cached by an pacserve instance on a different architecture, one gets a signature error, as the used key is not stored in the keyring on the local, to be updated machine. That may be obvious, and a design choice of Arch, but to me, that thwarts the idea of an universal, architecture-independent *-any.pkg.tar.xz idea.

Example of today:

error: perl-error: signature from "Felix Yan <felixonmars@archlinux.org>" is invalid
:: File /var/cache/pacman/pkg/perl-error-0.17027-1-any.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)).
Do you want to delete it? [Y/n] Y

The only way of updating then is deleting the package and using pacman instead of pacserve.

It is totally possible, in fact quite probably, a misunderstanding on my side. But still, I don't remember seeing a note on this somewhere that you should not mix architectures.

Last edited by romax (2018-10-31 21:53:43)

Offline

#206 2018-10-31 22:06:38

eschwartz
Trusted User/Bug Wrangler
Registered: 2014-08-08
Posts: 2,447

Re: pacserve - easily share Pacman packages between computers

When Arch still supported i686, we shared -any packages across both.

The problem is that archlinuxarm and archlinux32 are different Linux distributions, and they rebuild their entire repository from scratch in order to be self-sufficient. The packages can share architectures, but rebuilding the same identical, -any package will still result in different checksums due to packaging metadata like file timestamps and the PACKAGER information, if nothing else.

One fix would be for those architectures to directly import our package pool when possible -- but that means less flexibility in rebuilding packages on their schedule.


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#207 2018-11-02 08:30:31

julesm
Member
Registered: 2014-07-29
Posts: 69

Re: pacserve - easily share Pacman packages between computers

My issue (above) was resolved when I changed the following kernel parameters:

from

ipv6.disable=1

to

ipv6.disable_ipv6=1

It seems that the pacserve service will fail if the whole IPv6 stack is disabled.

Offline

#208 2018-11-04 03:01:05

Xyne
Moderator/TU
Registered: 2008-08-03
Posts: 6,373
Website

Re: pacserve - easily share Pacman packages between computers

@romax
As eschwartz has pointed out, you're mixing different package ecosystems. If the 32-bit and ARM "any" packages use the same PKGBUILDs as the official repos, then identical package versions should be interchangeable despite having been built by different packagers. If you can guarantee that, or are willing to risk breakage due to unforeseen incompatibility, then you should be able to pool packager keys from each distribution on each system to validate the "any" packages. The extra hassle and (minor) risk is probably not worth it though.

@julesm
Thanks for the follow-up and workaround. The IPv6 support in the pacserve backend is still wonky and untested. I'll make a note to try to fix it the next time I sit down with the code.


My Arch Linux StuffForum EtiquetteCommunity Ethos - Arch is not for everyone

Offline

Board footer

Powered by FluxBB