dpkg --add-architecture i386
apt-get update
dpkg -i ubicacion_y_nombre_del_paquete
apt-get install -f
martes, 25 de marzo de 2014
Instalando paquetes de 32bit en arquitecturas de 64bit (Debian)
Muchas veces me han dicho: ¿cómo hago para instalar paquetes de 32bit en arquitecturas de 64bit? como es el ejemplo de skype, teamviewer, entre otros, los pasos son muy fáciles a partir de la versión 7 de Debian:
viernes, 31 de enero de 2014
Habilitar USB en los equipos virtuales usando VirtualBox en Linux
Cuando VirtualBox esta instalado en Linux siempre te dice que debes instalar el complemento, y luego que lo instalas, siempre pasa que no están habilitados en las maquinas virtuales la posibilidad de utilizar los puertos USB del huésped:
Muy fácil solo debes ingresar como root las siguientes lineas en el archivo /etc/fstab:
#usbfs
none /proc/bus/usb usbfs devgid=46,devmode=664 0 0
Nota: la primera linea es solo un comentario para saber a futuro para que es.
Luego debes ejecutar:
mount -a
Y debe apagar las maquinas virtuales y VirtualBox, al iniciar ya estará todo habilitado.
Mas simple imposible.
Usando Samsung MTP en Debian 7 wheezy
Desde hace días que necesitaba ver archivos de mi teléfono Samsung S3 usando mi laptop con Debian, lo conectaba y nada que funcionaba, entonces hice esto:
1) Instale:
aptitude install libmtp-dev fuse libmtp9 pkg-config libfuse-dev libglib2.0-dev libmad0-dev libid3tag0-dev dh-make autotools-dev
Nota: algunos paquetes ya estaban instalados
2) Descargue los binarios de mtpfs
Usaremos el Debian package tools para crear un archivo deb así podremos instalar y desinstalar en vez de hacer el tradicional ./configure; make; make install.
3) Descomprimir el archivo y luego usamos dh_make para convertir los paquetes binarios en un formato que pueda ser usado por Debian packages:
tar zxf mtpfs-1.1.tar.gz
cd mtpfs-1.1
dh_make -s -f ../mtpfs-1.1.tar.gz
cd mtpfs-1.1
dh_make -s -f ../mtpfs-1.1.tar.gz
4) Ahora construí el archivo deb usando:
fakeroot debian/rules binary
5) El archivo binario será colocado en el mismo directorio del tar.gz, vamos al directorio e instalamos el archivo deb:
cd ..
dpkg -i mtpfs_1.1-1_amd64.deb
Notas: si tu quieres desinstalar mtpfs tu puedes hacer:
dpkg --purge mtpfs
Ojo: asegúrese de que su usuario y root sean miembros del grupo fuse, si no es así usted debe hacer:
usermod -aG fuse $USER
usermod -aG fuse nombre_del_usuario
Creamos un directorio para montar el dispositivo y montamos el dispositivo (primero lo conectamos)
mkdir /media/myPhone
mtpfs /media/myPhone
mtpfs /media/myPhone
Cuando termines, para desmontarlo usas:
fusermount -u /media/myPhone
Listo, mas fácil imposible.
domingo, 26 de enero de 2014
Habilitar los caracteres Chino, Coreano y Japones en Debian y Canaima
Para poder visualizar texto en chino, japonés o coreano, debe instalar alguno de los siguientes paquetes:
Listo
- Chino tradicional (Big5): ttf-arphic-bkai00mp
- Chino simple (GB): ttf-arphic-gbsn00lp
- Coreano: ttf-baekmuk
- Japonés: ttf-kochi-mincho
Listo
Etiquetas:
caracteres,
debian,
fonts,
fuentes,
habilitar caracteres chino coreano y japones,
instalar fuentes chino coreano y japones,
ubuntu
Instalando fuentes tipográfica de Windows, Google y Ubuntu en Debian y Canaima
Una de las cosas que mas sucede y que muchas veces no permite que la gente migre al software libre es: que cuando deja de usar el Windows, todos los documentos pierden el formato, esto pasa porque en la versión del software no tenemos las fuentes, para solventarlo podemos hacer:
Primera opción:
Primera opción:
Instalamos las fuentes desde el repositorio:
apt-get install msttcorefonts, aunque yo siempre uso aptitude
apt-get install msttcorefonts, aunque yo siempre uso aptitude
Luego las habilitamos:
fc-cache -fv
Segunda opción:
Copiar la carpeta fuentes del directorio c:\Windows\, en el directorio: /usr/share/fonts/, para que quede con estética le colocaremos de nombre a la carpeta Windows, teniendo como resultado final /usr/share/fonts/Windows, le cambiamos los permisos:
Segunda opción:
Copiar la carpeta fuentes del directorio c:\Windows\, en el directorio: /usr/share/fonts/, para que quede con estética le colocaremos de nombre a la carpeta Windows, teniendo como resultado final /usr/share/fonts/Windows, le cambiamos los permisos:
chmod 755 /usr/share/fonts/Windows
Le cambiamos el propietario:
chown -Rf root:root /usr/share/fonts/Windows
Por ultimo habilitamos las fuentes con:
fc-cache -fv
Creas un script como este:
#!/bin/bash
#
# This script helps to install fonts
#
# Set your default font storage directory here
##DEFAULT_DIR="$HOME/fonts"
DEFAULT_DIR=`pwd`
# Set the default font installation directory here
DEFAULT_DEST="/usr/share/fonts/truetype/font-install"
# Don't edit anything below unless you know what you're doing.
echo "In which directory are the fonts?"
echo -n "[$DEFAULT_DIR] "
read DIR
echo
echo "What is the extention (without the dot) of the fonts?"
echo -n "[ttf] "
read EXT
echo
echo "Where should the fonts be installed?"
echo "DO NOT CHANGE THIS UNLESS YOU KNOW WHAT YOU'RE DOING!"
echo -n "[$DEFAULT_DEST] "
read DEST
if [ -z "$DIR" ]; then
DIR="$DEFAULT_DIR"
fi
if [ -z "$EXT" ]; then
EXT="ttf"
fi
if [ -z "$DEST" ]; then
DEST="$DEFAULT_DEST"
fi
sudo -v
if [ $? != 0 ]; then
echo "Unable to obtain the necessary privileges. Exiting..."
echo -n "Press <Enter> to continue. "
read WER
exit $?
fi
echo
echo
if [ ! -d "$DIR" ]; then
echo "Directory $DIR does not exist. Exiting..."
echo -n "Press <Enter> to continue. "
read SDF
exit 2
fi
if [ ! -d "$DEST" ]; then
echo "Directory $DEST does not exist. Exiting..."
echo -n "Press <Enter> to continue. "
read DFG
exit 1
fi
echo "Copying fonts..."
cd "$DIR"
for i in *."$EXT"; do
sudo cp -iv "$i" "$DEST"
done
echo
echo
echo "Updating the font cache..."
sudo fc-cache -fv
if [ $? != 0 ]; then
echo "Error updating the font cache. Your fonts haven't been completely installed. Try running sudo fc-cache -fv manually. Exiting..."
echo -n "Press <Enter> to continue."
read FSF
exit $?
fi
echo
echo
echo "Finished."
echo
echo "You will probably need to restart running programs to use the new fonts."
echo -n "Press <Enter> to exit. "
read WERT
exit 0
Le das permisos de ejecución:
chmod +x nombre_del_archivo_script
Y lo ejecutas:
./nombre_del_archivo_script o sh nombre_del_archivo_scrip
Para obtener las funtes de Ubuntu:
wget http://sourceforge.net/projects/linuxfreedomfor/files/Ubuntu.tar.gz
Lo descomprimes y mueves al directorio:
tar -xvzf Ubuntu.tar.gz && mv Ubuntu /usr/share/fonts/
Por ultimo sigues los pasos de la segunda opción.
Para las fuentes de Goolge:
wget http://webupd8.googlecode.com/files/install-google-fonts
Le das permisos de ejecución:
chmod +x install-google-fonts
Ejecutas:
./install-google-fonts o sh install-google-fonts
Listo
Etiquetas:
canaima,
debian,
fonts,
fuentes,
google,
instalación,
instalar,
instalar fuentes Windows Ubuntu y Google,
letras,
ubuntu,
windows
miércoles, 22 de enero de 2014
Concatenar y filtrar con grep
Hoy me preguntaron:
- ¿cómo puedo realizar una búsqueda y filtrado con grep del contenido de un directorio?
- ¿cómo puedo realizar una búsqueda y filtrado del contenido de un archivo?
- ¿cómo puedo concatenar varios tipos de búsqueda en un solo grep? bien sea un directorio o del contenido de un archivo.
Pues la repuesta es simple: SI, tu puedes hacer una búsqueda así:
zcat archivo.gz | grep lo_que_quiero_encontrar
De esta forma me mostrara solo lo_que_quiero_encontrar que este dentro del archivo.gz, ahora bien, si quiero filtrar una búsqueda ejecutaría:
ls -la | grep lo_que_quiero_encontrar
Con esto estaríamos listando todo el contenido de un directorio, pero solo mostramos lo_que_quiero_encontrar, si quiero hacer un filtrado de la búsqueda del contenido del archivo:
zcat archiv.gz | grep lo_que_quiero_encontrar | grep filtro1
Estaríamos mostrando de lo_que_quiero_encontrar, solo lo que contenga filtro1, si queremos que nos muestre dos búsquedas: lo_que_quiero_encontrar y lo_que_quiero_encontrar_1, tendríamos que hacer así:
ls -la | grep 'lo_que_quiero_encontrar\|lo_que_quiero_encontrar_1'
En este caso, listamos el contenido de un directorio y solo mostramos: lo_que_quiero_encontrar y lo_que_quiero_encontrar_1, en el caso de que sea del contenido de un archivo:
zcat archiv.gz | grep 'lo_que_quiero_encontrar\|lo_que_quiero_encontrar_1'
También podemos hacer un filtrado de las dos búsquedas:
zcat archiv.gz | grep 'lo_que_quiero_encontrar\|lo_que_quiero_encontrar_1' | grep filtrado1
Así obtenemos del contenido del archivo lo_que_quiero_encontrar y lo_que_quiero_encontrar_1 que contengan filtrado1.
Y listo, mas simple imposible.
jueves, 9 de enero de 2014
Bloquear correo de una determinada IP en POSTFIX
¿Cómo puedo hacer que Postfix bloquee todo el correo procedente de una IP (o rango de IP)?
Podrías configurarlo devolviendo el típico mensaje de 550 Spam o no permitido... etc, es muy sencillo cambiar las direcciones de correo, no así la IP de procedencia. Necesitas algo como:
smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_pipelining
... mas restricciones ...
check_client_access hash:/etc/postfix/clientes
... mas restricciones ...
En /etc/postfix/clientes pones:
1.2.3.4 550 No me gusta este cliente - me da mucho spam
1.2.3.5 550 otro cliente muy malo que me da spam
También puedes limitar grupos de IPs de la siguiente forma:
1.2.3 550 la clase X 1.2.3.x esta prohibido
10 550 Este rango de direcciones es privado
No olvides postmap /etc/postfix/clientes y postfix reload.
Esto también me sirvió para eliminar el uso de esos roboot, rootkit, spammer, etc, que se encontraban dentro de la institución.
Mas simple imposible.
Podrías configurarlo devolviendo el típico mensaje de 550 Spam o no permitido... etc, es muy sencillo cambiar las direcciones de correo, no así la IP de procedencia. Necesitas algo como:
smtpd_recipient_restrictions = permit_mynetworks,
reject_unauth_pipelining
... mas restricciones ...
check_client_access hash:/etc/postfix/clientes
... mas restricciones ...
En /etc/postfix/clientes pones:
1.2.3.4 550 No me gusta este cliente - me da mucho spam
1.2.3.5 550 otro cliente muy malo que me da spam
También puedes limitar grupos de IPs de la siguiente forma:
1.2.3 550 la clase X 1.2.3.x esta prohibido
10 550 Este rango de direcciones es privado
No olvides postmap /etc/postfix/clientes y postfix reload.
Esto también me sirvió para eliminar el uso de esos roboot, rootkit, spammer, etc, que se encontraban dentro de la institución.
Mas simple imposible.
jueves, 2 de enero de 2014
Instalación de PostgreSQL en Debian GNU/Linux Wheezy
Este articulo explica como instalar el servidor y un cliente de
lineas de comandos de la base de datos PostgreSQL en Debian Wheezy.
Instalación
Para este caso se instalara el servidor y un cliente de lineas de
comandos PostgreSQL de la versión 9.1, ejecutando el siguiente comando:
# aptitude install postgresql-9.1
Configuración
Lo primero que se tiene que hacer es cambiarle la contraseña al usuario ‘postgres’ que se crea luego de haber instalado el paquete:
# passwd postgresAcceda a la consola de administración de PostgreSQL para cambiar la contraseña del usuario ‘postgres’ con los siguientes comandos:
# su postgres postgres@nombre_maquina:/directorio$ psql postgres postgres=# ALTER ROLE postgres PASSWORD 'CONTRASENA_DEL_USUARIO';Donde ‘postgres’ es el nombre del usuario al cual debe cambiar la contraseña ‘CONTRASENA_DEL_USUARIO’ por la que estableció previamente y luego salga de la sesión, ejecutando los siguientes comandos:
postgres=# \q postgres@nombre_maquina:/directorio$ exit
Configuración de acceso local
Para dar acceso local, es decir, dar accesos a clientes PostgreSQL
que están en el mismo servidor donde esta instalando el servidor
PostgreSQL puede aplicar las siguientes configuraciones básicas:
Debe que cambiar el archivo de configuración del servidor PostgreSQL, con el siguiente comando:
También debe modificar el archivo de configuración del cliente PostgreSQL, con el siguiente comando:
Para este caso de configuración usted esta conectándose localmente en el mismo servidor donde esta instalado PostgreSQL por lo cual la IP local es 127.0.0.1, entonces agregue debajo de la linea “# IPv4 local connections:” la siguiente instrucción:
Con estas configuraciones hechas debe reiniciar el servicio de PostgreSQL, con el siguiente comando:
Debe que cambiar el archivo de configuración del servidor PostgreSQL, con el siguiente comando:
# vim /etc/postgresql/9.1/main/postgresql.confBusque la linea listen_addresses y verifique que su valor sea el siguiente:
listen_addresses = 'localhost'Guarde el archivo y salga del editor.
También debe modificar el archivo de configuración del cliente PostgreSQL, con el siguiente comando:
# vim /etc/postgresql/9.1/main/pg_hba.confEn este archivo puede configurar los modos de autenticación del cliente PostgreSQL y con que usuario puede acceder a los datos almacenados en el servidor PostgreSQL.
Para este caso de configuración usted esta conectándose localmente en el mismo servidor donde esta instalado PostgreSQL por lo cual la IP local es 127.0.0.1, entonces agregue debajo de la linea “# IPv4 local connections:” la siguiente instrucción:
host nombre_base_datos usuario_postgresql 127.0.0.1/32 passwordDonde ‘nombre_base_datos’ y ‘usuario_postgresql’ es el nombre de la base de datos y el usuario de PostgreSQL a crear respectivamente mas adelante en este articulo.
Con estas configuraciones hechas debe reiniciar el servicio de PostgreSQL, con el siguiente comando:
# service postgresql restart
Configuración de acceso remoto
Para dar acceso remoto a clientes PostgreSQL desde otro maquina o
mascara de red distinta a la de donde esta instalado servidor PostgreSQL
puede aplicar las siguientes configuraciones básicas:
Debe que cambiar el archivo de configuración del servidor PostgreSQL, con el siguiente comando:
También debe modificar el archivo de configuración del cliente PostgreSQL, con el siguiente comando:
Para ejemplo practico que se suponga que esta en una red 192.168.1.1/16 así que quiere darle acceso a la IP 192.168.3.220, agregue debajo de la linea “# IPv4 local connections:” la siguiente instrucción:
El ‘md5′ es el método de envió de la contraseña del usuario PostgreSQL por la red a comparación de la Configuración de acceso local que se define en ‘password’ la cual envía la contraseña en texto plano por la red, en la Configuración de acceso remota se configura ‘md5′ ya que envía contraseñas cifradas.
Con estas configuraciones hechas debe reiniciar el servicio del servidor PostgreSQL, con el siguiente comando:
Debe que cambiar el archivo de configuración del servidor PostgreSQL, con el siguiente comando:
# vim /etc/postgresql/9.1/main/postgresql.confBusque la linea listen_addresses = ‘localhost’ y la cambia por el siguiente:
listen_addresses = '*'Opcionalmente usted puede simplemente unir las direcciones IP especificas a la cual da acceso de la siguiente forma:
listen_addresses='192.168.3.220 192.168.3.221'Guarde el archivo y salga de la edición.
También debe modificar el archivo de configuración del cliente PostgreSQL, con el siguiente comando:
# vim /etc/postgresql/9.1/main/pg_hba.confEn este archivo puede configurar desde que maquina o mascara de red puede acceder a los datos almacenados en el servidor PostgreSQL y con que usuario se puede acceder.
Para ejemplo practico que se suponga que esta en una red 192.168.1.1/16 así que quiere darle acceso a la IP 192.168.3.220, agregue debajo de la linea “# IPv4 local connections:” la siguiente instrucción:
host nombre_base_datos usuario_postgresql 192.168.2.3/32 md5Donde ‘nombre_base_datos’ y ‘usuario_postgresql’ es el nombre de la base de datos y el usuario de PostgreSQL a crear respectivamente mas adelante en este articulo.
El ‘md5′ es el método de envió de la contraseña del usuario PostgreSQL por la red a comparación de la Configuración de acceso local que se define en ‘password’ la cual envía la contraseña en texto plano por la red, en la Configuración de acceso remota se configura ‘md5′ ya que envía contraseñas cifradas.
Con estas configuraciones hechas debe reiniciar el servicio del servidor PostgreSQL, con el siguiente comando:
# service postgresql restart
Creando usuarios
Para crear usuarios vuelve a entrar como root de PostgreSQL para
crear usuarios para conectarse a la base de datos, en este caso usuario ‘usuario_nomina’ con su contraseña ’123456′, con el siguiente comando:
Para asignar la contraseña debe conectarse al servidor PostgreSQL, con el siguiente comando:
# su postgres postgres@nombre_maquina:/directorio$ createuser -D -S -R -l usuario_nominaEste usuario ‘usuario_nomina’ tiene permiso para no crear base de datos, no ser super usuario, no crear roles de usuario, se le permite iniciar sesión respectivamente.
Para asignar la contraseña debe conectarse al servidor PostgreSQL, con el siguiente comando:
postgres@nombre_maquina:/directorio$ psql postgresEsta la sesión conectado altere el usuario asignando una contraseña cifrada, con el siguiente comando:
postgres=# ALTER USER usuario_nomina WITH ENCRYPTED PASSWORD '123456'; ALTER ROLEPara comprobar que el usuario se creo con éxito, ejecute los siguientes comandos:
postgres=# SELECT usename, passwd FROM pg_shadow; usename | passwd ----------------+------------------------------------- postgres | md53175bce1d3201d16594cebf9d7eb3f9d usuario_nomina | md5bad743050fa6b819130855f6cbb357ee (2 filas)Luego salga de la sesión de base de datos, ejecutando el siguiente comando:
postgres=# \q
Creando base de datos
Primero tiene que iniciar sesión como usuario “root” de PostgreSQL, con el siguiente comando:
Para los privilegios del usuario ‘usuario_nomina’ en la base de datos ‘sistema_nomina’ debe conectarse al servidor PostgreSQL, ejecute el siguiente comando:
# su postgresLuego de iniciar sesión en el servidor como “root”, ahora usted puede crear una base de datos, con el siguiente comando:
postgres@nombre_maquina:/directorio$ createdb -Ttemplate0 -O usuario_nomina -EUTF-8 sistema_nominaEsta base de datos ‘sistema_nomina’ se basa en la plantilla de base de datos llamada ‘template0′ con la cual es construida, el usuario dueño de la base de datos es el usuario ‘usuario_nomina’ previamente creado, usando el esquema de codificación de caracteres ‘UTF-8′ soportado a ser usado en esta base de datos respectivamente.
Para los privilegios del usuario ‘usuario_nomina’ en la base de datos ‘sistema_nomina’ debe conectarse al servidor PostgreSQL, ejecute el siguiente comando:
postgres@nombre_maquina:/directorio$ psql postgresAl estar en la sesión conectado otorgue todos los privilegios al usuario ‘usuario_nomina’ en la base de datos ‘sistema_nomina’, con el siguiente comando:
postgres=# GRANT ALL PRIVILEGES ON DATABASE sistema_nomina TO usuario_nomina;Para comprobar que la base datos esta creada, ejecute el siguiente comando:
postgres=# SELECT datname FROM pg_database; datname ----------------- template0 postgres template1 sistema_nomina (4 filas)Luego salga de la sesión de base de datos, ejecutando el siguiente comando:
postgres=# \q
Cargar estructura de datos y registros
A continuación se creará una base de datos basado en un script que importa toda las sintaxis en lenguaje de definición de datos (DDL) y lenguaje de manipulación de datos (DML) en SQL para construirla, ejecute el siguiente comando:
postgres@nombre_maquina:/directorio$ psql -U postgres -f /home/macagua/script.sqlLuego salga de la sesión de usuario postgres, ejecutando el siguiente comando:
postgres@nombre_maquina:/directorio$ exit
Accediendo a la base de datos
Una ves realizado los pasos anteriormente descritos ahora puede conectarse con el usuario ‘usuario_nomina‘ a la base de datos ‘sistema_nomina’ y para estoy existe varias formas de acceso que se describen a continuación:
Acceso local a la base de datos
Se utiliza este forma de acceso a la base de datos cuando tiene hecha una configuración de acceso local y para esto se ejecuta el siguiente comando:
postgres@nombre_maquina:/directorio$ psql -d sistema_nomina -U usuario_nomina Contraseña para usuario usuario_nomina: psql (9.1.8) Digite «help» para obtener ayuda. sistema_nomina=> help Está usando psql, la interfaz de línea de órdenes de PostgreSQL. Digite: \copyright para ver los términos de distribución \h para ayuda de órdenes SQL \? para ayuda de órdenes psql \g o punto y coma («;») para ejecutar la consulta \q para salir sistema_nomina=>
Acceso remoto a la base de datos
Se utiliza este forma de acceso a la base de datos cuando tiene hecha una configuración de acceso remoto, a diferencia del acceso local a la base de datos en este caso tiene que indicar el ‘host’ al cual se desea conectar, para hacer esto se ejecuta el siguiente comando:
postgres@nombre_maquina:/directorio$ psql -h 10.10.29.50 -U usuario_nomina -d sistema_nomina Contraseña para usuario usuario_nomina: psql (9.1.8) Digite «help» para obtener ayuda. sistema_nomina=> help Está usando psql, la interfaz de línea de órdenes de PostgreSQL. Digite: \copyright para ver los términos de distribución \h para ayuda de órdenes SQL \? para ayuda de órdenes psql \g o punto y coma («;») para ejecutar la consulta \q para salir sistema_nomina=>Y así de esta forma ¡esta listo para trabajar con la base de datos!
Suscribirse a:
Entradas (Atom)