domingo, 4 de noviembre de 2012

SSHFS: Acceder localmente a un directorio remoto


sshfs es un cliente de un sistema de ficheros, basado en el protocolo SSH de transferencia de ficheros.

La mayoría de los servidores de SSH ya soportan este protocolo por lo que es muy sencillo configurarlo (En el servidor no es necesario configurar nada, y en el cliente es tan fácil como hacer login mediante SSH)

sshfs está basado en FUSE (Filesystem in USErspace)

FUSE proporciona un módulo del kernel y una API para implementar sistemas de ficheros en espacio de usuario.



Instalar sshfs en Debian.


En el ordenador remoto necesita estar ejecutándose el servidor SSH.

En el ordenador local instalaremos el cliente de sshfs.

$ sudo aptitude install sshfs

El kernel en el sistema local necesita estar compilado con soporte para FUSE:
CONFIG_FUSE_FS=m



Privilegios (grupo fuse)

domingo, 21 de octubre de 2012

GIT : Guía Rápida : Chuleta


INSTALAR GIT
$ aptitude install git-core # instala las herramientas básicas de git.

NOTA: En Debian Sid
$ aptitude install git


gitk : herramienta gráfica.
$ aptitude install gitk # esta herramienta gráfica nos permite visualizar repositorios de git.



INICIALIZAR UN REPOSITORIO

$ git init # Crea un repositorio vacío en el directorio actual, o reinicializa un repositorio existente.
$ git init directory_name # Crea un repositorio vacío en el directorio "directory_name"

$ git clone remote_url # clona un repositorio remoto. Si pasamos como argumento un directorio local, este comando clona el repositorio local.

$ git clone --depth 1 git://git.sip.router.org/sip-router kamailio # clona las fuentes de sip-router, creando un directorio local llamado kamailio. La opción "depth 1" indica que sólo tomamos una revisión de la historia. Ésto reduce el tamaño de la historia a descargar, pero inhabilita los comandos clone, fetch, push y pull en ese repositorio. Por eso sólo es adecuado para generar parches.

$ git clone source_repo dest_repo # clona un repositorio local "source_repo" en otro repositorio local "dest_repo", si ambos son directorios.

$ git clone file:///path/to/source/repo file:///path/to/dest/repo # otra manera de especificar directorios locales.
De esta manera estamos seguros de que git no usará "hard links" cuando clone el repositorio fuente.
$ git clone --no-hardlinks source_local_repo dest_local_repo # clona un repositorio y copia los ficheros objeto en lugar de usar "hardlinks" para los objetos locales del repositorio.


GIT SVN

sábado, 20 de octubre de 2012

Mplayer: Mostrar subtítulos en color


Al ejecutar mplayer vamos a dibujar los subtítulos de un color distinto a la gama de grises por defecto.

Mplayer es un reproductor multimedia.


OPCIÓN ASS


Según la página de manual de mplayer:
$ man mplayer

-ass (Sólo para fuentes FreeType)
  Activa el renderizado de subtítulos SSA/ASS. Esta opción
  utiliza la librería libass para subtítulos SSA/ASS externos
  y pistas Matroska. 

Librería LibASS (Wikipedia)

Esta opción también funciona para subtítulos de tipo distinto al SSA, por ejemplo SRT.


Al emplear la opción -ass en mplayer podremos utilizar otras opciones que nos permitirán el cambio de color en las fuentes.


COLOR DE LAS FUENTES

domingo, 14 de octubre de 2012

Testear los discos duros utilizando smartctl


Vamos a chechear el estado de discos duros que soporten la tecnología SMART (Self-Monitoring, Analysis and Reporting Technology)

Para ello utilizaremos las Smartmon tools http://smartmontools.sourceforge.net

Instalamos las smartmon tools:
$ sudo aptitude install smartmontools

Utilizaremos el comando smartctl.


Primero necesitamos identificar el disco a testear:
Listar los dispositivos de almacenamiento del sistema


Supongamos que el disco duro a testear está asociado al fichero /dev/sdb. Necesitamos permisos para acceder a dicho dispositivo. Si no, utilizaremos sudo.


Obtenemos información del disco duro

sábado, 6 de octubre de 2012

Dividir un fichero de vídeo (AVI, FLV,...) usando Mencoder y Mplayer


Mencoder es un programa codificador de vídeo, que nos permite dividir un fichero multimedia (p.ej: AVI) en varios ficheros AVI más pequeños.

Vamos a dividir el fichero de vídeo manteniendo los mismos códecs de vídeo y audio.

Mencoder también acepta otros formatos diferentes del AVI, también podremos cortarlos, pero el resultado serán ficheros en formato AVI.


SEPARAR UN FICHERO EN DOS PARTES

P.ej: Vamos a separar el fichero foo.avi en foo1.avi(duración 600 segundos) y el resto en foo2.avi

Siguiendo las indicaciones de la página man de mencoder, podríamos utilizar las siguientes opciones:
$ mencoder foo.avi -o foo1.avi -oac copy -ovc copy -endpos 600
$ mencoder foo.avi -o foo3.avi -oac copy -ovc copy -ss 600


opciones de mencoder:

domingo, 30 de septiembre de 2012

Generar, tostar y extraer imágenes de CD-ROM y DVD en consola


En este artículo mostraremos como generar imágenes iso, cómo tostarlas y ó extraerlas de un CD-ROM ó DVD existente.


Generar una imagen iso con genisoimage


Instalamos genisoimage: (Debian ó Ubuntu)
$ sudo aptitude install genisoimage

Seleccionamos el directorio del cual queremos generar la imagen
Ej: cd_dir

Comprobamos el tamaño para saber que cabe en el CD, DVD.
$ du -sh cd_dir


Generamos la imagen:
$ genisoimage -o cd_dir.iso cd_dir

Ahora podremos tostar la imagen cd_dir.iso en un CD-ROM.


Tostar la imagen iso - WODIM


Wodim es una herramienta de consola para escribir datos en los discos ópticos multimedia.
$ man wodim

lunes, 24 de septiembre de 2012

ED editor de línea - tutorial


Ed es un editor de texto orientado a línea.

Puede usarse interactivamente o en shell scripts.

Ed es el editor original de Unix. Fue escrito por primera vez por Ken Thompson en 1971.

Ed es un editor pequeño, con pocas dependencias, que puede ayudarnos a editar ficheros en situaciones donde otros editores no son usables.


INSTALACIÓN (DEBIAN)


$ sudo aptitude install ed
$ which ed
/bin/ed
$ ed # run ed program.


EJECUTANDO EL EDITOR ED


$ ed file_name # Abre el fichero file_name para editarlo. Los cambios no se guardarán hasta que introduzcamos el comando w.


ESTRUCTURA DE LOS COMANDOS


Ed funciona aceptando comandos que editan partes del fichero.


Los comandos normalmente presentan esta estructura:

[DIRECCIÓN [,DIRECCIÓN]]COMANDO[PARÁMETROS]

Los comandos son de una letra de longitud.

Dirección indica a qué líneas se aplicará el comando.

Los parámetros se pasan al comando.


MOSTRAR Y OCULTAR EL PROMPT

sábado, 25 de agosto de 2012

SSH cliente y servidor: Introducción


El cliente de SSH es una aplicación que permite hacer logging en un ordenador remoto y también ejecutar comandos remotamente.

También es posible ejecutar aplicaciones gráficas, y redirigir puertos TCP entre las máquinas local y remota, en ambos sentidos.

SSH establece una comunicación segura cifrada entre la máquina local y remota a través de una red insegura.

El cliente SSH para funcionar necesita conectarse al servidor SSH situado en la máquina remota.


Instalar ssh y sshd


Los programas binarios de SSH son:

sshCliente SSH de OpenSSH (programa de login remoto)
sshdDemonio SSH de OpenSSH


En Debian o Ubuntu:

$ sudo aptitude install openssh-client # instala el cliente ssh.

$ sudo aptitude install openssh-server # instala el demonio sshd.


Configurar el cliente SSH

sábado, 11 de agosto de 2012

Listar los dispositivos de almacenamiento del sistema


En la filosofía unix cada dispositivo tiene asociado un fichero.

Los dispositivos de almacenamiento (discos, disquetes, memorias usb, etc) aparecen en el directorio dev, y suelen nombrarse:
/dev/sda --> primer disco (conectado en la primera interfaz)
/dev/sda1 --> primera partición del primer disco
/dev/sda2 --> segunda partición en el primer disco
...
/dev/sdb --> segundo disco.
/dev/sdb1 --> primera partición del segundo disco
/dev/sdb2 --> segunda partición del segundo disco
/dev/sdb3 --> tercera partición del segundo disco
...
/dev/sdc --> tercer disco.

También a veces aparecen como /dev/hda, /dev/hda1, /dev/hdb, etc.


La forma anterior de nombrar los discos no ayuda a identificarlos. Además de que pueden variar entre cada reinicio.

Una manera de identificarlos es recién conectado el disco (si es memoria usb, por ejemplo) ejecutar:
$ dmesg | tail # y en el log veremos qué dispositivo se acaba de conectar.


Directorio /dev/disk

sábado, 28 de julio de 2012

GNU Screen : Guía rápida : Chuleta

GNU Screen es una aplicación que permite multiplexar varios terminales virtuales en un único terminal.

Entre otras características ofrece persistencia de las sesiones.

Instalar Screen

# aptitude install screen # Instala screen en Debian y Ubuntu.

Ejecutar screen

$ screen # ejecuta la aplicación screen.
$ screen -ls # lista todas las sesiones de screen.
$ screen -r # intenta asociarse a una sesión desasociada de screen.
$ screen -x # se asocia a una sesión de screen existente incluso si no está previamente desasociada.
$ screen foo_command # lanza screen y ejecuta "foo_command" en la ventana creada. Si se ejecuta en una ventana de screen previamente existente, entonces no crea una nueva sesión de screen, pero crea una nueva ventana en la sesión actual de screen.

Comandos dentro de screen

lunes, 4 de junio de 2012

Cómo instalar Vodafone Mobile Broadband (VMB)-WADER en Ubuntu LUCID 10.4 LTS

¿QUÉ SON VMB Y WADER?


Vodafone Mobile Broadband (VMB) es un software gráfico de control de 3G patrocinado por Vodafone.

Wader es un demonio controlador de 3G que actúa directamente sobre los dispositivos móviles.

VMB se comunica con Wader mediante el bus dbus.

Actualmente VMB/Wader soporta "wvdial" y "Network Manager" como backends.

Ambos, VMB and Wader, están escritos en python.

Vamos a instalarlos en un sistema Ubuntu Lucid (10.4 LTS).


DESCARGAR EL CÓDIGO FUENTE


VMB y Wader no forman parte del repositorio oficial de Ubuntu Lucid, así que vamos a construir los paquetes desde las fuentes.

Primero necesitamos instalar git para clonar los repositorios de VMB y Wader:

$ sudo aptitude install git-core
$ git clone https://github.com/andrewbird/wader
$ git clone https://github.com/andrewbird/vodafone-mobile-broadband


INSTALAR Y CONSTRUIR LAS DEPENDENCIAS

domingo, 3 de junio de 2012

Conectarse a Internet usando un Sony Ericsson K530i en Debian via Bluetooth

En este post vamos a explicar cómo conectarse a internet usando un teléfono móvil Sony Ericsson K530i vía bluetooth, en un sistema Debian Sid.

CONFIGURAR EL TELÉFONO K530i


El primer paso consiste en configurar el bluetooth en el teléfono.

Activar bluetooth en el teléfono:
Ajustes -> Conectividad -> Bluetooth ->Activar

Asignamos un nombre a nuestro teléfono:
Ajustes -> Conectividad -> Bluetooth -> Nombre del tfno
Seleccionamos un nombre para el teléfono, p.ej: my_K530i

Hacemos el teléfono visible a otros dispositivos bluetooth:
Ajustes -> Conectividad -> Bluetooth -> Visibilidad -> Mostrar tfno


INSTALAR EL SOFTWARE BLUETOOTH

sábado, 26 de mayo de 2012

GNU/Linux: DIRECTORIOS de SISTEMA y sus SISTEMAS de FICHEROS


Al ejecutar $ ls / listamos el contenido del nodo raíz del sistema de ficheros. Aparecen directorios como:
/dev, /etc, /proc, /sys, /var, /tmp y otros.


En este artículo vamos a investigar los directorios que tienen asociados sistemas de ficheros especiales.


Para obtener una idea general de la jerarquía del sistema de ficheros, podemos visitar la página: Filesystem Hierarchy Standard.

El estandar FHS es un conjunto de recomendaciones acerca de cómo estructurar los ficheros y directorios en un sistema operativo basado en UNIX.


Averiguar qué sistemas de ficheros están montados


Dos comandos nos permiten examinar qué sistemas de ficheros y dónde están montados en nuestro sistema.

$ mount
ó
$ cat /etc/mtab


Su respuesta será algo similar a ésto:
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.22-14-generic/volatile type tmpfs (rw)
securityfs on /sys/kernel/security type securityfs (rw)


Estamos específicamente interesados en estos directorios: /proc, /sys, /var/run, /var/lock, /dev, /dev/shm, /dev/pts, /sys/kernel/security




El directorio /proc

sábado, 19 de mayo de 2012

SWAP en un FICHERO en LINUX


Este artículo muestra cómo crear un fichero estandar y configurar tu sistema basado en linux para que active el swap y pagine la memoria sobre ese fichero.

CREAR EL FICHERO PARA SWAP


Vamos a crear el fichero de swap usando el comando dd. El comando cp no es útil porque el fichero de swap no puede contener huecos.
# dd if=/dev/zero of=/mnt/swapfile bs=1M count=200 # Creamos el fichero de swap de 200 Megabytes de tamaño.

Por seguridad desabilitamos los permisos de lectura y modificación del fichero de paginación para otros usuarios.
# chown root.root /mnt/swapfile
# chmod 600 /mnt/swapfile

El tamaño del swap es ilimitado para versiones del kernel mayores de la 2.3.3.
Kernels después de la 2.4.10 soportan hasta 32 áreas de swap.


CONFIGURAR EL FICHERO DE SWAP

domingo, 6 de mayo de 2012

SHELL SCRIPT que indica la VELOCIDAD de la RED


El siguiente shell script muestra la velocidad actual de subida y bajada de la interfaz de red que elijas.

Copia el shell script en un fichero llamado, por ejemplo: net_speed.sh.

A continuación configuramos los permisos de ejecución:
$chmod a+x net_speed.sh

El shell script se ejecuta pasándole como primer argumento la interfaz de red que quieres monitorear:
./net_speed.sh eth0

Obtendremos una línea, al ejecutarlo, como esta:
ppp0 DOWN:15 KB/s UP:880 B/s

Este script funciona parseando el archivo /proc/net/dev y calculando la diferencia entre los bytes transmitidos o recibidos actualmente y hace un segundo.

#!/bin/bash

# Este shell script muestra la velocidad de la red, tanto de subida como de subida como de bajada.

# Uso: net_speed.sh interface
# p.ej: net_speed.sh eth0


# Variables globales

miércoles, 2 de mayo de 2012

Listar un directorio con colores a través del paginador less


Si eres un usuario normal, distinto del root, y ejecutas el comando:

$ls /

obtienes un listado del directorio raíz a color.


Ésto ocurre porque para los usuarios distintos de root, ls es un alias a 'ls --color=auto'.


Si obtenemos un listado muy largo y queremos paginarlo, por ejemplo:

$ls -R / | less

no nos aparece ningún color en la salida estandar.


Para arreglarlo usamos less -r

$ls -R / | less -r

La opción -r indica que el paginador less deje pasar tal cual los caracteres de control, y así si nuestro terminal entiende los colores los mostrará en pantalla.

¡Pero sorpresa! Seguimos sin ver ningún color.

domingo, 29 de abril de 2012

Cómo CAMBIAR la etiqueta (LABEL) a una PARTICIÓN tipo ext2 ó EXT3 en Ubuntu


Las diversas particiones de nuestro disco duro a veces tienen asociado un nombre o etiqueta (label).

Esta etiqueta puede ser útil a la hora de identificar la partición o símplemente si queremos crear una regla en /etc/fstab para montarla.

Nos vamos a preocupar sólo de cómo cambiar etiquetas a particiones de tipo ext2 ó ext3. Los otros tipos de particiones tengrán otras herramientas diferentes.


Primero instalamos la herramienta que necesitamos:
$sudo aptitude install e2fsprogs


Ahora que tenemos la herramienta la usamos con un ejemplo:
$sudo e2label /dev/sda6 OpenSuse111

El ejemplo anterior quiere decir que a la partición /dev/sda6 le asignamos la etiqueta OpenSuse111.


Nota: Si queremos un listado de las particiones de nuestros dispositivos de almacenamiento:
$ls -lR /dev/disk

ó un listado por etiquetas:
$ls -l /dev/disk/by-label

sábado, 28 de abril de 2012

APT, APTITUDE y DPKG : Guía Rápida : Chuleta


Apt, Aptitude y Dpkg son herramientas para la gestión de paquetes en Debian y Ubuntu. Veamos una pequeña chuleta/referencia sobre ellas:


APT-GET

# apt-get install foo ....................... Instala el paquete foo.
# apt-get remove foo ........................ Eliminia el paquete foo.
# apt-get remove --purge foo ................ Elimina el paquete foo junto con todos sus ficheros de configuración.
# apt-get update ............................ Actualiza la base de datos de paquetes.
# apt-get -f install......................... Instala y elimina paquetes necesarios para resolver los problemas de dependencias.
# apt-get clean ............................. Elimina todos los paquetes .deb del repositorio local.
# apt-get upgrade ........................... Actualiza todos los paquetes a sus versiones más actuales.
# apt-get dist-upgrade ...................... Actualiza paquetes y también resuelve los problemas de dependencias que ocurran debido a los nuevos paquetes. Útil para actualizar la versión de la distribución.
$ apt-get source foo ........................ Descarga las fuentes del paquete foo.
# apt-get -t unstable foo ................... Instala el paquete foo buscándolo junto con sus dependencias en el repositorio de la versión inestable.
# apt-get foo/unstable ...................... Instala el paquete foo desde la versión inestable pero busca sus dependencias sin puentear las prioridades configuradas en el fichero /etc/apt/preferences.
# apt-get build-dep foo ..................... Instala los paquetes necesarios para satisfacer las dependencias de compilación del paquete de código fuente foo.

martes, 20 de marzo de 2012

Cómo instalar la distribución GENTOO en un entorno CHROOT

Este artículo describe cómo construir un entorno chroot en el que instalaremos la distribución Gentoo.

NOTA: Nuestro sistema host será una Debian GNU/Linux, pero los mismos pasos deberían funcionar en la mayoría de distros basadas en linux (p.ej: Ubuntu)


DESCARGAR UN SISTEMA MÍNIMO GENTOO

Primero vamos a descargar un sistema Gentoo mínimo, llamado STAGE3.

Elegimos nuestra arquitectura, en mi caso x86, y específicamente i686.
http://mirrors.kernel.org/gentoo/releases/x86/autobuilds/current-stage3/
$ wget http://mirrors.kernel.org/gentoo/releases/x86/autobuilds/current-stage3/stage3-i686-*.tar.bz2

Podemos encontrar una lista de mirrors aquí: http://www.gentoo.org/main/en/mirrors.xml

Ó también podemos descargar directamente de la página de gentoo:
$ wget ftp://distfiles.gentoo.org/pub/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2



CREAMOS NUESTRO DIRECTORIO GENTOO

Creamos el directorio donde colocaremos los ficheros de Gentoo:

martes, 24 de enero de 2012

Conectarse a Internet usando un móvil Sony Ericsson K530i en Ubuntu via cable USB.

Vamos a conectar nuestro sistema Ubuntu a Internet usando un teléfono móvil Sony Ericsson K530i vía un cable usb.

Lo primero encendemos el teléfono, insertamos el número PIN y después conectamos el cable usb, que venía con el teléfono, al K530i y el ordenador.

Un menú presentando tres opciones aparecerá en la pantalla del teléfono:
  • Transferencia de Archivos
  • Modo Teléfono
  • Imprimir
Seleccionamos Modo Teléfono
Nuestro teléfono está listo para usar el cable usb.

Hay dos maneras para conectarse a Internet via cable USB:
  • Emulando un dispositivo ethernet a través del cable USB.
  • Usando el teléfono K530i como un módem serie USB.


EMULANDO UN DISPOSITIVO ETHERNET A TRAVÉS DEL CABLE USB