Linux para principiantes o novatos

Linux para principiantes o novatos (18)

Introducción a la gestión de procesos y threads en Linux

Isaac

Written by

Me animo con otro tutorial después de haber creado el anterior y espero nuevamente que os guste y os sirva de ayuda. En esta ocasión vamos a explicar un poco qué es eso de los procesos y los hilos de ejecución, o hebras o threads... como los quieras llamar. Ten en cuenta, que todo el software que ejecutas necesita una serie de procesos y/o de hilos que son unidades fundamentales de procesamiento. El scheduler o planificador del kernel Linux las gestionará e irá añadiendo a la cola para que la CPU las vaya ejecutando, accediendo a los datos e instrucciones almacenados en la memoria RAM. Bien, esto es una forma resumida y sencilla de explicar a groso modo el funcionamiento.

Procesos

Pero... ¿qué es un proceso? En los modernos S.O. se trabaja con procesos, que es cómo el sistema trata a programas o tareas específcias en ejecución. Cada uno de ellos posee un espacio de direciones asociado en el que puede leer y escribir en memoria virtual (ya que puede que no se encuentre en la RAM, sino en la memoria de intercambio o Swap y se vaya moviendo de una a otra en función de la prioridad y lo que dicte el planificador). En dicho espacio se almacenarán las instrucciones (código) y datos (constantes, variables,...) que el proceso debe manejar para poderse ejecutar, y por supuesto también su pila o stack. Cuando uno de estos procesos es asignado a una unidad de procesamiento o núcleo de la CPU, ésta comenzará a ejecutarlo y para ello se necesita asignar un conjunto de registros para cada proceso, cargar un registro PC (Program Control) que irá apuntando a la siguiente instrucción del código del programa que se debe ejecutar tras la que está ejecutándose actualmente, un registro SP (Stack Pointer) y otros registros para los operandos que necesita la instrucción. Básicamente, una vez está todo, la unidad de control de la CPU decodificará la instrucción y comenzará a enviar señales al resto de unidades funcionales para que sepan qué deben hacer, como cargar datos desde registros y llevarlos a la ALU o FPU para hacer una operación como una suma, multiplicación, resta, etc. Una vez se consigue el resultado, se pasa a la siguiente instrucción y así hasta completar todo el código de ese proceso. Una vez se tiene, el proceso ha finalizado... Insisto, es una forma simplista de explicarlo, pero no quiero perder a los menos expertos y entrar en temas de superescalaridad, pipeline, OoOE, especulación, etc. 

En Linux, podemos conseguir informacion de los procesos en marcha de muchas formas, pero dos de las mas conocidas son con los comandos:

ps aux
top

El primero muestra los procesos en marcha y el segundo es interactivo, es decir, lo muestra en tiempo real y puedes ver la evolución. Por cierto, para salir de top simplemente pulsa Ctrl+C. Si quieres verlos en forma de árbol, y ver la geneaología y de dónde cuelga cada proceso (como sabes, todos vienen del proceso PID=1 o Init, aunque si no usas SysV, este proceso podría denominarse de otra manera, como systemd), puedes usar:

pstree

Una serie de sistems del kernel, como el planificador citado anteriormente y el IPC (Inter-Process Communication) se encargarán de gestionarlos y comunicarlos entre sí entre señales. Unas señales que seguramente te suenen del uso del comando kill para matar procesos ¿no? Bueno, si no es así puedes listarlas con:

kill -l

