Pamac - wznawianie pobierania pakietu

Zauważyłem, że po awarii sieci w trakcie aktualizacji/pobierania pakietu (roboczo zapisywanego jako /var/cache/pacman/pkg/NAZWA_PAKIETU.part ):

  • za pomocą Pamac, pobieranie startuje ponownie od 0% (nawet gdy wcześniej zostało pobrane 99% pakietu)
  • podczas gdy za pomocą pacman dalsze pobieranie wznawiane jest momentu przerwania pobierania (czyli OK).

Jak w Pamac wymusić wznawianie pobieranie pakietu, który np. został już pobrany w 90%, od tego miejsca?

Wydaje mi się, że jednak pamac wznawia pobieranie tam, gdzie zostało przerwane. Spójrz na rozmiar do pobrania:

To co opisałem. pochodzi z obserwacji działania graficznego menedżera pakietów Pamac (nie konsolowego pakietu pamac ) i bezpośredniej obserwacji rozmiaru plików roboczych /var/cache/pacman/pkg/NAZWA_PAKIETU.part

Być może istotna jest tu to, że u mnie operacja była zatrzymywana w wyniku problemów z połączeniem z siecią, a u Ciebie (jak się domyślam) miało miejsce celowe ręczne anulowanie/zatrzymanie.

To faktycznie istotna informacja, jednak niewiele w tej kwestii zmienia. Gdy po prostu przerwałem pobieranie czy to klikając Anuluj w gui czy przez ctrl+c w konsoli efekt był taki sam zarówno w pamac jak i pacman – przy ponownej instalacji pobierało od momentu, w którym przerwało, a po przerwaniu instalacji był obecny plik /var/cache/pacman/pkg/NAZWA_PAKIETU.part.

Natomiast gdy zasymulowałem problemy z siecią, po prostu ją odłączając, oba managery również zachowały się w ten sam sposób – czyli pobierały pakiet od zera, a po przerwaniu sieci i instalacji nie zachował się żaden plik /var/cache/pacman/pkg/NAZWA_PAKIETU.part.

A to ciekawe że jest u nas inaczej.
U mnie tak zachowuje się tylko Pamac.
Natomiast konsolowa komenda sudo pacman -S NAZWA_PAKIETU, po wznowieniu połączenia sieciowego i ponowienia w/w komendy powoduje, że plik /var/cache/pacman/pkg/NAZWA_PAKIETU.part (np. ściągnięty przed awarią w 90%) jest dalej pobierany od momentu wcześniejszego zatrzymania (tu brakujące ostatnie 10%).
A po zakończeniu instalacji plik roboczy .part zamieniany jest na właściwy plik pakietu z rozszerzeniem .zst

Może w takim razie mamy jakieś inne systemowe ustawienia, które tym sterują?

Możliwe, podrzucam więc configi pacman i pamac z jakich korzystam, z pominięciem komentarzy.

pacman.conf
---------------------------------------------------------
[options]
CacheDir = /var/cache/pacman/pkg/
HoldPkg      = pacman glibc manjaro-system
SyncFirst    = manjaro-system archlinux-keyring manjaro-keyring
Architecture = auto
IgnorePkg   = nwjs-bin
Color
CheckSpace
SigLevel    = Required DatabaseOptional
LocalFileSigLevel = Optional
[core]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[community]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[multilib]
SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
---------------------------------------------------------
pamac.conf
---------------------------------------------------------
RefreshPeriod = 6
NoUpdateHideIcon
EnableAUR
CheckAURUpdates
BuildDirectory = /var/tmp
KeepNumPackages = 3
MaxParallelDownloads = 4

Jeśli chodzi o pacman.conf, to mam prawie to samo, z różnicą w liniach:
IgnorePkg = (tu mam całą listę)
#Color
Drugi z tych parametrów raczej nie dotyczy poruszanego w tym wątku problemu.
Natomiast teraz kojarzę, że pakiety, na których “testowałem” problem z brakiem wznawiania pobierania, znajdowały na liście w linii IgnorePkg = (mam tu kilka niesystemowych, prawie nieużywanych pakietów o istotnych rozmiarach, które aktualizuję “ręcznie” w miarę potrzeb/dostępności Internetu).

Za tydzień, gdy będę dysponował lepszą siecią, sprawdzę, czy problem występuje także z innymi niż ignorowane pakiety.

Jeśli chodzi o pamac.conf (choć w Pamac nasze systemy zachowują się identycznie, więc to chyba nie powinno być istotne), to mam następujące różnice:
RemoveUnrequiredDeps
EnableDowngrade
MaxParallelDownloads = 0 (to chyba nie powinno być istotne, ale…)
KeepBuiltPkgs (to też chyba nie powinno być istotne)
SimpleInstall

Po przeprowadzeniu dodatkowych testów widzę, że opisany problem w GUI Pamac występuje dla wszystkich pakietów (niezależnie od tego, czy są “ignorowane” czy nie).

Wniosek dla mnie:
Jeśli w trakcie instalacji/aktualizacji dużego pakietu, którego znaczna część już została pobrana, wywali się internet i nie chcemy, aby pobieranie tego dużego pakietu rozpoczynało się od zera, to należy szybko zamknąć Pamac, a po przywróceniu Internetu wykonać instalację ręcznie za pomocą
sudo pacman -S NAZWA_PAKIETU

Nierozwiązaną zagadką pozostaje natomiast, dlaczego GUI Pamac nie działa tak jak powyższa komenda pacman’a.