Desvelandole un nuevo mundo a los usuarios de Gentoo

Como tenía un poco de tiempo, y en vistas de que koshu está un poco desactualizado con el portage :) y que seguro que muchos de vosotros ignorais estas características, me dispongo a hacer un tour sobre lo más interesante de Gentoo Linux:

qpkg: qpkg nos provee una interfaz sencilla para extraer información muy interesante sobre los paquetes. Nos permite saber qué paquetes dependen de uno dado, listar los contenidos de un paquete y averiguar con qué paquete vino un fichero. Algunos ejemplos útiles:
--(ferdy@posidon$ ferdy  )-- qpkg -l mii-diag
sys-apps/mii-diag-2.07 *
CONTENTS:
/sbin
/sbin/mii-diag

--(ferdy@posidon$ ferdy  )-- qpkg -f /usr/bin/mutt
net-mail/mutt *

--(ferdy@posidon$ ferdy  )-- qpkg --query-deps --installed slang
sys-libs/slang-1.4.9 *
DEPENDED ON BY:
        nano-1.2.2
        mc-4.6.0-r3
        slrn-0.9.8.0

Y luego tiene varias opciones muy interesantes:
  -ct, --check-time
  -tc, --time-check     Verify package files timestamps
  -cm, --check-md5
  -mc, --md5-check      Verify package files md5


De todas formas, qpkg no es la más interesante de todas. Bueno, imagino que todos conoceréis epm, epm simplemente es un reemplazo (port) del comando rpm a Gentoo. Es muy útil para usar aplicaciones y scripts que se basen en rpm en Gentoo.

Por otro lado, hay "características" de emerge que probablemente a alguno se le escapen. Existen un par de opciones muy interesantes como -g, -b y -k que nos permiten trabajar con paquetes binarios.
-g - Baja los paquetes de PORTAGE_BINHOST. Aunque a dia de hoy no es lo mejor, no viene, en principio, nada mal
-b - A medida que vas "emergiendo" los paquetes, va construyendo paquetes binarios que irá dejando en PKGDIR. De esta forma siempre podemos volver a un estado anterior si lo necesitamos
-k - Esta opcioón nos permite instalar los paqutes que hemos (podido haber) creado con emerge -b

Ahora es el turno de etcat. Esta aplicación se puede decir que es una de las que mejor sigue la filosofía de Gentoo Linux, no obstante, repite funcionalidades ya vistas e implementadas en qpkg.

Como opciones y comandos interesantes de etcat se pueden resaltar:
--(ferdy@posidon$ ferdy  )-- etcat size mutt
[ Results for search key : mutt ]
[ Applications found : 3 ]

Only printing found installed programs.

* muttprint-0.71
           Total Files : 67
            Total Size : 2374.95 KB
* mutt-1.5.4-r1
           Total Files : 104
            Total Size : 3088.06 KB

--(ferdy@posidon$ ferdy  )-- etcat versions centericq
[ Results for search key : centericq ]
[ Applications found : 1 ]

*  net-im/centericq :
        [M~ ] net-im/centericq-4.9.5 (0)
        [M~ ] net-im/centericq-4.9.5-r1 (0)
        [   ] net-im/centericq-4.9.6 (0)
        [   ] net-im/centericq-4.9.7 (0)
        [M~I] net-im/centericq-4.9.8 (0)

--(ferdy@posidon$ ferdy  )-- etcat uses mutt         
[ Colour Code : set unset ]
[ Legend      : (U) Col 1 - Current USE flags        ]
[             : (I) Col 2 - Installed With USE flags ]
[ No USE flags found for : app-misc/muttprint ]
[ * No USE flags found for : app-misc/mutt-vc-query ]