Estas señales son las que usará el kernel para modificar los estados de los procesos. En sistemas tipo Unix, los estados posibles son 7 (los puedes ver en la columna STAT de la salida de ps):

  1. Ejecutándose: el proceso está en la cola de ejecución para ser procesado por la CPU.
  2. Interrumpido: se ha interrumpido por el planificador o está durmiendo a la espera de ser despertado por una señal o temporizador y pasar a ejecutarse.
  3. Sin interrupciones: dormido como en el caso anterior, pero puede ser despertado por eventos externos.
  4. Zombie: el proceso ha terminado, pero falta liberar recursos de hardware que tiene ocupados. Es decir, está muerto pero el sistema lo considera vivo... y esos recursos de hardware no pueden ser asigandos a otro proceso.
  5. Parado: ha sido detenido por una señal de control o por ptrace.
  6. Exclusivo: cuando se encuentra dormido o en la cola de ejecución esperando a ser despertado sin necesidad de desperar a los otros procesos. Es decir, no es dependiente de otros y puede ser ejecutado sin necesidad de ejecutar otros previamente.
  7. Terminado: en realidad no se hace referencia a este estado en el sistema, ya que no es un estado en sí, solo es teórico. Es lógico, ya que cuando un proceso ha terminado ya no está en ningún estado, simplemente ha sido ejecutado y ya no existe.

Threads

Eso en cuanto a procesos. ¿Qué sucede con los hilos o threads? No quiero que los confundas con subprocesos, si te fijas en la salida del comando pstree, hay procesos padre e hijos que cuelgan de estos, es decir, que han sido iniciados por el padre. Pero tanto los padres como los hijos no dejan de ser procesos. Los hilos son procesos ligeros en los que se puede dividir cualquier proceso, y por definición sería la unidad de procesamiento más pequeña que puede planificar un sistema operativo. Cada proceso, si se usa programación multithread, está dividido en varios hilos y para que dicho proceso finalice y pase a ese no-estado "terminado" todos y cada uno de sus hilos deben haber finalizado su ejecución.

A diferencia de los procesos, que tenían sus propios recursos asignados, los hilos que pertenecen a un mismo proceso compartirán los recursos asignados a dicho proceso. Aunque, evidentemente de algún modo se deben diferenciar entre sí y eso se consigue asignando a cada thread unos recursos específicos como la pila y el registro de estado de la CPU, etc. Como curiosidad, para generar los procesos, el kernel Linux usa la syscall o llamada al sistema denominada fork(), mientras que para los hilos se usa clone().

Gestión de procesos

Bien, ahora que ya sabemos qué son los procesos e hilos, vamos a ver cómo Linux los gestiona. Y antes de eso, debemos conocer qué es el contexto. Resulta que el planificador irá moviendo los procesos o hebras de la cola de ejecución según la prioridad necesaria. Por eso, si un proceso poco prioritario está en la cola y aparece otro con mayor prioridad, puede sacar al primero de la cola e introducir al segundo. En caso de interrumpir el proceso/hebra, se necesita guardar su información en algún lugar para luego poderlo recuperar. Eso se hace en una parte de la memoria que guardará su estado y que junto con el programa, se conoce como PCB. Todo esto, unido a una serie de algoritmos implementados por software que compondrán el planificador, hará que la gestión de los procesos sea transparente para el usuario y que nosotros solo nos dediquemos a abrir y cerrar apps o realizar tareas dejándole toda la tarea al kernel.

Sin entrar en demasiados detalles de qué es /proc, simplemente que sepas por el momento que es un espacio o interfaz para el usuario en la que el kernel nos muestra la información de procesos. Si te diriges a ese directorio verás un montón de ficheros y directorios numerados. Cada directorio pertenece a un proceso. Por ejemplo, el directorio 575 corresponde con el proceso PID=575. Dentro de dicho directorio, o cualquier otro (solo es un ejemplo), encontrarás unos ficheros como:

  • cmdline: nombre del programa o comando que inició el proceso
  • cwd: enlace simbólico al directorio de trabajo del proceso
  • environ: nombres y valores de variables que maneja el proceso
  • exe: enlace simbólico al ejecutable original
  • fd: directorio con el enlace hacia el descriptor de fichero
  • fdinfo: directorio con entradas que describen la posición y banderas del descriptor
  • maps: información sobre el mapeado de ficheros y bloques
  • mem: binario que representa la memoria virtual usada por el proceso
  • root: enlace hacia el directorio raíz del proceso
  • status: información del estaod del proceso y uso de memoria
  • task: enlaces duros para cualquier tarea...

Bien, si volvemos al tema de los procesos y demás, ya sabes que puedes conseguir también información de ellos con:

ps aux

O la sintaxis equivalente:

ps -ef

Veremos los procesos en marcha listados con una serie de columnas con información. Si usas la opción -u de ps seguida del nombre de usuario solo se listan los procesos de dicho usuario. Por ejemplo:

ps -u root

En cualquier caso, las columnas que nos muestra son:

  • USER: el usuario al que pertenece el proceso.
  • PID: el ID o identificador del proceso.
  • %CPU: porcentaje de CPU usado.
  • %MEM: porcentaje de memoria usada.
  • VSZ: tamaño de la memoria virtual total usada por el proceso.
  • RSS: conjunto de residentes o memoria del proceso que está en la RAM. La otra parte estará en la SWAP.
  • TTY: la tty en la que se ejecuta
  • STAT: el estado del proceso, si recuerdas había 7, mediante letras se mostrará el estado.
  • START: cuándo se inició
  • TIME: tiempo que dura
  • COMMAND: es el programa o binario al que pertenece el proceso.

Y fijate qué curioso, si añadimos una L a nuestras opciones de ps conseguimos un misterioso cambio en las columnas:

ps -efL

Ahora aparecen dos columnas especialmente interesantes para el tema que tratamos. Una es PPID, es decir, el Parent Process ID. Como su nombre indica es el ID del proceso padre del que cuelga este proceso. Pero hay una columna que me interesa aún más, y es LWP (Lightweigh Process). ¿Te suena? Pues sí, es un proceso ligero o thread. En esta columna por tanto aparece el ID del thread. Verás que hay PIDs con un solo LWP, porque no son programas que soporten multithread, pero en otros PID habrá varios LWP para un mismo PID, en ese caso, dicho proceso sí que está fraccionado en hilos.

Y ahora viene la pregunta del millón. ¿Un proceso se puede matar como se matan procesos con kill? La respuesta es NO. Se puede matar a procesos padre o a procesos hijo, lo digo porque incluso en muchos blogs especializados hay verdaderos follones en la terminología y dan a entender que un thread se puede matar con kill de forma independiente y no es cierto. La creación o muerte de los threads solo se puede hacer desde el código fuente, mediante la programación de funciones que los generan o eliminan, pero una vez el programa se está ejecutando no podemos usar kill o ninguna otra herramienta para liquidarlos a nuestro antojo...

Si lo piensas es lógico. Imagina que un proceso que estás ejecutando es la preparación de una tarta. Dicho proceso se divide en 3 threads: la mezcla de los ingredientes para hacer la masa, vertir la masa en el molde y hornear la masa. ¿Podría saltar o eliminar el primer paso de mezclar los ingredientes? Es absurdo, el resultado sería algo erróneo, un molde sin contenido horneado...

Leer más ...

Herramientas de software libre para la producción audiovisual

Como primera aportación a Linux Center, voy a comentar, a modo de recopilatorio, una serie de herramientas libres en GNU/Linux (aunque muchas de ellas son multiplataforma) para el trabajo audiovisual. Cada programa tiene sus características propias y muchas veces, no se puede decir que uno u otro sea mejor, sino que, generalmente, lo mejor siempre es el uso combinado de herramientas, aprovechando dos de las caracterísitcas de GNU/Linux: la modularidad y la libertad. Voy a describir un proyecto audiovisual, desde el guión hasta la postproducción, las herramientas que podemos usar y el uso que yo les doy, por si a alguien le puede servir de ayuda.

0.- Documentación para la produción

