Questions sur l'installation et la configuration de Manjaro Linux.
Répondre

Comment sécuriser les mises à jour via AUR ?

#1Messageil y a 6 ans

Bonjour,
Tout d'abord, merci à manjaro.fr ! Je viens tout juste de m'inscrire sur le forum :bjr:
J'utilise Manjaro depuis seulement 4 mois et je trouve que c'est une excellente distrib.
Bon, là, je me doute que vous n'allez pas dire le contraire :sourire:

Ma question :
Je souhaite mettre à jour des paquets AUR de façon sécurisée. C'est à dire que je voudrais éviter que la mise à jour ne "casse" mes logiciels qui fonctionnent correctement. Donc, mettre à jour : oui, mais avec prudence. Pour cela je pense utiliser un outil de sandboxing qui me permettrait de tester une nouvelle version d'un logiciel avant de remplacer l'ancienne. Mais je n'y connais rien dans ce domaine.
J'ai vu sur la page Security de archlinux.org quelques noms d'outils, et on en trouve d'autres en cherchant sur le web. Mais je suis incapable de faire la différence (Firejail, bubblewrap, docker, snappy, autres...).
Avez-vous des suggestions pour mon besoin ? Y-a-t-il une solution déjà intégrée dans Manjaro ?

Merci !

_________________________
Bruno
Manjaro Linux 17.1.2 (Hakoila)
Noyau 4.14.14-1-MANJARO

Comment sécuriser les mises à jour via AUR ?

#2Messageil y a 6 ans

Bonjour,et bienvenue sur le Forum. :salut:
Les paquets Aur ne sont pas si mal conçus que ça, mais ils n'ont pas la surveillance qu'ont les paquets officiels.
Ils utilisent des dépendances parfois exotiques et le risque de voir un conflit de fichier est assez grand.
Je ne connais pas de recette miracle si ce n'est de la vigilance, mais ce sont de belles paroles.
Une solution sage serait de tester en machine virtuelle, mais ça n'aurait de sens que si on "clône" sa Manjaro pour pouvoir tester correctement, ce qui est assez envahissant en terme de place.
Mon expérience perso m'a amener a constater que généralement, ce sont plutôt les paquets Aur qui souffrent des mises à jour de Manjaro/Arch que l'inverse.
On ne devrait installer des paquets Aur que si réellement nécessaire comme des outils de MAO, DAO, pilotes d'imprimantes etc... qu'on ne trouve pas dans les dépôts et limiter les paquets de customisation qui peuvent parfois entrer en conflit avec leurs equivalents officiels.
Le mieux étant de limiter leur installation, du moins le temps d'apprendre a savoir mettre les mains dans le cambouis, ce qui vient assez vite :mrgreen:

Comment sécuriser les mises à jour via AUR ?

#3Messageil y a 6 ans

Bonjour et bienvenue ici :bjr:
+1 pour les conseils avisés de lemust. Cela étant, on peut ajouter deux précautions d'usage sur la branche stable de manjaro :
1) Ne pas se précipiter sur les mises à jour de Aur mais attendre une bonne semaine pour procéder à l'update (décalage manjaro-arch).
2) Ne jamais nettoyer le cache de pacman avec l'option

sudo pacman -Scc
mais lui préférer

sudo pacman -Sc
qui conserve l'archive du paquet installé et permet le déclassement en cas de soucis.

Comment sécuriser les mises à jour via AUR ?

#4Messageil y a 6 ans

Merci pour vos réponses lemust et Erwan !
Je suis tout à fait d'accord avec vos remarques.

Effectivement, je me suis rendu compte que AUR souffre de temps en temps des mises à jour du système via les dépôts officiels. Et ceci probablement parce que les mainteneurs des paquets AUR ne peuvent que réagir en aval. Mais j'ai déjà eu le cas inverse... sauf que je me suis rendu compte que le paquet AUR en question proposait une mise à jour que je n'avais pas vu :sourire:

J'ai très peu de paquets AUR installés car je privilégie les dépôts officiels.

Jusqu'à présent j'appliquais les mises à jour du système rapidement. Mais là encore je vous rejoins totalement sur le fait que la prudence vaudrait d'attendre un peu avant de les installer. Merci pour le tuyau :bien

Un petit exemple pour étayer ma crainte de "casser" un logiciel AUR installé : cette semaine, j'ai mis MythTV à jour via AUR. C'est une appli que j'utilise tous les jours. L'update c'est bien passée mais lorsque j'ai lancé MyhtTV, erreur :snif Heureusement, j'ai vu que le logiciel cherchait une version ancienne d'une bibliothèque, et j'ai créé un lien vers la nouvelle avec le nom de l'ancienne. J'ai eu de la chance, ça a marché. Mais ce n'ai pas toujours le cas.
Du coup, j'ai un autre paquet AUR à mettre à jour mais j'aimerais tester avant.