U I [ Found these USE variables in : net-mail/mutt-1.5.4-r1 ]
+ + ssl     : Adds support for Secure Socket Layer connections
+ + nls     : unknown
+ + slang   : Adds support for the slang text display library (it's like ncurses, but different)
- - cjk     : Adds support for Multi-byte character languages (Chinese, Japanese, Korean)
+ + crypt   : Add support for encryption -- using mcrypt or gpg where applicable
+ + imap    : Adds support for IMAP
- - mbox    : Adds support for mbox (/var/spool/mail) style mail spools
+ - maildir : Adds support for maildir (~/.maildir) style mail spools

--(ferdy@posidon$ ferdy  )-- etcat changes muttprint
[ Results for search key : muttprint ]

*  muttprint-0.71  (27 May 2003) :

  27 May 2003; Peter Johanson <latexer@gentoo.org> muttprint-0.71.ebuild:
  Bump. Bug #20178. Thanks to Ferdy <ferdy@ferdyx.org>


Pero la que se lleva la palma es quickpkg. Como muchos no usareis emerge -b, pues esta aplicación nos puede generar los paquetes una vez ya los tenemos instalados en el sistema. La forma de usarlo es quickpkg .

En principio esto así puede no ser muy util, pero como todos "semos mu linuxeros" pues se nos puede ocurrir algo como:
# qpkg --no-color --installed | cut -d\/ -f2 | xargs quickpkg


Y bueno, como último, voy a enseñaros portageq, algo que nos sirve para sacar información sobre portage, sin currarse greps, cuts, seds y awks sobre "emerge info". Se trata de portageq.

Como no tiene mucho que explicar haré un par de ejemplos:
--(ferdy@posidon$ ferdy  )-- portageq portdir_overlay 
/usr/local/portage
--(ferdy@posidon$ ferdy  )-- portageq gentoo_mirrors
[url]http://gentoo.oregonstate.edu[/url] [url]http://distro.ibiblio.org/pub/Linux/distributions/gentoo[/url]
--(ferdy@posidon$ ferdy  )-- portageq pkgdir       
/usr/portage/packages


Bueno, aunque no es gran maravilla, seguramente a algunos les haya enseñado algo y a otros les haya hecho perder un ratito :)

Anyway, HTH

Just my .02€

Ferdy
y en vistas de que koshu está un poco desactualizado con el portage


Nota mental: no volver a irse más de una semana sin acceso a mi linux y a internet [qmparto] [qmparto] [qmparto] [qmparto]

No, en serio Ferdy, te lo has currado mucho. Voy a empezar a estudiarme esto cuando consiga dejar de lado los examenes. Desde luego si que he descubierto "un nuevo mundo" [jaja] [jaja] Por dios, si con la opción -v del portage se me saltaban las lágrimas [beer]
Muy buen post Ferdy, y si me lo permites querría añadir un par de opciones al emerge que a mí me parecen interesantes:

#emerge -p depclean : Muestra los paquetes que pueden ser desisntalados de forma segura (supuestamente). No siempre funciona bien, hay que usarlo con mucho cuidado. Es mejor usar el comando # dep-clean -U.

#dep-clean -U : Muestra todos los paquetes que pueden ser borrados porque ningún otro paquete depende de ellos. Podemos quitar los paquetes residuales que eran dependencias de otros que ya no tenemos instalados.

root@gentoobox francis # dep-clean -U
These packages have no other packages depending on them.
app-admin/fam-oss-2.6.9-r3
app-arch/file-roller-2.2.5
app-arch/zip-2.3-r1
app-crypt/gnupg-1.2.2-r1
app-dicts/aspell-en-0.51.0
app-editors/gedit-2.2.2
app-i18n/kde-i18n-es-3.1.1
app-shells/tcsh-6.12-r2
app-text/docbook-xsl-stylesheets-1.60.1
app-text/ggv-2.0.1
app-text/gnome-spell-1.0.5
app-text/scrollkeeper-0.3.11-r1
app-text/xpdf-2.02.1
dev-cpp/gnomemm-1.2.3-r1
dev-cpp/gtkmm-1.2.9-r2
dev-db/mysql-4.0.13-r4
...


# export DO_NOT_COMPILE="programa" emerge : Para NO instalar "programa" de un .

# export DO_NOT_COMPILE="kppp" emerge kdenetwork


Nos instalará todo el kdenetwork excepto lo relacionado con Kppp.

Saludos.
Mu bien....... no siempre se puede poner tooooooooooodo jeje :) Muchas gracias

Salu2.Ferdy
muchas gracias ferdy y bpeople. interesante...
Siempre dejanddo como asignatura pendiente mterle caña a gentoo. Q narices tendra q pasar para q me anime? jajaja

A ver si a base de ver como os desenvolveis en ello me pongo con la busqueda avanzada por el foro con todos los temas relacionados con gentoo y le meto caña al asunto ( creo q lo q me tiraba mas para atras eran los flags de las narices q nunca les hice mucho caso. Sera cuestion de documentarme mas XD )

Perdon por el OT , Gracias por este documento de ayuda Ferdy & Bpeople . ( seguro q sera uno de los q vaya a consultar )


