Archive of articles classified as' "Ubuntu"

Back home

Perl: warning setting locale failed en Ubuntu Linux

3/01/2012

En uno de mis servidores de prueba, encontré un error bastante extraño y que en verdad me tomo tiempo encontrar la solución, al ejecutar casi cualquier orden en la linea de comandos, salía algo así:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “en_US”,
LC_ALL = “utf-8″,
LC_CTYPE = “en_US”,
LANG = “en_US”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).

La solución es simple, solo hay que ejecutar los siguientes comandos como root, o con sudo antes:

$ apt-get install language-pack-en

$ export LANGUAGE=en_US.UTF-8

$ export LANG=en_US.UTF-8

$ export LC_ALL=en_US.UTF-8

$ locale-gen en_US.UTF-8

$ dpkg-reconfigure locales

Para verificar la solución, solo hacemos un:

$ locale

No Comments

Tutorial: Instalar HP P1006 en Ubuntu Server (No GUI)

13/12/2011

Muchos de nosotros utilizamos servidores Linux sin interfaz grafica, orgullosamente nos podemos llamar hombres, ya que no dependemos de un GUI para hacer clic y configurar las cosas en un dos por tres, nos gusta lo difícil, picar piedra, mover las entrañas de nuestros sistemas como verdaderos vikingos.

Para nosotros, aquí la forma de instalar sin GUI:

Primero descargamos el paquete de foo2zjs que contiene lo necesario para echar a andar nuestra impresora, lo descomprimimos y entramos al directorio resultante:

wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz

tar -zxvf foo2zjs.tar.gz

cd foo2zjs

Ahora, para los que no lo han hecho antes, instalamos un par de paquetes para que todo ande sin problemas:

apt-get install build-essential dc

Después de esto, nos queda la tarea de compilar e instalar foo!

make

Después utilizaremos un script ya incluido en el tar de foo para descargar el driver exacto de esta impresora:

./getweb P1006

Ahora instalamos lo necesario

make install

make install-hotplug

make cups

Después editamos el archivo de configuración de CUPS y lo dejamos algo así:

vim /etc/cups/cupsd.conf

Quedara algo así:

#Listen localhost:631
Listen /var/run/cups/cups.sock
Listen 192.168.7.239:631

Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseAddress @LOCAL
DefaultAuthType Basic

<Location />

Order allow,deny

Allow @LOCAL

</Location>

<Location /admin>

Order allow,deny

Allow @LOCAL

</Location>

<Location /admin/conf>

AuthType Default

Require user @SYSTEM

Order allow,deny

Allow @LOCAL

</Location>

DefaultEncryption Never

Por ultimo, agregamos algún usuario de sistema al grupo de lpadmin, para poder administrar vía la interfaz web de CUPS.

usermod -aG lpadmin usuario

Reiniciamos el demonio de CUPS:

/etc/init.d/cupsys restart

Ahora podemos acceder con la siguiente URL:

http://IP_DEL_SERVER:631/admin

Por ultimo, daremos acceso a las impresoras vía SAMBA, esto ya es un lujo, pero bien vale la pena.

vim /etc/samba/smb.conf

Descomentamos las líneas que se deben, para que quede de la siguiente forma:

########## Printing ##########

 

# If you want to automatically load your printer list rather

# than setting them up individually then you’ll need this

load printers = yes

 

# lpr(ng) printing. You may wish to override the location of the

# printcap file

;   printing = bsd

;   printcap name = /etc/printcap

 

# CUPS printing.  See also the cupsaddsmb(8) manpage in the

# cupsys-client package.

printing = cups

printcap name = cups

Por último, reiniciamos samba y Listo!

/etc/init.d/samba restart

No Comments

Montar directorio compartido vía Samba en Ubuntu

8/06/2011

Para montar por ejemplo, el directorio compartido “Compartido” en un servidor o workstation con Linux, solo hay que ejecutar el siguiente comando:

mount -t smbfs -o username=usuario,password=password //192.168.1.1/Compartido /media/samba

El directorio destino debera existir en el sistema que desea montar el compartido. Hay que poner el IP que corresponde y el nombre del directorio compartido, en este caso el IP será 192.168.1.1 y el share: “Compartido”. El destino para el montado, en este ejemplo sera /media/samba

1 Comment

RSync ignorar errores de I/O

6/06/2011

Para hacer un sync entre dos directorios e ignorar los errores de I/O con Rsync, solo hay que agregar la opcion:

–ignore-errors

Ejemplo:

rsync -av –no-whole-file –ignore-errors /dirA/ /DirB

No Comments

Ejecutar script, tarea o trabajo mediante SSH, salir de sesion y al regresar, ver el progreso del proceso

17/11/2010

Si tenemos un script, una app o algún comando que lleve mucho tiempo de ejecución, normalmente deberíamos dejar nuestra ventana SSH abierta durante todo el proceso, ya sea mediante putty, una terminal en Linux o una consola en Mac OS X. Con este sencillo tip ya no será así, podemos cerrar la aplicación SSH que estemos utilizando y después de un tiempo, regresar al servidor y ver el avance.

En mi caso personal, tengo que correr un script que tarda un par de horas en terminar su ejecución, por lo que generalmente lo hacia directamente en el servidor, precisamente para evitar este problema de no saber que hace después de apagar mi equipo. Ya no mas! ahora usando “screen” puedo revisar el proceso desde cualquier terminal en cualquier momento!

