viernes, 19 de marzo de 2010

mount umount ---- Montar....

... discos secundarios o unidades compartidas.

Vamos por partes.
Si tenemos un disco secundario, debidamente formateado y listo para usar, y queremos montarlo para poder usarlo, ejecutamos:
:~$ sudo mount /dev/sdaX /Carpeta/Donde/Montar
donde "X" es el número asignado a ese disco que estamos montando.

Ahora, si queremos montar una unidad compartida en otro terminal, por supuesto teniendo samba debidamente instalado y configurado, ejecutamos:
:~$ sudo mount //IpDelServer/NombreDeCarpetaCompartida /Carpeta/Donde/Montar -o username=NombreUs, password=xxxxxx, dmask=700, fmask=700

Para desmontar cualquier unidad que tengamos montada, ejecutamos:
:~$ sudo umount /Carpeta/Donde/Montar

Como siempre digo, para conocer más sobre mount y umount, ejecutamos:
:~$ man mount
y
:~$ man umount

mkisofs y dd ---- Crear imágenes .iso...

... desde la consola con el comando mkisofs, es sencillo y muy rápido.

Para crear una imagen iso de una carpeta, ejecutamos:
:~$ mkisofs -r -o /home/user/temp/ArchivoDestino.iso -V TituloDelArchivo /home/user/debs/*.*

Si queremos crear una imagen iso de una CdROM, y desde la consola, podemos utilizar dd o incluso cat, por ejemplo:
-con dd
:~$ dd if=/dev/cdrom of=/home/user/tmp/destino.iso
-con cat
:~$ cat /dev/cdrom > /home/user/tmp/destino.iso

Luego con las imágenes iso creadas, las podemos quemar en un CD o DVD con los programas que utilizamos normalmente.

.iso ---- Montar Imagenes .iso...

..., directamente, desde la consola, como??

en primer lugar, tenemos que crear una carpeta en la cual podremos montar la imagen .iso que tenemos grabada. Para esto, ejecutamos:
:~$ sudo mkdir /media/iso
la carpeta indicada fue elegida aleatoriamente, pueden crear la que sea y donde sea, mientras tengan las permisos correspondientes

luego, ejecutamos el siguiente comando:
:~$ sudo modprobe loop
realmente, no tengo la menor idea que hace esto, así que debo la explicación algo más detallada de estos comandos

Y por último, montar el archivo:
:~ $ sudo mount -t iso9660 -o loop /home/user/Descargas/archivo.iso /media/iso
Realizado este paso, podemos sin ningún problema, utilizar los archivos que se encontraban en ese archivo .iso como si fuera una carpeta más de solo lectura.

Para desmontar este archivo .iso, ejecutamos:
:~$ sudo umount /media/iso

screen ----- Múltiples Terminales...

... Tal cual.
screen nos permite, desde una terminal real, contar con múltiples "consolas virtuales" o mejor dicho, múltiples sesiones de consola.
Desde ya, podemos movernos entre ellas hasta incluso cerrar la terminal para luego volver a tomarla, algo muy útil cuando se tiene que disparar procesos y tareas de larga duración.

En primer lugar, para contar con screen, ejecutamos:
:~$ sudo aptitude install screen

Una vez instalado screen, ejecutamos:
:~$ screen
Luego de una pantalla de bienvenida y posterior "Enter", nos queda una consola o sesión virtual a disposición.

Si disparamos una tarea o proceso y necesitamos hacer otra cosa en el durante, podemos ejecutar distintas combinaciones de teclas, por ejemplo:
-Si necesitamos otra consola o sesión virtual:
ctrl+a c
teniendo la tecla "CONTROL" presionada, tecleamos: "a", y luego "c"
-Para movernos entre estas dos consolas virtuales abiertas, presionamos:
ctrl+a n vamos a las consolas anteriores
ctrl+a p vamos a las consolas posteriores

En el caso de tener una consola virtual trabajando, y queremos dejarla así para continuar nosotros con otras cosas, tecleamos:
ctrl+a d la consola entra en Detached y luego podemos volver a retomarla.
Teniendo una consola trabajando en detached, podemos necesitar otra, para esto, volvemos a ejecutar:
:~$ screen y disparamos la tarea que necesitemos. Para dejarla trabajando y seguir con nuestras cosas, volvemos a teclear: ctrl+a d y ya tenemos dos consolas en condicion de Detached.

Si quisiéramos recuperar una de las consolas virtuales que tenemos en Detached, ejecutamos:
:~$ screen -r , esto para el caso de que tengamos una solo consola o sesión virtual abierta.

Para ver cuantas consolas virtuales tenemos abiertas, ejecutamos:
:~$ screen -list o :~$ screen -ls
Este comando, nos devolverá algo como esto:
There are screens on:
29001.pts-0.Host (19/03/10 13:39:15) (Detached)
28921.pts-0.Host (19/03/10 13:39:07) (Detached)
2 Sockets in /var/run/screen/S-user>

Los números que se encuentran encabezando cada registro que nos devuelve ese comando, son los números identificadores de cada consola virtual. Si quisiéramos recuperar una de las consolas en particular, ejecutamos:
:~$ screen -r N donde N, es el número identificador de la consola que queremos recuperar.

Para salir de las consolas o sesiones virtuales, ejecutamos:
:~$ exit , o bien tecleamos: ctrl+c.

Como siempre digo, para saber mas sobre screen, ejecutamos:
:~$ man screen

miércoles, 17 de marzo de 2010

permisos ---- Manejo de Permisos

Para asegurarnos la privacidad de nuestros documentos y carpetas, como así también darles seguridad, Linux nos dá la posibilidad de manejar distintos niveles de permisos, para esto contamos con:
Permisos a nivel de Propietario
Permisos a nivel de Grupo
Permisos a nivel de Otros Usuarios


Los permisos a asignar son los:
r = Lectura
w = Modificable
x = Ejecutable


Para administrar estos permisos, como así también la "titularidad" de los archivos y carpetas, contamos con los siguientes comandos:
chown
chgrp
chmod

Para ver más sobre manejo de permisos, o mejor dicho, para aprender de que se trata el manejo de permisos: http://mbu8i.tk

Algunos ejemplos:
-Para darle titularidad a un archivo en particular, ejecutamos:
:~# chown NombreUsuarioDueño Archivo.ext
y si, además quisiéramos modificarle el grupo a este archivo, ejecutamos:
:~# chown NombreUsuarioDueño:NombreGrupo Archivo.ext
si el dueño que queremos modificar, son de una carpeta y su contenido, ejecutamos:
:~# chown -R NombreUsuarioDueño /home/usuario/NombreCarpeta
el "-R" hace recursiva la orden, es decir, que modifica también todo su contenido.
Por lo tanto, para cambiar dueño y grupo de una carpeta, ejecutamos:
:~# chown -R NombreUsuarioDueño:NombreGrupo /home/usuario/NombreCarpeta

-Para cambiar solo el grupo de un archivo o carpeta en particular, ejecutamos:
:~# chgrp NombreGrupo Archivo.ext
para el caso de una carpeta y su contenido:
:~# chgrp -R NombreGrupo /home/usuario/NombreCarpeta

-Para cambiar los permisos de un archivo en particular, ejecutamos:
:~# chmod 777 Archivo.ext
para el caso de una carpeta y su contenido:
:~# chmod -R 777 /home/usuario/NombreCarpeta
de esta forma queda con permisos de lectura, modificación y ejecución, y para todos los usuarios del sistema.
si queremos que solo nuestro grupo de trabajo, claro está que además de nosotros, puede leer, modificar y hasta ejecutar este archivo:
:~# chmod 770 Archivo.ext
para el caso de una carpeta y su contenido:
:~# chmod -R 770 /home/usuario/NombreCarpeta
y finalmente, si queremos asegurarnos que solo nosotros podemos manipular ese archivo o carpeta, ejecutamos:
:~# chmod 700 Archivo.ext
para el caso de una carpeta y su contenido:
:~# chmod -R 700 /home/usuario/NombreCarpeta
si queremos que nuestro archivo o carpeta, tenga permisos de lectura y escritura esclusivos para nosotros, ejecutamos:
:~# chmod 600 Archivo.ext
para el caso de una carpeta y su contenido:
:~# chmod -R 600 /home/usuario/NombreCarpeta
y para el caso de sólo lectura, ejecutamos:
:~# chmod 400 Archivo.ext
para el caso de una carpeta y su contenido:
:~# chmod -R 400 /home/usuario/NombreCarpeta

Como mencionaba antes, para saber más sobre permisos:
http://mbu8i.tk

user group ---- Administración....

... de usuarios y grupos.

Vamos a mencionar los comandos que normalmente, y por línea de comandos, utilizan las distros basadas en Debian para la adminisstración de usuarios y grupos. Por supuesto, todo hay que hacerlo como root, entonces, en primer lugar, ejecutamos:

:~$ sudo -s
con esto ya nos convertimos en root.

Para crear o agregar un usuario a nuestro sistema, ejecutamos:
:~# adduser NombreDeUsuario
y a partir de aquí, seguir los pasos que el sistema nos va solicitando.

Para crear grupos a nuestro sistema, ejecutamos:
:~# addgroup NombreDeGrupo

Para eliminar usuarios de nuestro sistema, ejecutamos:
:~# deluser NombreDeUsuario

Para eliminar grupos de nuestro sistema, ejecutamos:
:~# groupdel NombreDeGrupo
Cabe recordar que sólo se pueden eliminar grupos si este ya no contiene usuarios.

Para modoficar el nombre de un grupo, ejecutamos:
:~# groupmod -n NombreDeGrupo NuevoNombreDeGrupo

Si necesitamos agregar o modificar un grupo primario a un usuario, ejectuamos:
:~# usermod -g NombreDeGrupo NombreDeUsuario

Puede que haya casos en que tengamos usuarios que necesiten pertencer a más de un grupo, para esto, ejecutamos:
:~# usermod -a -G NombreDeGrupo NombreDeUsuario

Si necesitamos modificar la contraseña de un usuario, ejecutamos:
:~# passwd NombreDeUsuario

Si quisiéramos modificar el directorio de inicio de un usuario en particular, ejecutamos:
:~# usermod -d -m /home/NombreDelDirectorio NombredeUsuario

Si necesitamos modificar el nombre de un usuario que ya existe, ejectuamos:
:~# usermod -l NombreDeUsuarioExistente NuevoNombreDeUsuario

martes, 16 de marzo de 2010

start restart ---- Cuando modificamos

... algún archivo .conf para "tunearlo" a nuestra comodidad o necesidad, luego tenemos que reiniciar el servicio, eso bien vale recordarlo.
También, hay casos que tenemos servicios que no necesitamos todo el tiempo y no arrancan al inicio del equipo.

Vamos a usar como ejemplo Apache:
Si no lo teníamos para que arranque al inicio del sistema, para que se inicie, solo tenemos que ejecutar:
:~ $ sudo /etc/init.d/apache2 start
Pero puede que tengamos dudas de si ya le hemos dado inicio a este servicio, entonces:
:~ $ sudo /etc/init.d/apache2 status
Y si le hicimos algún "tuneado", si o si, debemos reiniciarlo para que este tenga vigencia, entonces:
:~ $ sudo /etc/init.d/apache2 restart

poweroff shutdown ---- Sos administrador.....

.... y necesitás apagar una terminal desde la consola???
:~$ sudo poweroff

Aunque es raro, necesitás reiniciar tu un equipo desde la consola??
:~$ sudo shutdown -r now

eject ---- Nada, solo un tip...

Si querés abrir la lectora de CD, desde una consola de linux, ejecuta:
:~$ eject

Y si además, querés luego cerrarla:
:~$ eject -t

La de "chistes" que hacen algunos administradores de red por ssh, es innumerable.

apt-get vs aptitude ---- Cuál es mejor??

Esto es un parte de una publicación de la documentación de ubuntu-es.org. El link es el siguiente: http://86xn1.tk

Apt (APT-GET)
Mediante el comando en consola :~$ sudo apt-get install NombrePaquete. es posible instalar el paquete solicitado y sus dependencias. Las versiones más recientes, permiten eliminar paquetes que ya no son necesarios, a través del comando :~$ apt-get autoremove.
El programa apt-get es un gestor de paquetes de línea de comandos, que debe ser utilizado si la herramienta Añadir/Eliminar y el gestor ‘Synaptic’ nos dan problemas. Este proporciona una interfaz avanzada de APT, el sistema gestor de paquetes subyacente que utiliza Ubuntu, pero es razonablemente fácil de utilizar. Los usuarios avanzados encontrarán que apt-get es más rápido de utilizar y más poderoso que la opción gráfica.

Aptitude
Mediante el comando en consola :~$ sudo aptitude install NombrePaquete.
Es más potente que APT-GET, ya que es una evolución del mismo. También te soluciona dependencias y recuerda librerías descargadas desinstalandolas si están en desuso. Al ejecutarse por consola su potencia y velocidad son lo máximo.

Particularmente en comprobado varias veces la superioridad de aptitude por sobre apt-get, fundamentalmente en el tema de la limpieza y prolijidad. Es por este motivo que utilizo aptitude.

Como siempre digo, para conocer más sobre aptitude o apt-get:
:~$ man aptitude
o
:~$ man apt-get

lunes, 15 de marzo de 2010

.bin.sh.deb.rpm.run ---- Uno de los problemas...

... con los que me encontré, cuando empecé a trabajar con distros de Linux, era la instalación de programas, por fuera de los centros de Software, apt, aptitude o de Synaptic, por ejemplo.
Debo asumiro que tenía demasiado escrito a fuego el tema de:
-"doble click al archivo.exe, y listo..., arranca la instalación"
de golpe, todo ese mundo, empezó a terminarse.
Y comenzó un mundo nuevo.
Empezaron a existir en mi vida archivos .deb, archivos .bin y archivos .sh por todos lados e imposible de ignorar. Pero nada raro, las cosas son diferentes y se hacen de formas diferentes, vamos con algunos ejemplos:

Archivos .bin
-En mi caso, siempre instalo los programas en la carpeta /usr/local, entonces, para esto, nos paramos en la carpeta donde esté el archivo .bin que hemos descargado, y ejecutamos:
:~# cp archivo.bin /usr/local/CarpetaSeleccionada/
NOTA: La selección de esa carpeta, donde será instalado el programa, puede ser modificada. Para saber más sobre jerarquía del sistema de archivos, visitá: http://5q2hm.tk

-ahora tenemos que asegurarnos que el archivo .bin tenga permisos para ser ejecutado, entonces, como root, ejecutamos:
:~# chmod +x NombreDeArchivo.bin

-luego ejecutamos:
:~# ./NombreDeArchivo.bin


Archivos .sh
-En mi caso, siempre instalo los programas en la carpeta /usr/local, entonces, para esto, nos paramos en la carpeta donde esté el archivo .bin descargado, y ejecutamos:
:~# cp archivo.sh /usr/local/CarpetaSeleccionada/
NOTA: La selección de esa carpeta, donde será instalado el programa, puede ser modificada. Para saber más sobre jerarquía del sistema de archivos, visitá: http://5q2hm.tk

-ahora tenemos que asegurarnos que el archivo .sh tenga permisos para ser ejecutado, entonces, como root, ejecutamos:
:~# chmod +x NombreDeArchivo.sh

-luego ejecutamos:
:~# ./NombreDeArchivo.sh


Archivos .run
Generalmente los archivos .run suelen ser archivos de guía para instalación o script de instalación, y suelen ser manejados igual que los archivos .sh.


Archivos .deb
Navegando por la web, encontraremos muchos programas o sistemas ya compilados especialmente para las distros basadas en Debian. Estos archivos .deb son muy fáciles de instalar, sólo tenemos que, como root, ejecutar:
:~# sudo dpkg -i NombreDeArchivo.deb
NOTA: Otras Opciones
dpkg -I
Nos muestra la lista de paquetes instalados
dpkg -I NombreDelPaquete
Nos muestra INFO del paquete
dpkg -reconfigure NombreDelPrograma.deb
Reconfigura el paquete instalado
dpkg -r NombreDelPaquete
Elimina el paquete mencionado
dpkg --purge NombreDelPaquete
Realiza un borrado mas profundo del paquete indicado



Otras tantas veces, los programas vienen en paquetes, por ejemplo, .tar.bz2, estos son los pasos para hacer una instalación con estos paquetes:
1-Descargamos el archivo en nuestro escritorio, por ejemplo en:
/home/usuario/Escritorio

2-Lo descompactamos manualmente, con el gestor de archivadores o con el comando tar y
lo dejamos en una carpeta temporal, por ejemplo:
/home/usuario/Escritorio/tmp

3-Yo siempre instalo mis programas en /usr/local, por lo tanto, allá lo copiamos:
:~# cp -r /home/usuario/Escritorio/tmp/"aplicacion descomprimida" /usr/local/ y ya lo tenemos donde queremos, con los permisos y todo, listo para ser ejecutado si el programa ya viene con todos los archivos binarios compilados

Ahora bien, muchos paquetes que descargamos de la red, vienen sin estar compilados pero vienen con todos los archivos necesarios para esto, los pasos son los siguientes:
Los pasos 1 a 3 descriptos más arriba, son los mismos, así que continuamos desde allí
4-De no estar el programa compilado, seguramente dentro de la carpeta que acabamos de copiar encontraremos archivos config o configure, por lo tanto, ejecutamos:
:~# ./config
o
:~# ./configure
Luego de terminada la ejecución de script disparado con el config o configure, ejecutamos:
:~# make
y luego
:~# makeinstall
Y así si ya tenemos el sistema totalmente instalado y compilado con nosotros.


Archivos .rpm
Siendo los archivos .rpm archivos binarios para las distro basadas en RedHat. Pero gracias a un Script de Perl llamado Alien, podemos convertirlos en archivos .deb y con sólo un doble click, comenzar la instalación de los mismos.
En principio, tenemos que instalar Alien, para esto, ejecutamos:
:~$ sudo aptitude install alien

Con alien instalado, y con el archivo .rpm descargado, ejecutamos:
:~$ sudo alien --to-deb NombrePaquete.rpm
y ya tenemos un paquete binario listo para instalar en Ubuntu o distros basadas en Debian.
Para conocer más de las opciones de alien:
:~$ man alien

viernes, 12 de marzo de 2010

scp ---- Copias seguras...

..., si, con este comando podemos hacer copias entre máquinas, sobre una conexión segura y encriptada.

Algunos ejemplos:
:~$ scp NombreDeUsuario@HOST:/Directorio/de/Origen/[archivo] /Directorio/de/Destino/
ó
:~$ scp NombreDeUsuario@HOST:/Directorio/de/Origen/[archivo] . (el punto indica que el destino es el directorio donde estamos parados y HOST es el nombre de la PC origen)

También podemos copiar desde un equipo remoto, aunque recomiendo rsync, con scp también se puede hacer:
:~$ scp NombreDeUsuario@IpDelEquipoRemoto:/Directorio/De/Origne/[archivo] /Directorio/de/Destino/

Como siempre digo, para conocer más detalles sobre el programa "scp" y todas sus características, ejecutar:
:~$ man scp

rsync ---- Back Ups seguros...

..., rsync, una herramienta de mucha potencia para hacer copias de seguridad o sincronización de archivos entre 2 equipos.

En primer lugar, si no lo tenés instalado en tu equipo, como root, ejecutamos:
:~# sudo aptitude install rsync

Listo, instalado. Ahora vamos a detallar las "options" de rsync, por lo menos las que uso yo, son las siguientes:
-a #de Archivos
-b #crea un Back up
-e #especifica el shell a usar
-g #mantiene Grupos de origen
-l #mantiene los Links activos
-t #mantiene fecha y hora de origen
-u #para forzar el Update
-v #mas datos de Verbose
-z #comprime archivos durante la transferencia
--delete-after #marca, después de la copia, con un ~ los archivos que ya no existen en origen


Existen en la web muchísimos tutoriales de rsync, rsync en ssh, etc., etc., etc. Acá voy a indicar sólo algunos ejemplos de como lo uso yo, por ejemplo:
LOCAL:
:~$ rsync -abgltv /Path/a/Carpetas/Origen/ /Path/a/Carpetas/Destino

A un equipo remoto:
:~$ rsync -e ssh -abgltvz --delete-after /home/Path/a/Origen/ usuario@ip.del.host:/Path/a/Destino

DESDE un equipo remoto:
:~$ rsync -e ssh -abgltvz --delete-after usuario@ip.del.host:/Path/a/Destino/ /home/Path/a/Origen

Y como siempre digo, y en este caso es de lectura obligatorio, para conocer más detalles sobre el programa "rsync" y todas sus características, ejecutar:
:~$ man rsync

youtube-dl ---- Querés descargarte....

..., un video desde youtube, y directamente desde la consola??, bueno, anotá.

Es un programa que se llama youtube-dl, para instalarlo, como root, ejecutamos:
:~# apt-get install youtube-dl

Y con el programa instalado, solo necesitamos copiar la url del video que provee youtube, por ejemplo:
:~$ youtube-dl http://www.youtube.com/watch?v=MvA26p6wMYc

Y por último, como siempre digo, para conocer más detalles sobre los programas "youtube-dl" y todas sus características, ejecutar:
:~$ man youtube-dl

Convertir archivos .flac en archivos .mp3

Por una cuestión de prolijidad, decidí hace unos días transformar todos mi archivos de sonido digitalizados, a un sólo formato, mp3. Al poner manos a la obra, me encontré con muchos archivos .flac los cuales debía convertir.

Para esta tarea, necesitaba tener instalados un par de programas, entonces, como root, ejecutamos:
:~# apt-get install flac
:~# apt-get install lame

Con todos los programas necesarios intalados, ejecutamos:
flac -c --decode ArchivoOrigen.flac | lame --vbr-new - ArchivoDestino.mp3

Pero como tenía varios archivos, lo mejor fue disparar este "script":
for archivo in *.flac; do flac -c -decode $archivo | lame --vbr-new - $archivo.mp3; done

Convertir archivos .flv en archivos .avi

Esta no es una solución de una gran calidad, pero sirve.

Necesitamos tener instalados el siguiente programa, que como root, ya instalamos:
:~# apt-get install ffmpeg

Luego de tener los programas necesarios instalados, ejecutamos:
:~$ ffmpeg -i 'ArchivoOrigen.flv' 'ArchivoDestino.avi'

Hay programas más efectivos, pero este sirve cuando no necesitamos una GRAN HQ.

Convertir archivos .mov en archivos .mp3

Navegando por la web, se pueden encontrar varias formas de hacer esta conversión, pero esta que encontré fue la que me dío mejores resultados al querer convertir un video de mi hija en un archivo .mp3 para subir al celu.

Necesitamos tener instalados algunos programas, así que, como root, instalamos los siguientes:
:~# apt-get install ffmpeg
:~# apt-get install mplayer
:~# apt-get install lame

Con todos los programas necesarios instalados, ejecutamos los siguientes pasos:
Paso 1:
ffmpeg -i ArchivoOrigen.mov -acodec copy ArchivoDestino.avi

Paso 2:
mplayer -vo null -vc dump -ao pcm ArchivoDestino.avi

Paso 3:
lame audiodump.wav ArchivoDestino.mp3

Y así conseguí un archivo .mp3 impecable para poner de ringtone en mi celu.

Convertir archivos .rmvb en archivos .avi

Los archivos .rmvb generalmente tienen una calidad muy buena, así que no sé para que alguien querría convertirlos en archivos .avi, pero bueno..., conozco gente que lo hace, YO por ejemplo..., Así que acá dejo el machete.

Para que esto funcione tenemos que tener varios programas instalados, vamos con la lista de instalaciones, ojo, como root:
:~# apt-get install mencoder
:~# apt-get install ffmpeg
:~# apt-get install w32codecs
:~# apt-get install devede

Luego de tener todos estos programas instalados, ejecutamos:
mencoder archivoIN.rmvb -oac mp3lame -lameopts preset=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200 -ofps 25 -of avi -o archivoOUT.avi
y listo..., ahi tenemos el archivo .avi perfectamente convertido.

pdftk / gs ---- Es posible rejuntar...

..., todos mi archivos PDF en un sólo archivo PDF??, de ser necesario??

Si, totalmente.
Muchas veces se dá el caso que tenemos que escanear un montón de apuntes, pero es muy incómodo tenerlos en varias archivos PDF por separado. Bueno, con estos 2 programas podemos tener todos esos apuntes en 1 sólo archivo PDF, como??, veamos:
El primer programa es pdftk, para eso, ejecutamos:
:~# apt-get install pdftk
con el programa instaldo, ejecutamos:
:~$ pdftk Archivo1.pdf Archivo2.pdf Archivo3.pdf cat output ArchivoFinal.pdf
pdftk, tiene como contra, que si son muchos los archivos a "rejuntar", el archivo PDF final será demasiado pesado en mbytes.

Para evitar esto, podemos usar gs, entonces:
:~# apt-get install gs
una vez instalado, ejecutamos:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=ArchivoFinal.pdf -dBATCH Archivo1.pdf Archivo2.pdf Archivo3.pdf
y con esto tendremos un archivo PDF final, mucho más liviano.

Como siempre digo, para conocer más detalles sobre los programas "pdftk" y "gs" y todas sus características, ejecutar:
:~$ man pdftk
y / o
:~$ man gs

tar / bzip2 ---- Empaquetado y apretado...

..., así quedarán ese conjunto de archivos y carpetas que queres guardar.

A ver como:
Comprimir Empaquetando:
:~$ tar -c *.* | bzip2 > Archivo.tar.bz2

Descomprimir desempaquetando:
:~$ tar fjvx Archivo.tar.bz2

Pero si primero queremos ver el contenido del archivo empaquetado:
:~$ bzip2 -dc Archivo.tar.bz2 | tar -tv

También se pueden ejecutar por separado o individualmente, veamos como:
Empaquetando:
:~$ tar cvf Archivo.tar /carpet/a/s/*
Desempaquetando:
:~$ tar xvf Archivo.tar
Ver Contenido del Paquete:
:~$ tar tvf Archivo.tar

Comprimiendo: (con bzip2)
:~$ bzip2 Archivo.ext o /Carpeta
Descomprimiendo: (con bzip2)
:~$ bzip2 -d archivo.bz2

Comprimiendo con tar y bzip2 de forma combinada:
:~$ tar jcvfP /home/usuario/BackUps/archivo.tar.bz2 /home/usuario/Documentos/Documento.xml
Descomprimiendo con tar y bzip2 de forma combinada:
:~$ tar jxvfP archivo.tar.bz2
Nota: recuerden que la "P" es una option que funciona, al comprimir, para guardar el path absoluto. Y al descomprimir desempaqueta con el path absoluto.

Y como siempre digo, para conocer más detalles sobre los comandos "tar" y "bzip2", ejecutar:
:~$ man tar
y / o
:~$ man bzip2

gnome-terminal ----

En ocasiones necesitamos ejecutar un conjunto de comandos o un montón de comando encadenados, eso hace que, a veces, supere el ancho de la terminal. Para modificar esto existe el siguiente comando:
:~$ gnome-terminal --geometry=132x43
OJO, al cerrar la terminal, perdemos esta nuevas medidas seteadas.

En el caso en que querramos setear de forma definitiva, o por lo menos, que siempre quede igual, ejecutamos, como root, lo siguiente:
:~# gedit /usr/share/vte/termcap/xterm
luego buscar la línea que contiene lo siguiente:
:co#80:it#8:li#24:\
y modificarlo por la siguiente línea:
:co#132:it#8:li#43:\

Y como siempre digo, para conocer más detalles sobre el comando "gnome-terminal", ejecutar:
:~$ man gnome-terminal

jueves, 11 de marzo de 2010

nmblookup ---- Necesitamos conocer...

... el nombre de la PC de administración y tengo la IP, como hago??

Con este comando, podemos hacer exactamente eso:
:~$ nmblookup -A 192.168.1.111 (o la IP que corresponda o quieran conocer)

Y como siempre digo, para conocer más detalles sobre el comando "nmblookup", ejecutar:
:~$ man nmblookup

du ---- Cuanto pesa...

... mi carpeta con los mp3??

Con este comando "du", podemos saber cuanto "pesa" una carpeta con todo su contenido:
-Si queremos el dato algo resumido, ejecutamos:
:~$ du -chls * (El asteristico nos dice que este comando nos va a dar la medida de la carpeta donde esta lanzado)
-Si queremos el dato más detallado, para "leer" todo, ejecutar:
:~$ du -ch ./carpeta

Y como siempre digo, para conocer más detalles sobre el comando "du", ejecutar:
:~$ man du

find ---- Buscás algo en tu Linux???...

... Claro, quien no ha perdido un archivo alguna vez. O también..., nunca se les ocurrió buscar cuantos archivos .conf existen en nuestra distro??, bueno, a mi si che...

Algunos ejemplos. Como casi seguro nos vamos a "meter" donde no debemos, hay que agregar "sudo" o bien ejecutarlo como root:
-Si queremos buscar un archivo en particular, y conocemos su nombre y extensión:
root@maquinola:~# find / -name archivo.ext
-Si queremos buscar un archivo en particular, y conocemos solo una parte del nombre:
root@maquinola:~# find / -name *arch*
-Si queremos conocer que "directorios" o "carpetas" tenemos creados en nuestro home:
root@maquinola:~# /home/user -type d (donde user es el nuestro nombre de usuario o nuestro home asigando)
-Si, como dije antes, queremos saber cuantos archivos "conf" tenemos:
root@maquinola:~# find / -type f -name *.conf

Aprovechando la potencia y lo servicial que es find, podemos combinarlo con otros comandos:
-Si quisieramos eliminar todos los archivos terminados en ".tmp", ejecutamos: (antes que nada, estas combinaciones hay que usarlas con muchísima atención, ya que un error puede ser "demoledor!!!")
root@maquinola:~# find / -type f -name *.tmp -delete
-Si, por ejemplo después de usar rsync, queremos eliminar todos los archivos "backupeados" (*~), ejecutamos:
root@maquinola:~# find /Carpeta/Donde/Buscar -name *~ -exec rm {} \;
-Si queremos copiar ciertos archivos a otro directorio, ejecutamos:
root@maquinola:~# find . -type f -exec cp '{}' /tmp \; (donde "." es el directorio actual)
-Y también, por último, si queremos buscar los archivos con permiso "777", ejecutamos:
root@maquinola:~# find . -perm 777 (donde "." es el directorio actual)

Estos son sólo algunos ejemplos que, fundamentalmente son los que yo uso normalmente. En la web hay excelentes tutoriales, por ejemplo: http://relv6.tk
Y como siempre digo, para conocer más detalles sobre el comando find, ejecutar:
~$ man find

PATH ---- Algunas veces....

... necesitamos modificar la variable PATH para agregarle, justamente, un path que apunte a alguna carpeta en particular. Por ejemplo: Si sabemos algo de programación, y somos capaces de generar nuestros propios scripts, y siendo, por supuesto, el colmo de lo prolijos, podemos tener todos nuestros mencionados scripts en una misma carpeta, por ejemplo:
/home/nombre_usuario/scripts
Ahora bien, si la idea es dispararlos desde cualquier lugar en que estemos "parados" en la consola, tenemos que informarle al sistema operativo donde tenemos "alojados" nuestros scripts. Para esto, entonces, podemos hacer lo siguiente:

Modificar PATH sólo para la sesión abierta:
export PATH=$PATH:/home/usuario/carpeta
Recuerden que al cerrar la sesion, desaparece el PATH agregado

Modificar PATH para todas las sesiones y para cualquier usuarios
echo "export PATH=$PATH:/home/usuario/carpeta:\$PATH" >> /etc/profile

Modificar PATH para todas las sesiones y para 1 sólo usuario
echo "export PATH=$PATH:/home/usuario/carpeta:\$PATH" >> /home/usuario/.bashrc

Recuerden que si quieren verificar el valor de la variable PATH, es sencillo, por supuesto desde la consola escribimos:
echo $PATH
ó bien, para verlo más prolijamente:
echo $PATH | tr : \\n

nmap ---- Te molesta que te roben....

... parte de tu señal de WiFi??
Bueno, linux te puede ayudar.

Con este programa, podés chequear cuanta gente hay conectada en tu router.
1) Instalar nmap
aptitude install nmap

y a continuación, sólo queda tirar el siguiente comando:
nmap -sP 192.168.1.0/24 (o la estructura de IP que tengas)

miércoles, 10 de marzo de 2010

df ---- Tenés idea de....

... cuanto espacio te queda en tus discos rígidos??

Fácil, por supuesto en consola, escribimos:
df
si querés un tipo de detalle, "más humano":
df -h
ó también, si querés otro tipo de detalles, escribí:
df -hT

El comando df muestra los datos de todas las unidades montadas.

dpkg ---- Sos usuario de Ubuntu....

... y querés instalar paquetes ".deb", y desde la consola??

Bueno...
dpkg -i /ruta/al/paquete/paquete.deb