Saludos
Gracias Ferdy, la verdad es que estos post se agradecen muchisimo.
Y por si alguien no lo sabe tenemos en el portage la utilidad esearch que hace las busquedas de paquetes a una velocidad acojonante:
localhost taty $ time esearch mule
[ Results for search key : mule ]
[ Applications found : 5 ]

*  app-xemacs/mule-base
      Latest version available: 1.42
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 433 kB
      Homepage:    [url]http://xemacs.org/[/url]
      Description: MULE: Basic Mule support, required for building with Mule.

*  app-xemacs/mule-ucs
      Latest version available: 1.04
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 1,282 kB
      Homepage:    [url]http://xemacs.org/[/url]
      Description: MULE: Extended coding systems (including Unicode) for XEmacs.

*  dev-lisp/mule-ucs
      Latest version available: 0.85_rc3
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 723 kB
      Homepage:    [url]http://www.m17n.org/mule/[/url] [url]http://tats.iris.ne.jp/mule-ucs/[/url]
      Description: A character code translator.

*  net-p2p/amule
      Latest version available: 1.1.2
      Latest version installed: 1.1.2
      Size of downloaded files: 1,391 kB
      Homepage:    [url]http://sourceforge.net/projects/amule[/url]
      Description: aNOTHER wxWindows based eMule P2P Client

*  net-p2p/xmule
      Latest version available: 1.6.1
      Latest version installed: [ Not Installed ]
      Size of downloaded files: 1,220 kB
      Homepage:    [url]http://www.xmule.org/[/url]
      Description: wxWindows based client for the eDonkey/eMule/lMule network



real    0m0.362s
user    0m0.320s
sys     0m0.025s
localhost taty $

Saludos
Escrito originalmente por escufi
A ver si a base de ver como os desenvolveis en ello me pongo con la busqueda avanzada por el foro con todos los temas relacionados con gentoo y le meto caña al asunto ( creo q lo q me tiraba mas para atras eran los flags de las narices q nunca les hice mucho caso. Sera cuestion de documentarme mas XD


Si es por flags y use's aquí tienes los míos:

USE="3dnow acpi alsa avi cdr cups directfb dvd encode fbcon gif gtk2 gtkhtml java jpeg kde ldap mmx mpeg ncurses nls oggvorbis opengl mpi pam pdflib perl pic png python qt radeon readline scanner sse ssl svga tcltk tcpd tiff truetype usb X xml xml2 xmms xv zlib x86 -3dfx -arts -cjk -debug -esd -gnome -gtk -ipv6 -matrox -oss -pcmcia -ppds -samba -voodoo3"

CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -ffast-math -mfpmath=sse,387 -pipe"

CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -ffast-math -mfpmath=sse,387 -pipe"

Escrito originalmente por ESTIMULO
Y por si alguien no lo sabe tenemos en el portage la utilidad esearch que hace las busquedas de paquetes a una velocidad acojonante[/B]


Aquí un post de Raharu de hace unos días tb comentándolo.

http://www.elotrolado.net/showthread.php?s=&threadid=243444

Saludos.
Escrito originalmente por bpeople
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -ffast-math -mfpmath=sse,387 -pipe"

CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -ffast-math -mfpmath=sse,387 -pipe"


Mhhh, -O3 cuando se compila C++? Explícamelo, plis. Yo siempre uso -O2 pero con la opción de -frename-registers del -O3 porque -finline-functions parece que ralentiza más que otra cosa, además de eternizar la compilación.

salu2
Lo que a mi me parece extraño es tener -O2 en las CFLAGS, donde parece más que demostrado que el -O3 funciona a las mil maravillas con "casi" todos los paquetes de uso "común".

( las dos entrecomilladas porque incluso es extensivo a paquetes de uso no tan común :) )

Salu2.Ferdy
Escrito originalmente por Briareos_H


Mhhh, -O3 cuando se compila C++? Explícamelo, plis. Yo siempre uso -O2 pero con la opción de -frename-registers del -O3 porque -finline-functions parece que ralentiza más que otra cosa, además de eternizar la compilación.

salu2


Lo tengo puesto así porque desde que me metí en Gentoo había visto que algunos los ponían así alegando que en C la optimización -O3 podía ser perjudicial. Me puse a investigar y vi benchmarks que lo aseguraban también (ahora no recuerdo dónde). Hace unos días, visitando los foros en español de Gentoo para ver que se cocía por allí (siempre visito los generales en inglés) vi esto:

http://forums.gentoo.org/viewtopic.php?t=107462

El -O3 es más apropiado para C++. Si queremos incluirlo, podemos hacer que CXXFLAGS sea igual que CFLAGS pero cambiando el -O2 por el -O3. De esta manera le estamos diciendo al portage que compile con -O3 para C++ y con -O2 para C. La forma de hacerlo es poner estas líneas en el make.conf (quitando las anteriores y poniendo el procesador que tengamos en lugar del athlon, por supuesto):

CFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -ffast-math -pipe" CXXFLAGS="-march=athlon-xp -O3 -fomit-frame-pointer -ffast-math -pipe"

El motivo por el cual -O3 es más efectivo en C++ que en C se debe a la forma en la que usualmente están diseñados los programas en C++: pequeñas funciones (en relidad miembros de clases) que son llamadas muchas veces. Por ejemplo, la función de un miembro de una clase X puede ser poner un valor en una variable privada. Este código es muy corto y se repite en muchas ocasiones a lo largo de un programa típico de C++, así que las optimizaciones por funciones inline (que son las que activa -O3) pueden ser positivas. En C es rarísimo que este tipo de funciones exista y por lo tanto -O3 puede ser innecesario e incluso hasta negativo.

De todas formas esto es siempre una lotería. Incluso en el probable caso de que la optimización por funciones inline sea beneficioso para un programa en C++, invariablemente el programa que necesite de tal optimización es un programa que no ha sido pensado para ser muy eficiente y por lo tanto irá lento de todas formas. Y eso si no hablamos de mostrencos como el Mozilla o el OpenOffice que encima se niegan a aceptar el -O3 te pongas como te pongas...

- Programas típicos que usan C son: el kernel, GTK, Gnome, XMMS, mplayer, opengl, casi todos los servidores (como apache), todas las librerías principales del sistema y en general seguramente más del 80% del sistema.

- Programas típicos que usan C++ son: Mozilla, todos los programas de KDE, algunos de Gnome (creo recordar que el Nautilus es uno de ellos), OpenOffice, etc.

Como puedes comprobar, son los programas realizados en C++ los que suelen ser más pesados y menos optimizados. (En el OpenOffice, por cierto, esto se agrava sobremanera porque además de ser una aplicación mastodóntica, de decenas de "megas", está tan mal escrita que las CFLAGS le afectan mucho y no es posible utilizar las optimizaciones que el GCC nos brinda). Yo soy de la opinión de que el C++, el Java, la programación orientada a objeto, etc, nos está haciendo volver al pasado... el oowriter (el procesador de textos del OpenOffice) van tan rápido en un 2000 como el Abiword en un 200.... y el konkeror o el nautilus va más lento en un 2000 que el Norton Comander en un 486... pero en fin, no deja de ser una opinión. ¡Por esto no hay mejor optimización que saber elegir el programa correcto! Este es el mejor consejo que puedo darte...


Hice una consulta con un amigo del Departamento de Arquitectura y me confirmó que en la teoría es cierto, y en la práctica, según el programa (si está bien hecho), también es mejor usar el -O2 para C y -O3 para C++. Más tarde me lo confirmó preguntándole a otro compañero del departamento. Yo no llego a esos niveles de notar el rendimiento tan fino, pero parece que realmente va mejor en la teoría, así los puse.

Si vosotros podéis confirmar esto, me gustaría que lo hiciérais para ver al final que FLAGS son las más apropiadas [comor?].

Saludos.

PD: Voy a consultar a mi profesor de Diseño de Computadores que su hermano es desarrollador de KDE a ver qué le comenta al respecto.
Lo que si que dudo que mejore el rendimiento es poner todas las funciones inline. Ir irá más rápido (casi inapreciable para una función media), pero a costa de consumir memoria a lo bestia...
Vaya, tremenda la explicación bpeople [beer] Pues lo que citas parece muy razonable. De momento lo pondré así, a ver qué pasa.

CFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -O2 -ffast-math -fomit-frame-pointer -frename-registers -funroll-loops -pipe"

CXXFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -O3 -ffast-math -fomit-frame-pointer -funroll-loops -pipe"

En donde no estoy muy de acuerdo es un toda la parte en la que dice que C++ es un atraso más que otra cosa. Hay cosas en las que resulta mucho más lógico programar con lenguajes orientados a objetos y otras en que no es así.