Primero, entramos al servidor con ssh

$ ssh usuario@servidor

Ahora tecleamos screen, esto la primera ves que lo ejecutamos, nosa sacara una ventana con informacion, solo damos enter:

$ screen

Después, ya dentro de “screen”, ejecutamos el script o lo que queramos hacer, en este ejemplo haremos un apt update y upgrade.

$ apt-get update & apt-get upgrade -y

Para probar que este funcionando, salimos del terminal, putty o consola y despues regresamos con ssh:

$ ssh usuario@servidor

Ahora, para recuperar el proceso con screen, tecleamos screen -r

$ screen -r

Y veremos el proceso en cuestión… ahora, no he encontrado una forma más elegante de cerrar screen una ves terminado el proceso, mas que con un killall, si alguien lo sabe, no estaria mal que lo compartiera.

$ killall screen

Con esto cerramos screen y regresamos al modo normal de la sesión ssh.

2 Comments

Crear particiones de más de 2TB en Ubuntu Linux

4/11/2010

Para los que ya tenemos discos o mejor dicho, arreglos de discos mayores a 2TB seguramente nos hemos dado cuenta de mala forma que fdisk no permite la creación de particiones mayores a 2TB.

Al crear una partición de 4 TB por ejemplo, fdisk nos regresa una partición de tan solo 2TB, la solución es simple, pero la logre encontrar después de un rato de investigación, se debe instalar “parted” y con el crear las particiones.

$ apt-get update && apt-get install parted

Después se invoca de la siguiente forma (donde sdb es nuestro disco duro a particionar):

$ parted /dev/sdb

Ahora estamos dentro de la interfaz dinámica de parted:

GNU Parted 2.2

Using /dev/sdx

Welcome to GNU Parted!
Type ‘help’ to view a list of commands.

(parted)

Ahora crearemos el disklabel:



# mklabel gpt

Después con esta instrucción armamos una partición de 4TB

# mkpart primary 1 4000G



Salvamos los cambios:


# quit



Ahora, crearemos el sistema de ficheros, o “formato” en el ejemplo usaremos EXT4



$ mkfs.ext4 /dev/sdb1



Por último, crearemos una etiqueta, ya que en lo personal prefiero montar unidades por medio de etiquetas en lugar de dispositivos, por ejemplo en lugar de usar /dev/sdbX, me gusta LABEL=”disco1″, ya que si por alguna razón, no conectamos los discos en el mismo orden todo se vuelve un caos.

$ e2label /dev/sdb1 nombrededisco



Eso es todo!

No Comments

Instalar HP 1018 Ubuntu Server

22/05/2010

Hace mucho no escribia… pero ahi les va la forma para instalar una Impresora HP Laserjet 1018 en Ubuntu server sin Interfaz Gráfica.

Primero Instalamos CUPS

Ahora debemos descargar el paquete foo2zjs:

$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz

Una ves que lo tenemos, descomprimimos:

$ tar zxf foo2zjs.tar.gz

$ cd foo2zjs

Ahora, dentro del directorio, hacemos:

$make
$./getweb 1018
$ sudo make install
$ sudo make install-hotplug
$ sudo make cups

Con esto ya tenemos instalado lo necesario para hacerla funcionar, pero por alguna razon, o en mi caso, no funciono terminanndo esto, al intentar imprimir desde la red local, por lo que tuve que ejecutar en la consola:

$ cat /usr/share/foo2zjs/firmware/sihp1018.dl >  /dev/usb/lp0

Por Último, haremos que este ultimo comando se ejecute cada que arranca el sistema, para esto, editamos /etc/rc.local y agregamos la linea del parrafo anterior antes del exit 0, quedando algo asi:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0″ on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/usb/lp0
exit 0

Eso es todo!

No Comments

Error APT: E: Unable to lock the download directory

11/02/2010

Aquí otro tip rápido para nuestras cajas con Linux, si al hacer un:

$ apt-get upgrade

Nos devuelve un error algo así:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  bind9 bind9-host dnsutils libbind9-30 libdns35 libisc35 libisccc30
  libisccfg30 liblwres30 linux-generic linux-headers-generic
  linux-image-generic linux-restricted-modules-generic netatalk
The following packages will be upgraded:
  libmysqlclient15-dev libmysqlclient15off mysql-client mysql-client-5.0
  mysql-common mysql-server mysql-server-5.0 php5-imap
8 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
3 not fully installed or removed.
E: Could not get lock /var/cache/apt/archives/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the download directory

Lo único que debémos hacer como root es:

$ pkill apt
No Comments

Perl para reemplazar cadenas de texto en archivos

23/12/2009

Aquí un tip rápido para buscar cadenas de texto dentro de un patrón de ficheros o también para uno solo. Por ejemplo, si tenemos 100 ficheros que en algún lugar en su interior contienen una cadena que queremos reemplazar, nos hará el trabajo pesado en un par de segundos.

Esta es la sintaxis:

perl -pi -e ‘s/cadena vieja/cadena nueva/g’ patron

Un ejemplo practico seria:

perl -pi -e ‘s/index.html/index.php/g’ *.html

No Comments

Cambiar el directorio $HOME en Linux

10/12/2009

A veces es necesario cambiar la ruta del home de algun usuario de nuestro sistema, este tip rapido les ayudara por si es necesario hacerlo, en una sola linea quedara listo!

$ usermod -d /ruta/al/nuevo/directorio/ -m miusuario

4 Comments