Lunar Linux:FAQ es
Éstas son las preguntas más frecuentes (FAQ, del inglés Frequently Asked Questions) de Lunar Linux. ¿Tiene alguna pregunta acerca de Lunar? Probablemnte encuentre su respuesta más abajo.
General
¿Qué es Lunar Linux?
¿Qué es exactamente Lunar Linux?
Respuesta:
- Por favor lea Acerca de Lunar Linux.
Optimizaciones
¿Cómo puedo configurar las optimizaciones?
¿Cómo puedo configurar las optimizaciones de acuerdo a mi máquina?
Respuesta:
Ejecute lunar optimize
. Será guiado a través de un menú interactivo que le explicará todas las opciones. Recuerde utilizar optimizaciones seguras.
¿Cuáles son las optimizaciones seguras?
¿Cuáles son las optimizaciones seguras recomendadas para Lunar Linux?
Respuesta:
Las optimizaciones seguras que se recomiendan por defecto son:
- C
-
-pipe
-
- C++
-
-pipe
-
- Arquitectura de CPU
- Debe elegir la arquitectura correcta de acuerdo a su sistema (x86 por defecto para la mayoría).
- Optimizaciones básicas
- Rápida (Faster, equivalente a la opcion -O2 de gcc, optimización activada por defecto) o más rápida (Fastest, equivalente a -O3. Observese que fastest no funciona en todos los sistemas, por ejemplo aquellos con microprocesador K6).
- CPU
- Esta opción debe configurarse de acuerdo a su cpu, o al cpu de la máquina donde planea ejecutar la instalación. Si necesita ejecutar la instalación en varias máquinas no debería tener problemas eligiendo i686.
- Optimizaciones de velocidad
- Si quiere estar 100% seguro de que no habrá problemas relacionados con las opciones elegidas para la optimización no debería seleccionar ninguna de estas.
- Extra features
- No es recomendable usar ninguna de estas optimizaciones, incluso con módulos de los cuales se sabe que pueden manejarlas, dado que pueden causar problemas con varias aplicaciones.
- Coprocesador matemático - Floating Point Math
- Ninguno. Si su arquitecura es x86 y no está utilizando un 386SX o un 486SX, es seguro seleccionar x387.
- Opciones del enlazador (Linker Options)
- Strip.
- Soporte para programas adicionales (Addon Program Support)
- CCache. Asegúrese de instalarlo antes de seleccionar esta optimización.
Esta configuración debería funcionar para casi todos, y hay suficiente espacio como para empujar un poco más las optimizaciones, aunque al riesgo de que surjan problemas con algunas aplicaciones. Vea info gcc
y asegúrese de que entiende una optimización dada antes de activarla.
¿Qué optimizaciones pueden causar problemas?
¿Qué optimizaciones se sabe que causan problemas en algunas configuraciones?
Respuesta:
Algunas optimizaciones que se sabe pueden causar problemas en x86 con varias aplicaciones, e incluso con un sistema completo son:
-
-funroll-loops
-
-fstrict-aliasing
-
-ffast-math
-
-ffloat-store
En la lista aparecen ordenadas desde la menos a la más inestable. Ejecute info gcc
y asegúrese que entiende qué hace una optimización antes' de activarla.
¿Qué optimizaciones pueden darme algo de velocidad sin inconvenientes?
¿Qué optimizaciones puedo usar para ganar algo de velocidad sin mayores riesgos?
Respuesta:
Comience por las optimizaciones en FAQ #2.2 y cambielas a Faster o Fastest si sabe que gcc generará código correcto para la cpu que está utilizando. Obviamente -O2 tomará más tiempo de compilación que -O1, y -O3 tardará más que las dos anteriores. A continuación seleccione el tipo de microprocesador sobre el que ejecutará el sistema. Alguna de las optimizaciones de velocidad convenientes que no deberían causar muchos problemas, si acaso ocasionan alguno, son: -fomit-frame-pointer. Para cálculos con números de punto flotante en x86, una opción segura es x387, siempre y cuando la cpu cuente con un coprocesador matemático. Ejecute cat /proc/cpuinfo
para ver si el microprocesador soporta SSE o SSE2. Si es así, puede agregarlas a la lista de optimizaciones.
Sus resultados pueden variar. Lea info gcc
y asegúrese que entiende una optimización dada antes de habilitarla.
¿Qué optimizaciones debería evitar?
¿De cuáles optimizaciones debería mantenerme alejado?
Respuesta:
Todas las listadas en FAQ #2.3 y además:
-
-fprofile-arcs
-
-fbranching-probabilities
Por favor lea las páginas info de gcc info gcc
y asegúrese de que entiende una optimización dada antes de habilitarla. Los desarrolladores de Lunar no atenderán reportes de errores de compilación de usuarios con estas optimizaciones riesgosas activadas.
Instalando módulos
¿Puedo compilar varios módulos al mismo tiempo?
¿Es posible instalar varios módulos al mismo tiempo sin romper nada?
Respuesta:
Si, Lunar inclusive aboga por ello. Por supuesto, esto hará que la compilación tome más tiempo. Lunar no instalará módulos claves para el sistema como gcc y glibc mientras se esté instalando algún otro y esperará a que el proceso de instalación termine. Así también, no es posible instalar aplicaciones mientras gcc y glibc se estén instalando, se esperará hasta que finalice y después continuara la instalación automáticamente.
error : C compiler cannot create executables
Qué significa este error y como puedo solucionarlo?
-
C compiler cannot create executables
Respuesta:
Lea el siguiente punto - es básicamente el mismo problema: Hay archivos de cabecera del kernel que faltan y son vitales para la compilación. Tendrá que restaurarlos. Debajo se explica como hacerlo.
configure: error: C preprocessor "/lib/cpp" fails sanity check
¿Qué significa este error y como puedo solucionarlo?
-
configure: error: C preprocessor "/lib/cpp" fails sanity check
Respuesta:
Este es un problema relacionado con archivos de cabecera. Algunas veces /usr/include/gnu/stubs.h no existe, se lo puede encontrar en el paquete tar del código fuente de glibc. La mayoría de las veces puede ocurrir lo siguiente:
Los archivos de cabecera del kernel no existen en /usr/include/
. Esto significa que el pre-procesador de C no puede verificar las copias de esos archivos vitales. Necesita instalar los archivos adecuados manualmente. Una forma:
lin kernel-headers-2.4
Esto puede funcionar para usted (Por supuesto, use la versión 2.6 si es necesario)
De lo contrario:
mkdir -p /usr/include/{linux,asm}
para crear los dos directorios de destino, si fuera necesario. Luego ejecute:
cp -av /usr/src/linux/include/linux /usr/include/ cp -av /usr/src/linux/include/asm/* /usr/include/asm/
para copiar los archivos de forma manual. Observe que el segundo comando debe ingresarse de esta manera dado que /usr/src/linux/include/asm
es un enlace simbólico a los archivos de cabecera asm de su arquitectura, asm apunta a asm-i386 en máquinas x86. Si en cambio, usted hubiese copiado de esta forma:
cp -av /usr/src/linux/include/asm /usr/include/
entonces tendría un enlace simbólico que apunta a ningún lado bajo /usr/include/
.
Por último, siempre puede intentar desempaquetar el tarball del kernel que está en /usr/src/linux
y crear los enlaces simbólicos manualmente o copiar los archivos de cabecera usted mismo.
¿Puedo agregar más gestores de ventanas a gdm?
¿Cómo puedo agregar otro gestor de ventana a lista de sesiones de gdm?
Respuesta:
Copie los archivos de inicio del entorno gráfico a /etc/X11/gdm/Sessions/
. Esto funciona con gdm. Para kdm tendrá que copiarlos a $KDE_PREFIX/share/apps/kdm/sessions/
.
¿Cómo puedo obtener funcionalidad Flash en Mozilla o Firefox?
¿Cómo puedo hacer que funcione Flash en Mozilla o Firefox?
Respuesta:
Si está utilizando Mozilla o Firefox, simplemente ejecute lin flash-plugin
y esto descargará e instalará el plugin de Macromedia Flash que funciona con mozilla basado en gtk+ a través de los abi wrappers antiguos.
Este plugin no funciona con Galeon. Los desarrolladores de Galeon han decidido no proveer los abi wrappers antiguos necesarios para que el plugin funcione.
¿Cómo instalo Java?
¿Cómo obtengo Java para mi sistema Lunar?
Respuesta: Necesitará descargar el código fuente de Java desde el sitio de Sun y hacer click para aceptar los términos de la licencia. Deberá compilarlo usted mismo. Lunar-linux no tiene un módulo ya que hasta ahora no hay forma de automatizar el "click" necesario para la aceptación de la licencia de Sun. Vea este sitio (en inglés) para más información:
http://www.linuxfromscratch.org/~tushar/hints/javafromscratch.txt
Existe sin embargo un módulo sun-jdk en la moonbase que es el port de Blackdown de la Máquina Virtual de Java provista por Sun.
Herramientas básicas de Lunar
¿Cómo puedo recompilar un módulo con nuevas opciones?
¿Cómo puedo forzar una recompilación de mis módulos con opciones diferentes?
Respuesta:
Intente:
lin -r MODULE
El switch -r le permite seleccionar nuevas configuraciones y dependencias para los módulos.
¿Cómo puedo recompilar un módulo en vez de resucitarlo?
¿Cómo puedo indicarle a lunar que recompile mi aplicación en vez de resucitarla?
Respuesta:
Intente:
lin -c MODULO
La opción -c le ordena a lin
que compile el módulo incluso si hay una copia de instalación disponible en /var/cache/lunar
.
Mi moonbase se perdió y no puedo instalar nada.
¿Cómo puedo solucionar problemas con mi moonbase cuando está dañada o se ha perdido?
Respuesta:
La solución más simple es ejecutar:
lin moonbase
Esto descargará la última moonbase desde Internet, y la devolverá a un correcto estado de funcionamiento.
¿Qué es un módulo?
¿Qué es un módulo y para que sirve?
Respuesta:
Un módulo es un conjunto de archivos que le indican a las herramientas de lunar lo siguiente:
- Que nombre, versión y otras propiedades tiene un paquete
- De dónde descargar los archivos necesarios
- Qué otros módulos se necesitan, o entran en conflicto con el que se haya especificado
- Cómo descomprimir el código fuente, como aplicarle un parche
- Cómo configurar el código
- Cómo compilarlo
- Cómo instalar todo
- Qué otras acciones son necesarias
El módulo está codificado en un conjunto de archivos en una estructura de directorio, y guionado en bash.
¿Qué es la Moonbase?
¿Qué es eso que llaman la Moonbase?
Respuesta:
La Moonbase (del inglés, base lunar) es una base de datos que contiene módulos. En ella se almacenan descripciones de paquetes que le indican a las herramientas principales de Lunar de donde descargar, como compilar y como instalar un módulo. Se lo puede considerar como el equivalente a portage, grimoire, ports, etc.
¿Qué es theedge?
¿Qué es theedge?
Respuesta:
theedge es lo mismo que lunar, y al igual que lunar contiene el código principal del sistema. Theedge sólo es otra versión de lunar. Tanto lunar como theedge se encargan de la instalación de los paquetes, pero no contienen ninguna descripción de los mismos, toda la información relativa a los módulos está contenida en la moonbase.
Theedge es la versión de desarrollo de lunar. A menudo theedge tiene más funcionalidades, y los bugs se corrigen más rápidamente. Sin embargo, si prefiere una versión más estable en su sistema, le recomendamos usar las herramientas de lunar.
Puede installar theedge ejecutando:
lin theedge
Theedge se actualiza automáticamente si se ejecuta lunar renew
o lunar update
Lunar-Linux Installation
My usb keyboard is not recognized
At the boot prompt type linux uhci-hcd ehci-hcd to make sure those modules are loaded during startup. Those will then enable your usb keyboard.
So how should I partition my disk?
I'm setting up lunar from scratch, but how should I partition my disk for a server or desktop system?
Answer:
Server systems have very different demands than desktops. It's all about flexibility. First desktops:
desktops commonly have one hard disk. You don't want to reformat or repartition often, so you just want to be done with it at once. The easiest is just to setup 2 (two) partitions: one root filesystem big enough for all lunar software, and the rest for /home
. Typically, lunar occupies between 4 and 12 gb based on how many applications you install. If you clean up often you can manage with 8gb, but you should keep some extra space. I certainly advise to use a swapfile instead of a swap partition: you can always later delete the swap, or move the swapfile to another disk or partition. A swap partition is harder to relocate.
Servers have different needs. First of all /home
doesn't need to be that large, but you will want to setup space for logfiles that cannot cause problems if they grow too fast. Putting /var/tmp
and /var/log
on separate partitions is quite normal. /tmp
can be abused similarly, and is mostly run in tmpfs to avoid cluttering and give fast access times. Then /usr
will be separate and the usual separate rootfs
. As you can see this list is already getting quite big! Most users will actually want to make the rootfs
quite small (as small as 200mb sometimes!) and thus /home
also needs to be on a separate partition.
Kernel features, built-in or module?
When I compile a kernel, should I compile drivers that I need in the kernel image or as module?
Answer:
There are many schools of thought on kernel compiling. One is to build everything into the main kernel without modules. The other one takes building modules to the extreme. Here is a suggestion, if it's not needed to boot it's a module. Thus usb, input, sound, mice ACPI, network, and also cdrom, floppy, and all the non boot file systems, all get built as modules. This reduces the size of the main kernel so it can be put on a floppy. Another thing to consider is that not everything works perfectly, and some features can cause your kernel to misbehave, so if some feature is built-in, the bad behavior is practically inevitible. Instead, with a module you can choose not to load it and thus be left with a working system.
Please note that some people need to make some features built into their kernel and vice versa, do whatever works best for you.
QEMU and Lunar ISO testing
How do I use qemu to try out lunar ISO's?
Answer:
Just a quick note on how to use qemu for testing a Lunar Linux installation. See /var/lib/lunar/moonbase/devel/qemu/DETAILS
for a description of qemu. Think of it as a low-cost (read: free) version of a virtual machine, that has quite a few useful features and is under active development.
A very simple way to just test a Lunar ISO for booting purposes is:
qemu -cdrom lunar-1.5.0-i686.iso -boot d
If you want to test a full install, then create a 512 megabyte sparse root_fs image with this dd
command:
dd if=/dev/zero of=hda.img bs=$((1024 * 1024)) count=0 seek=512
Now invoke qemu:
qemu -cdrom lunar-1.5.0-i686.iso -boot d -hda hda.img
You can then proceed to test your Lunar install. Refer the qemu homepage for further tips and tricks. qemu can also be quite easily used to test if your brand new kernel is bootable or not, which is quite neat.
Note that you should say yes to using SDL as an optional_depends. The gui version of qemu is very nice in its own little X11 window.
Otros
¿Cómo puedo desempaquetar un archivo .RPM en lunar?
¿Cómo puedo instalar un archivo RPM en lunar? ¿Es posible?
Answer:
El camino más fácil para desempaquetar un archivo RPM es usando el módulo llamado rpmunpack
. Solo corre rpmupack XYZ.rpm
para tu RPM. Esto va a crear un archivo cpio (XYZ.cpio.gz and XYZ.cpio.bz2 are not uncommon). Una vez que haz hecho una descompresión con gunzip
or bunzip2
, tu puedes extraerlo usando cpio -i -d < XYZ.cpio
-- After all that you should be all done. If you are trying to rpmunpack a source RPM (i.e. .src.rpm) file then XYZ.cpio may further contain a tar.bz2 or tar.gz source tarball.
In the zbeta section of moonbase, there is an unsupported module called rpm
for those of you that are really desperate.
You might want to do man cpio
, to check out additional cpio parameters that may interest you, such as the -L switch.
What is that in the Lunar-Linux logo?
What is that logo of yours? It looks like a [cat|ferret|dog|owl|insert nutty animal here]!
Answer:
The logo is a Rockhopper Penguin. It's a kind of nasty penguin, the one that crowd up in thousands to take over the continent. They have a few long feathers sticking out at their "ears" sideway, just like some owl species do.
You can check out Google Images for lots of Rockhopper Penguin pictures!