Otra cosa es que

a) a gcc le cuesta más generar código optimizado y rápido desde C++ que desde C (aunque cada vez es más rápido, y más en las versiones 3.x).

b) Mozilla y openoffice van lentos porque llevan excesiva "paja" en su interior: véase el xul en mozilla (¿realmente es necesario?) y el gestor específico de ventanas en el caso de openoffice (¿realmente es necesario?).

Sinceramente, para hacerlo así, y siendo proyectos tan grandes, podrían simplemente haber usado una librería multiplataforma o programar las aplicaciones nativamente para cada plataforma.

Si tan mal ve la orientación a objetos, ¿por qué en GTK (que funciona en C) se ha tenido que crear una especie de "simulación de objetos" (por llamarlo de algún modo)? ¿Por qué ha aparecido entonces GTKmm? Pues simplemente porque ese tipo de aplicación/librería es mucho más lógico que esté montado sobre un lenguaje orientado a objetos.

O mejor todavía: ¿por qué en GTK no han usado desde el principio C++?

salu2
Buf, es que crear un sistema de ventanas sin usar objetos, pobres programadores, sería imposible mantener algo así :-)
Bueno... gracias por tus flags y use's pero tengo un p4 :P osea q los del Athlon como q no

saludos
[beer]
Escrito originalmente por Briareos_H
Vaya, tremenda la explicación bpeople [beer] Pues lo que citas parece muy razonable. De momento lo pondré así, a ver qué pasa.

CFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -O2 -ffast-math -fomit-frame-pointer -frename-registers -funroll-loops -pipe"

CXXFLAGS="-march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse,387 -O3 -ffast-math -fomit-frame-pointer -funroll-loops -pipe"


Me alegro que te haya parecido razonable, aunque no sé si el razonamiento es cuestionable con hechos. Respecto a tus flags, a mí se me había pasado el añadirle al tener el -O2 (el O3 lo lleva de serie) el flag -frename-registers que según el man gcc:

-frename-registers-frename-regis-frename-registers
Attempt to avoid false dependencies in scheduled code by making use
of registers left over after register allocation. This optimiza-
tion will most benefit processors with lots of registers. It can,
however, make debugging impossible, since variables will no longer
stay in a ``home register''.


Otra cosa respecto a las flags, es el tema de -march=athlon-xp. Tengo entendido que con esta flag, -mmmx -m3dnow -msse -mcpu (el resto de m*) ya van incluidas dentro (por eso no las tengo). ¿Es cierto? He mirado en man gcc y en la página del GCC por si lo encontraba, pero no lo he visto.

Escrito originalmente por Briareos_H
En donde no estoy muy de acuerdo es un toda la parte en la que dice que C++ es un atraso más que otra cosa. Hay cosas en las que resulta mucho más lógico programar con lenguajes orientados a objetos y otras en que no es así.

Otra cosa es que

a) a gcc le cuesta más generar código optimizado y rápido desde C++ que desde C (aunque cada vez es más rápido, y más en las versiones 3.x).

b) Mozilla y openoffice van lentos porque llevan excesiva "paja" en su interior: véase el xul en mozilla (¿realmente es necesario?) y el gestor específico de ventanas en el caso de openoffice (¿realmente es necesario?).

Sinceramente, para hacerlo así, y siendo proyectos tan grandes, podrían simplemente haber usado una librería multiplataforma o programar las aplicaciones nativamente para cada plataforma.


Yo tampoco estoy de acuerdo con esa opinión, siempre que los lenguajes orientados a objetos se usen cuando son necesarios. El XUL hace al Mozilla multiplataforma, igual que el gestor de ventanas del OO. Podrían haber hecho lo que dices de una librería multiplataforma, pero sus razones tendrían para no hacerlo. Y no creo que lleguen nunca a programar nativamente para cada plataforma, sería un auténtico coñazo.

Saludos.
Escrito originalmente por escufi
Bueno... gracias por tus flags y use's pero tengo un p4 :P osea q los del Athlon como q no

saludos
[beer]


Eso es cosa de mirar un poco por los foros de Gentoo y mirarse el man del GCC para ver qué hace cada cosa. En general las optimizaciones deben ser muy parecidas.

