martes, 27 de mayo de 2008

Buscar archivos con "Find"

En muchas ocasiones, tengo que encontrar archivos que andan "perdidos" por el sistema, y digo perdidos, porque mas bien no recuerdo donde los guarde XD, bueno buscando un poco encontré una solución que me ha favorecido mucho, se llama "find" y lo usamos desde consola, la sintaxis es la siguiente:

find (carpeta donde buscar) (opcion) (archivo o locacion a encontrar)

Veamos unos cuantos ejemplos:

Si queremos encontrar el archivo ctu.html lo que haremos es escribir esto:

find / -name 'ctu.html'

Donde / es la carpeta raíz, lo que quiere decir que se va a buscar el archivo en todo /, luego tenemos -name, esto es la opción que dice que buscará por nombre y por último el archivo.

Y bueno, podemos usar ciertos comodines (*), por ejemplo si sabemos que nuestor archivo esta en nuestro /home/usuario pero no recordamos el nombre podemos hacer lo siguiente:

find /home/usuario -name '*.html'

Y buscará todos los archivos con extensión html.

Por ejemplo, para buscar un archivo donde conozcamos el inicio del archivo pero no recordemos todo el nombre ni su extensión ponemos

find /home/usuario -name 'ct*'

Y buscará todo lo que comience con "ct" y así, si queremos buscar un archivo que en su nombre contenga "tu" pondremos la instrucción de arriba pero al final será '*tu*'

find /home/usuario -name '*tu*'


Si lo que se desea es buscar archivos y que no se distinga entre mayúsculas y minúsculas, lo que se debe hacer es cambiar el parámetro -name por -iname.

Otro parámetro que a veces uso (en vez de -name) es -size que hará la búsqueda por el tamaño del archivo, veamos un ejemplo:

find /home/usuario -size +2000k

donde buscará todos los archivos que pesen mas o igual que 2000kb (2MB), si en vez de "+" usamos la opción "-" buscará los archivos que pesen menos o igual que 2MB.

A continuación una liste de opciones que se pueden usar en vez de la "k":

c = bytes

k = Kilobytes

M = Megabytes

G = Gigabytes

Para buscar archivos en cuestiones de tiempo de acceso (-atime) y en cuestiones de tiempo de modificación (-mtime) la sintaxis es la siguiente:

find /home/usuario/ -name '*.html' -atime +1

Con el comando anterior se pide que regrese los archivos html que hayan sido accesados hace mas de un día.

find /home/usuario/ -name '*.html' -mtime +1

Con el comando que acabamos de ver, se buscan los archivos html que hayan sido modificados hace mas de un dia


Por último con un "man find" podrán encontrar más información de este excelente buscador de archivos.

FUENTE: http://www.zonasiete.org/manual/ch09s05.html

sábado, 24 de mayo de 2008

Separar /home

Después de un buen rato de no postear nada (gracias al tupe, kiko y nerdo, otraaa veez) ahora traigo la manera de independizar o separar el directorio /home en otra partición, bueno, doy una breve explicación de beneficios que esto trae:

VENTAJAS DE SEPARAR /home:

La primera ventaja que tendríamos es seguridad, y es que nuestros datos almacenados (de las diferentes cuentas que tengamos) se respetarán siempre, sobre todo cuando actualicemos alguna versión de Ubuntu o nos cambiemos de distro (muchas veces en las actualizaciones globales surgen pequeños errores o pérdida de información).

Con un /home en una partición aparte nos dará la comodidad de que si pro algún motivo se nos "truena" o "tronamos" el sistema, nuestros datos estarán intactos y accesibles una vez que reinstalemos el sistema.

Otra ventaja es que las configuraciones de reproductores, navegadores, cuentas, etc., también se mandtendrán intactas una vez que actualicemos o cambiemos de distro.

COMO ESTÁ EL /home:

Dentro del sistema sabemos que la raíz es / y de ahí van las demas carpetas /usr, /bin, /usr/, /home, todo dentro de una misma partición, ahora lo que se busca es que /home se separe en otra partición y tengamos por un lado el sistema y por el otro nuestros datos, obviamente todos conviviendo.

Ahora vamos a describir las dos maneras mas simples de hacerlo:

Desde la instalación:

Si, una vez que instalemos desde cero un sistema GNU/Linux (Debian, Fedora, Ubuntu, etc., etc., etc.) podemos crear, por medio de Gparted una partición donde al momento de instalar le demos como punto de montaje /home, es decir, tendríamos (sin contar Linux swap, ni nada acerca de la partición de intercambio) las siguients particiones:

a) Linux ext3 con punto de montaje: / (que es donde se instalará todo el sistema)

b) Linux ext3 con punto de montaje: /home (donde irá el home y todos los datos de cuentas).


