Page 1 sur 1

[Résolu] pacman: partage de repo custo sur le réseau

Publié : lun. 22 févr. 2016, 19:01
par kozaki
Je compile quelques paquets en 2 architectures sur une machine plus puissante que j'ai pour toutes les autres (2 et bientôt 3). Pour l'heure je balançais les paquets sur chaque machine via le réseau. Du coup j'aimerai monter la repo du desktop sur le réseau pour y accéder depuis les autres, les petiots.

J'ai juste commencé. Ça beugue et dans ce cas j'aime piger avant d'aller plus loin. Dans mon expérience c'est souvent lié à une étape que je pige/maîtrise mal.

## Paquets custom et machine 1

1. makepkg.conf : envoit les paquets dans le rép indiqué via "DESTPKG" : ok.
2. Paquets autres architectures : via un chroot sur le desktop : paquets envoyés sur la repo à la mano en attente de trouver plsu automatisé, à part ce détail ça roule : les apps tournent nickel sur mes autres postes.
3. Repo perso :
  • création / MÀJ avec le script repo-add :

    Code : Tout sélectionner

    $ repo-add -n --remove /PATH/TO/repo/$ARCH/tukoz.db.tar.gz /PATH/TO/repo/$ARCH/*pkg.tar.xz
    ok.
  • utilisation : via pacman.conf :

    Code : Tout sélectionner

    LocalFileSigLevel = Optional
    ...
    [tukoz]
    SigLevel = Optional TrustAll
    Server = file://PATH/TO/repo/$ARCH
    ok sur le desktop. Signature GPG : on verra car c'est sur le réseau pour un user pour l'instant ; à priori je compte pas cracker mes paquets ;D (je re-lis pour plus tard)
## Montage réseau et autres machines

Sur un laptop :

Code : Tout sélectionner

$ sshfs -o idmap=user $DESKTOP/PATH/TO/repo/$ARCH LOCALPATH/TO/repo/$ARCH
pacman.conf = le desktop (avec le LOCALPATH/TO/repo/$ARCH hein).

Code : Tout sélectionner

$ pacman -Sy
:: Synchronisation des bases de données de paquets...
erreur : échec de récupération du fichier 'tukoz.db' depuis disque : Couldn't open file /mnt/net/repo/x86_64/tukoz.db
erreur : la mise à jour de tukoz a échoué (erreur de la bibliothèque de téléchargement)

$ ll /mnt/net/repo/x86_64/tukoz.db
lrwxrwxrwx 1 kozaki 15 22 févr. 18:20 /mnt/net/repo/x86_64/tukoz.db -> tukoz.db.tar.gz
:gnie: WTH je me plante où ?

Re: [pacman] partage de repo custo sur le réseau

Publié : lun. 22 févr. 2016, 22:34
par benjarobin
Bonjour, Le fichier /mnt/net/repo/x86_64/tukoz.db.tar.gz existe ? Tu peux le copier via cp ?

Code : Tout sélectionner

cp /mnt/net/repo/x86_64/tukoz.db.tar.gz /tmp

Re: [pacman] partage de repo custo sur le réseau

Publié : lun. 22 févr. 2016, 23:08
par kozaki
benjarobin il est bien là oui, créé par `repo-add` :
sur un laptop

Code : Tout sélectionner

$ ls -l /mnt/net/repo/x86_64/
 lrwxrwxrwx 1 kozaki users        15 22 févr.  2016 tukoz.db -> tukoz.db.tar.gz
-rw-r--r-- 1 kozaki users      5624 22 févr.  2016 tukoz.db.tar.gz
-rw-r--r-- 1 kozaki users      5624 22 févr. 19:09 tukoz.db.tar.gz.old
lrwxrwxrwx 1 kozaki users        18 22 févr.  2016 tukoz.files -> tukoz.files.tar.gz
-rw-r--r-- 1 kozaki users     20847 22 févr.  2016 tukoz.files.tar.gz
-rw-r--r-- 1 kozaki users     20838 22 févr. 19:09 tukoz.files.tar.gz.old

$ cp /mnt/net/repo/x86_64/tukoz.* /tmp/

$ ls -l /tmp/tukoz*
total 112
-rw-r--r-- 1 kozaki kozaki  5624 22 févr. 23:02 tukoz.db
-rw-r--r-- 1 kozaki kozaki  5624 22 févr. 23:02 tukoz.db.tar.gz
-rw-r--r-- 1 kozaki kozaki  5624 22 févr. 23:02 tukoz.db.tar.gz.old
-rw-r--r-- 1 kozaki kozaki 20847 22 févr. 23:02 tukoz.files
-rw-r--r-- 1 kozaki kozaki 20847 22 févr. 23:02 tukoz.files.tar.gz
-rw-r--r-- 1 kozaki kozaki 20838 22 févr. 23:02 tukoz.files.tar.gz.old

Code : Tout sélectionner

$ LANG=en_US.UTF-8 yaourt -Sy
[sudo] password for kozaki: 
:: Synchronizing package databases...
error: failed retrieving file 'tukoz.db' from disk : Couldn't open file /mnt/net/repo/x86_64/tukoz.db
error: failed to update tukoz (download library error)
EDIT: Le truc sympa mais biZarre,

Code : Tout sélectionner

$ rsync /PATH/TO/REPO-NET/$arch /PATH/TO/REPERTOIRE

# vim /etc/pacman.conf -> [tukoz] file:///PATH/TO/REPERTOIRE

# pacman -Sy
hop, nickel, no souçaye

Re: [pacman] partage de repo custo sur le réseau

Publié : jeu. 25 févr. 2016, 17:21
par kozaki
La repo custom étant montée via sshfs

Code : Tout sélectionner

$ sudo pacman -U /mnt/net/repo/x86_64/mundus-3.0.2-1-any.pkg.tar.xz 
chargement des paquets...
erreur : '/mnt/net/repo/x86_64/mundus-3.0.2-1-any.pkg.tar.xz': permission non accordée

Code : Tout sélectionner

$ ll /mnt/net/repo/x86_64/
total 321M
...
-rw-r--r-- 1 kozaki  1,5M 25 févr. 16:59 mundus-3.0.2-1-any.pkg.tar.xz
-rw-rw-r-- 1 kozaki  2,1M  4 févr. 02:13 otter-browser-0.9.09-1-x86_64.pkg.tar.xz
...

Code : Tout sélectionner

$ yaourt -U /mnt/net/repo/x86_64/mundus-3.0.2-1-any.pkg.tar.xz 
résolution des dépendances...
recherche des conflits entre paquets...

Paquets (9) gambas3-runtime-3.8.4-1  libmng-2.0.3-1  qt4-4.8.7-6  gambas3-gb-desktop-3.8.4-1  ...
Taille totale du téléchargement :  22,17 MiB
Taille totale installée :         89,91 MiB

:: Procéder à l’installation ? [O/n]
...
(9/9) installation de gambas3-gb-settings                                                             [############################################################] 100%
chargement des paquets...
erreur : '/mnt/net/repo/x86_64/mundus-3.0.2-1-any.pkg.tar.xz': permission non accordée
vérification des dépendances...
...
Les 3 commandes ont été lancées dans la foulée.

Ça peut être une question de droit ? Rép distant monté avec

Code : Tout sélectionner

sshfs -o idmap=user REP_DISTANT REP_LOCAL -C
Je vais re-RTFM. sshfs.

Re: [pacman] partage de repo custo sur le réseau

Publié : jeu. 25 févr. 2016, 17:44
par Moviuro

Code : Tout sélectionner

server # chmod -R o+r /mon/repo/
?

Re: [pacman] partage de repo custo sur le réseau

Publié : jeu. 25 févr. 2016, 18:32
par benjarobin
Si le cp fonctionne pourquoi cela ne fonctionnerai pas... Peux tu essayer de faire le cp en root ?
Sinon un strace de pacman :

Code : Tout sélectionner

strace pacman ...
Edit: Je crois avoir compris, l'utilisateur root est surement transcrit en tant qu'utilisateur anonyme, qui lui n'a pas les droits
La commande de Moviuro devrait surement résoudre le problème

Re: [pacman] partage de repo custo sur le réseau

Publié : jeu. 25 févr. 2016, 20:29
par kozaki
OK @Moviuro @benjarobin les gars on faisait fausse route avec les droits côtés serveur.
Tes courtes réps m'ont bien aidé à comprendre benja' !
« l'utilisateur root est surement transcrit en tant qu'utilisateur anonyme » càd ? si tu as 1 minute hein :}

server

Code : Tout sélectionner

# chmod -R o+r /mon/repo
laptop

Code : Tout sélectionner

# ls -l /mnt/net/repo/x86_64
impossible d'accéder à '/mnt/net/repo/x86_64': Permission non accordée
total 0
d????????? ? ? ? ?              ? x86_64/

$ ls -lR /mnt/net/repo/
/mnt/net/repo/:
total 4
drwxr-xr-x 1 kozaki users 4096 25 févr. 16:59 x86_64/

/mnt/net/repo/x86_64:
total 327688
-rw-r--r-- 1 kozaki users 42995316  7 févr. 14:51 brave-0.7.13dev-2-x86_64.pkg.tar.xz
-rw-r--r-- 1 kozaki users 47301268 23 févr. 14:17 brave-0.7.15dev-1-x86_64.pkg.tar.xz
-rw-rw-r-- 1 kozaki users 45347264 27 janv. 08:22 chromium-minimum-48.0.2564.82-3-x86_64.pkg.tar.xz
...
RTFM... et (laptop) :
1. /etc/fuse.conf

Code : Tout sélectionner

- #user_allow_other
+ user_allow_other
2.

Code : Tout sélectionner

$ sshfs DESKTOP/MON/REPO LOCAL/MON/REPO -C -o allow_other  # allow access to other users

# pacman -U /mnt/net/repo/x86_64/mundus-3.0.2-1-any.pkg.tar.xz 
chargement des paquets...
résolution des dépendances...
recherche des conflits entre paquets...

Paquets (10) gambas3-gb-desktop-3.8.4-1  gambas3-gb-desktop-x11-3.8.4-1  gambas3-gb-form-3.8.4-1
                ...

Taille totale installée :  91,84 MiB

:: Procéder à l’installation ? [O/n] 
...
( 9/10) installation de gambas3-gb-settings                [#########################] 100%
(10/10) installation de mundus

Code : Tout sélectionner

$ yaourt -Sy
:: Synchronisation des bases de données de paquets...
 tukoz                         5,8 KiB  1931K/s 00:00           [########################] 100%
 core est à jour
 ...
Yaisse le mountage de la repo fonctionne mtnt ; bon ça :D

Et j'ai appris que $USER peut avoir ses petits secrets sans que $SUPER(HERO)ADMIN puisse y mettre le nez !
ALors que par ex un mountage $user ecryptfs est lisible (et indexé sauf toucher /etc/updatedb.conf) par $SUPER. Me sens moins bêête :mrgreen: