A metà luglio è stata lanciata la versione 7.0 di Pacman, il gestore di pacchetti per Arch Linux. Ma solo da poco questa nuova versione è disponibile come aggiornamento nel repository stabile di Arch Linux.
Pacman 7.0 introduce numerose funzionalità , tra cui il supporto per il download dei pacchetti come utente separato con privilegi ridotti. Questo miglioramento aumenta la sicurezza del sistema, ma potrebbe richiedere interventi manuali per chi utilizza repository locali.
Problema con i Repository Locali
Per chi utilizza repository locali, il nuovo utente di download potrebbe non avere i permessi di accesso necessari ai file del repository stesso. Questo può impedire il corretto download dei pacchetti.
Soluzione
Per risolvere questo problema, è necessario assegnare i file e le cartelle del repository al gruppo “alpm†e assicurarsi che il bit eseguibile (“+xâ€) sia impostato sulle cartelle in questione.
Il gruppo (e l’utente) vengono creati automaticamente durante l’aggiornamento a Pacman 7.0. Seguendo l’output del terminale, vedrai i seguenti messaggi:
:: Elaborazione delle modifiche ai pacchetti…
(1/1) aggiornamento di pacman [#######################################] 100%
avviso: /etc/makepkg.conf.d/rust.conf installato come /etc/makepkg.conf.d/rust.conf.pacnew
avviso: /etc/pacman.conf installato come /etc/pacman.conf.pacnew
Nuove dipendenze opzionali per pacman
base-devel: necessario per usare makepkg [installato]
:: Esecuzione dei post-transaction hooks…
(1/3) Creazione degli account utente di sistema…
Creazione del gruppo ‘alpm’ con GID 946.
Creazione dell’utente ‘alpm’ (Arch Linux Package Management) con UID 946 e GID 946.
Ecco come fare:
sudo chown :alpm -R /path/to/local/repo
Questo comando cambia la proprietà del gruppo dei file del repository locale al gruppo “alpmâ€, permettendo all’utente di download di Pacman di accedervi correttamente.
Gestione dei File “.pacnewâ€
Ricorda di unire eventuali file “.pacnew†generati durante l’aggiornamento (qui una descrizione di cosa sono). Questi file contengono nuove configurazioni predefinite introdotte con Pacman 7.0. Unirli assicura l’uso delle impostazioni più recenti e aiuta a prevenire potenziali conflitti.
Puoi facilmente controllare le differenze tra i 2 file usando il comando diff:
diff –color /etc/pacman.conf /etc/pacman.conf.pacnew
Ecco come unire i file. Prima, crea un file “.diff†che contiene le differenze tra i 2 file:
diff -u /etc/pacman.conf /etc/pacman.conf.pacnew > diff.patch
Questo crea un file chiamato “diff.patch†con le differenze in un formato unificato, più leggibile e adatto per l’unione.
Apri il file nel tuo editor di testo del Terminale per controllarne il contenuto. Il testo evidenziato in rosso è ciò che verrà cambiato (rimosso), e il testo in verde è ciò che verrà sostituito (o aggiunto).
Se tutto sembra a posto, applica la patch (diff) al file “pacman.conf†usando il comando patch:
sudo patch /etc/pacman.conf < diff.patch
Miglioramenti alla Stabilità dei Checksum
Pacman 7.0 apporta modifiche per migliorare la stabilità dei checksum (codici di verifica) nei repository Git che utilizzano i file “.gitattributesâ€. I file “.gitattributes†sono semplici file di testo che definiscono attributi per i percorsi nei repository Git, come il modo in cui Git dovrebbe trattare determinati file, inclusi i caratteri speciali che indicano la fine di una riga di testo e l’inizio di una nuova e i file binari. Pertanto, potrebbe essere necessario aggiornare i checksum nei tuoi file “PKGBUILD†che provengono da repository Git. I file “PKGBUILD†sono script di shell Bash che contengono le informazioni necessarie per costruire pacchetti Arch Linux, come le dipendenze e le istruzioni di compilazione. Questo aggiornamento è necessario solo una volta per adattarsi al nuovo metodo di calcolo dei checksum.
Problemi con Yay
Se usi yay per installare pacchetti da AUR, dopo l’aggiornamento a Pacman 7.0 potresti vedere un messaggio di errore:
yay: error while loading shared libraries: libalpm.so.14: cannot open shared object file: No such file or directory
Non preoccuparti. Basta ricompilare yay e dovrebbe funzionare perfettamente di nuovo.
Fonte: https://archlinux.org/news/manual-intervention-for-pacman-700-and-local-repositories-required/
Fonte: https://github.com/Jguer/yay/issues/2502
Fonte: https://linuxiac.com/pacman-7-0-required-manual-intervention/
Source: Read More