#1 Le 07/06/2011, à 17:40
- bishop.sad.clown
[ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
B'soir,
J'suis sous natty mais le problème date déjà depuis maverick: gdebi quitte sans aucun message d'aucune sorte quelle que soit la réponse donnée à la question
Voulez-vous installer le paquet logiciel ? [o/N] :
root@bscc:/work/root#
Je n'ai trouvé aucune piste nulle part... En revenche la version graphique fonctionne parfaitement... Quelqu'un aurait-il une piste de recherche ?
@++ = þ
Dernière modification par bishop.sad.clown (Le 08/06/2011, à 20:54)
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#2 Le 07/06/2011, à 18:43
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Quel avantage de gdebi par rapport à aptitude ?
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#3 Le 07/06/2011, à 19:33
- Bousky
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
C'est normal, « [o/N] » veut dire que le choix par défaut si tu n'entre rien est « N » : non. Au lieu de faire juste « entrer », il faut faire « o » puis « entrer » (ou juste « o », j'ai un doute).
Dernière modification par Bousky (Le 07/06/2011, à 19:34)
Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)
Hors ligne
#4 Le 07/06/2011, à 19:45
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
C'est normal, « [o/N] » veut dire que le choix par défaut si tu n'entre rien est « N » : non. Au lieu de faire juste « entrer », il faut faire « o » puis « entrer » (ou juste « o », j'ai un doute).
Sans déconner ??? Sans vouloir paraitre désagréable, si je viens poster ici c'est que aucune des réponses logiques ne fonctionne... ni o ni oui ni y ni yes etc etc... = |
Quel avantage de gdebi par rapport à aptitude ?
Pas trouvé dans les man pages comment faire installer par aptitude un .deb présent sur le disque ( l'équivalent de dpkg -i ) avec vérification des dépendances ... Ce pourquoi gdebi est censé avoir été conçu... J'vais relire les man pages au cas ou j'aurais pas bien compris quelque chose ^_^
...
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#5 Le 07/06/2011, à 20:29
- Bousky
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Sans déconner ??? Sans vouloir paraitre désagréable
Justement, tu es particulièrement désagréable, et dans ce genre de cas il est inutile de prétendre le contraire.
J'ai l'habitude de regarder le nombre de posts des utilisateurs pour me faire une idée de leur ancienneté sous linux (je sais que ce n'est pas toujours très fiable, mais c'est toujours mieux que rien) afin d'adapter la réponse au niveau présumé de l'interlocuteur. Tu m'excuseras donc de t'avoir mis dans la catégorie des nouveaux utilisateurs, et donc d'avoir pensé que tu n'avais peut-être pas remarqué la différence de capitalisation entre le o et le n et que tu ais pu supposer que entrer signifiait systématiquement oui (ce qui n'est pas stupide non plus). Le fait que tu ais posté un exemple où tu as juste tapé entrer à contribué à m'induire en erreur, puisque si l'on tapes quelque-chose, il s'affiche.
Je vous prie donc humblement de bien vouloir m'excuser d'avoir perdu mon temps à essayer de vous aider.
Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)
Hors ligne
#6 Le 07/06/2011, à 20:44
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
@Bousky: Je suis d'accord sur une seule chose, j'ai mal formulé mon explication dans l'énoncé de mon problème... ^^ Pour le reste, si tu veux en débattre en MP ou par mail ou par ce que tu veux pas de souci... Je corrige l'énoncé de ce pas...
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#7 Le 08/06/2011, à 03:41
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Pas trouvé dans les man pages comment faire installer par aptitude un .deb présent sur le disque ( l'équivalent de dpkg -i ) avec vérification des dépendances ... Ce pourquoi gdebi est censé avoir été conçu... J'vais relire les man pages au cas ou j'aurais pas bien compris quelque chose ^_^
...
Ah oui au temps pour moi j'y était pas.
On peut faire une simulation avec dpkg, ça pourrait peut-être aller ?
sudo dpkg --dry-run -i paquet.deb
Sinon, en prenant le problème dans l'autre sens, un sudo apt-get -f install devrait installer les dépendances après un dpkg -i infructueux.
Dernière modification par FRUiT (Le 09/06/2011, à 18:17)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#8 Le 08/06/2011, à 11:19
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Sinon ça marche avec gdebi -n paquet.deb
Mais, ça ne demande plus de confirmation à l'utilisateur.
Dernière modification par FRUiT (Le 08/06/2011, à 11:19)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#9 Le 08/06/2011, à 13:45
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Je viens de voir ça en effet ^^ Merci merci = )
Dernière modification par bishop.sad.clown (Le 08/06/2011, à 13:47)
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#10 Le 08/06/2011, à 18:34
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
De rian.
Un petit [Résolu] s'il te plait.
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#11 Le 08/06/2011, à 18:47
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
J'suis pas fan de passer le sujet en résolu... l'option -n étant quand meme une option dangeureuse, je souhaiterais pouvoir retouver un usage normal de gdebi... Penses-tu que je m'entête inutilement ? = /
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#12 Le 08/06/2011, à 19:17
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Non du tout, mais bon comment t'aider quand le logiciel bugge manifestement ? Personnellement j'ai essayé contrairement à d'autres et j'ai le même comportement.
A la rigueur faudrait faire un bug report, ou plussoyer un déjà existant. Dans tous les cas ce thread ne remontera jamais jusqu'aux devs de gdebi ou kubuntu.
Et sinon la solution de simulation avec dpkg que j'ai proposé dans le post au dessus de l'option -n ne convient pas non plus ?
Dernière modification par FRUiT (Le 10/06/2011, à 13:14)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#13 Le 08/06/2011, à 20:53
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Juste remarque pour le retour aux devs... = /
Je n'ai pas encore essayer essayé ta solution en passant par le simulation... Je teste ça ce soir sans faute... ^_^
Par contre j'ai jeté un oeil à l'executable gdebi:
file /usr/bin/gdebi
/usr/bin/gdebi: a /usr/bin/python script text executable
J'ai tout de même ouvert le fichier pour voir... Et je n'y connais rien en python... tant pis = ( = þ
Allez je m'en vais tester ta solution et voir pour un rapport de bug...
¤ Ajout: J'ai lancé une recherche pour l'option --dry-run ( j'aime bien comprendre un minimum ce que je tape...^^ ) et j'ai pas vraiment trouvé d'éclaircissement... t'as un lien sous l'coude ?
Dernière modification par bishop.sad.clown (Le 08/06/2011, à 21:31)
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#14 Le 09/06/2011, à 18:13
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
--no-act, --dry-run, --simulate
Faire tout ce qui doit être fait, mais n'écrire aucune modifica‐
tion. On utilise cette option pour voir ce qui se passe sans modi‐
fier quoi que ce soit.Assurez-vous de donner l'option --no-act avant le paramètre
action, sinon des résultats fâcheux sont probables. Par exemple,
la commande dpkg --purge foo --no-act purge d'abord le paquet foo
et essaie ensuite de purger le paquet --no-act, même si vous comp‐
tiez qu'elle ne ferait rien du tout.
Je pense que si tout se déroule bien dpkg renvoie 0 comme code de sortie, ou 1 ou plus s'il y a des problèmes. J'ai pas de dépendances insatisfaites pour tester actuellement...
Par contre du coup vaudrait mieux mettre le --dry-run avant le -i :
sudo dpkg --dry-run -i paquet.deb
Par exemple (pas testé) on pourrait faire un test du genre :
if dpkg --dry-run -i paquet.deb; then
# lignes de code
else
# dpkg a échoué, autres actions
fi
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#15 Le 10/06/2011, à 11:43
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Dans le même registre d'idée mais avec gdebi et un petit script:
1°: Edition de /usr/bin/gdebi:
- Commentez les ligne 106 à 111
# msg = _("Do you want to install the software package? [y/N]:")
# print msg,
# sys.stdout.flush()
# res = sys.stdin.readline()
# if res.lower().startswith(msg[-5]):
# debi.install()
2°: Création d'un script pour remplacer la fonction défectueuse. ( C'est un #! /bin/sh étant admis que je ne connais pas le python ):
- nano /usr/bin/Gdebi
#! /bin/sh
/usr/bin/gdebi $1
echo "Voulez-vous réellement installer $1 ? ( oui/NON )"
read CHOIX
case $CHOIX in
oui) gdebi --n $1 ;;
*) echo "Terminé..." && exit 0 ;;
esac
Voilà... J'ai pas mieux en stock à ce moment... ^_^ Mais au moins je suis en accord avec le [ Résolu ] = D
Par contre pour le rapport de bug,je ne l'ai toujours pas fait... = þ
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#16 Le 10/06/2011, à 12:34
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Oui mais ton script posera la question même si le paquet n'est pas installable d'après ce que je lis.
De plus read a une option pour prompter l'utilisateur.
#!/bin/sh
/usr/bin/gdebi $1
[ $? -eq 0 ] || exit
read -p "Voulez-vous réellement installer $1 ? ( oui/NON )" CHOIX
case $CHOIX in
oui) gdebi -n $1 ;;
*) echo "Terminé..." && exit 0 ;;
esac
Dernière modification par FRUiT (Le 10/06/2011, à 12:35)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#17 Le 10/06/2011, à 12:45
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Euh... non... j'ai testé avec un paquet d'une version plus ancienne qu'une version installée il quitte avec $? à 1 et j'obtient:
/usr/bin/Gdebi getdeb-repository_0.1-1\~getdeb1_all.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
Ce paquet ne peut pas être installé
A later version is already installed
Voulez-vous réellement installer getdeb-repository_0.1-1~getdeb1_all.deb ? ( oui/NON )
oui
Reading package lists... Done
Building dependency tree
Reading state information... Done
Building data structures... Done
Ce paquet ne peut pas être installé
A later version is already installed
zsh: exit 1 /usr/bin/Gdebi getdeb-repository_0.1-1\~getdeb1_all.deb
Donc ca roule... ^_^ Mais ta méthode à l'air plus propre... j'vais tester = D !
Par contre je n'ai pas d'option -p dans les man pages de read... = /
$ man read > ./man_read && cat ./man_read
READ(2) Linux Programmer's Manual READ(2)
NAME
read - read from a file descriptor
SYNOPSIS
#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
DESCRIPTION
read() attempts to read up to count bytes from file descriptor fd into the buffer starting at buf.
If count is zero, read() returns zero and has no other results. If count is greater than SSIZE_MAX, the result is unspeci‐
fied.
RETURN VALUE
On success, the number of bytes read is returned (zero indicates end of file), and the file position is advanced by this
number. It is not an error if this number is smaller than the number of bytes requested; this may happen for example
because fewer bytes are actually available right now (maybe because we were close to end-of-file, or because we are reading
from a pipe, or from a terminal), or because read() was interrupted by a signal. On error, -1 is returned, and errno is set
appropriately. In this case it is left unspecified whether the file position (if any) changes.
ERRORS
EAGAIN The file descriptor fd refers to a file other than a socket and has been marked nonblocking (O_NONBLOCK), and the
read would block.
EAGAIN or EWOULDBLOCK
The file descriptor fd refers to a socket and has been marked nonblocking (O_NONBLOCK), and the read would block.
POSIX.1-2001 allows either error to be returned for this case, and does not require these constants to have the same
value, so a portable application should check for both possibilities.
EBADF fd is not a valid file descriptor or is not open for reading.
EFAULT buf is outside your accessible address space.
EINTR The call was interrupted by a signal before any data was read; see signal(7).
EINVAL fd is attached to an object which is unsuitable for reading; or the file was opened with the O_DIRECT flag, and
either the address specified in buf, the value specified in count, or the current file offset is not suitably
aligned.
EINVAL fd was created via a call to timerfd_create(2) and the wrong size buffer was given to read(); see timerfd_create(2)
for further information.
EIO I/O error. This will happen for example when the process is in a background process group, tries to read from its
controlling tty, and either it is ignoring or blocking SIGTTIN or its process group is orphaned. It may also occur
when there is a low-level I/O error while reading from a disk or tape.
EISDIR fd refers to a directory.
Other errors may occur, depending on the object connected to fd. POSIX allows a read() that is interrupted after reading
some data to return -1 (with errno set to EINTR) or to return the number of bytes already read.
CONFORMING TO
SVr4, 4.3BSD, POSIX.1-2001.
NOTES
On NFS file systems, reading small amounts of data will only update the timestamp the first time, subsequent calls may not
do so. This is caused by client side attribute caching, because most if not all NFS clients leave st_atime (last file
access time) updates to the server and client side reads satisfied from the client's cache will not cause st_atime updates
on the server as there are no server side reads. Unix semantics can be obtained by disabling client side attribute caching,
but in most situations this will substantially increase server load and decrease performance.
Many file systems and disks were considered to be fast enough that the implementation of O_NONBLOCK was deemed unnecessary.
So, O_NONBLOCK may not be available on files and/or disks.
SEE ALSO
close(2), fcntl(2), ioctl(2), lseek(2), open(2), pread(2), readdir(2), readlink(2), readv(2), select(2), write(2), fread(3)
COLOPHON
This page is part of release 3.27 of the Linux man-pages project. A description of the project, and information about
reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
Linux 2009-02-23 READ(2)
Edit: L'ajout de ton test
[ $? -eq 0 ] || exit
est effectivement plus propre... J'l'ai adopté... MERCI ^_^
Dernière modification par bishop.sad.clown (Le 10/06/2011, à 12:49)
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#18 Le 10/06/2011, à 12:55
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
C'est normal, read n'est pas une commande externe mais un builtin.
Il faut donc lire sa description dans man bash, ou dans ton cas plutôt man dash :
read [-p prompt] [-r] variable [...]
The prompt is printed if the -p option is specified and the standard input is a terminal. Then a line is read from the standard input. The trailing newline is deleted from the line and the line is split as described in the section on word splitting above, and the pieces are assigned to the variables in order. At least one variable must be specified. If there are more pieces than variables, the remaining pieces (along with the characters in IFS that separated them) are assigned to the last variable. If there are more variables than pieces, the remaining variables are assigned the null string. The read builtin will indicate success unless EOF is encountered on input, in which case failure is returned.
Dernière modification par FRUiT (Le 10/06/2011, à 12:56)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#19 Le 10/06/2011, à 13:02
- bishop.sad.clown
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Merci Merci ^_^ Du coup j'ai allégé avec tes deux astuces, c'est toujours ca de gagné en clareté... = ) et je vais bouquiner un peu les manpages de dash... J'ai quelques petits scripts qui je pense vont se faire liftés grace à tes éclaircissements... ^_^ Très content de m'être réinscrit sur ce forum je suis...
@++ , Rob'
→ Trusty x64
Je n'ai pas toujours les réponses mais je les cherche en même temps que vous... =· þ
Hors ligne
#20 Le 10/06/2011, à 13:03
- FRUiT
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
De rian ^^
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#21 Le 30/06/2011, à 12:30
- skaa
Re : [ Résolu ] gdebi en ligne de commande ne fait rien de rien... = /
Je pense avoir trouvé l'origine du problème.
Dans /usr/bin/gdebi:
msg = _("Do you want to install the software package? [y/N]:")
print msg,
sys.stdout.flush()
res = sys.stdin.readline()
if res.lower().startswith(msg[-5]):
debi.install()
Pour vérifier que l'utilisateur dit "oui" à l'installation, voici le test qui est fait:
- on prend la chaine "msg"
- on prend le 5ème caractère en partant de la fin ('y' donc)
- on prend la chaine tapée par l'utilisateur et on la met en minuscule
- on regarde si cette chaine commence par 'y'
Donc qu'on tape y, yes, YeS, yoyo ou encore yNoooo, ça va fonctionner.... dans la version anglaise.
Le truc c'est que la chaine 'msg' est traduite (avec le module gettext) et que dans la traduction française, ils se sont chiés et ont rajouté un espace en trop. Du coup le 5ème caractère en partant de la fin est un "/".... et pour une raison que je n'ai pas encore eclairci mais qui doit trouver une explication, ça ne fonctionne pas quand on tape "/" lors de la question.
Une façon simple de corriger ça est de virer le traduction de cette phrase.
Il suffit de remplacer:
msg = _("Do you want to install the software package? [y/N]:")
par
msg = "Do you want to install the software package? [y/N]:"
De cette façon, la question sera posée en anglais et la réponse fonctionnera.
Enjoy
Hors ligne