martes, 14 de abril de 2015

Montar particiones en Linux manualmente

Hoy va a tocar el cómo se montan particiones en modo consola, que es realmente muy útil, que las distribuciones de hoy te las montan automáticamente y tal, pero oye, si le das instrucciones de cómo quieres que se monten lo controlarás mucho mejor, y además funcionan mejor luego, o por lo menos eso me parece a mí. Vale para discos duros, lectores... mola mazo.

Lo he tomado "prestado" de dos sitios diferentes:

El primero
Y el segundo

A diferencia de Windows y MS-DOS, en Linux, además de no haber una asignación de letras -a: b: c: d: e:- para las unidades de disco y las particiones, es necesario indicarle al sistema cuando se utilizará una unidad de disco extraíble para poder acceder a esta y cuando se dejará de utilizar para poder retirarla y cambiarla por otra. Una vez configuradas las unidades de disco en el sistema se necesitará conocer algunos métodos y atajos para montarlas y desmontarlas rápidamente.


Preparativos para el montaje

Antes de montar la partición, debemos crear una carpeta donde vamos a montarla. Generalmente se suele hacer en /media/ (/mnt en algunas distribuciones), así que es recomendable que la creemos allí:

sudo mkdir /media/lalala

Donde lalala es el nombre que tendrá la carpeta, podemos asignarle el que queramos.

Si el sistema de archivos de la partición que vamos a montar es NTFS (usado por los sistemas operativos Windows NT, Windows 2000, Windows XP, Windows Media Center, Windows Server 2003, Windows Vista y Windows Server 2008), entonces se recomienda instalar el controlador ntfs-3g para poder tener soporte de escritura en esa partición:

sudo apt-get install ntfs-3g

Si, en cambio, el sistema de archivos es UFS2 (usado por la mayoría de los sistemas operativos basados en BSD, como NetBSD, OpenBSD, FreeBSD y sus derivados), entonces antes de montar la partición tendremos que cargar en la memoria el módulo del kernel ufs:

sudo modprobe ufs

Para no tener que cargarlo cada vez que inicie el sistema, podemos editar el archivo /etc/modules:

gksudo gedit /etc/modules

Y añadir la siguiente línea antes de 'loop':

ufs


Montaje de la partición

Ahora vamos a montar la partición en la carpeta creada. Esto significa que el contenido de la partición va a aparecer en esa carpeta. El comando para montar discos y/o particiones es mount, y se usa de la siguiente manera:

$ sudo mount -t sistema_archivos [-o opciones] /dev/particion carpeta_montaje

Cabe aclarar que si ocurre algún error durante el montaje, no se pondrán en peligro los datos de la partición, simplemente no será montada.


Parámetros

El significado de los parámetros usados en el comando mount son los siguientes:

  • sistema_archivos: es el sistema de archivos de la partición; puede ser vfat (FAT16 y FAT32), ntfs (NTFS) o ufs (UFS y UFS2); hay otros posibles valores, pero no son tratados en este artículo. Si es ufs, entonces debemos indicar de manera obligatoria las opciones ro y ufstype (este último en caso de ser UFS2).
  • opciones: son las opciones de montaje, puede tomar más de un valor, en ese caso los valores se separan con comas (,). Algunos posibles valores son defaults (valores por defecto), ro (Read Only, es decir, Solo Lectura) y ufstype (para especificar el tipo de sistema de archivos UFS, en caso de que se use este); si no se especifican opciones especiales, podemos escribir defaults, u obviar este parámetro por completo (quitando también el -o de adelante). En este artículo, usaremos este parámetro únicamente para el montaje de particiones UFS y UFS2, y para el montaje al inicio del sistema (véase el encabezado Montaje al inicio del sistema).
  • partición: es el identificador de la partición que vamos a montar; puede ser hdXY en caso de ser un disco IDE o ATA, o sdX,Y en caso de ser SATA; la X es la letra del disco rígido (a para el primero, b para el segundo, etc.) y la Y es el número de partición (1 para la primera, 2 para la segunda, etc.). Si queremos saber el nombre de las particiones que tenemos en el equipo, basta con ejecutar el siguiente comando:

    $ sudo fdisk -l


    He señalado con amarillo lo importante.

  • carpeta_montaje: es la carpeta donde se montará la partición, es decir, donde aparecerán los datos (archivos y carpetas) de la partición; en la mayoría de los casos se encuentra dentro de /media/, aunque puede estar en cualquier otro lugar (véase el encabezado Preparativos para el montaje).

Ejemplos concretos

Para montar una partición FAT16 o FAT32:

sudo mount -t vfat /dev/particion /media/carpeta_montaje

Para montar una partición NTFS:

sudo mount -t ntfs /dev/particion /media/carpeta_montaje

Para montar una partición UFS:

sudo mount -t ufs -o ro /dev/particion /media/carpeta_montaje

Para montar una partición UFS2:

sudo mount -t ufs -o ro,ufstype=ufs2 /dev/particion /media/carpeta_montaje

Para montar una partición donde está Ubuntu:

sudo mount /dev/particion /media/carpeta_montaje


Montaje al inicio del sistema

Una vez que hayamos conseguido montar la partición, quedará montada mientras el sistema esté en marcha. Cuando reiniciemos o apaguemos el equipo, tendremos que volver a montar la partición. Si queremos que se monte cada vez que iniciamos el sistema, necesitaremos modificar el archivo /etc/fstab:

$ sudo gedit /etc/fstab

Aquí se ha usado GEdit, pero puede usarse cualquier editor de textos, como Nano o Vim. Conviene usar gksudo o kdesu en vez de sudo para iniciar un editor en modo gráfico; el primero es para el escritorio GNOME y el segundo para KDE.

Una vez abierto el archivo, tenemos que cambiar la línea que comience con el identificador de la partición que hemos montado (/dev/hdXY o /dev/sdXY) por la siguiente:

/dev/particion /media/carpeta_montaje sistema_archivos opciones 0 0

Si no existe esa línea, la añadimos al final del archivo.

Los argumentos son los mismos que cuando usamos el comando mount. Aquí, si en opciones no usamos ningún valor, tendremos que escribir defaults, y nos quedaría algo así:

/dev/particion /media/carpeta_montaje sistema_archivos defaults 0 0

Si es una partición FAT16 o FAT32 y no nos funciona con defaults, podemos probar las siguientes opciones:

auto,users,exec,umask=000
defaults,rw,user,auto,umask=0

Con esta última se están dando permisos de lectura, escritura y ejecucion a todos los usuarios. Si queremos restringir estos permisos solo a un grupo particular de usuarios (por ejemplo: users), las opciones deben quedar así:

defaults,rw,user,auto,umask=007,gid=grupo 0 0

Donde grupo debe sustituirse por el grupo de usuarios, por ejemplo, users.

Finalmente, si por cualquier motivo no se detectan bien algunos caracteres (como la letra ñ), debemos añadir la siguiente opción junto con las otras utilizadas, para cambiar el mapa de caracteres:

iocharset=utf8

Por ejemplo, una línea podría quedar así:

/dev/hda0 /media/hda0 vfat defaults,rw,user,auto,iocharset=utf8,umask=000 0 0

Para montar todos los dispositivos listados en el archivo /etc/fstab tenemos que ejecutar el siguiente comando en una terminal:

sudo mount -a

Con esto ya tendemos montada nuestra partición cada vez que se inicie Ubuntu.


Crear un lanzador a la partición

Una vez que tenemos montada la partición, comprobamos que en ocasiones puede resultarnos incómodo acceder siempre a la carpeta /media/hdXY (o a la que hayamos especificado), para solucionar esto podemos hacer dos cosas:

  • Crear un lanzador simbólico en nuestra carpeta home o en cualquier otra carpeta.
  • Crear un icono en el escritorio que nos dirija a la carpeta de montaje.

Lanzador simbólico en /home

La primera opción es crear un lanzador simbólico (son como los accesos directos de Windows), por ejemplo en nuestra carpeta personal home. Con ello conseguiremos acceder a la partición desde esta carpeta y sin duplicar la información.

Escribimos la siguiente línea en la terminal:

$ ln -s /media/carpeta_montaje /home/usuario/carpeta_destino

Donde carpeta_montaje es la carpeta donde montamos la partición, usuario es el nombre de nuestro usuario en el sistema y carpeta_destino es el lanzador simbólico que crearemos para que actúe como carpeta de montaje.


Icono en el escritorio

Si lo que queremos es crear un ícono en el escritorio, debemos hacer lo siguiente:


En GNOME
  • Desplegamos el menú contextual del escritorio (botón derecho del ratón).
  • Seleccionamos la opción Crear enlace.
  • Escogemos el tipo Enlace.
  • Rellenamos los campos en blanco con los datos requeridos.
  • Aceptamos para que se cree el enlace.

En KDE
  • Desplegamos el menú contextual del escritorio (botón derecho del ratón).
  • Seleccionamos la opción Crear nuevo->Enlace a dispositivo->Disco duro
  • En la pestaña General, escribimos el nombre del icono.
  • En la pestaña Dispositivo, escribimos el identificador de la partición (/dev/hdXY).
  • Aceptamos para que se cree el enlace.

Desmontaje de la partición

Si por cualquier motivo deseas desmontar la partición, no tienes más que escribir esto en terminal:

sudo umount carpeta

Donde carpeta es la ubicación de la carpeta donde está montada la partición (por ejemplo: /media/hdaX).

martes, 24 de marzo de 2015

Error "Function split() is deprecated"

Voy a poner un tutorial sencillo, esta vez es de programación, fue un error que me salía por un RSS con el que estaba jugueteando y me salía ese errorcillo.

Enlace al tutorial

Problema

En un proyecto con Joomla utilizo el módulo "JComments Latest" en su versión 2.5.4, que sirve para mostrar los últimos comentarios realizados en los artículos de Joomla, donde lógicamente está instalado el famoso componente JComments.

Trabajaba con Joomla 1.5.21 en un recién actualizado PHP 2.3.8. Parecía que todo funcionaba correctamente con el cambio de versión de PHP en el servidor, pero un día un usuario escribió un enlace en su comentario y a continuación apareció un mensaje de error en el módulo JComments Latest al intentar mostrar mencionado comentario:

Deprecated: Function split() is deprecated in /home/web/public_html/components/com_jcomments/jcomments.php on line 1245



Solución

Después de mucho buscar, pude saber que el error viene provocado a que JComments utiliza la función split para acortar los enlaces que se escriben en los comentarios, pero esa función está obsoleta en la nueva versión de PHP.

Para solucionarlo, pude econtrar un rápido y sencillo remedio. En primer lugar, buscamos el archivo donde nos da el error:

...components/com_jcomments/jcomments.php

Y lo editamos, sustituyendo en todo el documento la expresión:

split

Por:

explode

Realizando este sencillo cambio, se actualiza la función y todo vuelve a funcionar correctamente.

lunes, 9 de febrero de 2015

Comprobar la integridad de una imagen ISO en GNU/Linux

Nuevo tutorial, hoy toca uno facilito, tenemos que saber comprobar si una ISO que hemos bajado es buena, o está estropeada y debemos bajarla otra vez, porque si está estropeada luego no nos va a funcionar

He cogido el tutorial de esta página:

Tutorial ISO

SHA-256


Al instalar una distribución GNU/Linux, es muy común el proceso de descargar la imagen ISO, comprobar su integridad, y quemarla en un CD o DVD. Al final, esto es algo que sale de manera automática, pero en un principio puede no ser tan evidente. En esta guía verás como verificar la integridad de una imagen ISO desde Linux.


Sobre la función hash

Para verificar que la integridad de una imagen ISO, lo que se hace es comprobar lo que se denomina el hash del archivo descargado, para luego compararlo con el HASH original que le corresponde a la imagen. En caso de no se hayan producido errores de descarga, las dos funciones hash deben coincidir.

El hash es una función algorítmica que permite identificar una entrada, ya sea una imagen ISO, un archivo de texto, una contraseña, etc., mediante un conjunto de caracteres únicos para esa entrada. Existen diferentes algoritmos de funciones hash, pero quizá los más utilizados a nivel práctico sean el MD5 y el SHA-1.

El uso de funciones hash está ampliamente extendido en el ámbito de la seguridad informática, ya que es una manera de comprobar la integridad de datos o contraseñas, a la vez que se puede usar como firma digital. Para nuestro caso, nos va a servir para comprobar la integridad de una imagen ISO que nos hayamos descargado.

La mayoría de distribuciones GNU/Linux ya vienen con los paquetes necesarios para poder realizar la comprobación de hashes mediante los algoritmos MD5 y SHA-1. Dicho esto, a continuación tienes el proceso para verificar la imagen ISO de la distribución que te hayas descargado por internet.


Comprobar la integridad de una imagen ISO mediante los hashes MD5, SHA-1 y SHA-256

El primer paso es abrir la terminal y situarte en el directorio en el que tengas descargada la imagen ISO. En caso de que esta se encuentre en la carpeta de Descargas, simplemente debes teclear:

$ cd Descargas


Si quieres hacer la comprobación mediante el algoritmo MD5, puedes usar la herramienta md5sum, la cual viene instalada por defecto en la mayoría de distribuciones GNU/Linux. Para hacer el cálculo de la función hash mediante esta herramienta, simplemente debes teclear el siguiente comando:

$ md5sum <nombre del archivo ISO>


En caso de en la web haya publicado el hash SHA-1 del archivo, para hacer la comprobación deberemos usar el algoritmo SHA-1, más seguro que el MD5. Para ello, puedes utilizar la herramienta sha1sum, que también suele venir instalada por defecto. En este caso, el comando a utilizar es:

$ sha1sum <nombre del archivo ISO>


Ahora toca el comando para el SHA-256:

$ sha256sum <nombre del archivo ISO>


Finalmente, solo quedaría comprobar que el hash calculado, coincide con el hash publicado en la web desde dónde hayas realizado la descarga del archivo, generalmente la web oficial de la distribución GNU/Linux en cuestión.


El tiempo en calcular el hash depende de la potencia del procesador, pero en general no suele tardar más que unos pocos segundos. Aunque también existen programas que te permitan hacer lo mismo de manera gráfica, las herramientas que hemos utilizado permiten hacer el cálculo con un simple comando, y el proceso es sumamente sencillo.

jueves, 1 de enero de 2015

Montar discos duros y discos ópticos en /media en vez de en /media/user

Año nuevo, así que quiero empezar el nuevo año ya metiéndome en faena, haciendo otro pequeño nuevo tutorial, que espero que sea útil.

Es un "problema" que he encontrado en las últimas versiones de Ubuntu, que ahora, cuando metes un disco duro nuevo, o lo que sea, Ubuntu te lo monta automáticamente (cosa que no me gusta), y además, lo monta dentro de "media" pero en una nueva carpeta, que es tu usuario... a mí me parece una bobada como una catedral, pero bueno, con este tutorial te lo seguirá montando automáticamente, pero por lo menos no hará carpetas nuevas inútiles.

linuxmint francia

Este tutorial está en francés, así que lo voy a poner aquí traducido, que para eso sé francés... si es que soy la ostia.


Desde que llegó Ubuntu 12.04 y la llegada de "udisks2", el montaje de las particiones por el navegador de ficheros (nautilus, dolphin...) se hace en "(/run?)/media/$user/nombre_de_la_particion" en vez de en "/media/nombre_de_la_particion".

Mi música está en una partición e hice un enlace simbólico en mi "/home/musica", para escucharlas, escaneo la carpeta "/home/musica" con "Rhythmbox".

Ahora, los navegadores utilizan "udisks2" y los "dev" de "udisks2" han cambiado el punto de montaje.

Si queréis que el punto de montaje sea como antes, hace falta coger ("coger" en español, no en argentino) el código, corregir un fichero y compilar.

Cargar el código. Versión actual: Bueno, en el post original dice "2.0.0-1", yo tengo la versión "2.1.3", asegúrate de cuál es la versión actual cuando leas esto, ya ves que se va actualizando.

apt-get source udisks2

Instalar las dependencias para la compilación.

sudo apt-get build-dep udisks2

Ir a la carpeta donde se encuentran los códigos.

cd udisks2-2.1.3

Abrir el fichero a corregir.

kate src/udiskslinuxfilesystem.c

Eliminar las líneas 864 á 899, como las que están en la imágen y guardar.
Emm... una cosita, no tiene porqué estar exáctamente en esas líneas, tú búscalas que estarán cerca, y bueno, en lugar de borrarlas, coméntalas, así puedes devolver el código a como estaba antes sin problemas... nunca borres código si no es estríctamente necesario. Con // comentas una sola línea, y con /*....*/ comentas todo lo que haya entre los asteriscos.

Compilar e instalar

./configure --prefix=/usr
make
sudo checkinstall

Ya sólo queda reiniciar el ordenador y las particiones se montan como antes.

domingo, 28 de diciembre de 2014

Saber qué versión de un programa instalado en GNU/Linux

Hoy toca hacer otro pequeño tutorial, hay que saber si el programa que tenemos instalado es la última versión del programa o no, por el tema de si toca actualizarlo... pues tenemos un código para la terminal para saberlo

He sacado este tutorial de la siguiente página:

Enlace a paraisolinux

Adelante:


En GNU/Linux estamos acostumbrados a las actualizaciones de programas, gracias a que existen los repositorios, casi siempre tenemos la última versión de cada programa haciendo un simple update.

Pero a veces pudes tener alguna razón para saber que versión de tal programa está instalado.

Ejemplo, quieres instalar firefox, pero antes quieres saber si tienes la última versión instalada. Lo más fácil es ir al programa en cuestión, y en alguno de los menus superiores dirá algo como, "Ayuda", y dentro de ese menú, algo como "About" o "Acerca de...".

Pero a veces los programas no tienen eso, en especial si son para la consola, o tal vez estamos buscando versiones de otra clase de paquetes, como el entorno de ventanas.

La manera de hacerlo es sencilla. En la consola escribimos:

firefox --version

Seria igual para otros programas, openbox, por ejemplo:

openbox --version

A veces no sale con sólo escribir el nombre del programa y hay que escribir su ruta completa. Por ejemplo con geany

/etc/bin/geany --version

En distribuciones basadas en debian, como ubuntu, también podemos usar:

sudo dpkg -l | grep ^ii | grep gnome




Y hasta aquí este nuevo tutorial, que para la posteridad quede.

lunes, 24 de noviembre de 2014

Crear y eliminar enlaces simbólicos

Hoy toca hacer un pequeño tutorial para crear enlaces simbólicos, ganas en comodidad, por el asunto de que algunas carpetas están ocultas, pero que a veces necesitas meterte para cambiar algún parámetro o algo así, que si lo haces tú manualmente, no pasa nada, pero si tienes que buscar esas carpetas a través de un programa, no los encuentras, porque los programas no pueden meterse en esas carpetas.

El tutorial lo he sacado de la siguiente página:

http://perdigue.wordpress.com/2009/02/17/crear-un-enlace-simbolico-en-linux/

Y ahora, empezamos con el tutorial:


Un ”enlace simbólico” es el equivalente a un ”acceso directo“, así de simple, y su uso en GNU/Linux es muy importante, dado que si por ejemplo queremos dar acceso a un usuario a una determinada carpeta, pero no de forma directa, lo mas fácil es crearle un enlace simbólico en su directorio /home/<usuario>, para que acceda a dicho contenido sin que que tenga porqué estar navegando o accediendo a partes del sistema que no queremos.

El caso mas común es el siguiente. Imaginaros que creamos un usuario FTP, con acceso a su /home/<usuario>, e imaginaros también, que ese usuario tiene que publicar contenido web dentro de la carpeta /var/www, o a la carpeta /opt/lampp/htdocs donde se ubicarán nuestros sitios web.

Pues la solución a este problema la tenemos con los enlaces simbólicos, dado que lo único que temos que hacer, es crear una carpeta llamada por ejempo www, dentro de su /home por tanto:

/home/<usuario>/www

Y haremos que su directorio web, dentro de /opt/lampp/htdocs, esté enlazada con esta.

Con esto se consigue que puedas utilizar la carpeta creada en tu usuario como la carpeta raíz de tu servidor web, que es lo que queremos nosotros para tener un correcto nivel de seguridad en nuestro equipo.

Para realizar todo esto, lo haríamos por tanto con el comando ”ln“, que es el que GNU/Linux se utiliza para crear estos enlaces. Así pues, la forma de utilizar este comando con el ejemplo que he expuesto, sería la siguiente:

Para publicar ficheros en el servidor web, se crea una carpeta llamada por ejemplo /home/<tu_usuario>/www

$ cd /home/<tu_usuario>
$ mkdir www

Posteriormente creamos un enlace simbólico de esta carpeta en /var/www/<tu_usuario>

$ sudo ln -s /home/<tu_usuario>/www /opt/lampp/htdocs/www
Ccon esto se consigue seguridad, y que todo lo que publiques en tu carpeta www de tu directorio personal se vea automáticamente en la página web dentro del directorio de tu usuario).

Como véis, he puesto un ejemplo muy práctico si tenéis instalado xampp, pero se os pueden ocurrir mil ideas, y ahora que ya conocéis el comando, eso ya depende de vosotros.

Pero ahora imagínate que la carpeta que has creado te deja de ser útil, o que te equivocas, entonces te toca eliminar la carpeta:

$ rm www

Fácil y sencillo.

miércoles, 8 de octubre de 2014

Alojar nuestro dominio .tk en Hostinger

Esto no tiene nada que ver con GNU/Linux ni nada, pero es una cosilla que también quiero tener apuntada, por si acaso en alguna ocasión me viene bien.

El tutorial lo pillo de la siguiente página:

http://webgratis.tk/2012/manual-como-crear-una-web-gratis-con-dominio-tk/


Venga, ahora empezamos con el tutorial:


1º: Vamos a http://www.dot.tk/es/pageB00.html y nos creamos un dominio:


En este ejemplo usamos “mi-dominio.tk” que esta libre, despues de registraros, buscar vuestro propio nombre de dominio, la mayoria de los dominios TK son Gratis, pero hay una lista de dominios premiun que si nos cobraran, Nosotros cuando encontremos uno disponible, seleccionamos la opcion de “dominio gratuito” y procederemos a enlazarlo a nustro Hosting Gratuito, para lo cual seleccionamos “use my own DNS Services” e introducimos las DNS del Hosting Gratuito Hostinger que vamos a usar, estas son: “ns1.hostinger.es” y “ns2.hostinger.es”  , mas abajo seleccionamos el periodo de registro, ponemos 12 meses, introducimos el captcha y confirmamos, ya tenemos un dominio tk registrado.

Lo que yo no sé es si cuando hayan pasado esos 12 meses, te dejarán renovarlo gratuitamente igual, en fin, cuando lo sepa ya actualizaré esta entrada.


2º: Pero, ¿y qué pasa si ya tienes registrado un dominio .tk? Vale, tienes la siguiente ruta:

Domains->My Domains->Manage Domain->Management Tools->Name Servers

Una vez allí, tienes que apuntar los DNSs de Hostinger en donde están los "Nameserver":


Perfecto, ahora queda indicárselo todo a Hostinger.

3º: Ahora nos vamos a Hostinger y vamos a crear una cuenta gratuita de hosting, al registrarnos seleccionaremos “dominio” e introducimos el nuestro que registramos antes, aceptamos y ya esta!! cuando se propagen los DNS por la red (2-12hr) podremos acceder a nuestro dominio desde un navegador de internet y empezar a trabajar con el:



4º: Cuando los DNS estén listos y el dominio que hemos elegido antes ya nos lleve a la web de hostinger, accederemos a nuestra cuenta y buscaremos en el panel web “Sitios Web/ Instalador Automatico” donde tendremos un montón de sistemas de blog, wikis, portales web, tiendas online, foros…



5º: Buscamos e instalamos automáticamente el que mas se adapte a nuestro proyecto, en un par de clicks tendrás la web instalada y funcionando, lista para configurar y empezar a editar estilos y crear contenido, pero eso lo veremos en un próximo manual para los sistemas mas usados como son blogs de wordpress, foros phpbb3 o tiendas online con prestashop, pero por ahora ya puedes entretenerte un poco.






Y ya está, la verdad es que los dos últimos pasos los veo bastante innecesarios, por lo menos para lo que son mis necesidades actuales, pero bueno, como el saber no ocupa lugar, pues ahí queda.