Paradigmas para ver y entender la división del trabajo en los sistemas computacionales
IaaS
Infraestructura como servicio
en este modelo el cliente consume recursos de almacenamiento, procesamiento y redes donde alojar y ejecutar aplicaciones
PaaS
Plataforma como servicio
en este modelo el usuario no controla la infraestructura e incluso el proveedor puede definir el herramientas y lenguajes, pero el usuario si controla las aplicaciones o servicios desplegados y algunas variables de entorno
SaaS
Software como servicio
en este modelo el cliente utiliza aplicaciones y servicios del proveedor, y no tiene control de la infraestructura ni de las apps, solo de parámetros de configuración
Este es el blog personal de las actividades de trabajo del Arquitecto de Sistemas (SA) Alfonso Baqueiro Bernal.
jueves, abril 12, 2012
martes, marzo 20, 2012
Instalación de Oracle 10g Express Edition en Ubuntu 10.04 LTS
Instalación de Oracle 10g Express Edition en Ubuntu 10.04 LTS
Con eso de que he estado publicando sobre Oracle en Ubuntu, me ha faltado publicar respecto al proceso de instalación.
Aunque la versión 10.2 ya esta vieja, es la que tienen en el entorno del trabajo por lo que es la que estoy usando en esta instalación pero probablemente el proceso es similar con versiones más recientes.
Primero lo primero, descargar los archivos .deb, que se pueden obtener de esta página (previo registro):
http://www.oracle.com/technetwork/products/express-edition/downloads/102xelinsoft-102048.html
Respecto a las dependencias se requiere libaio, podemos ver que hay disponible con
libaio-dev - Biblioteca de acceso AIO del núcleo Linux - archivos de desarrollo
libaio1 - Biblioteca de acceso AIO del núcleo Linux - biblioteca compartida
libaio1-dbg - Biblioteca de acceso AIO del núcleo Linux, símbolos de depuración
así que optamos por instalar libaio1
Luego procedemos a la instalación:
172182 ficheros y directorios instalados actualmente.)
Preparando para reemplazar oracle-xe-universal 10.2.0.1-1.0 (usando .../oracle-xe-universal_10.2.0.1-1.0_i386.deb) ...
Desempaquetando el reemplazo de oracle-xe-universal ...
Configurando oracle-xe-universal (10.2.0.1-1.0) ...
update-rc.d: warning: /etc/init.d/oracle-xe missing LSB information
update-rc.d: see
Executing Post-install steps...
-e You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para python-gmenu ...
Rebuilding /usr/share/applications/desktop.es_MX.utf8.cache...
Procesando disparadores para man-db ...
Procesando disparadores para ureadahead ...
Procesando disparadores para python-support ...
Ejecutamos lo que indica la salida anterior.
$ sudo /etc/init.d/oracle-xe configure
Indicamos los puertos para el servidor HTTP y para el Motor
Indicamos un password para las cuentas SYS y SYSTEM
Indicamos si queremos que el motor de base datos se inicie al arranque, si optamos por no, podemos arrancarlo a voluntad con el comando
$ sudo /etc/init.d/oracle-xe configure
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press to accept the defaults.
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:n
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
Para parar el servicio
Para habilitar
Para arrancar el servicio
Para consultar el status
Basicamente, con esto ya tenemos un motor oracle edición express up and running.
Con eso de que he estado publicando sobre Oracle en Ubuntu, me ha faltado publicar respecto al proceso de instalación.
Aunque la versión 10.2 ya esta vieja, es la que tienen en el entorno del trabajo por lo que es la que estoy usando en esta instalación pero probablemente el proceso es similar con versiones más recientes.
Primero lo primero, descargar los archivos .deb, que se pueden obtener de esta página (previo registro):
http://www.oracle.com/technetwork/products/express-edition/downloads/102xelinsoft-102048.html
Respecto a las dependencias se requiere libaio, podemos ver que hay disponible con
$ apt-cache search libaio
libaio1 - Biblioteca de acceso AIO del núcleo Linux - biblioteca compartida
libaio1-dbg - Biblioteca de acceso AIO del núcleo Linux, símbolos de depuración
así que optamos por instalar libaio1
$ sudo apt-get install libaio1
Luego procedemos a la instalación:
$ sudo dpkg -i download/linux/oracle-xe-universal_10.2.0.1-1.0_i386.deb
(Leyendo la base de datos ... 00%172182 ficheros y directorios instalados actualmente.)
Preparando para reemplazar oracle-xe-universal 10.2.0.1-1.0 (usando .../oracle-xe-universal_10.2.0.1-1.0_i386.deb) ...
Desempaquetando el reemplazo de oracle-xe-universal ...
Configurando oracle-xe-universal (10.2.0.1-1.0) ...
update-rc.d: warning: /etc/init.d/oracle-xe missing LSB information
update-rc.d: see
Executing Post-install steps...
-e You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
Procesando disparadores para desktop-file-utils ...
Procesando disparadores para python-gmenu ...
Rebuilding /usr/share/applications/desktop.es_MX.utf8.cache...
Procesando disparadores para man-db ...
Procesando disparadores para ureadahead ...
Procesando disparadores para python-support ...
Ejecutamos lo que indica la salida anterior.
$ sudo /etc/init.d/oracle-xe configure
Indicamos los puertos para el servidor HTTP y para el Motor
Indicamos un password para las cuentas SYS y SYSTEM
Indicamos si queremos que el motor de base datos se inicie al arranque, si optamos por no, podemos arrancarlo a voluntad con el comando
$ sudo /etc/init.d/oracle-xe configure
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press
Ctrl-C will abort.
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:n
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
Para parar el servicio
$ sudo service oracle-xe stop
Para habilitar
$ sudo service oracle-xe enable
Para arrancar el servicio
$ sudo service oracle-xe start
Para consultar el status
$ sudo service oracle-xe status
Basicamente, con esto ya tenemos un motor oracle edición express up and running.
lunes, marzo 19, 2012
Oracle XE 10.2 documentation links
all books
http://www.oracle.com/pls/db102/portal.all_books
sqlplus user's guide and reference
http://docs.oracle.com/cd/B19306_01/server.102/b14357/toc.htm
http://www.oracle.com/pls/db102/portal.all_books
sqlplus user's guide and reference
http://docs.oracle.com/cd/B19306_01/server.102/b14357/toc.htm
Usando oracle express edition 10.2 (XE) con ubuntu 10.04 LTS
Usando oracle express edition 10.2 (XE) con ubuntu 10.04 LTS
(using oracle express edition XE with ubuntu)
Primero vamos a indicar las carencias y defectos que se presentan una vez desempacado e instalado el software
El paquete de oracle server xe contiene una utilidad de conección en modo consola la que se denomina sqlplus, sin embargo el sistema no queda configurado adecuadamente para encontrar este programa, y para ejecutarlo se requiere llamar a otros scripts que se supone que han sido escritos por profesionales de una compañia tan grande como Oracle, sin embargo dejan mucho que desear.
Como podemos ver por el acceso directo que crea la instalación:
el software se instala en:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
y el script que corre para abrir sqlplus es:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh
el cual lo único que hace es escoger el programa de terminal a utilizar, dando preferencia si esta presente a gnome-terminal sobre xterm, y fijando el título de la ventana para invocar a:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
este otro lo que hace es fijar adecuadamente las variables
ORACLE_HOME
ORACLE_SID
NLS_LANG
PATH
y finalmente arrancar el sqlplus sin log
lo feo del caso es que el script
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh
contiene un error en la linea 108 y 110, al evaluar una condición
originalmente esta así:
if [[ -n "$LC_ALL" ]]; then
locale=$LC_ALL
elif [[ -n "$LANG" ]]; then
locale=$LANG
else
locale=
fi
pero se puede corregir simplemente cambiandolo para que quede así:
if [ -n "$LC_ALL" ]; then
locale=$LC_ALL
elif [ -n "$LANG" ]; then
locale=$LANG
else
locale=''
fi
para que ahora si podamos correr con toda confianza en nuestra terminal
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
lo cual nos dará un prompt como este:
SQL*Plus: Release 10.2.0.1.0 - Production on Lun Mar 19 16:22:22 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>
¿y luego que se hace?
Primero nos tenemos que conectar usando un comando connect (nos podemos conectar a un motor oracle ya sea local o remoto), para ello tenemos que saber el usuario y password
en este caso nos conectamos a un server local (127.0.0.1)
como un usuario normal, ej. username
(sqlplus connect as sys)
si queremos conectarnos como DBA hay que agregar:
posteriormente pregunta el password y lo proporcionamos para obtener acceso
y saldrá un mensaje que dice:
Podemos desconectarnos usando
SQL> disconnect
¿y luego que se hace?
podemos mostrar ayuda para un comando utilizando el comando help
Otros comandos a probar son:
help
help accept
help index
Sin embargo seguramente te estas preguntando como se le hace para correr un script sql?
Pues basicamente una vez conectados ya podemos escribir nuestros querys sql
Podemos definir nuestro editor favorito para invocarlo desde sqlplus:
Luego ya podemos editar un archivo mediante
Esto abrira nuestro editor con el archivo filename.sql
Para correr los comandos en dicho archivo podemos usar:
o
Para guardar la salida de la ejecución en un archivo podemos usar:
append es opcional pero es recomendable para no borrar datos previos que haya en el archivo,
para guardar la salida en el archivo es necesario detener el spool
Con la información anterior ya nos es posible editar y ejecutar scripts, así como guardar la salida de ejecución, por lo que hasta aquí voy a dejar esta introducción a la linea de comandos de oracle sqlplus, esto para los que preferimos usar una linea de comandos a la interface html, que es un poco impractica.
Podeís encontrar mas información usando este link:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/pt2.htm
Fuentes:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch3.htm
(using oracle express edition XE with ubuntu)
Primero vamos a indicar las carencias y defectos que se presentan una vez desempacado e instalado el software
El paquete de oracle server xe contiene una utilidad de conección en modo consola la que se denomina sqlplus, sin embargo el sistema no queda configurado adecuadamente para encontrar este programa, y para ejecutarlo se requiere llamar a otros scripts que se supone que han sido escritos por profesionales de una compañia tan grande como Oracle, sin embargo dejan mucho que desear.
Como podemos ver por el acceso directo que crea la instalación:
el software se instala en:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
y el script que corre para abrir sqlplus es:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/runsqlplus.sh
if [ -f /usr/bin/gnome-terminal ]
then
/usr/bin/gnome-terminal -t "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
else
/usr/bin/xterm -T "SQL*Plus" -n "SQL*Plus" -e "/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh"
fi
el cual lo único que hace es escoger el programa de terminal a utilizar, dando preferencia si esta presente a gnome-terminal sobre xterm, y fijando el título de la ventana para invocar a:
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
ORACLE_SID=XE
export ORACLE_SID
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export NLS_LANG
PATH=$ORACLE_HOME/bin:$PATH
export PATH
sqlplus /nolog
este otro lo que hace es fijar adecuadamente las variables
ORACLE_HOME
ORACLE_SID
NLS_LANG
PATH
y finalmente arrancar el sqlplus sin log
lo feo del caso es que el script
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh
contiene un error en la linea 108 y 110, al evaluar una condición
originalmente esta así:
if [[ -n "$LC_ALL" ]]; then
locale=$LC_ALL
elif [[ -n "$LANG" ]]; then
locale=$LANG
else
locale=
fi
pero se puede corregir simplemente cambiandolo para que quede así:
if [ -n "$LC_ALL" ]; then
locale=$LC_ALL
elif [ -n "$LANG" ]; then
locale=$LANG
else
locale=''
fi
para que ahora si podamos correr con toda confianza en nuestra terminal
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/sqlplus.sh
lo cual nos dará un prompt como este:
SQL*Plus: Release 10.2.0.1.0 - Production on Lun Mar 19 16:22:22 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>
¿y luego que se hace?
Primero nos tenemos que conectar usando un comando connect (nos podemos conectar a un motor oracle ya sea local o remoto), para ello tenemos que saber el usuario y password
en este caso nos conectamos a un server local (127.0.0.1)
como un usuario normal, ej. username
SQL> connect username@127.0.0.1
(sqlplus connect as sys)
si queremos conectarnos como DBA hay que agregar:
SQL> connect sys@127.0.0.1 as sysdba
posteriormente pregunta el password y lo proporcionamos para obtener acceso
y saldrá un mensaje que dice:
Conectado.
SQL >Podemos desconectarnos usando
SQL> disconnect
¿y luego que se hace?
podemos mostrar ayuda para un comando utilizando el comando help
SQL> help connect
Otros comandos a probar son:
help
help accept
help index
Sin embargo seguramente te estas preguntando como se le hace para correr un script sql?
Pues basicamente una vez conectados ya podemos escribir nuestros querys sql
SQL> create table t ( a int ) ;
Tabla creada.
SQL> define _EDITOR = gvim
oSQL> define _EDITOR = gedit
Luego ya podemos editar un archivo mediante
SQL> edit filename
Esto abrira nuestro editor con el archivo filename.sql
Para correr los comandos en dicho archivo podemos usar:
SQL> start filename
o
SQL> @filename
Para guardar la salida de la ejecución en un archivo podemos usar:
SQL> spool output_filename append
append es opcional pero es recomendable para no borrar datos previos que haya en el archivo,
para guardar la salida en el archivo es necesario detener el spool
SQL> spool off
Con la información anterior ya nos es posible editar y ejecutar scripts, así como guardar la salida de ejecución, por lo que hasta aquí voy a dejar esta introducción a la linea de comandos de oracle sqlplus, esto para los que preferimos usar una linea de comandos a la interface html, que es un poco impractica.
Podeís encontrar mas información usando este link:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/pt2.htm
Fuentes:
http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch3.htm
Setting Aquafold Datastudio with Oracle Database
(configurar aquafold datastudio para usarlo con motor de base de datos Oracle)
A diferencia de otros motores requerimos más parametros para configurar por ej. para configurar un postgresql requerimos ip, usuario, password, puerto y database
en el caso de oracle, el equivalente a database puede ser el SID, en el caso de oracle express editon, el SID que se requiere es XE
hay un parametro del tipo de conección que puede ser ( normal | SYSOPER | SYSDBA ) y que tenemos que poner en SYSDBA cuando nos estemos conectando con la cuenta SYS o SYSTEM
así quedarían los parametros de la configuración a un motor oracle, como en la imagen
A diferencia de otros motores requerimos más parametros para configurar por ej. para configurar un postgresql requerimos ip, usuario, password, puerto y database
en el caso de oracle, el equivalente a database puede ser el SID, en el caso de oracle express editon, el SID que se requiere es XE
hay un parametro del tipo de conección que puede ser ( normal | SYSOPER | SYSDBA ) y que tenemos que poner en SYSDBA cuando nos estemos conectando con la cuenta SYS o SYSTEM
así quedarían los parametros de la configuración a un motor oracle, como en la imagen
jueves, marzo 15, 2012
Remover secuencias de escape de terminal usando un comando
How to remove ANSI escape sequences from a text file: e.g. remove escape sequences from the output of 'script':
I needed this functionality just now and I thought 'Why not share it?'. So, here it is:
I needed this functionality just now and I thought 'Why not share it?'. So, here it is:
Add to your $HOME/.bashrc
alias stresc='sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"'You may replace 'stresc' by whatever you prefer, just make sure it is not an already existing command or alias.
This effectively creates your own personal 'strip escape' command.
To use it in a terminal
This effectively creates your own personal 'strip escape' command.
To use it in a terminal
stresc filename
or
stresc filename > other-file-namefuente: http://crunchbanglinux.org/forums/topic/15321/how-to-remove-ansi-escape-sequences-from-a-text-file/
domingo, febrero 19, 2012
y dicen que el perro viejo no aprende trucos nuevos
pero no es cierto, hoy aprendí 2 nuevos comandos
watch
para monitorear otro comando que se corre periodicamente y monitorear cambios en su salida, notar que esta ejecutando el comando cada n segundos y mostrando su salida sobrepuesta
ej.
cuando estamos descargando un archivo o copiando uno grande y queremos ver el tamaño del archivo como va cambiando cada 5 segundos
watch -n 5 ls -lh growingfile.bin
script
para guardar en un archivo toda la salida y entrada de una sesion interactiva de terminal, o que otro usuario vea lo que estamos haciendo en la terminal
ej. para guardar la salida a un archivo de nombre log
script -f log
ej. para mostrar a otro lo que se va haciendo cuando ambos están logueados en un server
on term1:
mkfifo fifo; script -f fifo
on term2:
cat fifo
entonces toda la salida y entrada de term1 se replica en term2
watch
para monitorear otro comando que se corre periodicamente y monitorear cambios en su salida, notar que esta ejecutando el comando cada n segundos y mostrando su salida sobrepuesta
ej.
cuando estamos descargando un archivo o copiando uno grande y queremos ver el tamaño del archivo como va cambiando cada 5 segundos
watch -n 5 ls -lh growingfile.bin
script
para guardar en un archivo toda la salida y entrada de una sesion interactiva de terminal, o que otro usuario vea lo que estamos haciendo en la terminal
ej. para guardar la salida a un archivo de nombre log
script -f log
ej. para mostrar a otro lo que se va haciendo cuando ambos están logueados en un server
on term1:
mkfifo fifo; script -f fifo
on term2:
cat fifo
entonces toda la salida y entrada de term1 se replica en term2
martes, febrero 14, 2012
Configurar apt-get a traves de proxy autenticado
Editar /etc/apt/apt.conf
y añadir esta linea:
Acquire::http::proxy "http://DOMAIN\USER:PASSWORD@PROXY_IP:PORT";
o si no requiere DOMINIO
Acquire::http::proxy "http://USER:PASSWORD@PROXY_IP:PORT";
por ej:
Acquire::http::proxy "http://google\sergey:password@10.0.0.1:8080";
o si no requiere dominio
Acquire::http::proxy "http://sergey:password@10.0.0.1:8080";
o si no requiere autenticación
Acquire::http::proxy "http://192.168.1.253:8080";
Esto me ha funcionado, pero si es un poco inseguro porque el password queda a la vista.
Al menos podemos hacerlo no legible salvo para root o sudoers con esto
sudo chmod 700 /etc/apt/apt.conf
y añadir esta linea:
Acquire::http::proxy "http://DOMAIN\USER:PASSWORD@PROXY_IP:PORT";
o si no requiere DOMINIO
Acquire::http::proxy "http://USER:PASSWORD@PROXY_IP:PORT";
por ej:
Acquire::http::proxy "http://google\sergey:password@10.0.0.1:8080";
o si no requiere dominio
Acquire::http::proxy "http://sergey:password@10.0.0.1:8080";
o si no requiere autenticación
Acquire::http::proxy "http://192.168.1.253:8080";
Esto me ha funcionado, pero si es un poco inseguro porque el password queda a la vista.
Al menos podemos hacerlo no legible salvo para root o sudoers con esto
sudo chmod 700 /etc/apt/apt.conf
martes, noviembre 29, 2011
Añadiendo soporte en ubuntu para driver de ethernet card Atheros AR8152 en Toshiba Satellite Pro C650
Añadiendo soporte en ubuntu para driver de ethernet card Atheros AR8152 en Toshiba Satellite Pro C650
de acuerdo con:
lspci | grep Ethernet
01:00.0 Ethernet controller: Atheros Communications AR8152 v1.1 Fast Ethernet (rev c1)
por alguna razón ubuntu 10.04 LTS en esta ocasión si detecta la interface wireless y la ethernet no la detecta, gogleando encontre que se puede añadir driver para esta tarjeta compilandolo
es necesario descargar el fuente de
http://linuxwireless.org/download/compat-wireless-2.6/
yo descargue el más reciente en este momento
http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2011-11-22.tar.bz2
luego, poniendonos en el directorio donde descargamos:
tar -xjvf compat-wireless-2.6.tar.bz2
cd compat-wireless*
scripts/driver-select atl1c
make
sudo make install
luego reiniciamos y en teoría ya debemos tener el soporte
si no cargo el driver automagicamente probar
sudo modprobe atl1c
de acuerdo con:
lspci | grep Ethernet
01:00.0 Ethernet controller: Atheros Communications AR8152 v1.1 Fast Ethernet (rev c1)
por alguna razón ubuntu 10.04 LTS en esta ocasión si detecta la interface wireless y la ethernet no la detecta, gogleando encontre que se puede añadir driver para esta tarjeta compilandolo
es necesario descargar el fuente de
http://linuxwireless.org/download/compat-wireless-2.6/
yo descargue el más reciente en este momento
http://linuxwireless.org/download/compat-wireless-2.6/compat-wireless-2011-11-22.tar.bz2
luego, poniendonos en el directorio donde descargamos:
tar -xjvf compat-wireless-2.6.tar.bz2
cd compat-wireless*
scripts/driver-select atl1c
make
sudo make install
luego reiniciamos y en teoría ya debemos tener el soporte
si no cargo el driver automagicamente probar
sudo modprobe atl1c
miércoles, noviembre 23, 2011
Resize ubuntu live usb persistence storage space
Warning: Block file size must be less than < 4096 MB on a fat32 formatted flash drive due to the 4GB file size limitation of a fat32 partition.
Creating a NEW larger casper-rw loop file
The following method will create a NEW casper-rw file that will replace the old one. If you want to resize an existing image see the next section.
After your up and running in Linux, insert the flash drive that contains your casper-rw loop file
Open a terminal
Type the following into the terminal window and press enter
dd if=/dev/zero of=casper-rw bs=1M count=1024
(replacing 1024 with the "size in MB" you wish to use for saving changes persistently)
Type the following into the terminal and press enter
mkfs.ext3 -F casper-rw
Copy the new casper-rw file to your USB flash drive
Restart your computer, booting from the USB flash drive and enjoy using the larger casper-rw loop block file you have just created.
Resize an existing casper-rw loop file
The following method will allow you to resize your existing casper-rw image (expand casper-rw). You should create a backup just in case before proceeding.
After your up and running in Linux, insert the flash drive that contains your casper-rw loop file
Open a terminal and change directory (CD) to the location of your casper-rw file
Type the following into the terminal window and press enter
dd if=/dev/zero bs=1M count=1024 >> casper-rw
(replacing 1024 with the size in MB you wish to increase the original size by)
Type the following into the terminal window and press enter
resize2fs casper-rw
If all goes well, you should now have a larger casper-rw loop file to use for saving your persistent changes.
(replacing 1024 with the size in MB you wish to increase the original size by)
Type the following into the terminal window and press enter
resize2fs casper-rw
If all goes well, you should now have a larger casper-rw loop file to use for saving your persistent changes.
lunes, noviembre 07, 2011
compartir usb o sd o tarjeta con windows desde ubuntu linux
(problema de permisos compartir desde linux mediante samba(carpetas compartidas) archivos en la SD o USB)
(ubuntu linux samba sharing permission problem)
pinche linux, a veces hay cosas sencillas que da mucha lata poderlas realizar
como es el caso de querer compartir con máquinas windows (mediante samba) archivos que están en una usb o en una memoria SD en el lector de tarjetas
aquí la historia:
1. metes la memoria al lector, y bueno, todo bien, lo monta en /media/ALGO (donde algo es el label del sistema de archivos en la memoria) y puedes ver los archivos sin bronca, así que supones que modificando la configuración del /etc/samba/smbd.conf agregando:
[ALGO]
path = /media/ALGO
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
lo anterior funciona bien ya que desde la máquina windows puedes ver la carpeta compartida algo, pero cuando intentas ver su contenido te marca un error de permisos
revisando los permisos con ls -lh nos damos cuenta de que los permisos de la carpeta están como
root root rwxr-xr-x
y como es un directorio requiere permisos para el grupo y otros usuarios como rwrrwxrwx así que hay que cambiarlos, pero usando chmod no lo permite porque el sistema de archivos es vfat y no tiene dichos permisos
así que la solución esta en desmontar el sistema de archivos y montarlo a mano para poder indicar el usuario y grupo con el cual montarlo
primero tomamos nota de donde se monto en automático
$ mount | grep /media/algo
/dev/sdc1 on /media/algo .....
tomamos nota de que el sistema esta en /dev/sdc1
$ sudo umount /media/algo
creamos el punto de montaje nuevo
$ mkdir ~/algo
montamos manualmente
$ sudo mount -o uid=nobody,gid=nogroup /dev/sdc1 ~/algo
modificamos el /etc/samba/smb.conf
[ALGO]
path = /home/YOUR_USER/algo
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
si es necesario le damos un restart al samba
$ sudo service smbd restart
de esta forma ya no debemos tener problema para ver los archivos desde la máquina con windows
mediante el path por ej.
\\192.168.10.70\algo
(ubuntu linux samba sharing permission problem)
pinche linux, a veces hay cosas sencillas que da mucha lata poderlas realizar
como es el caso de querer compartir con máquinas windows (mediante samba) archivos que están en una usb o en una memoria SD en el lector de tarjetas
aquí la historia:
1. metes la memoria al lector, y bueno, todo bien, lo monta en /media/ALGO (donde algo es el label del sistema de archivos en la memoria) y puedes ver los archivos sin bronca, así que supones que modificando la configuración del /etc/samba/smbd.conf agregando:
[ALGO]
path = /media/ALGO
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
lo anterior funciona bien ya que desde la máquina windows puedes ver la carpeta compartida algo, pero cuando intentas ver su contenido te marca un error de permisos
revisando los permisos con ls -lh nos damos cuenta de que los permisos de la carpeta están como
root root rwxr-xr-x
y como es un directorio requiere permisos para el grupo y otros usuarios como rwrrwxrwx así que hay que cambiarlos, pero usando chmod no lo permite porque el sistema de archivos es vfat y no tiene dichos permisos
así que la solución esta en desmontar el sistema de archivos y montarlo a mano para poder indicar el usuario y grupo con el cual montarlo
primero tomamos nota de donde se monto en automático
$ mount | grep /media/algo
/dev/sdc1 on /media/algo .....
tomamos nota de que el sistema esta en /dev/sdc1
$ sudo umount /media/algo
creamos el punto de montaje nuevo
$ mkdir ~/algo
montamos manualmente
$ sudo mount -o uid=nobody,gid=nogroup /dev/sdc1 ~/algo
modificamos el /etc/samba/smb.conf
[ALGO]
path = /home/YOUR_USER/algo
browseable = yes
writeable = no
guest ok = yes
force user = nobody
force group = nogroup
si es necesario le damos un restart al samba
$ sudo service smbd restart
de esta forma ya no debemos tener problema para ver los archivos desde la máquina con windows
mediante el path por ej.
\\192.168.10.70\algo
martes, noviembre 01, 2011
notas sobre desarrollo con android desde linea de comandos
usando el SDK de android
Como modificar una aplicación incluida en los samples del SDK para generar el build.xml
$ android update project -n NOMBRE -t 1 -p android-sdk/samples/sampleX
Como compilar la aplicación en modo de depuración
$ ant debug
Como compilar la aplicación usando firma para poder subirla al market
$
se crea un emulador usando el GUI que contiene el programa
$ android
seguir la GUI, lo importante aquí es tomar nota del nombre que le ponemos al emulador ya que este nombre se utiliza para arrancarlo
Como arrancar el emulador, se le puso de nombre avd1
$ emulator -avd avd1
Como listar los emuladores que están en ejecución
$ adb devices
Con el emulador corriendo, como instalar una applicación
$ adb install archivo.apk
Como revisar las plataformas que hay instaladas (targets)
$ androd list targets
Come crear los estructura base y archivos que conforman un proyecto para una aplicación
$ android create project -t 1 -n hello -k com.pkg -a hello -p .
Como modificar una aplicación incluida en los samples del SDK para generar el build.xml
$ android update project -n NOMBRE -t 1 -p android-sdk/samples/sampleX
Como compilar la aplicación en modo de depuración
$ ant debug
Como compilar la aplicación usando firma para poder subirla al market
$
se crea un emulador usando el GUI que contiene el programa
$ android
seguir la GUI, lo importante aquí es tomar nota del nombre que le ponemos al emulador ya que este nombre se utiliza para arrancarlo
Como arrancar el emulador, se le puso de nombre avd1
$ emulator -avd avd1
Como listar los emuladores que están en ejecución
$ adb devices
Con el emulador corriendo, como instalar una applicación
$ adb install archivo.apk
como usar un solo mouse y teclado para controlar varias computadoras
como compartir un mouse y teclado con o para varias computadoras
las computadoras pueden tener diversos sistemas operativos, por ejemplo OS X, linux o windows
para los otros sistemas operativos podemos descargarlo de la página de la app
http://synergy-foss.org/download/
section: screens
google:
petit:
inv1:
end
section: aliases
google:
192.168.10.70
petit:
192.168.10.38
inv1:
192.168.1.71
end
section: links
google:
left = petit
petit:
right = google
left = inv1
inv1:
right = petit
end
================================
por default synergys busca el archivo .synergy.conf en nuestro $HOME, con la opción --config podemos especificar un archivo distinto
--config synconf2.conf
Lanzamos el servidor de synergy para que este listo para compartir teclado y mouse
por otro lado las máquinas que queremos controlar se tienen que entregar voluntariamente, o sea tenemos que ejecutar el cliente de synergy indicando el servidor que las controlara
las computadoras pueden tener diversos sistemas operativos, por ejemplo OS X, linux o windows
es bastante sencillo y practico usando el programa adecuado, en este caso se trata de
synergy
en distribuciones basadas en .deb lo instalamos usando apt
$ sudo apt-get install synergy
para los otros sistemas operativos podemos descargarlo de la página de la app
http://synergy-foss.org/download/
luego es necesario correr el server en la máquina donde tenemos el teclado y mouse que queremos usar para controlar las otras compus, pero hay que crear un archivo de configuración como este de ejemplo:
.synergy.conf
================================
section: screens
google:
petit:
inv1:
end
section: aliases
google:
192.168.10.70
petit:
192.168.10.38
inv1:
192.168.1.71
end
section: links
google:
left = petit
petit:
right = google
left = inv1
inv1:
right = petit
end
================================
la sección links es declarativa y cada máquina declara lo que tiene alredodor
google
tiene a la izquierda a petit
petit
tiene a la derecha a google
tiene a la izquierda a inv1
inv1
tiene a la derecha a petit
tiene a la izquierda a petit
petit
tiene a la derecha a google
tiene a la izquierda a inv1
inv1
tiene a la derecha a petit
luego, ya con dicho archivo de configuración en la máquina donde esta el teclado y mouse principal corremos un synergy server
por default synergys busca el archivo .synergy.conf en nuestro $HOME, con la opción --config podemos especificar un archivo distinto
--config synconf2.conf
Lanzamos el servidor de synergy para que este listo para compartir teclado y mouse
$ synergys -f
por otro lado las máquinas que queremos controlar se tienen que entregar voluntariamente, o sea tenemos que ejecutar el cliente de synergy indicando el servidor que las controlara
$ synergyc -f google
o por ip
$ synergyc -f 192.168.10.70
o por ip
$ synergyc -f 192.168.10.70
tanto synergys como synergyc corren en modo background, la opción -f es para que corran en foreground, cuando ya se acostumbren a usarlo es recomendable eliminar dicho parametro a menos que quieran dejar una terminal para monitoreo
reference:
http://synergy-foss.org/
http://synergy-foss.org/
viernes, octubre 28, 2011
Compras en USA y la ineficiente economía Mexicana
Este post lo hago como parte de un review a este producto que compre en Amazon el cual salio en promoción por tan solo 30 dolares (click en la imagen para ver el producto en amazon)