Saludos.
Escrito originalmente por bpeople
Otra cosa respecto a las flags, es el tema de -march=athlon-xp. Tengo entendido que con esta flag, -mmmx -m3dnow -msse -mcpu (el resto de m*) ya van incluidas dentro (por eso no las tengo). ¿Es cierto? He mirado en [b]man gcc y en la página del GCC por si lo encontraba, pero no lo he visto.[/B]


Me respondo a mí mismo. He creado un fichero "prueba.c" que contiene:

main () {printf("Hola mundo")}


Y lo he compilado con el GCC con las opciones -v y -Q y mis flags:

gcc -v -Q -O2 -march=athlon-xp -fomit-frame-pointer -frename-registers -ffast-math -mfpmath=sse,387 -pipe prueba.c


Y en la salida se puede ver (entre muchas otras cosas):

opciones pasadas:  -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=2
-D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix
-D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__
-D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__FAST_MATH__
-D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__
-D__athlon -D__athlon__ -D__athlon_sse__ -D__tune_athlon__
-D__tune_athlon_sse__ -D__SSE__ -D__MMX__ -D__3dNOW__ -D__3dNOW_A__
-march=athlon-xp -mfpmath=sse,387 -O2 -fomit-frame-pointer
-frename-registers -ffast-math


Así que sí incluye las opciones de SSE, MMX y 3DNow! y Enhanced 3DNow!

Saludos.
Mhhh yo leí por ahí que si únicamente se indicaba -march=athlon-xp no se activaban realmente el mmx/3dnow/sse sino que se "daban de alta", pero para que realmente el gcc genere assembler con dichas intrucciones, se debe especificar el "-mmmx -m3dnow -msse".

Creo que algo parecido sucede con la familia K8 de AMD. Para que realmente el gcc genere código de 64 bits, se debe especificar -m64, no sólo el -march=k8, _a no ser_ que el gcc esté parcheado para ello.

La documentación de gcc no lo deja muy claro.

Es tan confuso como el -mcpu. Todavía sigo sin saber para qué sirve el -mcpu=athlon-xp, si te va a generar código que funcionará igual en un 386...

salu2
Para los que no tengan ni idea de que flags poner aqui teneis un link

Y un pequeña explicacion de las opciones del gcc aqui
En que paquetes están las aplicaciones qpkg y etcat ?

De este hilo estoy sacando oro, muchas gracias a todos los que habeis posteado !!
Creí que lo decía en el POST, están en gentoolkit


Salu2.Ferdy
Vaya,usando google me he encontrado un enlace a este foro... :P
Bueno,despues de explicar e intentar justificar el reflote del hilo,os lanzo una dudilla:
Mi PC de casa es un Pentium IV a 2.2 ,y ejecutando #quickpkg /var/db/*/* cree los binarios de todos los paquetes de mi sistema.El caso es que me gustaria aprovechar esos paquetes ya compilados para instalar Gentoo en mi portatil,que es un Pentium III a 600 MHz,sin tener que pasarme varios dias compilando.Los paquetes estan compilados con unas variables USE que me pueden servir perfectamente para mi portatil;pero la duda viene con las CFLAGS y CXXFLAGS,ya que son procesadores distintos.Suponiendo que no tengo ni idea,y de que usara las recomendadas en algun manual(ahora mismo no estoy delante del PC) para dicho procesador(el PIV a 2.2),podria encontrarme algun problema a la hora de usar esos paquetes en el portatil?O esas flags solo son importantes a la hora de la compilacion,quedando al final los binarios igual entre distintos procesadores de la misma "arquitectura"(x86)?
Supongo que es lo segundo,pero por si acaso pregunto,que no me apetece que el portatil de mi curro estalle [+risas]

Otra cosilla: suponiendo que no necesitara compilar nada,cuanto tardaria en la instalacion,teniendo en cuenta que instalare paquetes tochillos como las X,gnome(de momento probare a ver que tal va con este),openoffice,...?
Es para ver si me lo pudiera llevar hoy,y traerlo mañana ya con gentoo,o por el contrario seria mejor contar con el fin de semana de por medio.

Muchas gracias anticipadas :)

Saludos!![bye]

EDIT: Ya he encontrado el manual que utilice,y lo unico que cambia es lo de "-march".He seguido buscando,y segun el manual de gcc,las diferencias son:
pentium3, pentium3m
Intel Pentium3 CPU based on PentiumPro core with MMX and SSE instruction set support.
pentium4, pentium4m
Intel Pentium4 CPU with MMX, SSE and SSE2 instruction set support.