Antes de grabar nada, hay que escribir el guión. Pero antes de escribir el guión, hay que documentarse sobre lo que vamos a hacer. Tanto para escribir ficción, como para un vídeo corporativo o para un podcast o lo que vayamos a grabar, la fase más importante es preparar la producción. Si esta fase la hacemos bien, el resto del trabajo será sencillo. Si la hacemos mal, bien convertiremos el trabajo de grabacion y postproducción en un infierno o bien, directamente no lo podremos hacer. Así que comenzaremos con una buena documentación. La suite Calligra es genial para esta fase: Uno de sus programas, Braindump es para tomar de notas y hacer mapas mentales, que, combinado con otro de sus programas, Flow para diagramas de flujo, nos permite hacer el esquema de nuestra historia, el trabajo de producción y definir las fases de desarrollo del trabjo. Otra de las herramientas de Calliga es Author, para crear libros electrónicos. Viene muy bien usar libros electrónicos para leer la documentación que nos descargamos de internet (artículos, posts, libros...) y luego leerlos con un lector de libros electrónicos. De esa manera podemos subrayar con el dedo y que nos genere el resumen en un fichero de texto. Complementa esta suite Stage, que es un programa de presentaciones, con el que podemos hacer una primera aproximación al ritmo, los puntos de giro... de la historia, las fichas de los personajes, las relaciones entre si... y dos herramientas de dibujo: Karbon, de dibujo vectorial y Krita de dibujo digital de mapa de bits. No forma parte de Calligra, pero es muy útil para esta fase de documentación, utilizar un gestor de imágenes. Yo uso DigiKam para organizar los escenarios, los personajes, las imágenes de inspiración...

1.- Escribir el guión

Cualquier editor de textos vale para escribir un guión. Y en esto vamos bien servidos en GNU/Linux. Tenemos Vi, GNU Emacs, Nano, Gedit... También podemos escribir un guión usando procesadores de texto, como Abiword, OpenOffice WritterLibreOffice Writter, Kword... Los editores de LaTeX pueden ser incluso mejor que los anteriores para dar formato. Aquí nos encontramos con Lyx y TeXmacs. Y como software libre específico de guión, aunque tiene una versión on line, también se puede instalar en nuestro equipo, Celtx.

2.- Dibujar el storyboard

Una vez tenemos el guión hecho, hay que hacer un storyboard. Aquí nos encontramos con dos posibilidades: Dibujamos en papel y luego escaneamos. Unas veces uso GIMP, y otras, Simple Scan. O dibujar en el ordenador directamente. Hay una variedad enorme de programas. Para dibujo vectorial suelo usar Inkscape y para dibujo de mapa de bits, uso Krita. Ambos programas, dibujando con tableta es como más partido se les pueden sacar, ya que detectan inclinaciones, presión y permiten dibujar con distintos pinceles, incluso hacer nuestros pinceles personalizados y simular el dibujo a mano o el trabajo con aerógrafo. MyPaint El tamañado del lienzo es ilimitado, nunca será necesario redimensionar el lienzo.

]3.- Fotografía

3.1- Realizar la fotografía

Por méritos propios, el programa de retoque fotográfico libre más afamado es GIMP, que unido con toda la colección de plugins que hay disponibles, le convierten en una herramienta perfecta para retocar cualquier tipo de imagen. Pero para poder retocar una fotografía, primero hay que hacerla. En GNU/Linux tenemos varios programas para controlar la cámara desde el ordenador, como Gphoto o Entangle. Esto viene muy bien para poder hacer fotos sin tener que tocar la cámara. Suelo utilizar Entangle para dos usos: Cuando hacemos un stop motion, cualquier pequeño cambio de posición en la cámara nos descuadra toda la composición (y todo el trabajo realizado para hacer esa imagen) Fotografiar sin que se sepa que estamos detrás de la cámara. Los niños, o los modelos que no están acostumbrados a posar suelen ponerse tensos cuando ven que les apuntan con la cámara. Combinar una sesión de fotos "al uso" con unas cuantas fotos sin que el fotógrafo esté detrás de la cámara suele generar unas fotos más frescas y naturales. Entangle soporta la mayoría de las cámaras del mercado y da muy buen resultado tanto con cámaras normalitas (compactas de 30 euros) como con DSLR.

3.2- Editar fotografías

Cuando hacemos muchas fotografías, algo muy habitual si nos vamos de excursión o si estamos haciendo un stop motion, siempre tenemos que aplicar una serie de retoques en lote. Por ejemplo, para un stop motion, deberemos ajustar todas las imágenes a la resolución que queramos hacer el vídeo. También solemos tener que ajustar el color a todas las imágenes, darle cierta textura... para trabajar con muchas imágenes en lote, lo ideal es usar imagemagick. Luego, para retoques individuales en cada imagen, me gusta la combinación RawTherapee/GIMP.