Soy de la Ciudad de México y antes que nada vean que tambíen compramos cosas originales y no solo material pirateado en Tepito, cuyas copias de DVD tienen una pésima calidad (material y técnica para realizar la copia) y los supuestos clones de DVD no lo son ya que generalmente los DVD originales vienen en doble capa y contienen en promedio 6Gb o más de datos, los supuestos clones los hacen en el DVD de a 1 peso y les reducen calidad para que entren en 4Gb, además de que le quitan material extra y audio en otros idiomas (que son muy utiles para aprender idiomas). Es decir lo pirata realmente es pus, ni siquiera es una piratería bien hecha, el disco no esta serigrafiado, y ni siquiera los dan en una caja para su protección y conservación si usarán DVD de buena calidad y doble capa tendrían que vender en 40 pesos cada DVD en lugar de los 6 pesos a los que los venden.
Las grandes discográficas tienen que considerar la diferencia de ingresos en los países jodidos como México ya que no puede ser que los precios en México sean superiores a los precios que ofrecen en países con niveles de ingreso más altos.
Es increible que sea más barato comprar a través de amazon que en las tiendas locales físicas o web, ya que se supone que ellos pueden ofrecer un mejor precio porque compran de mayoreo, sin embargo sale más barato importarlo de manera individual (y uno también paga el impuesto de importación), lo cual no tiene lógica económica, esto solo refleja que los empresarios mexicanos son muy aborazados para obtener altas tasas de ganancia, es decir la economía mexicana no es eficiente.
Yo considero que el precio de equilibrio adecuado para un país como México es entre 40 y 60 pesos para los DVD de películas, la industria discográfica debe considerar este tipo de estrategias de precios como la manera más eficiente de combatir la piratería y no las tontas propuestas que vemos aparecer en los titulares como esta noticia de Diario TI
Respecto al review del producto no hay mucho que decir, es un material de excelente calidad, claro si te gusta la serie de Harry Potter, sino, pues no.
Soy de la Ciudad de México y antes que nada vean que tambíen compramos cosas originales y no solo material pirateado en Tepito, cuyas copias de DVD tienen una pésima calidad (material y técnica para realizar la copia) y los supuestos clones de DVD no lo son ya que generalmente los DVD originales vienen en doble capa y contienen en promedio 6Gb o más de datos, los supuestos clones los hacen en el DVD de a 1 peso y les reducen calidad para que entren en 4Gb, además de que le quitan material extra y audio en otros idiomas (que son muy utiles para aprender idiomas). Es decir lo pirata realmente es pus, ni siquiera es una piratería bien hecha, el disco no esta serigrafiado, y ni siquiera los dan en una caja para su protección y conservación si usarán DVD de buena calidad y doble capa tendrían que vender en 40 pesos cada DVD en lugar de los 6 pesos a los que los venden.
Las grandes discográficas tienen que considerar la diferencia de ingresos en los países jodidos como México ya que no puede ser que los precios en México sean superiores a los precios que ofrecen en países con niveles de ingreso más altos.
Es increible que sea más barato comprar a través de amazon que en las tiendas locales físicas o web, ya que se supone que ellos pueden ofrecer un mejor precio porque compran de mayoreo, sin embargo sale más barato importarlo de manera individual (y uno también paga el impuesto de importación), lo cual no tiene lógica económica, esto solo refleja que los empresarios mexicanos son muy aborazados para obtener altas tasas de ganancia, es decir la economía mexicana no es eficiente.
Yo considero que el precio de equilibrio adecuado para un país como México es entre 40 y 60 pesos para los DVD de películas, la industria discográfica debe considerar este tipo de estrategias de precios como la manera más eficiente de combatir la piratería y no las tontas propuestas que vemos aparecer en los titulares como esta noticia de Diario TI
Respecto al review del producto no hay mucho que decir, es un material de excelente calidad, claro si te gusta la serie de Harry Potter, sino, pues no.
jueves, octubre 06, 2011
Como saber desde donde están entrando a nuestro sitio con PHP
Solución escrita usando PHP
<?php
header("Content-Type: text/html; charset=utf8;");
echo "Has llegado a esta página ";
if (isset($_SERVER['HTTP_REFERER']) ){
echo " por una referencia desde [<b>";
echo $_SERVER['HTTP_REFERER'];
echo "</b>]";
} else {
echo "<b>usando el url directamente.</b>";
}
?>
jueves, septiembre 22, 2011
Compiling PHP5 with MS SQL Server support
Compilando PHP5 con soporte para MS SQL Server
Primero hay que obtener el código fuente del sitio de ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
En esta ocasión voy a proceder a poner los comandos del proceso de instalación:
con lo anterior hemos terminado de compilar e instalar freetds en nuestro linux
ahora a compilar el php con dicho módulo
aquí nos marca un error que se resuelve como los amables usarios de php indican en
http://www.php.net/manual/en/mssql.installation.php
ya que al parecer hay algunos archivos que el php supone que existen para verificar la existencia de tds, pero que la distro de tds ya no incluye
luego regresamos a intentar
reiniciamos el apache y corremos un .php que muestre phpinfo() para comprobar que ya se encuentre el soporte, debe aparecer una sección mssql, esto indica que el php ya tiene dicho soporte
Como paso adicional es necesario modificar el archivo de configuración de tds para agregar nombres de servidores sql que se utilizarán en php para conectarse a los motores de base de datos.
añadimos una sección por cada servidor (no es necesario reiniciar el httpd) por ej.
Primero hay que obtener el código fuente del sitio de ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
En esta ocasión voy a proceder a poner los comandos del proceso de instalación:
cd /dev/shm wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz mkdir /build cd /build tar zxvf /dev/shm/freetds-stable.tgz cd freetds-0.82/ ./configure --prefix=/usr/local/freetds --exec-prefix=/usr/local/freetds make sudo make install
con lo anterior hemos terminado de compilar e instalar freetds en nuestro linux
ahora a compilar el php con dicho módulo
cd /build cd php-5.2.6/ './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-pgsql=/usr/local/pgsql' '--with-zlib' '--enable-mbstring' '--with-gd' '--with-jpeg-dir=/usr/lib' '--with-mssql=/usr/local/freetds'
aquí nos marca un error que se resuelve como los amables usarios de php indican en
http://www.php.net/manual/en/mssql.installation.php
ya que al parecer hay algunos archivos que el php supone que existen para verificar la existencia de tds, pero que la distro de tds ya no incluye
sudo touch /usr/local/freetds/include/tds.h sudo touch /usr/local/freetds/lib/libtds.a
luego regresamos a intentar
'./configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-pgsql=/usr/local/pgsql' '--with-zlib' '--enable-mbstring' '--with-gd' '--with-jpeg-dir=/usr/lib' --with-mssql=/usr/local/freetds make sudo make install
reiniciamos el apache y corremos un .php que muestre phpinfo() para comprobar que ya se encuentre el soporte, debe aparecer una sección mssql, esto indica que el php ya tiene dicho soporte
sudo service httpd restart google-chrome http://localhost/pru.php
Como paso adicional es necesario modificar el archivo de configuración de tds para agregar nombres de servidores sql que se utilizarán en php para conectarse a los motores de base de datos.
sudo gvim /usr/local/freetds/etc/freetds.conf
añadimos una sección por cada servidor (no es necesario reiniciar el httpd) por ej.
[google_vm_altair] host = 192.168.10.70 port = 1433 tds version = 7.0
miércoles, septiembre 21, 2011
MS Sql Server Backup / Restore sql commands
Con MS SQL Server es posible realizar backups (respaldos) mediante querys (consultas) sql, a través de una conexión a la base de datos usando nuestra herramienta favorita con la que acostumbramos hacer querys (en mi caso Aqua Fold Datastudio).
Respaldar en el directorio por defecto (backup directory in MSSQL directory) con nombre prueba.bak
Restaurar de un backup que se encuentra en el directorio default
Nota: la base de datos que se quiere restaurar no debe estar en uso.
Restaurar de un backup hacia una base de datos distinta a la original
Así que necesitamos ver el contenido del backup para ello usamos:
LogicalName PhysicalName Type FileGroupName Size MaxSize FileId CreateLSN DropLSN UniqueId ReadOnlyLSN ReadWriteLSN BackupSizeInBytes SourceBlockSize FileGroupId LogGroupGUID DifferentialBaseLSN DifferentialBaseGUID IsReadOnly IsPresent
-------------- ------------------------------------------- ------- ---------------- ------- -------------- --------- ------------ ---------- ------------------------------------ -------------- --------------- -------------------- ------------------ -------------- --------------- ---------------------- ------------------------------------ ------------- ------------
pru c:\mssql2005\MSSQL.1\MSSQL\DATA\pru.mdf D PRIMARY 2293760 35184372080640 1 0 0 DB89AE8F-4F86-4633-9063-7BE019ABF8E9 0 0 1441792 512 1 (null) 17000000041200037 8683BDA0-FDA1-4281-B887-5FEE5FD1CC0D false true
pru_log c:\mssql2005\MSSQL.1\MSSQL\DATA\pru_log.LDF L (null) 573440 2199023255552 2 0 0 A9C91979-20E6-4A67-BAEC-48FC68C3E6B6 0 0 0 512 0 (null) 0 00000000-0000-0000-0000-000000000000 false true
Así que usamos la información anterior para hacer la restauración indicando donde queremos colocar los archivos de la base y el log, para ello usamos el Logical name
-- ALGUNOS EJEMPLOS APLICADOS
BACKUP DATABASE pru
TO DISK='\\10.0.2.2\buzon\pru.bak'
RESTORE FILELISTONLY
FROM DISK='\\10.0.2.2\shm_altair\plantilla.bak'
RESTORE DATABASE altair_plantilla
FROM DISK='\\10.0.2.2\shm_altair\plantilla.bak'
WITH
STATS=10
,MOVE 'plantilla_Data' TO 'c:\mssql2005\MSSQL.1\MSSQL\DATA\altair_plantilla.mdf'
,MOVE 'plantilla_Log' TO 'c:\mssql2005\MSSQL.1\MSSQL\DATA\altair_plantilla_log.ldf'
=========================================================
BACKUP DATABASE pru
TO DISK='C:\bk\pru.bk';
es tan simple como lo anterior, pero hay que asegurarnos de que la cuenta con la que corre el proceso de sql server tiene permiso de escritura en el path donde queremos guardar el archivo de backup, por lo que hay que darle permiso en las propiedades de seguridad a la carpeta, en mi caso el sqlserver corre con la cuenta NETWORK SERVICE y al darle permiso ya no saldra un error como este:
Cannot open backup device 'C:\bk\pru.bk'. Operating system error 5(Access is denied.)
Si el backup es muy grande, podemos agregar lo siguiente para recibir notificación sobre el progreso, en este caso solicitamos notificación cada 10% (WITH STATS=10) y el comando quedaría así:
BACKUP DATABASE pru
TO DISK='C:\bk\pru.bk'
WITH STATS=10;
Restore sql
Restoringaoeu
Más información:
http://technet.microsoft.com/en-us/library/ms186865(SQL.90).aspx
Respaldar en el directorio por defecto (backup directory in MSSQL directory) con nombre prueba.bak
BACKUP DATABASE pru TO DISK='prueba.bak';
Restaurar de un backup que se encuentra en el directorio default
Nota: la base de datos que se quiere restaurar no debe estar en uso.
RESTORE DATABASE pru FROM DISK='prueba.bak';
Restaurar de un backup hacia una base de datos distinta a la original
RESTORE DATABASE pru2 FROM DISK='prueba.bak'esto lanza el error siguiente
-- [Error] Script lines: 1-3 -------------------------- -- The file 'c:\mssql2005\MSSQL.1\MSSQL\DATA\pru.mdf' cannot be overwritten. It is being used by database 'pru'. -- -- More exceptions ... File 'pru' cannot be restored to 'c:\mssql2005\MSSQL.1\MSSQL\DATA\pru.mdf'. Use WITH MOVE to identify a valid location for the file.
Así que necesitamos ver el contenido del backup para ello usamos:
RESTORE FILELISTONLY FROM DISK='prueba.bak'esto muestra algo como lo siguiente:
-------------- ------------------------------------------- ------- ---------------- ------- -------------- --------- ------------ ---------- ------------------------------------ -------------- --------------- -------------------- ------------------ -------------- --------------- ---------------------- ------------------------------------ ------------- ------------
pru c:\mssql2005\MSSQL.1\MSSQL\DATA\pru.mdf D PRIMARY 2293760 35184372080640 1 0 0 DB89AE8F-4F86-4633-9063-7BE019ABF8E9 0 0 1441792 512 1 (null) 17000000041200037 8683BDA0-FDA1-4281-B887-5FEE5FD1CC0D false true
pru_log c:\mssql2005\MSSQL.1\MSSQL\DATA\pru_log.LDF L (null) 573440 2199023255552 2 0 0 A9C91979-20E6-4A67-BAEC-48FC68C3E6B6 0 0 0 512 0 (null) 0 00000000-0000-0000-0000-000000000000 false true
Así que usamos la información anterior para hacer la restauración indicando donde queremos colocar los archivos de la base y el log, para ello usamos el Logical name
RESTORE DATABASE pru2 FROM DISK='prueba.bak' WITH MOVE 'pru' TO 'c:\mssql2005\MSSQL.1\MSSQL\DATA\pru2.mdf' ,MOVE 'pru_log' TO 'c:\mssql2005\MSSQL.1\MSSQL\DATA\pru2_log.LDF'
-- ALGUNOS EJEMPLOS APLICADOS
BACKUP DATABASE pru
TO DISK='\\10.0.2.2\buzon\pru.bak'
RESTORE FILELISTONLY
FROM DISK='\\10.0.2.2\shm_altair\plantilla.bak'
RESTORE DATABASE altair_plantilla
FROM DISK='\\10.0.2.2\shm_altair\plantilla.bak'
WITH
STATS=10
,MOVE 'plantilla_Data' TO 'c:\mssql2005\MSSQL.1\MSSQL\DATA\altair_plantilla.mdf'
,MOVE 'plantilla_Log' TO 'c:\mssql2005\MSSQL.1\MSSQL\DATA\altair_plantilla_log.ldf'
=========================================================
BACKUP DATABASE pru
TO DISK='C:\bk\pru.bk';
es tan simple como lo anterior, pero hay que asegurarnos de que la cuenta con la que corre el proceso de sql server tiene permiso de escritura en el path donde queremos guardar el archivo de backup, por lo que hay que darle permiso en las propiedades de seguridad a la carpeta, en mi caso el sqlserver corre con la cuenta NETWORK SERVICE y al darle permiso ya no saldra un error como este:
Cannot open backup device 'C:\bk\pru.bk'. Operating system error 5(Access is denied.)
Si el backup es muy grande, podemos agregar lo siguiente para recibir notificación sobre el progreso, en este caso solicitamos notificación cada 10% (WITH STATS=10) y el comando quedaría así:
BACKUP DATABASE pru
TO DISK='C:\bk\pru.bk'
WITH STATS=10;
Restore sql
Restoringaoeu
Más información:
http://technet.microsoft.com/en-us/library/ms186865(SQL.90).aspx
martes, septiembre 20, 2011
configuring several ips on the same network interface (card)
(creating or setuy virtual ethernet devices on a single physical device)
(creating or setup virtual IP address on a single interface)
now our interface is binded to the three IPs
if you want to check with your eyes, run
ifconfig
and you will see something like this
related info:
http://itsecureadmin.blogspot.com/2007/02/creating-virtual-ip-addresses-on-linux.html
(creating or setup virtual IP address on a single interface)
now our interface is binded to the three IPs
if you want to check with your eyes, run
ifconfig
and you will see something like this
eth0 Link encap:Ethernet direcciónHW 00:04:75:ab:cd:ef
Direc. inet:192.168.1.50 Difus.:192.168.1.255 Másc:255.255.255.0
ACTIVO DIFUSIÓN MULTICAST MTU:1500 Métrica:1
Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:1000
Bytes RX:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupción:20 Dirección base: 0xe000
eth0:1 Link encap:Ethernet direcciónHW 00:04:75:ab:cd:ef
Direc. inet:192.168.1.100 Difus.:192.168.1.255 Másc:255.255.255.0
ACTIVO DIFUSIÓN MULTICAST MTU:1500 Métrica:1
Interrupción:20 Dirección base: 0xe000
eth0:2 Link encap:Ethernet direcciónHW 00:04:75:ab:cd:ef
Direc. inet:192.168.1.200 Difus.:192.168.1.255 Másc:255.255.255.0
ACTIVO DIFUSIÓN MULTICAST MTU:1500 Métrica:1
Interrupción:20 Dirección base: 0xe000
related info:
http://itsecureadmin.blogspot.com/2007/02/creating-virtual-ip-addresses-on-linux.html
lunes, septiembre 19, 2011
Suscribirse a:
Entradas (Atom)

