Secciones

viernes, 21 de noviembre de 2014

Como compilar un programa en Linux

Cuando no existen paquetes para una determinada distribución o tan solo contamos con su código fuente es cuando nos aventuramos a compilarlo (generar el ejecutable binario) de dicho programa.

Normalmente, el proceso suele ser sencillo, con la terminal y dentro del directorio solo 3 comandos son los encargados de hacer el proceso. En orden:
./configure && make && sudo make install
Con eso le decimos que configure la instalación del binario, cree el binario, y lo instale. 

Si en algún caso la instalación falla, debemos ejecutar "make clean" con el fin de borrar los rastros de la anterior instalación, a ./configure podemos pasarle el parámetro "--prefix=" que establece en donde se va a instalar el ejecutable.

Comandos útiles para una terminal Linux

Todas las distribuciones Linux llevan de serie una terminal, que puede ser invocada por un programa o si no tenemos entorno gráfico es lo que nos sale para dar ordenes al equipo. Moverse la terminal es relativamente sencillo y si previamente habíamos usado la consola de comandos de Windows con su MS-DOS, si no, siempre es buen hora para conocer los comandos más útiles que nos sirven para navegar por la terminal. Ya sea para compilar un programa, instalar alguna librería, o porque sencillamente te gusta hacer algunas cosas de forma manual, aquí van unos cuantos comandos de utilidad:


ls
ls es lo más parecido a usar dir en la consola de comandos de Windows, muestra por pantalla el contenido del directorio en el que estamos, podemos darle unos parámetros como ls -a que nos mostrará todos los ficheros y directorios ocultos además de los que no lo están, o ls -l que nos dará la información en modo lista algo más detallada, los parámetros pueden juntarse o ponerse por separado como ls -l -a o ls -la en ambas ibtendremos el mismo resultado, puede usarse con expresiones para filtrar los resultados, por ejempo ls *.png mostrará unicamente todos los ficheros en ese directorio con extensión png para ver el resto de parámetros de ls basta con usar ls --help .

grep
grep es un filtro de salida para otros comandos, se usa precedido con una tubería al comando anterior, por ejemplo ls -la | grep "casa" , eso nos mostrará la salida filtrada del comando ls con las lineas en las coincida la palabra casa , muy útil en la navegación de directorios con ls.

ln
ln se usa para crear enlaces duros y enlaces simbólicos, hay una gran diferencia entre ambos, un enlace duro crea una especie de "copia" del fichero y cuando se modifica, tanto el original como el enlace, cambian su contenido, no obstante si se borra el original el enlace sigue funcionando como si fuera un fichero más con el contenido del original, la gracia es que los enlaces duros pueden tratarse como ficheros independientes y que cada uno de los enlaces tenga permisos diferentes, aunque recordemos que no es una copia como tal sino un enlace, en este caso un enlace a unos datos del disco duro que no son borrados si no se borra hasta el ultimo enlace duro, un enlace simbólico es parecido pero los enlaces solo apuntan al fichero original, si se borra el original los enlaces simbólicos dejan de servir ya que apuntan a un único fichero, para los que vengan de Windows esta segunda forma es lo más parecido que tienen a crear un acceso directo desde la terminal.

Los enlaces duros debido a su naturaleza, no pueden hacerse fuera del sistema de ficheros en el que este el fichero original, los enlaces simbólicos si (son simples accesos directos).

para crear enlaces duros:

ln /ficherooriginal /ficherodestino <- Crea un enlace duro
ln -s /ficherooriginal /ficherodestino <- Crea un enlace simbolico (Tambien puede ser usado con directorios)
ln  -d /directoriooriginal /directoriodestino <- Crea un enlace duro de un directorio

touch
touch es usado para crear un fichero en blanco

cd
este comando se usa prácticamente en todos los sistemas, nos sirve para movernos entre directorios, se usa junto con ls, cuando sabemos los directorios que hay en el directorio actual podemos acceder a ellos con cd y (la ruta relativa) el nombre del directorio, si queremos subir al directorio que este por encima cd .. y para acceder directamente a un directorio basta con colocar la ruta absoluta (/home/tuusuario/tudirectorio)

top
Muestra la carga del sistema y los procesos en memoria

free
Muestra la memoria del ordenador (Tanto la RAM como la SWAP) e indica la que hay usada, para entender mejor los datos se usa con el parámetro -h que convierte las cantidades a datos legibles para los humanos.

date
Muestra la fecha y la hora, puedes usar patrones como date "+%A %d de %B" para organizar la salida del comando.

Seguiré actualizando esta entrada para ir añadiendo más comandos de utilidad

jueves, 20 de noviembre de 2014

Ranking 5 distibuciones Linux para el hogar

Hay muchas distribuciones de Linux que podemos elegir a la hora de instalarlas en nuestro equipo, por lo general nos suele interesar algo moderno pero medianamente estable.

En el puesto Nº1 vamos a poner a Ubuntu 14.04
Aunque ya haya salido de forma oficial Ubuntu 14.10 los cambios no son tan significativos, Deribada de Debian, Ubuntu es una distribución fácil, permite instalar programas sin saber prácticamente nada de Linux y viene preinstalado con programas de uso habitual, además la instalación de hardware con software privativo (como NVidia o Ati) es tremendamente fácil de configurar, es la distribución favorita por parte de la plataforma de juegos Steam. Otro punto fuerte es la instalación de codecs de audio y video, mientras que en otras distribuciones tendríamos que instalar repositorios a parte y poner muchos comandos en ubuntu es tan sencillo como abrir el centro de software y buscar por "ubuntu-restricted-extras" es un metapaquete que instala la mayoría de codecs y utilidades que habitualmente se usan, como Adobe Flash Player o la reproducción de ficheros MP3. Durante mucho tiempo ha sido la distribución instalada en mi ordenador.

Para instalar paquetes desde la terminal usa "sudo apt-get install nombredelpaquete"


En el puesto Nº2 vamos a poner a Fedora 20
Fedora es una distribución basada en Red Hat Enterprise Linux (una distribución para empresas), aunque Fedora dispone de un instalador gráfico, normalmente se opta por usar la terminal para instalar paquetes, el punto fuerte de esta distribución es que ofrece las últimas versiones de los programas (motivo por el cual puede volverse inestable) aunque pese a ello se mueve muy bien, la instalación de los drivers privativos es algo mas complicado que en Ubuntu y los paquetes que usa son RPM en pos de los DEB de Ubuntu

Para instalar paquetes desde la terminal usa "sudo yum install nombredelpaquete"


En el puesto Nº3 vamos a poner a OpenSuse 13.2
OpenSuse, desde el cual escribo esta entrada es un sistema que me ha sorprendido gratamente, mi desconocimiento hacia este sistema hizo que durante mucho tiempo no le diera ni una oportunidad para probarlo, pero ha sido precisamente por probarlo por lo que ahora es la única distribucion instalada en mi ordenador. OpenSuse es una distribución casi para principiantes, su centro de control "YaST" ofrece diversas opciones que hacen que la instalación de cualquier hardware o software este a golpe de click, flaquea en la dificultad de instalar hardware con software privativo aunque buscando un poco es posible encontrar la forma (yo mismo tengo el software privativo de nvidia instalado y corriendo a la perfección), aunque posee su propio gestor gráfico de paquetes donde es posible descargar e instalar cualquier programa que venga en sus repositorios es posible que a veces no encuentres el programa que busques, en cuyo caso, y quizá esto sea lo mejor, OpenSuse cuenta con un sistema de instalación de paquetes llamado "1 Click Install" que son enlaces que te proporciona la web de búsqueda de paquetes de OpenSuse u otras páginas con el mismo sistema, lo que hace es que al pulsar sobre esos enlaces, estos instalan el repositorio del paquete que necesitas y el propio paquete.

Para instalar paquetes desde la terminal usa "sudo zypper install nombredelpaquete"


En el puesto Nº4 vamos a poner a ElementaryOS Luna
ElementaryOS es una distribución basada en Ubuntu 12.04, su entorno gráfico cuenta con un panel superior y dock inferior recordando al escritorio de Apple, por internet se comenta y con motivo, que esta distro es de las más bonitas que existen, todo esta diseñado al milímetro, y muchas de de las aplicaciones incluidas son propias, por ejemplo cuenta con un gestor de ventanas propio con animaciones muy fluidas, o un gestor de ficheros con estilo propio de la distro. No es una copia del sistema de Apple, aunque en parte recuerda un poco tiene su estilo muy definido, es fácil de usar y al estar basada en Ubuntu la instalación de hardware con software privativo es sencillo y la instalación de codecs igual.

Para instalar paquetes desde la terminal usa "sudo apt-get install nombredelpaquete"


En el puesto Nº5 vamos a poner una distribución para ordenadores con antigüedad o de baja potencia, Xubuntu 14.04
Xubuntu es uno de los sabores de Ubuntu (hay más), el escritorio de Xubuntu es XFCE4, un entorno que es conocido por consumir pocos recursos, los programas que lleva instalados esta distro son mucho más livianos que los de la propia Ubuntu, como navegador de ficheros usa Thunar en pos de Nautilus, y como suite de ofimática usa AbiWord en pos de LibreOffice, bien configurado es muy personalizable.

Para instalar paquetes desde la terminal usa "sudo apt-get install nombredelpaquete"


martes, 18 de noviembre de 2014

Como crear un servidor web en Ubuntu

La forma más rápida y sencilla de instalar un servidor completo en Ubuntu pasa de la mano de dos comandos esenciales y otro opcional (aunque obligatorio si vamos a usar gestores de contenidos al estilo de WordPress), (Apache, PHP y MySQL) así que cogeremos la terminal y escribiremos los siguientes comandos:

sudo apt-get install lamp-server^
sudo apt-get install php5-gd

Si quieren activar el mod_rewrite para usar URL amigables
sudo a2enmod rewrite
 Y listo, luego de eso su sistema estará configurado con Apache, PHP y MySQL

EDITO PARA EXPLICAR COMO AÑADIR UN VIRTUAL HOST A DEBIAN O UBUNTU:

Creamos un archivo en /etc/apache2/sites-available llamado nuestrositio.com.conf con el siguiente contenido:

<VirtualHost *:80>
    ServerAdmin sdanielch@gmail.com
    ServerName layanos.tk
    ServerAlias test.layanos.tk
    DocumentRoot /var/www/LayanOS
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Luego  hacemos un simple
sudo a2ensite nuestrositio.com.conf && sudo service apache2 reload
Y con eso tendríamos el virtual host funcionando

Configurar la posición de las nuevas "Headers Bars" en Linux

Header Bars es una característica de gnome, están empezandola a usar las nuevas versiones de aplicaciones GTK como nautilus, o relojes en Gnome Shell. Hasta ahora se ha visto como cambiar la posición de de los botones en la barra de título con los gestores de ventana, como metacity, compiz, o o gala entre otros, pero la cosa cambia cuando queremos hacer lo mismo cuando los botones están incrustados en la propia aplicación y no en la barra de títulos, ¿por que modificar la posición? sencillamente porque mientras tengamos aplicaciones que hagan uso de esa tecnología y otras que no veremos que unas usan una posición y otras otra, con esto además nos aseg
uramos que las aplicaciones que hagan uso de esta característica tengan además de la posición que nos interesa, los botones que desaparecen (por defecto ya no se muestran los botones de minimizar o maximizar).

De modo que primero instalaremos un programa para hacer los cambios gráficamente:
sudo apt-get install dconf-editor

Para entornos que usen GNOME
Una vez en el editor, nos dirigimos a:
ORG > GNOME > SETTINGS-DAEMON > PLUGINS > XSETTINGS
y en la entrada que pone "Overrides" escribimos lo siguiente:
{'Gtk/DecorationLayout': <'close,minimize:maximize'>}
Con esto conseguimos añadir los dos botones de minimizar y maximizar y cambiar la posición.

Pero en XFCE esto no es suficiente ya que no carga ninguna sesión de gnome y las aplicaciones hacen caso omiso a esa configuración, por tanto necesitamos "crear" esa opción de configuración en el editor de configuración de XFCE, por eso si nuestro caso es que usamos una sesión de XFCE tenemos que hacer lo siguiente:

Vamos a la terminal, y escribimos lo siguiente:
sudo nano /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
En el caso de Xubuntu:
sudo nano /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml

Ya dentro de ese fichero buscamos la linea
"  <property name="Gtk" type="empty">  "
En ella veremos varios property, pues al final (justo antes de la linea </property>) añadimos la siguiente linea:
<property name="DecorationLayout" type="string" value="close,minimize,maximize:"/>
Luego tendriamos que salir y volver a entrar en XFCE o reiniciar el ordenador.


EDITO CON NUEVA FORMA (PROBADO EN DEEPIN 2015):

1. Edita ~/.config/gtk-3.0/settings.ini añadiendo:
gtk-decoration-layout = close,minimize,maximize:appmenu
2. Si el fichero no existe, asegúrate de que la primera línea sea:
[Settings]

Bienvenidos

Como de si de un Ave Fénix se tratase, AprendeLinux.com vuelve de entre la cenizas dispuesto a hacer que los usuarios de las distintas distribuciones de este potente sistema, conozcan trucos y soluciones a casos habituales.

Para quien no me conozca soy Sergio Daniel Calvo Hidalgo, manejo otros proyectos como Gisp y Desarrolladores Web. Un saludo a todos ;)


Copyright 2015/2016 AprendeLunux.com - Diseño y desarrollo por Sergio Daniel Calvo Hidalgo.