3.3- Componer imágenes a partir de fotografías (matte painting)

El matte painting digital es componer imágenes utilizando trozos de otras imágenes, bien fotografías o bien dibujos, haciendo composición de formas y texturas para crear escenas nuevas a partir de una colección de imágenes. Se utiliza mucho el matte painting para crear escenarios sin tener que construirlos enteros combinándolos con escenas grabadas sobre croma. Las herramientas que uso para hacer matte painting son: GIMP, Krita, Blender, imagemagick, RawTherapee y Natron.

4.- Edición de vídeo

Si bien el programa que más uso para editar vídeo, recortar, componer, renderizar, escalar... es ffmpeg, este lo dejo para el final. Ahora estoy con las herramientas gráficas y aquí me quedo con dos: KDEnlive, que incluye una gran cantidad de efectos de vídeo y de modeos de superposición de capas. Y OpenShoot, que tiene dos cosas que me gustan bastante: edición de títulos en 3D integrados con Blender, pero sumamente sencillos y una gran cantidad de transiciones preestablecidas.

5.- Edición de audio

Para limpiar el sonido de ambiente capturado durante el rodaje, editarlo, cambiar tono, ecualizar, comprimir, normalizar... tenemos Audacity. Si bien Audacity es muy completo, para darle un plus de efectos, bases musicales y crear una atmósfera sonora mucho más redonda, Ardour se complementa perfectamente con Audacity. De hecho, se pueden conseguir más o menos los mismos resultados con ambos programas, pero para las cosas más "rutinarias", Audacity es más sencillo y para las cosas más específicas, Ardour es más potente, ya que permite secuenciar las pistas de audio y hacer composiciónes MIDI. Por lo tanto, lo que suelo hacer es trabajar el audio capturado originalmente durante el rodaje con Audacity y luego generar toda la atmósfera sonora, especialmente los efectos foley, con Ardour. Aunque no soy músico, sí que a veces utilizo Hydrogen como caja de ritmos. Unas veces para dar una ambientación sonora y otras veces creo una pista de ritmo para cuadrar con ese ritmo los cortes de vídeo. Una especie de metrónomo para, por un lado, ver los golpes de los bombos y cajas en el editor de vídeo, y por otro, para que el sonido me indique cuándo hacer un corte en el vídeo. Esto también lo hago a veces con ffmpeg cuando el ritmo es más monótono, o cojo una canción que me guste, y dejo que el ritmo de la canción marquen el ritmo de vídeo, aunque luego el vídeo no tenga una música de fondo, sino que el audio sean los comentarios de la gente, una locución o una entrevista.

6.- Infografías / animación 2D

La animación 2D nos ofrece muchas posibilidades: los clásicos dibujos animados, los vídeos de kinetic typography en los que sobre unas palabras habladas o cantadas se transcribe el texto animado y con otras animaciones, como muñecos moviéndose, que tan de moda están en Internet; infografías y rotulaciones superpuestas a los vídeos, transiciones... y en GNU/Linux tenemos varias herramientas para ello. Solía usar Tupí hasta que descubrí unos tutoriales de jen0f0nte que me hicieron pasar a Sinfyg Studio, una herramienta perfecta para la animación 2D, que permite tanto dibujar en vectorial como animar los vectores. Además, cuenta con la posibilidad de importar dibujos de otros programas, aunque hay que instalar plugins para ello, ya que sólo lee sus propios ficheros, los ficheros sif. Pero añadiendo un plugin a GIMP y otro a Inkscape nos permite hacer los dibujos en esos programas y luego animarlos en Sinfyg. Otra opción para transformar imágenes realizadas con Inkscape, que es mucho más completo a la hora de dibujar y poder animarlas en Sinfyg es usar svg2sif.

7.- Animación 3D

La herramienta más conocida del software libre para escultura y para animación 3D es Blender, pero al ser tan completa, es muy complejo a veces hacer cosas sencillas, por lo que uso trucos. El primer truco es usar MakeHuman para hacer las figuras humanas. Una herramienta sencilla para hacer figuras antropomórficas, configurar el aspecto, hacerlos más altos o bajos, más gordos o flacos, ponerles ropa... Además, la comunidad ya ha hecho muchos de los complementos que podamos necesitar para nuestros personajes. El segundo truco es usar Sweet Home 3D para los escenarios. Permite diseñar construcciones de una forma rápida e intuitiva: paredes, puertas, muebles, jardines, techos, suelos... Ni es tan potente ni tan versátil como Blender. Pero ahorra trabajo. Y tercer truco, usar K-3D, mucho más sencillo que Blender y, aunque tampoco está a la altura, para hacer figuras sencillas es mucho más cómodo. Una vez hechas todas las partes en 3D, combinamos todo en Blender y aplicamos las texturas, los efectos, los movimientos de cámara...

8.- Postproducción y efectos especiales

Una vez que están todos los escenarios, los personajes, los efectos 3D, los audios, las infografías... es decir, todas la piezas del vídeo preparadas, toca hacer la postproducción y añadir los efectos. Aunque en su momento usaba Jashaka ahora uso Natron, que funciona con nodos y da mucho juego a la hora de aplicar los mismos nodos a distintas secuencias.

9.- Multipropósito desde consola

Y para finalizar este repaso al software libre audiovisual dejo una serie de herramientas a las que clasifico como "multipropósito desde consola" ya que su verdadera potencia es la combinación de varias de estas herramientas en scripts que nos permitan automatizar tareas. Para el procesado de imágenes, tanto generándolas desde cero, como para retocar imágenes ya creadas, tenemos tanto la suite imagemagick como la biblioteca OpenCV. Con GIMP también se pueden automatizar tareas dedes consola y el paquete G'MIC, tiene, además de los filtros para GIMP, la posibilidad de programar y automatizar tareas. La edición de vídeo desde consola la podemos hacer con ffmpeg, que también permite algún trabajo con el audio, aunque para trabajar mejor el audio, mejor usar sox. Aprender a programar, aunque solo sea un poco de Bash y estos comandos, nos permite dedicar nuestro tiempo hacer trabajos creativos y que sean los ordenadores los que hagan el trabajo rutinario.
Leer más ...

Instalación de Windows y Linux en arranque dual: cómo afrontarla

Rubén Abad

Written by

Buenas a todos. En este nuevo tutorial voy a comentaros cómo hacer sitio para instalar cualquier distribución Linux junto a un sistema operativo Windows. Para ello, en primer lugar, habrá que dividir entre dos casos de uso:

-Ordenadores con BIOS (todos los ordenadores hasta 2011-2012, al menos, sin contar excepciones)

-Ordenadores con EFI (desde 2012 en adelante). Éstos se distinguen muchas veces porque, directamente, la pantalla de arranque de la BIOS es, al mismo tiempo, la de inicio de Windows (con los puntos giratorios).

ORDENADORES CON BIOS

Éste es el caso más simple. Si tienes un disco duro mecánico, o HDD, desfragméntalo antes con la utilidad que viene en Windows antes de empezar el proceso. Luego, ve directamente a Administrador de Discos, le das al botón derecho del ratón y a "Reducir volumen" y ahí pones la cantidad de memoria que quieres reservar para la partición de Linux (la cantidad mínima varía en función de los requisitos de cada una, revísalos bien):

Administrador de discos

Tras esto, simplemente, descarga la ISO de tu distro favorita, grábala a un DVD/CD/USB e instala la distro, utilizando la opción "Instalar junto a Windows (versión la que sea)", o, simplemente, seleccionando el espacio que has liberado antes (en el caso de que no salga la opción que he indicado antes). Finalmente, se instalará el gestor de arranque GRUB y podrás alternar entre ambos sistemas operativos sin problema alguno.

ORDENADORES CON UEFI