Vamos,que hay soporte para el set de instrucciones SSE2 en el PC de mi casa,que mi portatil no soporta.Tendria que recompilar entonces todo el sistema de nuevo con las nuevas flags?
Es que por un lado,leo que optimiza los binarios para el tipo en concreto de procesador,pero por otro,por aqui me parecio leer que los binarios generados para cualquier procesador de la rama x86 eran todos iguales [tomaaa]
Y porque no usas GRP? Vienen ya los paquetes compilados (en generico, eso si) :D
e-Minguez escribió:Y porque no usas GRP? Vienen ya los paquetes compilados (en generico, eso si) :D

Pues porque como dices vienen en generico,y entonces habra menos diferencia de rendimiento :(
O sea,vamos a ver,no quiero que un PIII parezca el Deep Blue,se que eso es imposible [+risas] ; lo que quiero es intentar hacer que vaya lo mejor que pueda :)
Gracias por la sugerencia :)
(aunque ya se me habia ocurrido :P [beer] )
Saludos!![bye]
P.D:
Por cierto,al llegar a casa he probado a cambiar lo del -march en /etc/make.conf y hacer un #emerge --update --newuse --deep world --ask ,para ver cuando tenia que compilar,y me ha puesto que estaba todo ya a la ultima :O
Asi que creo que para mañana mi portatil tendra Gentoo :P
Y si veo que echa mas humo del normal,dire en el curro que unos extraterrestres atacaron sin motivo alguno a mi portatil [+risas]
* The following older scripts have been removed in this release:
*     dep-clean, ewhich, mkebuild, pkg-clean, pkg-size

* The qpkg and etcat tools are deprecated in favor of equery and
* are no longer installed in /usr/bin in this release.
* They are still available in /usr/share/doc/gentoolkit-0.2.1/deprecated/
* if you *really* want to use them.

* Another alternative to qpkg and equery are the q applets in
* app-portage/portage-utils


Ferdy, estas echo un abuelete en esto de Gentoo! ;-)
Bueno,ya he descubierto que puede pasar cuando metes un paquete compilado para otras CFLAGS...que te da un Illegal Instruction que flipas [+risas]
Asi que,niños,ya sabeis que no debeis hacer esto en casa :P

Y como no,acudo a vuestra ayuda una vez mas. El Illegal Instruction me lo da varias veces cuando el PC esta arrancando,y cuando hago un emerge :S
Hay alguna manera de poder repararlo sin tener que reinstalar todo?Es que por lo que he leido buscando por google,habria que hacer un emerge para reinstalar el paquete que da problemas;pero claro,yo hago un emerge,y me salta con eso [tomaaa]
Creo que el "culpable" es el paquete de python(que no yo,eh? :P),que lo acababa de instalar/actualizar ,y entonces me empezo a dar ese error.
He probado tambien a copiar el /usr/bin/emerge y todos los /usr/bin/python* del cd live,a las mismas rutas de mi disco duro para luego hacer un chroot,pero nada,el mismo error :(

Algun consejillo? :)

Saludos!![bye]

Ya esta,conseguido...he conseguido que me de un Segmentation Fault incluso al hacer un reboot [+risas]
He copiado primero los binarios de portage-rescue ,los he instalado con #tar -C / ,y nada.Luego he probado tambien con los de python,y tampoco.Lo he intentado con los de perl,y menos.Asi que ya me ha entrado la vena,he puesto todos binarios que he encontrado,y he ahi el resultado XD

Joer,es mi primer sistema linux,que rompo,que ilu :P

Bueno,pues nada,creo que la reinstalacion es ya inevitable [tomaaa]

Muchas gracias por la ayuda; por lo menos lo has intentado :)

Saludos!![bye]
Riot escribió:
* The following older scripts have been removed in this release:
*     dep-clean, ewhich, mkebuild, pkg-clean, pkg-size

* The qpkg and etcat tools are deprecated in favor of equery and
* are no longer installed in /usr/bin in this release.
* They are still available in /usr/share/doc/gentoolkit-0.2.1/deprecated/
* if you *really* want to use them.

* Another alternative to qpkg and equery are the q applets in
* app-portage/portage-utils


Ferdy, estas echo un abuelete en esto de Gentoo! ;-)
Hombre, si miras la fecha del post de Ferdy... Creo incluso que puso otro con cosillas interesantes de equery.

¡Un saludo!
29 respuestas