jueves, 6 de enero de 2011

GRUB: cambiar el sistema operativo por defecto en Ubuntu 10.10

Para cambiar el sistema operativo que se arranca por defecto en esta versión de GRUB (1.98+20100804-5ubuntu3) hay que seguir los pasos siguientes:
  • Abre una consola y escribe el siguiente comando: sudo gedit /etc/default/grub
  • Busca la línea GRUB_DEFAULT=0 y cambia el valo r 0 por la posición que ocupa el sistema operativo que quieres arrancar por defecto. El valor 0 equivale al primero, así que debes tener en cuenta que si el que quieres activar por defecto ocupa la quinta posición, debes indicar el valor 4.
  • Guarda los cambios y ejecuta la siguiente línea para actualizar el archivo grub.cfg:sudo update-grub2
Si también deseas cambiar el tiempo de espera, modifica la siguiente línea del archivo grub GRUB_TIMEOUT=”10″. La unidad empleada es el segundo.
Para más información, consulta la siguiente URL: http://www.guia-ubuntu.org/index.php?title=GRUB#Modificaciones_en_el_men.C3.BA_de_arranque

domingo, 2 de enero de 2011

Acelerar la bajada de datos de internet en ubuntu

El procedimiento es simple, basta modificar el archivo "aliases":
sudo gedit /etc/modprobe.d/aliases
Eliminar esta linea de la primera sección:
alias net-pf-10 ipv6
y reemplazarla con estas tres:
alias net-pf-10 ipv6 off
alias net-pf-10 off
alias ipv6 off

luego de hacer esto guardamos el archivo y reiniciamos la pc, para que la conexion entre con la nueva configuracion y notaras el cambio entre dar click.

fuente: http://george2002.obolog.com/acelerar-bajada-datos-internet-ubuntu-26832

------------------------------------------------------------------------------------------------------------------

O tambien Abri el terminal y teclea:
5b415a0a74765006f122f979f487f751sudo gedit /etc/sysctl.conf

Y colocar al final del archivo las siguientes líneas:

net.ipv4.tcp_window_scaling = 0

net.ipv6.conf.all.disable_ipv6 = 1


Guardamos, reiniciamos y a partir de ahora ganaras un poco de velocidad en tus conexiones sobre todoo para navegar.




http://www.tuxapuntes.com/drupal/node/1751

lunes, 13 de diciembre de 2010

Cómo instalar programas con extencion .bin en Ubuntu

How to:
Cómo instalar programas .bin
Hola, yo uso Ubuntu (GNU/Linux), en el proceso de instalarle las aplicaciones que normal mente uso, me he encontrado con programas que vienen solo en Binario, y esto lleva una serie de pasos muy sencillos pero útiles que a continuación describo:

1.- Descarga el archivo (si lo tienes no hace falta) y cópialo o muévelo al Escritorio. Para que quede en la ruta que abre la Terminal de comandos.


2.- Abre el Terminal y teclea "cd Escritorio" (sin las comillas).
ej: wilmer@wilmer-desktop:~$ cd Escritorio


3.- A continuación te aparecerá esto:
wilmer@wilmer -desktop:~/Escritorio$


4.- Escribe " ls" (sin comillas) y te aparecerá una lista de las carpetas y los archivos que se encuentran en el Escritorio.


5.- A continuación escribe "chmod +x El-nombre-del-archivo.bin"
ej: wilmer@wilmer -desktop:~/Escritorio$ chmod +x GoogleEarthLinux.bin


6.- Por último teclea "./Nombre-del-archivo.bin" (sin comillas)
ej: wilmer@wilmer -desktop:~/Escritorio$ ./GoogleEarthLinux.bin


7.- La instalación del programa se iniciará y solo tendrás que seguir los pasos

Cómo licenciar un programa bajo GPL

Cómo licenciar un programa bajo GPL

1. Insertar nuestro Copyright: se debe poner en cada archivo (clases) de nuestro código fuente de esta forma “Copyright 2007 Lucas Muñoz”, se debe usar la palabra “Copyright” no son válidas las traducciones al estilo “Derechos de autor” o parecidos, también podemos utilizar el símbolo “©” o bien (c).

2. Debemos especificar cada año: el año que especificaremos será aquel en el que lanzamos la versión de nuestro programa, si cada año lanzamos una nueva nuestro Copyright quedaría así: “Copyright 2007 2008 2009 Lucas Muñoz”.

3. En todos los archivos de nuestro código fuente deberemos insertar el preámbulo de la licencia GPL, este es el texto: “This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.“.

4. Junto a nuestro código fuente deberemos incluir una archivo con el texto completo de la licencia, generalmente este archivo se llama “LICENSE” o “COPYING”, podemos bajar la licencia completa desde el sitio oficial de GNU.

Fuente:
http://www.tuxi.com.ar/2007/11/27/howto-como-licenciar-un-programa-bajo-gpl/

miércoles, 8 de diciembre de 2010

PL/SQL

Ejercicios en PL/SQL

1. Mostrar para cada uno de los instructores su identificación, nombre completo, y sueldo a pagar en un mes X de un año Z si se sabe que corresponde al producto de la cantidad de lecciones dictadas en el mes por 0.05% del valor total de de los pagos realizados en el mes.

DECLARE

v_mes VARCHAR(2);
v_año VARCHAR(4);

CUROR c_pago IS
SELECT identificacion,nombre,apellido,COUNT(fecha) lecciones
FROM INSTRUCTORES,LECCIONES
WHERE TO_CHAR(fecha,'mm')=v_mes
AND identificacion=id_instructor
AND TO_CHAR(fecha,'yyyy')=v_año;

BEGIN

v_mes:='&mes';
v_año:='&año';

SELECT (SUM(valor) *0.05) parcial
FROM PAGOS
WHERE TO_CHAR(fecha,'mm')=v_mes
AND TO_CHAR(fecha,'yyyy')=v_año;

DBMS_OUTPUT.PUT_LINE('Pagos a instructores');
FOR r_pago IN c_pago LOOP
DBMS_OUTPUT.PUT_LINE('Identificacion: '||r_pago.identificacion||'Nombre:'||r_ipago.nombre||'
'||r_pago.apellido||' El sueldo es: '||parcial*r_pago.lecciones);
END LOOP;
END;
/

-----------------------------------------------------------------------------------------------------------------------------------

2. Capturar la identificación de un cliente y mostrar un informe que conste de las siguientes partes: una primera parte sus datos básicos (nombre completo, dirección de residencia y valor total de los pagos realizados en el año 2009), una segunda parte el detalle de sus pagos realizados en el año 2009 (fecha y valor).

DECLARE

v_id_cliente CLIENTES.identificacion%TYPE;

CURSOR c_cliente IS
SELECT nombre,apellido,direccion_res,SUM(valor) valor
FROM CLIENTES,PAGOS
WHERE identificacion=id_cliente
AND identificacion=v_id_cliente
AND TO_CHAR(fecha,'yyyy')='2009';

CUROSR c_detalle IS
SELECT fecha,valor
FROM PAGOS
WHERE id_cliente=v_id_cliente
AND TO_CHAR(fecha,'yyyy')='2009';

BEGIN

v_id_cliente:='&ident';

FOR r_cliente IN c_cliente LOOP
DBMS_OUTPUT.PUT_LINE('Nombre: '||r_cliente.nombre||' '||r_cliente.apellido||
'direccion: '||r_cliente.direccion_res||'total'||r_cliente.valor);
FOR r_pago IN c_detalle LOOP
DBMS_OUTPUT.PUT_LINE('Fecha: 'r_pago.fecha||' valor'||r_pago.valor);
END LOOP;
END LOOP;
END;
/


----------------------------------------------------------------------------------------------------------------------------------

3. Escribir una función que reciba la identificación de un cliente y un año X y devuelva el valor total de los pagos realizados en el año X.

CREATE OR REPLACE FUNCTION f_pago (ide_clien CLIENTES.identificacion%TYPE,
v_año VARCHAR2) RETURN NUMBER IS

v_valor PAGOS.valor%TYPE;

BEGIN

SELECT SUM(valor) valor
INTO v_valor
FROM PAGOS
WHERE id_cliente=ide_clien
AND TO_CHAR(fecha,'YYYY')=v_año;

RETURN v_valor;

END f_cita;
/



----------------------------------------------------------------------------------------------------------------------------------

4. Escribir una función que reciba la identificación de un cliente y devuelve la información completa del cliente.

CREATE OR REPLACE FUNCTION f_cliente (ide_clien CLIENTES.identificacion%TYPE)
RETURN CLIENTES%ROWTYPE IS

v_info CLIENTES%ROWTYPE;

BEGIN

SELECT *
INTO v_info
FROM CLIENTES
WHERE identificacion=ide_clien

RETURN v_info;

END f_cliente;
/


----------------------------------------------------------------------------------------------------------------------------------

5. Escribir un procedimiento almacenado que reciba la identificación de un cliente y el valor de un año X, y muestre un informe que conste de las siguientes elementos: sus datos básicos (invocar la función del numeral 2), valor total de los pagos realizados en el año X. (invocar la función del numeral 1).

CREATE OR REPLACE PROCEDURE p_informe (ide_clien CLIENTES.identificacion%TYPE, v_año VARCHAR2) AS

v_cliente CLIENTES%ROWTYPE;
v_pago PAGOS.valor%TYPE;

BEGIN

v_cliente:=f_cliente(ide_cliente);

v_pago:=f_pago(ide_cliente,v_año);

IF v_pago > 100 THEN

DBMS_OUTPUT.PUT_LINE('nombre completo: '||v_cliente.nombre||' '||v_cliente.apellido||'direccion residencia: '||
v_cliente.direccion_res||' telefono res: '||v_cliente.telefono_res||' direcion oficina: '|| v_cliente.direccion_of||' telefono of: '||v_cliente.telefono_of||' celular: '||
v_cliente.celular);

DBMS_OUTPUT.PUT_LINE('el valor total de los pagos es: '||v_pago);
ELSE
DBMS_OUTPUT.PUT_LINE('El valor no es el adecuado');
END IF;
END;
/



----------------------------------------------------------------------------------------------------------------------------------