Como puedo modificar un comando ?
Manuel Duran Moyano
mduran en ubiobio.cl
Mie Sep 27 02:26:22 BST 2006
El mié, 27-09-2006 a las 02:17 +0200, :noland: escribió:
> Hola, gracias por su detallado mensaje.
>
> Lo he seguido paso a paso, y encuentro problemas.
>
> Por ejemplo, no queda claro que hay que usar fakeroot (yo al menos, no he
> conseguido hacer tirar la línea .... )
>
En mi explicación Omití el uso de fakeroot (que permite crear el paquete
sin necesidad de ser superusuario), ya que en algunos casos, como el
coreutils, necesita tener dichos permisos. Esto aparece en el mensaje de
error que escribiste:
NOTICE: Some tests may be run only as root.
Para solucionarlo "ejecutalo" como super usuario:
$ sudo debian/rules binary
Un documento que te puede servir en la busqueda de la verdad :) es la
"Guia de referencia Debian"[1] (debemos recordar de donde viene Ubuntu).
[1]: http://www.debian.org/doc/manuals/reference/index.es.html ,
http://www.debian.org/doc/manuals/reference/reference.es.pdf
> Bien, una vez hecho esto, obtengo constantemente los mismos errores, los
> cuales transcribo:
>
> esta última parte, arroja constantemente el error siguiente:
>
>
> QUOTE
>
> ***********************************************************
> NOTICE: Some tests may be run only as root.
> Do `make check-root' as `root' to run these tests.
> ***********************************************************
> Making check in basename
> make[3]: Entering directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/basename'
> /usr/bin/make check-TESTS
> make[4]: Entering directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/basename'
> PASS: basic
> ==================
> All 1 tests passed
> ==================
> make[4]: Leaving directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/basename'
> make[3]: Leaving directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/basename'
> Making check in chgrp
> make[3]: Entering directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chgrp'
> /usr/bin/make check-TESTS
> make[4]: Entering directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chgrp'
> ./no-x: this test requires that you be a member of more than one group,
> but running `id -G' either failed or found just one. If you really
> are a member of at least two groups, then rerun this test with
> COREUTILS_GROUPS set in your environment to the space-separated list
> of group names or numbers. E.g.,
>
> env COREUTILS_GROUPS='users cdrom' make check
>
> SKIP: no-x
> ./posix-H: this test requires that you be a member of more than one group,
> but running `id -G' either failed or found just one. If you really
> are a member of at least two groups, then rerun this test with
> COREUTILS_GROUPS set in your environment to the space-separated list
> of group names or numbers. E.g.,
>
> env COREUTILS_GROUPS='users cdrom' make check
>
> SKIP: posix-H
> ./basic: this test requires that you be a member of more than one group,
> but running `id -G' either failed or found just one. If you really
> are a member of at least two groups, then rerun this test with
> COREUTILS_GROUPS set in your environment to the space-separated list
> of group names or numbers. E.g.,
>
> env COREUTILS_GROUPS='users cdrom' make check
>
> SKIP: basic
> ./deref: this test requires that you be a member of more than one group,
> but running `id -G' either failed or found just one. If you really
> are a member of at least two groups, then rerun this test with
> COREUTILS_GROUPS set in your environment to the space-separated list
> of group names or numbers. E.g.,
>
> env COREUTILS_GROUPS='users cdrom' make check
>
> SKIP: deref
> ./recurse: this test requires that you be a member of more than one group,
> but running `id -G' either failed or found just one. If you really
> are a member of at least two groups, then rerun this test with
> COREUTILS_GROUPS set in your environment to the space-separated list
> of group names or numbers. E.g.,
>
> env COREUTILS_GROUPS='users cdrom' make check
>
> SKIP: recurse
> ======================
> All 0 tests passed
> (5 tests were not run)
> ======================
> make[4]: Leaving directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chgrp'
> make[3]: Leaving directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chgrp'
> Making check in chmod
> make[3]: Entering directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chmod'
> /usr/bin/make check-TESTS
> make[4]: Entering directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chmod'
> PASS: octal
> cmp: EOF on out
> 0a1
> > chmod: `d/no-x': Permission denied
> FAIL: no-x
> PASS: equals
> PASS: equal-x
> PASS: c-option
> PASS: setgid
> PASS: umask-x
> PASS: usage
> ======================================
> 1 of 8 tests failed
> Please report to bug-coreutils en gnu.org
> ======================================
> make[4]: *** [check-TESTS] Error 1
> make[4]: Leaving directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chmod'
> make[3]: *** [check-am] Error 2
> make[3]: Leaving directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests/chmod'
> make[2]: *** [check-recursive] Error 1
> make[2]: Leaving directory
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93/tests'
> make[1]: *** [check-recursive] Error 1
> make[1]: se sale del directorio
> `/home/noland/coreutils-5.93/build-tree/coreutils-5.93'
> make: *** [build-stamp] Error 2
>
>
>
>
> no puedo paquetizar para instalar el fichero .deb!!!
>
> consigo editar el código fuente de por ejemplo el whoami.c, pero después,
> peta la generación del paquete.
>
> ¿como podría conseguir que tirase? dice algo de permision denied!
>
> he leído por ahí algo de hacer "umask 022", pero lo he probado y tampoco
> tira. No encuentro solución!
>
> Muchas gracias por ayudarme, no encuentro ninguna solución por ahí, parece
> que tiene que ver con algo del chmod permisision denied...
>
>
>
>
>
>
>
> -----Mensaje original-----
> De: ubuntu-es-bounces en lists.ubuntu.com
> [mailto:ubuntu-es-bounces en lists.ubuntu.com] En nombre de Manuel Duran Moyano
> Enviado el: martes, 26 de septiembre de 2006 15:06
> Para: ubuntu-es en lists.ubuntu.com
> Asunto: Re: Como puedo modificar un comando ?
>
> El lun, 25-09-2006 a las 17:32 -0600, Gabriel Cruz Tellez escribió:
> > Hola de nuevo:
> >
> > Lo que pasa es que un amigo me pregunto un dia que si podiamos
> > cambiar o modificar un comando que ya este establecido en linux,
> > entonces me puse a investigar un poco y es cierto lo que dicen de la
> > direccion /usr/share/man/man1 son los archivos de man.
> >
> > Checando en el gran amigo google llegue con lo que dice Ricardo de
> > los diversos lenguajes, pero el principal asunto o problema que tengo
> > es que quiero modificar un comando como por ejemplo uname, es decir:
> >
> > Esto es lo que aparece cuando escribo en la terminal el comando uname
> > -r
> >
> > gabriel en gabriel-laptop:~$ uname -r
> > 2.6.15-27-386
> >
> > Y quisiera que apareciera eso, mas lo siguiente:
> >
> > gabriel en gabriel-laptop:~$ uname -r
> > ¡Se modifico por decir algo!
> > 2.6.15-27-386
> >
> > Quiero probar el hecho de hacer el cambio en un comando, para ver
> > de cierta manera como es el comportamiento de tal, uname es algo
> > arbitrario por que no tiene que ser eso no tampoco el mensaje que
> > escribi entre signos de admiracion, esto por la razon de que quiero
> > ver si puedo hacer el cambio del codigo de un comando y pues quiero
> > comenzar con un cambio pequeño y darme una idea con ello.
> >
> > Por eso es que preguntaba si esto tenia que ver algo con lo de los
> > scripts (perdon por no escribir bien jejejeje)
> >
> > --
> > -Hay una fuerza motriz más poderosa que el vapor,
> > la electricidad y la energía atómica: la voluntad.
> >
> > -Si buscas resultados distintos, no hagas siempre lo mismo.
> > *Einstein*
> > --
> > ubuntu-es mailing list
> > ubuntu-es en lists.ubuntu.com
> > https://lists.ubuntu.com/mailman/listinfo/ubuntu-es
>
> Si quieres saber como esta escrito el comando (independiente del
> lenguaje) debes bajar el codigo fuente de dicho programa, pero como
> dichos comandos pertenecen a alguna paquete en particular deberias
> seguir los siguientes pasos.
>
> 1) Determinar donde este localizado el comando
> $ which comand (which uname)
>
> (para uname nos da /bin/uname)
>
> 2) Determinar a que paquete pertenece dicho archivo
> $ dpkg -S /ruta/al/archivo (dpkg -S /bin/uname)
>
> (nos indica que pertenece a coreutils)
>
> 3) Descargar codigo fuente del paquete (debes tener activado los
> repositorios, estos aparecen con deb-src http:/...)
> $ apt-get source paquete ( apt-get source coreutils)
>
>
>
> 4) Al descargar el paquete fuente se creara un directorio con el nombre
> del paquete y su versión, dentro de el deberas buscar el codigo fuente
> del comando que necesitas. El paquete coreutils tienen todos los
> programas básico de Unix/Linux (cat , chmod, uname, ...).
>
>
> Con eso podras estudiar la forma en como trabaja cualquier comando o
> programa, siempre y cuando este disponible su codigo fuente.
>
>
> Ahora si lo quieres es modificar y crear tu propia versión deberás
> descargar todos los paquetes necesarios para compilar dicho programa,
> para eso solo debes ejecutar:
>
> $ sudo apt-get build-dep paquete
>
> (sudo apt-get build-dep coreutils)
>
>
> y luego crear nuevamente el .deb (dentro del directorio que se creo al
> bajar el paquete fuente:
>
> $ sudo debian/rules binary
>
>
> Esto realizara automaticamente los pasos de:
> ./configure
> make
> crear el paquete (nombrepaquete.deb)
>
> Despues solo deberas instalarlo con
>
> $ sudo dpkg -i paquetecreado.deb
>
>
>
>
> --
> Manuel Duran Moyano <mduran en ubiobio.cl>
> Linux User: 205305 (http://Counter.li.org)
> Ubuntu User: 1795 (http://http://ubuntucounter.geekosophical.net)
> Launchpad: https://launchpad.net/people/mduran
>
>
>
> --
> ubuntu-es mailing list
> ubuntu-es en lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-es
>
> __________ Información de NOD32, revisión 1.1777 (20060926) __________
>
> Este mensaje ha sido analizado con NOD32 antivirus system
> http://www.nod32.com
>
>
>
--
Manuel Duran Moyano <mduran en ubiobio.cl>
Linux User: 205305 (http://Counter.li.org)
Ubuntu User: 1795 (http://http://ubuntucounter.geekosophical.net)
Launchpad: https://launchpad.net/people/mduran
Más información sobre la lista de distribución ubuntu-es