Pero bueno, esto pasa cuando instalamos desde cero, pero que tal si lo que queremos es independizar el /home pero ya teniendo información en el, se podría hacer un respaldo y reinstalar con el método visto anteriormente, pero tal vez lleve tiempo, recursos y sea un poco tedioso, para eso está el siguiente método:

Independizar home con un sistema ya instalado:

1.- Lo primero que tenemos que hacer es ver crear una partición con formato ext3 (de preferencia), esto con el Gparted, y arrancando desde un disco de Gnu/Linux (puede ser un LiveCd, para más fácil y gŕafico). Simplemente tenemos que redimensionar nuestra partición donde tengamos GNU/Linux instalado y al espacio que quede le asignamos formato ext3.

2.- Ahora si, dentro del sistema abrimos una consola (todo lo haré como root, aunque es preferible hacerlo como usuario de sudo) y tecleamos:

sudo fdisk -l


Nos regresará una lista de dispositivos (particiones) debemos ubicar cual es el que queremos para /home, la sintaxis de los dispositivos es:

/dev/xdy


donde x es una s o h (esto indica el tipo de disco duro que tengamos) y el último valor y es un número de identifiación de la partición.

En este ejemplo usaremos el dispositvo /dev/sda4

3.- Es tiempo de editar el archivo fstab que es el que indica al sistema cuales particiones o carpetas montar al inicio de la computadora:
sudo gedit /etc/fstab


y agregamos al final del archivo

#Independizar home
/dev/sda4 /home ext3 defaults 0 2


En esta instrucción indicamos que al arranque el dispositivo /dev/sda4 lo monte como /home, que el tipo de partición es ext3 y le damos las opciones de arranque de default, y valores 0 y 2 son para comprobaciones de disco al inicio.

Al reiniciar se montará la nueva partición en el directorio /home, pero para no perder los datos que ya tenemos, habrá que hacer lo siguiente:

4.- Creamos una carpeta donde montaremos el /home:

sudo mkdir /home/temp

lo puedes llamar como gustes.

5.- Montar la partición home en el directorio temp:
sudo mount -t ext3 /dev/sda4 /home/temp -o defaults


6.- Copiar el contenido de todas las carpetas de home en /home/temp:

sudo cp -r /home/usuario /home/temp


O también se puede moviendo los datos (aunque nunca lo he hecho así) con:

sudo mv /home/usuario /home/temp

donde usuario es la carpeta personal de la cuenta que querramos copiar, esta instrucción la debemos hacer para cada usuario que tengamos en home y desmontamos el temp

sudo umount /home/temp


7.- Al reinciar no debería haber problemas, pero en mi caso si los hubo, y fue una cuestión de permisos a las carpetas, el error era el siguiente:




















El problema por el cual no me dejaba accesar a la sesión gnome es porque todo el contendio de mi usuario tenia permisos de root, tanto en el propietario como en el grupo, así que lo que hice, después de buscar un rato fue esto:

En una consola (alt+F1) y después de loguearme escribí:

sudo chown -R usuario /home/usuario
sudo chgrp -R usuario /home/usuario


Con un ls -l -a /home/usuario podemos ver que los permisos ahora son del usuario (como debería ser), si queremos reiniciamos y ya podemos iniciar sesión con el /home en otra partición.

FUENTES: http://tuxpepino.wordpress.com/2007/09/18/independizando-el-home/
http://www.ubuntu-es.org/index.php?q=node/29456

jueves, 8 de mayo de 2008

Desinstalar y actualizar Openoffice

Hola, bueno después de un ratote, ando por aquí otra vez, lo que veremos hoy es sencillo, como desinstalar Openoffice e instalar la versión más actual (hasta este momento la 2.4), este esta basado en distros derivadas de Debian:

1.- Nos vamos a la consola y escribimos:

sudo apt-get remove openoffice.org-core openoffice.org-common

con esto estamos desinstalando el openoffice y todo lo que conlleva, es decir, el core es un metapaquete, ahora bien es tiempo de descargar la versión más actual.

2.- Nos vamos a este link:

Página de descargas de Openoffice en español: http://download.openoffice.org/other.html#es

Página para descargas los paquetes deb de OpenOffice en español: http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&os=linuxinteldeb&lang=es&version=2.4.0

3.- Una vez descargado, tenemos que descomprimirlo, ya sea graficamente (click derecho > Extraer aquí), o en consola con

tar -zxvf OOo_2.4.0_LinuxIntel_install_es_deb.tar.gz

4.- Una vez descomprimido nos posicionamos en la nueva carpeta y en DEBS, ahi instalaremos todos los paquetes .deb, ya sea graficamente con gdebi o con dpkg -i *.deb

5.- Ahora entramos a la carpeta DEBS/desktop-integration/ e instalamos el paquete que dice:

openoffice.org-debian-menus_2.x-xxxx_all.deb

donde x significa la version que estemos instalando.

y listo, ya tendremos lo más actual de esta fabulosa suite de ofimática libre.