Aquí la teoría dicta lo mismo que en el caso anterior (hacer sitio, grabar e instalar). Pero hay un inconveniente lo suficientemente grave como para poder comentarlo. La mayoría (por no decir todos) los ordenadores recientes llevan UEFI y un sistema de particiones GPT. Por lo que, en el programa de crear el pendrive (por ejemplo), tendrás que poner, a la hora de copiar la ISO, ese formato, la opción GPT y UEFI. A modo de ejemplo va la siguiente captura de pantalla:

Ejemplo UEFI GPT

Si grabas directamente a DVD, no hay por qué preocuparse de esto. Ahora, el segundo problema será el de desactivar el Secure Boot de la UEFI del ordenador. Cada ordenador es un mundo, pero la opción es la misma. Cuestión de navegar y ver cuál opción es de las que hay. Aunque, si se quiere hacer desde Windows, simplemente hay que pulsar el botón de Mayúscula mientras se le da al de Reiniciar, para ir al menú de Recuperación de Windows. En Solucionar Problemas, Opciones Avanzadas, quizás encuentres también la opción de desactivar el Secure Boot. Una vez hayas hecho esto, simplemente instala la distribución tal y como lo harías habitualmente (arrancar desde el medio de instalación, particionar en el espacio libre o instalar junto a, etc.).

Y, finalmente, una última advertencia. Ni se te ocurra eliminar la partición de arranque EFI de Windows, o no arrancará este sistema operativo más. Puedes usar esa partición indicándole al instalador que añada el arranque de la distro como /boot/efi, contando con el inconveniente (si se da el caso de que el ordenador "ignore" la partición de Linux y siempre arranca en Windows 10) de tener que ir a un programa de terceros para modificar el BCD de Windows y "añadirle" esa partición de arranque de Linux. Con EasyBCD (http://neosmart.net/EasyBCD/) (descargable gratuitamente bajo registro) y la opción "Añadir entrada->Sistemas Operativos->Linux/BSD", podrás indicarle a Windows la localización de GRUB y así hacer que siempre salga el menú de selección de sistemas operativos del Windows en cuestión.

Hasta aquí el tutorial. Si hay alguna pregunta, no dudéis en hacerla en los comentarios :)

 

 

Leer más ...

10 consejos básicos para el novato en Linux

Rubén Abad

Written by

Hola de nuevo. Aprovechando parte del tutorial que seguí la primera vez que instalé Lubuntu en mi netbook, he decidido adaptarlo para convertirlo en una guía para que el usuario básico (o avanzado, aunque ya, probablemente, conozca esto) de Linux evite caer en errores que puedan comprometer su instalación y mantenimiento. Empezamos.

1. Añade únicamente los repositorios que realmente necesites

El exceso de repositorios innecesarios puede comprometer aspectos como la estabilidad del sistema, la seguridad, y otros aspectos relacionados con el rendimiento del ordenador. De ahí también añado el segundo consejo:

2. No instales ejecutables de origen desconocido (ya sean .deb, .rpm o de lo que fuere)

Puede parecer perentorio, pero nunca se sabe si el instalador en cuestión puede traerte sorpresas desagradables, como en este caso: https://www.omgubuntu.co.uk/2009/12/malware-found-in-screensaver-for-ubuntu

3. Usa únicamente permisos administrativos cuando sea preciso y necesario

Incluyo en este apartado tanto el ejecutar programas con permisos de administrador desde el menú del explorador de archivos, como el usar los comandos sudo, su o gksudo para cualquier cosa. Es posible "liarla bien parda" si se mete la zarpa en ciertos lugares (luego os mostraré un ejemplo de ello).

4. Nunca uses aplicaciones de desfragmentación de disco duro o aplicaciones de limpieza que se anuncian como tal

Existen aplicaciones de "desfragmentación de disco duro" y de "limpieza del sistema" (BleachBit, por ejemplo). Linux NO necesita de desfragmentación alguna de disco duro. El sistema de archivos EXT4 es lo suficientemente eficiente como para evitar la fragmentación de disco duro. Además, si usas "desfragmentadores de disco duro" en una unidad SSD, te la "cargarás" en menos de lo que canta un gallo, ya que esto aumenta bestialmente el número de escrituras de la unidad en cuestión (que es lo que "mata" a estos componentes). Con las aplicaciones de "limpieza" (BleachBit) puedes cargarte también elementos importantes del sistema, necesarios para el correcto funcionamiento de todo.

5. No mezcles distintos escritorios (por ejemplo, Gnome + KDE)

Esto puede suceder a menudo cuando instalas aplicaciones en un entorno de escritorio Gnome que necesiten dependencias de KDE, por ejemplo. Eso, lo que hará es instalar todo el entorno de escritorio en cuestión. Y sí, en este error he caído en propia persona. Y me he topado con efectos tan bizarros (por ejemplo, ventanas de KDE en aplicaciones de Gnome/GTK) cuya solución completa es la reinstalación del sistema operativo por completo. En esto también dejo caer lo de la instalación de gestores de archivos alternativos. Instalar otro gestor de archivos implica instalar también las dependencias correspondientes al escritorio al cual esté ligado ese gestor en cuestión. La única excepción a esto son los exploradores de archivos independientes, estilo Midnight Commander (http://midnight-commander.org/).

6. Jamás uses scripts de instalación de terceras partes (como, por ejemplo, Ultamatix, Ubuntu Tweak, Ubuntu Sources List Generator, Ubuntuzilla y UKUU).

En resumidas cuentas, lo que hacen estos scripts es instalar software (e incluso kernels) con un nivel de poder dar problemas al sistema de más de 8000 (sí, la máquina sufrirá una descompostura después de usar alguno de estos scripts). Simplemente, ni oler esto, sin más.

7. No toques las opciones de GRUB sin saber lo que estás haciendo, ni con herramientas de terceras partes (Grub Customizer, por ejemplo)

Esto es un ejemplo de toqueteos al sistema que pueden provocar problemas graves. Si tocas algo en /etc/grub.d, corres el riesgo de no poder arrancar más el sistema operativo, y de tener que hacer tejemanejes con el fin de poder recuperar los datos del ordenador afectado. Algún día se hará una guía para manejar GRUB de una forma conveniente (abro una ventana para futuros tutoriales de la comunidad sobre esto ;) ).

8. No uses repositorios de software inestable

En el fondo, este consejo es obvio. El software inestable trae problemas y fallos. Únicamente usa este tipo de software si te atienes a sus consecuencias, y eres capaz de reportar bugs y de ayudar en su desarrollo. Estos repositorios son, por ejemplo, "romeo" en Linux Mint y "Proposed" en Ubuntu.

9. Jamás quites aplicaciones que vengan preinstaladas (se aplica especialmente a Ubuntu/Linux Mint, pero valdría para cualquier distro)

Este tipo de aplicaciones tienen unas dependencias muy profundas con el resto del sistema operativo. Eliminarlas podría causar que se eliminasen programas importantes para el funcionamiento correcto del mismo. Simplemente, ignora estas aplicaciones si no las usas y ya.

10. Utiliza (en la medida de lo posible) versiones estables de las distribuciones

Este consejo va especialmente dirigido a usuarios noveles. Si eres un usuario más avanzado en Linux, ignora este consejo ;) Las distribuciones tipo Ubuntu LTS, o Debian Stable, siempre dan un nivel de estabilidad muy alto, además de rendir adecuadamente. Para un uso diario, son más que suficientes. Obviamente, esto no es óbice para, por ejemplo, montarse un Arch Linux o un Gentoo y tenerlo estable, pero, para el recién llegado, lo ideal para aprender es una distribución de este tipo.

Y hasta aquí los consejos. Si alguno de vosotros quiere aportar algo más, que no dude en comentarlo :)

 

 

Leer más ...
Página 2 de 2

¡Atención! Este sitio usa cookies y tecnologías similares.

Si no cambia la configuración de su navegador, usted acepta su uso. Saber más

Acepto

Vea nuestra política de cookies y enlaces de interés aquí