Je retiens le coup du cache qu'il ne faut pas vider entièrement ! Je n'avais pas pris conscience de ça !
Ceci dit, j'ai déjà eu à downgrader des paquets de dépôts officiels mais je le fais avec l'outil très simple d’emploi "downgrade" avec la variable DOWNGRADE_FROM_ALA=1 déclarée. Du coup, j'ai accès à l'historique des dépôts de downgrade de Arch (il me semble). Très pratique.
Mais est-il possible de downgrader un paquet AUR ?

Ce sujet est d'autant plus important pour moi qu'ici je n'évoque que le cas de ma machine perso, mais au boulot, je suis en train de monter un "master" (un système modèle), que je projette de déployer dans toutes les salles informatiques d'enseignement (je travaille dans une école d'ingénieurs) pour la rentrée de septembre 2018. Sur ces postes, tous identiques, je dois installer une centaines d'outils qui serviront pour les cours (développement, modélisation 3D, calculs scientifiques, etc...). Je pense qu'il y a de fortes chances que je trouve certains de ces logiciels dans AUR. Et dans certains cas, il n'est pas exclu que je réalise moi-même des paquets qui me permettront de maintenir ces logiciels à jour plus facilement (plutôt que de réinstaller entièrement une nouvelle version l'année suivante). J'ai, à titre perso cette fois, déjà mis le nez dans le système de packaging. Il ne me parait pas compliqué, et c'est encore un bon point que j'attribue à Manjaro !

Allez j’arrête ma prose :sourire:

Pouvez-vous me dire ce que vous inspire tout cela ?
Est-il possible de downgrader un paquet AUR (ce qui pourrait résoudre, en partie, mon problème) ?

Merci encore !

Bruno

Comment sécuriser les mises à jour via AUR ?

#5Messageil y a 6 ans

Mais est-il possible de downgrader un paquet AUR ?
Oui, tout à fait. Juste après la compilation le paquet est exporté directement vers le répertoire /var/cache/pacman/pkg/ d'où l'intérêt de toujours garder une version n-1 :wink:

Comment sécuriser les mises à jour via AUR ?

#6Messageil y a 6 ans

bonjour

Oui, normalement les paquets aur sont trop en avance par rapport à manjaro car ils suivent archlinux mais parfois c'est l'inverse si le mainteneur a une vrai vie en dehors du numérique...

les paquets venant de aur ne sont pas automatiquement sauvegardés sur notre machine, cela est dépendant de chaque "helpeur" aur
pour yaourt (~/.config/yaourtrc) il faut passer la variable EXPORT à 2 (voir man yaourtrc)
- modifiable aussi avec makepkg ->PKGDEST

Comment sécuriser les mises à jour via AUR ?

#7Messageil y a 6 ans

Hello papajoke,
pour yaourt (~/.config/yaourtrc) il faut passer la variable EXPORT à 2 (voir man yaourtrc)
- modifiable aussi avec makepkg ->PKGDEST
Je vais peut-être dire une bêtise mais, contrairement à Archlinux, nous avons ces options par défaut (/etc/yaourtrc) sur Manjaro. :confus:

Comment sécuriser les mises à jour via AUR ?

#8Messageil y a 6 ans

salut à toi

oui :saispas: l'option est mise avec manjaro (decembre 2014 :rendre: )
ps: pauvre yaourt qui n'est même plus dans les nouveaux iso depuis mars

Comment sécuriser les mises à jour via AUR ?

#9Messageil y a 6 ans

Excellent !
Que de nouvelles infos pour moi. Merci à vous !

Dans le cache (/var/cache/pacman/pkg/) je vois effectivement des paquets que j'ai installés via AUR. L'outil "downgrade" ne me les propose pas tous. Je suppose qu'il ne me propose pas les versions actuellement installées. Car je peux effectivement en déclasser certains.

Je me permets une (heu... peut-être un peu plus :gsourire: ) autre petite question (j'en profite, vu que j'ai des experts qui me répondent :wink: ) (cela me permettra aussi d'améliorer ma connaissance du packaging Arch/Manjaro) :
Les scripts PKGBUILD contiennent une variable "source" qui pointe sur les fichiers à télécharger pour la compilation et/ou l'installation.
Les paquets présents dans le cache ne contiennent pas de fichier PKGBUILD. Seraient-ils le résultat du "makepkg" ?
Et si c'est bien le cas, contiennent-ils les fichiers binaires téléchargés ?
J'ai l'impression que c'est le cas. Et donc, si je comprends bien, les fichiers "PKGBUILD" et ".install" ne sont là que pour créer le paquet final ?!
Comment sont stockés les packages dans les dépôts, sous forme PKGBUILD + (éventuellement) .install ou sous forme finale en *.pkg.tar.xz contenant les fichiers téléchargés ?
Je pose ces questions car au cas où les fichiers seraient re-téléchargés, les liens pourraient ne plus être d'actualité au moment du downgrade.
Voici mon sentiment :
  • les fichiers "PKGBUILD" et ".install" servent à créer le package final en *.pkg.tar.xz à l'aide de makepkg
  • ce package final contient les fichiers téléchargés lors de sa création
  • ce package final est stocké dans le cache lors de l'installation
  • le package final n'est pas stocké sur les dépôts, ce sont bien les PKGBUID et .install qui le sont
J'ai bon ?

Si les paquets stockés dans le cache contiennent bien les fichiers téléchargés, il n'y a donc pas de risque d'un téléchargement obsolète. Dans ce cas, c'est exactement ce qu'il me faut !

Je n'ai pas encore déposé de paquet sur AUR, mais je pense que je le ferai sûrement. J'en ai créé un pour mon imprimante, mais par manque de connaissance et de temps, je ne l'ai pas déposé sur AUR.

Bruno

Comment sécuriser les mises à jour via AUR ?

#10Messageil y a 6 ans

brunoj a écrit : il y a 6 ans les fichiers "PKGBUILD" et ".install" servent à créer le package final en *.pkg.tar.xz à l'aide de makepkg
:bien
brunoj a écrit : il y a 6 ansce package final est stocké dans le cache lors de l'installation]
yes, voir plus haut en fonction de ton helpeur
brunoj a écrit : il y a 6 ansle package final n'est pas stocké sur les dépôts, ce sont bien les PKGBUID et .install qui le sont
dépôts officiels on a que les paquets par contre, aur on a que la recette (pkgbuild + divers) : visite le site, fait des git clone...

Avec aur (tous helpeurs ou en manuel) :
1) on télécharge la recette avec git - dossier contenant que la recette
2) makepkg
- il télécharge les sources (pas dans aur)
- éventuellement il compile
- il réorganise les fichiers/renomme etc en exécutant une fonction du PKGBUILD
- fait une archive .tar.xz du résultat et y insère un .PKGINFO (entre autre)

Cette archive devient un paquet pacman exactement comme les officiels :wink:
Tu peux l'installer (ou downgrade) par un pacman -U

Lors d'une install(/update/downgrade) , pacman va juste dézipper cette archive à la racine de notre os :pompom:

----------------------

Les paquets officiels et aur sont fabriqués exactement de la même manière ! tu peux retrouver ici une partie des recettes des paquets officiels manjaro

Comment sécuriser les mises à jour via AUR ?

#11Messageil y a 6 ans

A noter que les paquets officiels sont eux aussi compilés en fonction de PKGBUILDs comme on peut le voir par exemple pour le noyau 4.9 sur cette page de leur dépôt GitHub. Evidemment, c'est un peu plus complexe que ceux que j'ai mis sur Aur... :oops:

Comment sécuriser les mises à jour via AUR ?

#12Messageil y a 6 ans

Pour revenir à ta problématique, je pense qu'il est meilleur de créer ton propre dépôt en local.
Tu ajoutes ce dépôt à toutes tes machines (dans pacman.conf).
Tu crées une fois tes paquets dans ce dépôt et toutes tes machines vont piocher dedans et n'ont pas besoin d'accès à aur.
Tu transfères une nouvelle version uniquement après tests ; comme cela tu maîtrises tout de bout en bout à ton rythme.

Comment sécuriser les mises à jour via AUR ?

#13Messageil y a 6 ans

Merci pour vos compléments d'information :sourire:
C'est pour ça que j'avais un peu de mal à comprendre ?! : les dépôts officiels stockent les paquets sous forme finale, alors que AUR les stocke sous forme PKGBUILD. Ok, je comprends mieux !

Comme je vais cloner mon système modèle sur environ 180 postes, qui ensuite seront figés, ces postes n'auront plus besoin d'évoluer un à un. D'ailleurs, une fois clonés, dès que la machine est arrêtée, elle est réinitialisée et repart donc sur un système tout neuf correspondant au modèle. Du coup, je n'ai pas besoin de faire en sorte que mes clients accèdent à AUR ni à un dépôt local. L'important est de bien préparer le poste modèle, ensuite tout est figé.
En fait, le système Manjaro est dans une machine virtuelle VirtualBox. Les utilisateurs ne peuvent pas modifier la configuration de la VM, et le disque virtuel est en mode "immutable" (toutes les modifications sont supprimées à l'arrêt de la VM).

Bruno

Comment sécuriser les mises à jour via AUR ?

#14Messageil y a 6 ans

Merci à tous pour vos réponses éclairées !

:merci:

Bruno
Répondre