lunes, 28 de noviembre de 2011

Introducción a PostgreSQL - Instalación e inicialización

Introducción

Logo PostgreSQL PostgreSQL es una base de datos relacional, distribuida bajo licencia BSD y con su código fuente disponible libremente. Es el motor de bases de datos de código abierto más potente del momento y en sus últimas versiones empieza a no tener que envidiarle nada a otras bases de datos comerciales.

Sus características técnicas la hacen una de las bases de datos más potentes y robustas del mercado. Su desarrollo comenzo hace más de 15 años, y durante este tiempo, estabilidad, potencia, robustez, facilidad de administración e implementación de estándares han sido las características que más se han tenido en cuenta durante su desarrollo. En los últimos años se han concentrado mucho en la velocidad de proceso y en características demandadas en el mundo empresarial.

La última serie de producción es la 8.2, siendo la última versión disponible en el momento de escribir este artículo la 8.2.4. PostgreSQL se puede ejecutar en la gran mayoria de sistemas operativos existentes en la actualidad, entre ellos Linux y UNIX en todas sus variantes (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) y Windows. Las características más importantes y soportadas son:

  • Es una base de datos 100% ACID
  • Llaves ajenas (foreign keys)
  • Joins
  • Vistas (views)
  • Disparadores (triggers)
  • Reglas (Rules)
  • Funciones/procedimientos almacenados (stored procedures) en numerosos lenguajes de programacion, entre otros PL/pgSQL (similar al PL/SQL de oracle)
  • Numerosos tipos de datos, posibilidades de definir nuevos tipos
  • Soporta el almacenamiento de objetos binarios grandes (gráficos, videos, sonido, ...)
  • Herencia de tablas (Inheritance)
  • PITR - point in time recovery
  • Tablespaces
  • Replicación asincrona
  • Nested transactions (savepoints)
  • Two-phase commit
  • Copias de seguridad en caliente (Online/hot backups)
  • Unicode
  • Juegos de caracteres internacionales
  • Multi-Version Concurrency Control (MVCC)
  • Acceso encriptado via SSL
  • SQL92/SQL99
  • APIs para programar en C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC, PHP y muchos otros lenguajes.
  • Completa documentacion

Otra caracteristica muy a tener en cuenta es lo bien que PostgreSQL funciona con grandes cantidades de datos y una alta concurrencia, con muchos usuarios accediendo a la vez el sistema. En un futuro escribiremos un artículo sobre esto.

Algunos de los limites físicos de PostgreSQL son:

         Limite                                      Valor -------------------------------------------------------------------- Maximo tamaño base de dato               Ilimitado (Depende de tu sistema                                          de almacenamiento) Maximo tamaño de tabla                   32 TB Maximo tamaño de fila                    1.6 TB Maximo tamaño de campo                   1 GB Maximo numero de filas por tabla         Ilimitado Maximo numero de columnas por tabla      250 - 1600 (dependiendo del tipo) Maximo numero de indices por tabla       Ilimitado -------------------------------------------------------------------- 

Podriamos seguir escribiendo sobre muchas más características, pero en este artículo no tienen cabida. Podeis pasaros por la pagina web del proyecto, Postgresql.org para profundizar en el tema ó estar atentos a una serie de artículos sobre PostgreSQL que iremos publicando en el futuro .

A continución pasaremos a describir como podemos instalar e inicizalizar PosgreSQL.

Instalación

PostgreSQL está disponible en cualquiera de las principales distribuciones de Linux. Existen paquetes RPM og DEB, que se distribuyen con estas distribuciones y que se pueden instalar de la manera por defecto típica en cada distribución.

Si quereis instalar PostgreSQL de esta manera, adelante, es totalmente valida. A mi particularmente, el motor de base de datos que utilizo me gusta compilarlo e instalarlo yo mismo desde las fuentes. De esta manera tengo control absoluto sobre la versión en uso (especialmente importante en sistemas en producción y bases de datos). El resto del artículo se basa en este tipo de instalación.

Requerimientos

Se necesitan una serie de programas para poder compilar e instalar PostgreSQL (o cualquier otro programa) desde las fuentes. La mayoria de lo que se necesita se suele instalar por defecto en la mayoria de las distribuciones si instalamos los paquetes relacionados con "Desarrollo y compiladores". Todos estos paquetes se pueden instalar de la manera estandard, rpm og deb en la distribucion de Linux que utiliceis, si por causalidad no los teneis instalados.

Necesitamos:

  • GNU make (gmake)
  • Un compilador ISO/ANSI C. GCC el compilador por defecto en Linux funciona perfectamente.
  • tar, gzip o bzip2 para desempaquetar las fuentes.
  • Biblioteca GNU Readline
  • Biblioteca de compresión zlib
  • Perl y python si quereis soportar PL/Perl y PL/Python

Compilación e instalación

Primero nos bajamos las fuentes de la versión que vayamos a instalar de Postgresql.org. En nuestro ejemplo la versión 8.2.4 desde el servidor espejo (mirror) de Noruega.

[user@servidor]# cd /tmp/  [user@servidor]# wget ftp://ftp.no.postgresql.org/pub/databases/postgresql/source/v8.2.4/postg... --21:17:45--  ftp://ftp.no.postgresql.org/pub/databases/postgresql/source/v8.2.4/postg...            => `postgresql-8.2.4.tar.bz2' Resolving ftp.no.postgresql.org... 158.36.2.10 Connecting to ftp.no.postgresql.org|158.36.2.10|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done.    ==> PWD ... done. ==> TYPE I ... done.  ==> CWD /pub/databases/postgresql/source/v8.2.4 ... done. ==> PASV ... done.    ==> RETR postgresql-8.2.4.tar.bz2 ... done. Length: 12,527,803 (12M) (unauthoritative)  100%[===========================================================>] 12,527,803   692.34K/s    ETA 00:00  21:18:02 (700.20 KB/s) - `postgresql-8.2.4.tar.bz2' saved [12527803] 

A partir de ahora seguimos trabajamos como usuario root.:

[user@servidor]# su -   (o sudo -i si estamos en Ubuntu) 

Desempaquetamos las fuentes:

[root@servidor]# cd /tmp [root@servidor]# tar xjvf postgresql-8.2.4.tar.bz2 [root@servidor]# cd postgresql-8.2.4/ 

Ahora tenemos que configurar y compilar PostgreSQL. Existen muchos parametros que podemos utilizar para configurar las caracteristicas disponibles en el software PostgreSQL que vamos a compilar. Teneis una lista completa sobre estos parametros en la sección 14.5.Installation Procedure de la documentación oficial de PostgreSQL.

Para mis servidores en producción, yo suelo configurar PostgreSQL con estos parametros:

[root@servidor]# ./configure --prefix=/usr/local --enable-nls --with-perl --with-python --with-openssl --with-pam --with-ldap 

Estos parametros necesitan que tengais instalado en vuestro sistema perl, python, openssl y ldap (estos paquetes se pueden instalar de la manera estandard, rpm og deb en la distribucion de Linux que utiliceis).

Para instalar en casa seguramente no necesiteis --with-pam --with-ldap, el resto es bueno tenerlo para tener posibilidad de conectar a vuestra base de datos encriptando el trafico de red, y tener posibilidad de utilizar PL/Perl y PL/Python para crear funciones. Mas información en PL/Perl - Perl Procedural Language y PL/Python - Python Procedural Language

Una vez que el proceso de configuración este terminado sin errores, podemos empezar a compilar las fuentes:

[root@servidor]# gmake  

La compilación deberia de terminar sin errores si tenemos instalado todos los paquetes que necesitamos y dependiendo de los parametros de configuración que hayamos definido con ./configure.

Una vez que hayamos terminado de compilar las fuentes, pasamos a instalar todos los programas que forman PostgreSQL:

[root@servidor]# gmake install 

Si todo ha salido bien, ahora tendremos todo lo necesario para usar PostgreSQL (servidor, clientes, herramientas, bibliotecas, etc) disponible en nuestro sistema. En nuestro ejemplo todo se habrá instalado bajo /usr/local (como definimos más arriba con --prefix=/usr/local)

Inicialización

Ahora tenemos que inicializar y configurar nuestra instalación de PostgreSQL antes de poder empezar a crear nuetra base de datos.

Lo primero que tenemos que hacer es crear un usuario en el sistema (postgres), que será el dueño en nuestro sistema de los ficheros generados por PostgreSQL, asi como el encargado de ejecutar el motor de base de datos (PostgreSQL se negará a arrancar si intentamos hacerlo como usuario root)

Podeis utilizar vuestro programa preferido para crear nuevos usuarios en vuestra distribución, o ejecutar el siguiente comando:

[root@servidor]# useradd --help Usage: useradd ... useradd - create a new user    -c comment     Set the GECOS field for the new account  --show-defaults Print default values  --save-defaults Save modified default values   -D binddn      Use dn "binddn" to bind to the LDAP directory   -d homedir     Home directory for the new user   -e expire      Date on which the new account will be disabled   -f inactive    Days after a password expires until account is disabled   -G group,...   List of supplementary groups   -g gid         Name/number of the users primary group   -k skeldir     Specify an alternative skel directory   -m             Create home directory for the new user   -o             Allow duplicate (non-unique) UID   -P path        Search passwd, shadow and group file in "path"   -p password    Encrypted password as returned by crypt(3)   -u uid         Force the new userid to be the given number   -r, --system   Create a system account   -s shell       Name of the user's login shell  --service srv   Add account to nameservice 'srv'       --help     Give this help list       --usage    Give a short usage message   -v, --version  Print program version Valid services for --service are: files, ldap  [root@servidor]# useradd -m postgres 

Hemos creado nuestro usuario postgres sin clave de acceso. Esto significa que la unica manera de convertirse en este usuario es siendo root y utilizando el comando su - postgres.

A continuación nos conectamos como el usuario postgres e inicializamos nuestro "cluster postgresql".

[root@servidor] mkdir -p /var/pgsql/data [root@servidor] chown postgres /var/pgsql/data [root@servidor]# su - postgres  [postgres@servidor]# /usr/local/bin/initdb -E utf8 -U postgres -D /var/pgsql/data  The files belonging to this database system will be owned by user "postgres". This user must also own the server process.  The database cluster will be initialized with locale en_US.UTF-8.  fixing permissions on existing directory /var/pgsql/data ... ok creating subdirectories ... ok selecting default max_connections ... 100 selecting default shared_buffers/max_fsm_pages ... 32MB/204800 creating configuration files ... ok creating template1 database in /var/pgsql/data/base/1 ... ok initializing pg_authid ... ok initializing dependencies ... ok creating system views ... ok loading system objects' descriptions ... ok creating conversions ... ok setting privileges on built-in objects ... ok creating information schema ... ok vacuuming database template1 ... ok copying template1 to template0 ... ok copying template1 to postgres ... ok  WARNING: enabling "trust" authentication for local connections You can change this by editing pg_hba.conf or using the -A option the next time you run initdb.  Success. You can now start the database server using:      /usr/local/bin/postgres -D /var/pgsql/data or     /usr/local/bin/pg_ctl -D /var/pgsql/data -l logfile start 

Suponemos que vamos a tener todas nuetras bases de datos y ficheros relacionados con postgresql en el directorio /var/pgsql/data.

En sucesivos artículos, veremos como podemos configurar/organizar nuestros discos de una mejor manera para conseguir la máxima seguridad y velocidad cuando utilicemos PostgreSQL en sistemas de producción. Tambien, veremos como podemos configurar PostgreSQL para sacar el maximo provecho a esta magnifica base de datos.

En estos momentos podemos arrancar nuestra base de datos postgresql y empezar a utilizarla sin problemas.

[postgres@servidor]# /usr/local/bin/pg_ctl -D /var/pgsql/data -l /var/pgsql/data/postgresql.log start  server starting 

Si queremos parar PostgreSQL podemos utilizar el siguiente comando:

[postgres@servidor]# /usr/local/bin/pg_ctl -D /var/pgsql/data stop -m fast  waiting for server to shut down.... done server stopped 

Podemos empezar a utilizar la base de datos con el potentisimo cliente por linea de comandos que se instala por defecto, su nombre /usr/local/bin/psql:

[postgres@servidor]# /usr/local/bin/psql   Welcome to psql 8.2.4, the PostgreSQL interactive terminal.  Type:  \copyright for distribution terms        \h for help with SQL commands        \? for help with psql commands        \g or terminate with semicolon to execute query        \q to quit  postgres=#  

Para conseguir una lista de los principales comandos que podeis utilizar en psql para que podais empezar a disfrutar de PostgreSQL, ejecutar el comando \?:

postgres=# \? 

Aqui teneis algunos ejemplos de como utilizar este cliente :

postgres=# \l         List of databases    Name    |  Owner   | Encoding  -----------+----------+----------  postgres  | postgres | UTF8  template0 | postgres | UTF8  template1 | postgres | UTF8 (3 rows)  postgres=# CREATE DATABASE test001; CREATE DATABASE  postgres=# \l         List of databases    Name    |  Owner   | Encoding  -----------+----------+----------  postgres  | postgres | UTF8  template0 | postgres | UTF8  template1 | postgres | UTF8  test001   | postgres | UTF8 (4 rows)  postgres=# \c test001  You are now connected to database "test001".  test001=# CREATE TABLE testing( id INTEGER NOT NULL, name TEXT NOT NULL, PRIMARY KEY (id));  NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "testing_pkey" for table "testing" CREATE TABLE  test001=# \d           List of relations  Schema |  Name   | Type  |  Owner    --------+---------+-------+----------  public | testing | table | postgres (1 row)  test001=# \q  [postgres@servidor]# 

Esto es todo por esta vez. Mucha mas información en los proximos articulos de esta serie.

Virtualización en casa con VirtualBox

Durante los últimos años no hemos parado de escuchar el termino virtualización cuando se ha hablado de informática en la prensa especializada.

Ha sido sobre todo en el mundo empresarial en donde hemos podido ver un crecimiento notable en el uso de esta tecnología y han sido muchas las empresas que han empezado a usar soluciones de virtualización para reducir costes y aprovechar al máximo los recursos en los servidores que tienen disponibles. En los ordenadores personales no se ha visto el mismo crecimiento en el uso de la virtualización.

Mucho ha cambiado en los últimos años y hoy en día existen soluciones muy fáciles de instalar y usar, incluso para usuarios no profesionales. Los tres productos más importantes dentro del mundo de la virtualización en ordenadores personales son VMware, KVM y VirtualBox. Este artículo es una introducción a VirtualBox, una solución de virtualización de SUN muy fácil de usar y que nos brinda la posibilidad de crear máquinas virtuales en Windows, Mac OSX y en Linux. De las soluciones que yo he probado últimamente para ordenadores personales es VirtualBox la que más me ha gustado.

Con VirtualBox podremos instalar máquinas virtuales que usen uno de los muchos sistemas operativos soportados, entre ellos, Linux2.2, Linux2.4, Linux2.6, Ubuntu, Debian, Fedora, RedHat, Opensuse, Gentoo, Turbolinux, Solaris, OpenSolaris, FreeBSD, OpenBSD, NetBSD, IBM OS/2, DOS, Netware y Windows en todas sus variantes (3.1, W95, W98, ME, NT4, XP, 2000, 2003, 2008, Vista y Windows7). Como podeis ver, las posibilidades son muchas, ya no tenemos escusas para no probar nuevos sistemas operativos de una manera fácil y cómoda en nuestra ordenador.

La página web de VirtualBox es http://www.virtualbox.org/. Desde la sección de descargas os podreis bajar la versión de Linux perteneciente a vuestro sistema. Existen paquetes binarios para las distribuciones de Linux más importantes e instrucciones para la instalación de los mismos.

En nuestro caso seguimos las instrucciones para instalar la version 3.0.12 de VirtualBox en Ubuntu 9.04 y no tuvimos ningun problema durante la instalación. Estos son los comandos que ejecutamos en nuestro sistema:

sudo -i echo "deb http://download.virtualbox.org/virtualbox/debian jaunty non-free" >> /etc/apt/sources.list wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add - apt-get update apt-get install dkms virtualbox-3.0 

Una vez instalado todo lo necesario para que VirtualBox funcione solo queda arrancar el programa. En mi caso, el icono de VirtualBox se instaló en el menu "Aplicaciones->Herramientas del sistema->Sun VirtualBox" de mi escritorio.

La primera vez que se arranca VirtualBox tendreis que aceptar la licencia y registrar el programa (si quereis). Lo primero que tenemos que hacer después de estos pasos si quereis tener todo en español es entrar en el menu "File->Preference->Language" y cambiar el idioma por defecto al español.

Después de esto, entrar en "Archivo->Preferencias->General" y cambiar el valor de "Carpeta predeterminada de discos duros" y "Carpeta predeterminada de maquinas" a las carpetas que querais utilizar para grabar todo lo referente a discos y maquinas virtuales que instaleis en VirtualBox.

Después de realizar estos cambios esta es la ventana principal que os mostrará el programa:

Para crear nuestra primera máquina virtual solamente tenemos que pulsar en el icono "Nueva" ó elegir el menu "Maquina->Nueva". Al hacer esto se iniciará un asistente que nos ayudará a definir los parámetros más importantes de nuestra máquina virtual.

Lo primero que tendremos que hacer es elegir un nombre para la máquina virtual que estamos creando y elegir el sistema operativo que vamos a instalar en la misma. En nuestro caso llamamos a la máquina "Ubuntu 9.10" y elegimos el S.O. "Linux->Ubuntu(64bit)".

A continuación tenemos que elegir cuanta memoria tendrá disponible nuestra máquina virtual. Tener cuidado de no elegir más memoria de la que podeis asignar en vuestra ordenador. Esta memoria se utilizará por la máquina virtual cuando este funcionando y no estará disponible en la máquina principal que ejecuta la virtual. En nuestro ejemplo tenemos un ordenador con 8GB de memoria asi que podemos asignar sin problemas 2GB a la virtual.

El siguiente paso consiste en crear un nuevo disco duro virtual. Lo creamos con un tamaño fijo, lo llamamos Ubuntu_9.10 y le asignamos un tamaño de 10GB.

Por último tendreis que aceptar las opciones que habeis elegido para la creación del disco virtual.

y VirtualBox se encargará de crear la máquina virtual que habeis definido

Como podeis ver, en la parte izquierda de la ventana teneis la máquina virtual que habeis creado y a la derecha la configuración de dicha máquina. Podeis cambiar las diferentes secciones pulsando en las mismas. En nuestro ejemplo vamos a pulsar en la seccion "Pantalla" para incrementar la memoria de video asignada a nuestra máquina virtual y activar la aceleración 3D

Una vez que tenemos nuestra maquina virtual configurada a nuestro gusto, tendremos que instalar el sistema operativo elegido en dicha máquina virtual. En nuestro caso introducimos el CD con Ubuntu 9.10 en la lectora de CDs y pulsamos en la seccion "CD/DVD-ROM" de nuestra máquina virtual para definir que queremos montar nuestra lectora principal como CD en la virtual.

Ya solo nos queda arrancar la máquina virtual "Ubuntu 9.10" pulsando en el icono "Iniciar" en la parte superior izquierda de la ventana. Esto arrancará la máquina virtual y arrancará la instalación de Ubuntu desde el CD-ROM que hemos definido. El resto es una instalación estandar de Ubuntu y la dejamos como ejercicio para quien quiera instalarla.

El mismo procedimiento explicado para "Ubuntu 9.10" se puede utilizar para instalar otras máquinas virtuales. Despues de unas cuantas instalaciones tenemos disponible en nuestro sistema, "Ubuntu 9.10", "Windows XP", "DOS/Windows 3.1", "FreeBSD" y "Solaris". La ventana principal nos ha quedado de la siguiente manera:

Y aquí podeis ver una pantalla con dos de las máquinas virtuales arrancadas y funcionando.

Para terminar solo decir que no se os olvide ejecutar el menu "Dispositivos->Instalar aplicaciones 'Guest Additions'" en cada máquina virtual que instaleis despues de instalar y arrancar el sistema operativo correspondiente en cada una.

Más fácil imposible, tener acceso a otros sistemas operativos desde tu ordenador personal con Linux se ha convertido en una tarea fácil y sencilla gracias a VirtualBox, que lo disfruteis.

Más información:
http://www.virtualbox.org/
http://www.virtualbox.org/manual/UserManual.html

Cómo desplazarse por la consola como un experto

Cómo desplazarse por la consola como un experto

cd como un experto

Empecemos por lo más sencillo y veamos que cd es un poco más complejo de lo que parece. Mucha gente sabe del autocompletado de bash, gracias al cual basta con escribir parte del nombre del directorio y pulsar Tab para que la consola complete el directorio (si no hay varias posibilidades, en caso contrario tendríamos que pulsar dos veces Tab para verlas). También es muy común el uso de rutas relativas: si estamos en /home/zootropo y queremos desplazarnos a /home/zootropo/videos no es necesario escribir la segunda ruta en su totalidad, sino que podemos escribir simplemente cd videos. Incluso es normal ver a novatos usando atajos como cd .. para desplazarse al directorio superior y cd ~ o cd para desplazarse al directorio de usuario.

Lo que es menos común, y muy útil para el tema que nos ocupa es el uso de cd -. Este flag tan útil no hace otra cosa que movernos al último directorio en el que estuvimos.

 zootropo@genua:~$ cd /etc/X11/
zootropo@genua:/etc/X11$ cd
zootropo@genua:~$ cd -
/etc/X11
zootropo@genua:/etc/X11$ pwd
/etc/X11

De esta forma podemos movernos entre dos directorios rápidamente.

Por otro lado, si lo que necesitamos es desplazarnos a un directorio tan solo un momento para ejecutar un comando y luego seguir trabajando en el directorio actual, también podríamos usar &&, que ejecuta dos comandos, uno detrás de otro, de forma condicional (and con cortocircuito):

cd /etc/X11/ && cat xorg.conf

y rodearlo con paréntesis, que hace que los comandos se ejecuten en una subshell

(cd /etc/X11/ && cat xorg.conf)

de esta forma se ejecutará el comando en una subshell distinta, por lo que el cd no nos afectará, y será como si nunca nos hubiéramos desplazado.

Pero, ¿qué ocurre si queremos movernos entre varios directorios? ¿qué podemos hacer si queremos desplazarnos, por ejemplo, al penúltimo directorio que visitamos? la combinación pushd, popd y dirs, nos proporciona una alternativa válida.

pushd, popd y dirs

pushd funciona como un cd normal, moviéndonos al directorio especificado, pero además, como su nombre indica, introduce dicho directorio en una pila.

pushd /etc/X11/

popd también funciona como un cd, pero el directorio al que nos mueve es el que extrae de la pila, y dado que la pila es una estructura LIFO (Last In, First Out o lo que es lo mismo, el último en introducirse es el primero en extraerse) al escribir este comando nos moveremos al último directorio añadido a la pila.

popd

También es posible indicar qué elemento de la pila queremos utilizar mediante un índice. Por ejemplo:

popd +2

extraería el tercer elemento (el índice del primer elemento es 0). También podemos utilizar índices negativos, como -2, contando al revés.

Por último dirs nos sirve para imprimir el contenido de la pila:

zootropo@genua:/etc/X11$ dirs
/etc/X11 ~

Al comando dirs también se le puede pasar un índice para imprimir tan solo el directorio seleccionado por el índice.

La desventaja del uso de pushd y popd es que cada vez que hacemos un popd el directorio se borra de la pila, y si quisiéramos volver a utilizarlo tendríamos que volver a guardarlo en la pila, lo cual va en contra de la rapidez que buscamos y que nos impulsó a usarlos en primer lugar.

Existe una alternativa que consiste en aprovecharnos de la característica de la indexación de dirs. El comando

dirs +0

mostraría el primer elemento de la pila.

Basta con usar este directorio como argumento para cd para poder movernos a los directorios almacenados sin que se borren de la pila:

cd `dirs +0`

Sin embargo, por alguna extraña razón, cuando el directorio que seleccionamos con dirs es el directorio home, que se almacena como ~, este pequeño truco no funciona, sino que tendríamos que usar el flag -l para que dirs muestre la ruta completa del directorio home en lugar de ~.

cd `dirs -l +0`

Podríamos ahorrarnos tener que escribir el flag -l con un alias, e incluso crear alias como

alias cd="pushd"
alias cd1="cd `dirs -l +1`"

de forma que al escribir cd1 nos desplazáramos al penúltimo directorio introducido con nuestro cd-pushd.

Sin embargo, hay alternativas más sencillas, como CDargs.

CDargs

CDargs se encuentra en los repositorios de Ubuntu, así que instalarlo en esta distro es tan sencillo como escribir:

sudo aptitude install cdargs

También es conveniente añadir las funciones para bash ya creadas que vienen con la aplicación editando el .bashrc:

gedit ~/.bashrc

y añadiendo la siguiente línea, que hace un source del archivo correspondiente (asegúrate de que el archivo se instaló en esa ruta y modifica la línea adecuadamente si no es así)

source /usr/share/doc/cdargs/examples/cdargs-bash.sh

Reinicia la consola y podemos empezar a jugar.

Si escribimos el comando

cv

en la consola, se lanzará la interfaz gráfica en ncurses de CDargs, un pequeño explorador de archivos en modo consola.

CDargs

Primero seleccionamos el directorio que nos interesa con las flechas de arriba y abajo, con Avance página y Retroceso de página, con Inicio y Fin o pulsando el número asociado. Si solo queremos hacer un cd a ese directorio, pulsamos enter. Si queremos hacer un cd a un directorio que está contenido dentro del directorio seleccionado, pulsamos la flecha derecha para que CDargs muestre su contenido, y por último, si queremos movernos a un directorio superior, pulsamos la flecha izquierda. Para salir de la interfaz sin hacer nada, pulsamos la tecla 'q'. Si queremos ver archivos ocultos, pulsamos la tecla '.'.

CDargs también incluye un sistema de marcadores. Para utilizarlo nos desplazaremos al directorio que queramos añadir a nuestros favoritos y escribimos

ca etiqueta

Por ejemplo:

cd /home/zootropo/videos
ca vid

Después basta escribir

cv etiqueta

para desplazarnos al directorio que guardamos en marcadores con dicha etiqueta.

Podemos ver los marcadores que hemos creado desde la interfaz gráfica de CDargs, pulsando la tecla Tab para cambiar entre el modo de marcadores y el modo explorador.

Por último, quizás os interese echar un vistazo a los gestores de archivo de modo consola, como GNU Midnight Commander

sudo aptitude install mc

miércoles, 2 de julio de 2008

EDITORES DE TEXTO CON SFTWARE LIBRE

Software libre

El software libre también tiene lo suyo, aquí ya se han tratado varios editores de textos de códigoabierto como Wikidpad o Notepad++; ahora es el turno de otra aplicación libre llamada SciTE que es un simple editor de textos con interesantes funciones extras.
SciTE es, como ya dije anteriormente, un programa libre cuya principal función es la de ser un editor de textos, pero eso sí, está enfocado en ofrecer un entorno para varios lenguajes de programación. Compacto, gratuito, multiplataforma y en español.
Se puede observar en la imagen anterior que la interfaz visual de usuario de SciTE es similar a la del clásico Bloc de Notas de Windows, pero eso sí, puedes lograr mucho más con esta aplicación que con el limitado editor de textos de Windows.
SciTE es multiplataforma; es decir, funciona en varios sistemas operativos, desde Windows (y todas sus variantes) hasta Linux (varias distribuciones). Aunque nativamente su idioma es inglés, puedes descargar un paquete de traducción para el programa.
Esta aplicación es ligera, su diseño está enfocado en la edición de código fuente, a través del cual la sintaxis está remarcada (resaltada) con colores, para así poder diferenciar todo lo que vas editando con SciTE más fácil, práctica y rápidamente.
SciTE tiene un funcionamiento muy similar al de Notepad++, pero no por eso se va a calificar como una copia barata del mismo; es una alternativa más que no se puede dejar de pasar por alto. Además, incluye una función muy útil: autocompletado de código.

Pasos para guardar un documento con contraseña

-ARCHIVO
-GUARDAR COMO
-CLIC EN HERRAMIENTAS
-OPCIONES DE SEGURIDAD
_PONER CONTRASEÑA DE APERTURA
_PONER CONTRASEÑA DE ESCRITURA

viernes, 27 de junio de 2008

CUALES SON LOS COMODINES DE BUSQUEDAD Y QUE SIGNIFICA

*_REMPLAZAN UNA O VARIAS LETRAS
?_REMPLAZA SOLO UNA LETRA



_ Los comodines de búsqueda son signos o símbolos que nos ayudarán a la hora de encontrar algún archivo en nuestro ordenador.

INDIQUE LAS UNIDADES DE MEDIDA

BYE_8bits
KILOBYE_1024B
MEGABYTE_1024KB
GIGABYTE_1024MB
TERA BYE_1024GB