OVH Cloud OVH Cloud

Changer les droits de dpkg

14 réponses
Avatar
Olive
Bonjour,

Je souhaite utiliser le gestionnaire de paquets (paquetages ?) de Debian
pour pouvoir installer des logiciels en local (sous /home/olive/local)
plutôt que de faire simplement un ./configure
--prefix=/home/olive/local && make && make install

Cela pour des raisons d'installation/réinstallation rapide.

Pour cela je souhaite utiliser checkinstall qui devrait me créer un .deb
qui s'installera automatiquement dans /home/olive/local.

Cependant si la création du paquet se passe bien, je ne peux pas
l'installer car les droits d'exécutions de dpkg sont restreint à root
bien que l'installation ne devrait pas écrire ailleurs que
/home/olive/local.

Est-ce que cela pose un problème si je change les droits d'exécutions de
dpkg ?

Ou bien y a-t-il une autre manière plus élégante de procéder pour faire
ce que je veux ?

Merci d'avance pour votre aide,


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

4 réponses

1 2
Avatar
JusTiCe8
Olive a écrit :

On Thu, 16 Sep 2004 09:55:30 +0100, Yves Rutschle


Alors là je suis bluffé, comment ça fonctionne ce fakeroot ?
Comment se fait-il qu'un simple utilisateur puisse lancer dpkg via ce
fakeroot ?




comme son nom l'indique : il te permet de lancer certaines commandes
comme si tu était root (ex typique : make-kpkg ou la construction rapide
d'un paquet)

En tout cas l'idée paraît excellente et exaucerait de manière élégante
tous mes souhaits ! Dommage que cela ne marche pas dans la pratique...
:-(




:/

Sinon il est possible de repartir des sources du logiciel et via
checkinstall créer un nouveau paquet qui s'installera par défaut sur le
compte local. On peut effectivement utiliser checkinstall pour créer le
paquet même lorsque l'on est simple utilisateur, mais aucun moyen de
l'installer !



Je regarderai ça sans doute ce weekend, ça a l'air rigolo et
utile.





Eh bien merci !
C'est vrai que ce serait nettement plus agréable d'échanger des
programmes avec ses collègues en leur donnant un .deb et une commande
"dpkg -i toto.deb --root /home/toto" que de leur donner un targz et de
leur montrer comment compiler et d'allez ensuite résoudre les problèmes
de compilations...




Et pourquoi pas des tarballs compilés ?
Car avec un paquet tout bien fait, le répertoire d'install est déjà tout
décidé.

Puis quand on installe pleins de logiciels en local comme moi, cela
devient vite le souk !





certe. Il aut s'organiser :).

Merci pour ton aide et surtout tiens moi au courant s'il te plaît si tu
réussis !

Amicalement,






J8.


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Olive
On Fri, 17 Sep 2004 00:43:22 +0100, Yves Rutschle
wrote :

> Alors là je suis bluffé, comment ça fonctionne ce fakeroot ?

man fakeroot :-)



Ok ke vais regarder ! ;-)


> Comment se fait-il qu'un simple utilisateur puisse lancer dpkg via
> ce fakeroot ?

heu, je disais qu'il ne peut pas.



Argh !


> C'est vrai que ce serait nettement plus agréable d'échanger des
> programmes avec ses collègues en leur donnant un .deb et une
> commande"dpkg -i toto.deb --root /home/toto" que de leur donner un
> targz et de leur montrer comment compiler et d'allez ensuite
> résoudre les problèmes de compilations...

Or donc après avoir regardé de plus près, il y un os:

dpkg(8), sur l'option « instdir » (qui nous intéresse
directement): « instdir is also the directory passed to
chroot(2) before running package's installation scripts,
which means that the scripts see instdir as a root
directory. »

D'autre part chroot(2) dit: « Only the super-user may change
the root directory. »

En d'autre terme, les paquets supposent qu'ils peuvent faire
référence à des chemins absolus (ils sont normalement dans
un chroot), mais seul root peut faire ça: même en patchant
dpkg pour ne pas faire le chroot, il n'y a aucune garantie
qu'un paquet s'installe. Ça veut dire qu'il faudrait
revoir tous les paquets pour qu'on puisse leur donner un
répertoire d'installation, ce qui veut dire qu'en pratique,
ça n'arrivera jamais sous Debian. Merdalors.




Zutalors ! Moi qui croyait que dpkg était le summum du gestionnaire de
paquet...
Bon je vais devoir me tourner vers autre chose. Peux-être que ça marche
avec d'autre gestionnaire de paquets type rpm où ce qu'ils sont en train
de développer sous Slackware ?

Grrrr tout cela est fort frustrant...

Merci néanmois d'avoir jeté un oeil !


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Olive
On Fri, 17 Sep 2004 09:23:36 +0200, JusTiCe8 wrote
:

>C'est vrai que ce serait nettement plus agréable d'échanger des
>programmes avec ses collègues en leur donnant un .deb et une commande
>"dpkg -i toto.deb --root /home/toto" que de leur donner un targz et
>de leur montrer comment compiler et d'allez ensuite résoudre les
>problèmes de compilations...
>
>
Et pourquoi pas des tarballs compilés ?
Car avec un paquet tout bien fait, le répertoire d'install est déjà
tout décidé.



Oui mais comment gère-t-on la désinstallation et la gestion des conflits
(deux programmes qui essayent d'installer le même fichier par exemple) ?

>Puis quand on installe pleins de logiciels en local comme moi, cela
>devient vite le souk !
>
>
certe. Il aut s'organiser :).



C'est ce que je suis en train de faire ! ;-)
Bon je crois que ça va être à coup de stow alors...


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Olive
On Fri, 17 Sep 2004 09:18:46 +0200, JusTiCe8 wrote
:

dpkg est exécutable par tout le monde (esaye dpkg -l toto pour t'en
convaincre)



Ah ben oui effectivement !

>Bien entendu. Cependant c'est juste pour mettre un peu d'ordre
>(pouvoir installer et désinstaller proprement des logiciels) dans mes
>installation locale, ce que permets Windows en passant...
>
>
sous windows, t'es root par défaut n'oublis pas !



Non, non je parle d'un windows bien installé et bien configuré en mode
'utilisateur' (ce que j'ai au bureau quoi !).
Certains logiciels (trop peu malheureusement) détecte bien que l'on est
pas root et propose une installation locale en prévenant gentiment que
cette installation ne sera pas valable pour tous les autres
utilisateurs.

>C'est bien ce que je ne comprends pas : pourquoi restreindre pour le
>système entier ? pourquoi l'utilisateur dans son répertoire personnel
>n'a pas le droit à une gestion des paquets ?
>
pb de design -> whishlist



Wishlist sur dpkg tu veux dire ?

>J'avais déjà gagné des points avec mes collègues en leur montrant
>qu'il était possible d'installer tout et n'importe quoi en local sous
>Linux sans qu'une quelconque base de registre verrouillée ne viennent
>nous embêter. Par contre sous Windows il existent des logiciels
>"propres" qui veulent bien s'installer en local, ce que ne permet pas
>Linux (hormis via des "make install prefix=/home/toto" mais c'est
>vite le bordel). Je ne sais pas si sous Red Hat/Mandrake c'est pareil
>? On peut utiliser rpm lorsque l'on est pas root ?
>
>
A voir, je pense que le "soucis" est tjs présent.



Effectivement...

Cela m'étonnerait cependant que je sois le premier à demander/souhaiter
cela. Par contre j'ai essayé de faire une recherche avec
Google, impossible : il me renvoie des milliards d'occurences pour des
requêtes du type "dpkg local installation"...

A+


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2