sábado, 30 de marzo de 2013

Cómo formatear pendrive a FAT32 o NTFS desde Terminal Linux

Para dar formato a una memoria sea extraible o interna Linux nos ofrece un conjunto de herramientas amplio,para ext?,para fat,fat32{16},ntfs,jfs,xfs,etc lo podemos hacer gráficamente o desde consola/terminal en este caso Terminal porque en este sitio casi todo se hace desde terminal,al ser Unix :D

Primero que nada instalamos lo necesario:

Para NTFS y Fat:

Ubuntu:


sudo apt-get install ntfsprogs dosfstools

Arch:


sudo pacman -Sy ntfsprogs dosfstools



Gentoo:

sudo emerge -av ntfs3g dosfstools
Tutorial

1.Nos logeamos como root:

su

2.Conectamos nuestro pendrive y chequeamos

fdisk -l 

Es el que esta hasta abajo(regularmente)



Nota: Verifiquen el tamaño de la memoria,porque se formatean una partición del disco se va todo para abajo.

Regularmente dice la memoria en donde dice Disco:


fdisk -l | pcregrep -Mi "(disco)"








En mi caso es :

/dev/sdb

Lo desmontamos, si esta montado:

umount /dev/sdb 

Y formateamos:

En Fat32

mkfs.vfat -I -F 32 /dev/sdb 

Con nombre :

mkfs.vfat -I -F 32 -n nombre /dev/sdb 

En NTFS

Aqui es un poco diferente ya que tenemos que crear particiones,por ejemplo esto crea una con el tamaño de toda la memoria:

mkntfs -vf /dev/sdb1

Para forzar un formato

mkntfs -vF /dev/sdb1
También podemos usar

mkntfs asi:


mkfs -t ntfs  /dev/sdb1

Si tenemos problemas,podemos borrar todas las particiones internas del pendrive con cfdisk

cfdisk /dev/sdb

Pero creamos una partición primaria:




Y ahora si


mkntfs -vf /dev/sdb1

Esperamos y verificamos con cfdisk



Eso en teoria es lo que hacen programas como gparted o el de KDE. Eso es todo,ahora lo podemos montar

mount /dev/sdb1 /mnt
Eso es todo :D 

La prueba:

Eso lo hice en Gentoo,ahora conectamos el pendrive ntfs a Ubuntu y lo monta sin problemas



En NTFS

Ahora si eso es todo :D

Nota en lo de arriba de rojo(en donde esta el 1) podemos usar dos o tres,pero debemos crear la partición antes con cfdisk.
Leer más...

Matar procesos por nombre en Terminal Linux


Como mostré en una entrada pasada,que ya tiene tiempo,vimos como matar procesos pero por PID(identificador de proceso),pues esta vez lo haremos por nombre,ya que es un poco mas facil usar el nombre del programa,proceso que algo como 134747.

Tutorial

Primero que nada debemos saber el nombre exacto de nuestro programa, aplicaron o proceso abierto,para eso vamos a usar un poco de regex en grep,pero como soy perlero y los ando induciendo a perlear vamos a usar:

pcregrep

El grep compatible con las expresiones de Perl :D

Bien primero de damos color para que se vea como grep al encontrar coincidencias,con este comando:

echo 'alias pcregrep="pcregrep --color"' >> ~/.bashrc && source ~/.bashrc

Bien ahora podemos hacer esto:

Imaginemos que se nos traba un programa(si, se nos traba en Linux) en Ubuntu :P y sabemos como se llama,pero mas o menos porque el nombre comercial no es el mismo que usa Unix para el proceso,asi que imaginemos que se llama Firefox,para encontrarlo,usamos una expresion que busque desde Fire hacia adelante y que no le importe minusculas o mayusculas:

ps -e | pcregrep -Mi "Fire(.*)"

Explico:

ps -e # Muestra todos los procesos con poca informacion(pero es la que nos interesa)

pcregrep # Es grep con Perl

-Mi # Aqui hay dos parámetros M que indica que busque en multilinea y i que es ignore case,osea que no le importe mayúsculas o minusculas

"Fire(.*)" # Es lo que queremos buscar,pero con esta expresión (.*) que indica lo que siga hacia adelante,seria como Fire* en Unix Wildcards



Como puden ver me salio que se llama firefox no Firefox,asi que tenemos que usar el nombre que salio en rojo

Ahora solo usamos este comando

killall firefox
O si tenemos ekill

ekill firefox
Así de fácil :D

Nota: Si tenemos varias ventanas abiertas de firefox o de otro programa,nos cierra todas!!! 

Ahora si no nos gusta eso de andar usando la terminal pueden instalar xkill:

sudo emerge xkill

sudo apt-get install xkill

sudo pacman -S xorg-xkill

Lo lanzamos,como dije en esta entrada no se necesita lanzarlo desde la terminal,podemos usar combinaciones de teclas o el ejecutor de nuestro entorno,LXDE tiene uno en el menú KDE tiene uno arriba del escritorio,hasta windows tiene uno :P,o desde Terminal :S:

xkill
Nos sale una calaca y "cierra" las ventanas que cliquemos,pero cuidado porque "no tiene misericordia",si cliqueamos el escritorio por ejemplo hasta le hace kill a el proceso que pone el wallpaper,es una herramienta indispensable (en mi opinión)  ya que aveces se cuelga el sistema(mas que nada ubuntu) y este programa cierra las ventanas o procesos fácilmente,pero como dije en la otra entrada si ya ni semueve no prodra lanzar el proceso y es donde entra en acción kill o killall desde una tty :D

Eso es todo

Leer más...

Como colorear la shell de Bash

La terminal de Linux/BSD o cualquier Unix que use Bash,tiene la capacidad de darnos un tono mas colorido y agradable,en algunos sistemas he visto que esto no viene por defecto y aquí un sencillo tutorial de como hacerlo:

Mas que nada esto lo he visto en modo root:

Antes:

Despues:

Bien aquí el "truco" es que el comando ls,usa una variable de env que se llama :

LS_COLORS

Esta variable de entorno es la que llama ls al usar :

ls --color
Lo unico que tenemos que hacer que ls sea ls --color por defecto,para eso usaremos un alias:

Podemos desde la shell:

alias ls="ls --color=auto
Y listo

O desde el .basrc

echo 'alias ls="ls --color=auto"' >> ~/.bashrc && source ~/.bashrc
 Y listo :D

Como dije,usa una variable de entorno,asi que podriamos usar solamente


echo 'alias ls="ls --color"' >> ~/.bashrc && source ~/.bashrc
Pero necesitamos exportar primero los colores,podemos hacerlo automáticamente con dircolors:

dircolors -b
O podemos hacerlo manualmente incluso creando nuestras combinaciones de colores,por ejemplo yo uso este en Gentoo:



Copiamos y pegamos tal cual el codigo de arriba en la shell,o creamos uno y lo exportamos

export LS_COLORS

Si queremos modificar los colores,nos basamos en los colores del $PS1 y $PS2

Tutorial $PS1
Tutorial $PS2 

Y de esta manera tenemos modificado nuestro $PS1

Nuestro $PS2

Y ls,para navegar en el sistema:

Eso es todo,totalmente coloreada nuestra shell,creo :D

Leer más...

jueves, 28 de marzo de 2013

Como instalar metasploit en Ubuntu 12.10

Me pidieron un tutorial de metasploit(como instalar) en Ubuntu 12.10 y aqui esta,vamos a instalar esta poderosa herramienta de pentest en la version 12.10 de Ubuntu,esta herramienta la podemos instalar donde sea(en cualquier linux),yo la tengo en Arch y Gentoo ya que solo se necesita buscar las dependencias,el equivalente de nuestra distro:

PostgreSQL

Ruby

Rubygems

Gema pg de ruby

Java # Para armitage

Y bajarnos el instalador

Luego crear una base de datos


Tutorial

0.Configurar root de Ubuntu


Enlace

1.Bajamos el instalador de metasploit:

Enlace
Es un archivo .run en lo que descarga:

2. Instalamos postgresql y creamos una base de datos para usar msfconsole


su



apt-get install postgresql

su postgres

createuser msf_usuario -P 
Llenamos las opciones así


Enter password for new role: password
Enter it again: password
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n



Creamos una base de datos:

createdb --owner=msf_usuario msf_database
exit 


2.Instalamos lo necesario para ruby y ruby:

apt-get install ruby-dev 
apt-get install libssl-dev
apt-get install libreadline-dev 
apt-get install rubygems libpq-dev 
gem install pg 

3.Instalamos subversion

apt-get install subversion

4.Instalamos java,para usar armitage(opcional)

add-apt-repository ppa:webupd8team/java; apt-get update && apt-get install oracle-jdk7-installer   
 5.Corremos el instalador:

Si se nos descargo en la carpeta Descargas ejecutamos

cd Descargas

Vemos con:

ls *run

Y le damos permisos de jecucion

chmod +x *run

Y ejecutamos:

./metasploit* --mode gtk


Nos saldrá un setup a lo windows:


Solo clic y clic y clic, según nuestras necesidades



Ahora lanzamos

msfconsole


o

armitage
Como instalamos la version original(de la web) no necesitamos actualizar los exploits y payloads,pero si necesitamos hacerlo lanzamos suversion en la shell de metasploit

svn update
En armitage usamos el password y user que creamos,en mi caso


Igual en msfconsole

Escribimos,en mi caso:

db_connect msf_tenayus:password@127.0.0.1:5432/msf_database
# En modo consola puede que les de error porque se conecta a una base de datos que crea automáticamente.



Cambien pueden lanzar la GUI para ver mas opciones

msfgui
Eso es todo :D,puede que de algunos errores por que faltan instalar algunas cosas,por ejemplo no mencione pero se debe instalar nmap

sudo apt-get install nmap

Para hacer escaneos en armitage:



o también php, ya que hay exploits en este lenguaje, así que de momento deberia funcionar bien,pero depende que tengas instalado en Ubuntu dara errores por falta de dependecias.Eso es lo bueno de distros como kali o blackbuntu,traen todo esto listo,hasta apache.Saludos.



Leer más...

Crear .iso de Arch (baseline)

Como en el tutorial de Gentoo aprenderemos a crear una ISO de Arch a nuestro gusto,para luego quemarla y usarla en modo live,en este caso no haremos eso,solo mostrare este metodo de creacion de .isos de Arch que no es muy mencionado (por lo menos en la habla hispana),de lo que se trata es de crear un .iso de Arch para usarlo en modo live,usando un conjunto de script's de mkarchiso el trabajo es muy sencillo,mas sencillo que el de Gentoo,lo unico que tenemos que hacer es meter unos cuatos comandos en Terminal y bueno hay dos creaciones de iso's basados en Arch:

El baseline(este tutorial):

Crea un sistema automático básico con lo necesario para arrancar y funcionar,con syslinux como arranque.En este caso usaremos este para ejemplo.

El releng:

Crea un sistema totalmente hecho como lo queramos,con DE,paquetes de nuestra elección.

 Como dije en este caso usaremos baseline el cual es muy fácil y rápido pero por ende puede dar problemas,ami por ejemplo me dio problema al apagar el equipo y también no trae paquetes para administrar la red,es solo un ejemplo y dejo los enlaces abajo para que creen su releng a su gusto,en el futuro hare un tutorial de releng,pero de momento solo comparto esto.

Tutoial

0.Necesitan tener instalado Arch

Tutorial

1.Instalamos lo necesario

 sudo pacman -S archiso
2.Creamos un directorio donde trabajaremos los archivos

mkdir ~/archlive

3.Copiamos el perfil de baseline

cp -r /usr/share/archiso/configs/baseline/ ~/archlive 

4.Nos cambiamos de directorio y ejecutamos el script en bash que creara la .iso

cd ~/archlive/baseline

sudo ./build.sh -v


Comenzara a crear y configurar,todo es automático ¬_¬

Esperamos y vamos al directorio out de baseline

cd ~/archlive/baseline/out/

Y ahí esta el .iso

 Con lo mas nuevo de lo nuevo,pero es muy basico:

Lo quemamos,desde consola o con brasero,por ejemplo

Y lo iniciamos:

Eso es todo :(


En la pagina oficial nos dice como crear una iso con releng,hasta nos menciona que podemos crear un repositorio y añadirlo a pacman,con nuestros programas que hayamos hecho o que nos gusten,en mi caso he programado algunas cosas en Perl y C++,pero ya vere despues,de momento eso todo:

Fuente y mas info:
wiki.archlinux.org/index.php/Archiso
Leer más...

miércoles, 27 de marzo de 2013

Tutorial Array de Arrays Perl Unix


Creo que ya hemos hablado de listas de listas en Python ahora vamos a hablar un poco de como se crean estructuras de arrays verticales,osea Arrays de Arrays o como les digo Arrays anidadas,esto nos servirá para almacenar datos en una sola lista de arrays y no perdernos tanto cuando ya tenemos cierto numero de arreglos en nuestro script/programa, por ejemplo si ya tengo dos arreglos de dos versiones de sistemas:

my @windows = ("XP","Vista","Seven");

Y uno de Mac:

my @Mac = ("Leopard","Lion","Tiger");

Podemos meterlos en otro array que se llame sistemas, por ejemplo

my @sistemas = # Seguir leyendo

Para crear un llamado array anidado debemos definir primero nuestros arrays horizontales,como lo hice arriba, y después llenar el array con esta sintaxis

my @ArrayDarrays = (\@array1,\@array2,\@etc);

Este carácter (\) se usa para referenciar un valor,en este caso estamos referenciando dos array's a otro.

Para llamar nuestros arrays es igual que siempre:

print "$array[valor]"; 

Como vimos anteriormente en donde valor es el numero del elemento del array,contando de izquierda a derecha comenzando por el cero.

En los Arrays anidados es así

$arrayA[Avalor][valor]; # (A es Anidado)

El Avalor es el valor del array dentro del array anidado,igual partiendo de izquierda a derecha desde el cero,y en el valor es el valor del array del Avalor,por ejemplo:

¿esto que da como resultado?

#/usr/bin/env perl

use strict;

my @sistemas = qw(Mac Windows);
my @windows = qw(XP Vista Seven);
my @Mac = qw(Leopard Lion Tiger);

my @OS = (\@sistemas,\@windows,\@Mac);

print "Mi sistema de escritorio es " . "$OS[2][1]" . " de " . "$OS[0][0]\n";


Si pensaste que la respuesta es

Mi sistema de escritorio es XP de Windows

Estas equivocado,la respuesta es



Mi sistema de escritorio es Lion de Mac

Aunque uso Gentoo....

Bien,para recorrer todo el Array de Arrays lo hacemos igual que con un array normal,solo que también anidado,por ejemplo foreach anidado en while:






Esto lo vamos a ver cuando haga un tutorial de referencias,ya que no lo he hecho,pero aqui les dejo un ejemplo que esta hasta abajo de como es una referencia simple


#/usr/bin/env perl

use strict;

my @sistemas = qw(Mac Windows);
my @windows = qw(XP Vista Seven);
my @Mac = qw(Leopard Lion Tiger);
my @OS = (\@sistemas,\@windows,\@Mac);

print "Mi sistema de escritorio es " . "$OS[2][1]" . " de " . "$OS[0][0]\n";

my $i = 0; my $n = 0;

while ($i < $#OS+1 ) {
foreach $n (0..@{$OS[$i]}-1) {
print "Mi sistemas son $OS[$i][$n]\n";
}
$i+=1;
}
my $referencia = \@OS;
print "Referencia" . " $referencia->[0]->[0]" . "\n";


Leer más...

martes, 26 de marzo de 2013

Evitar acceso a root por ssh Linux

Ya entrados en el tema de SSH de la entrada pasada aqui un sencillo,muy sencillo tutorial de como hacer para que no puedan acceder al root de nuestro OS tipo Unix,o Unix-Like,para que no lo hacken(entiéndase : explotar) como en este tutorial,ya si quieren explotarnos deberían primero saber el nombre de un usuario de nuestro host para saber a quien "apuntar",y escalar privilegios con algún exploit.

Bueno en el caso del iPhone editamos el fichero /etc/ssh/sshd_config

Entramos con iFile o desde iFunbox,winscp,o lo que sea a ese archivo y buscamos esta linea:

#PermitRootLogin yes
Y que quede así

PermitRootLogin no
 En el caso de Linux,Igual

Primero deben buscar su sshd_config

sudo find / -name sshd_config

Siempre esta en /etc/ssh/ pero quien sabe,a lo mejor no esta ahí

Ahora vamos a ver como esta configurado,en algunas distros esta desactivado por defecto:

cat /etc/ssh/sshd_config | grep "PermitRootLogin" | sed -n "1p"

En terminal

Si tiene una salida como esta:




Basta con escribir

sudo sed -i -e 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

O si no entrar con nano o nuestro editor y cambiar manualmente


PermitRootLogin yes

Por

PermitRootLogin no



Ahora reiniciamos ssh

En Ubuntu

 sudo service ssh restart

En Gentoo

sudo /etc/init.d/sshd start

Para otras distros googlen como reinician sus servicios y si pueden comenten :D

Eso es todo, ahora al querer acceder a root no se podrá aunque metan la contraseña oficial,de hecho esto estaba así por defecto en la versión 10.04 o 10.10 de Ubuntu,no recuerdo y no se porque no la use,yo estoy en Linux desde la 11.04 de Ubuntu antes era BSDero,Maquero, pero me llegue a topar con esto en su momento, así que no se quien se fue o quien llego a canonical pero por lo menos en 12.10 que estoy usando sshd tiene acceso root por defecto,algo que en su momento openBSD lo considero mala practica:


Eso es todo :D
Leer más...

Montar conexión sshfs del iPhone a Linux

Como saben soy fanboy de apple y por eso pongo tutoriales del iPhone en el sitio :P,no tanto como fanboy de apple si no que fanboy del jailbreak,pero bueno el hecho es que muchas veces necesitamos acceder a las carpetas de nuestro iPhone,iPad,iPod y hay muchas opciones en todos los sistemas operativos,ya hemos hablado de ifuse en Linux,de SSH con protocolo sftp,de ifunbox en Windows,en mac de un programa con un patito,en fin,una de las maneras mas fáciles de montar las carpetas del iPhone es usando SSHFS,pero que es esto de sshfs:

SSHFS

SSH : SSH es una abreviación de Secure Shell,la cual permite conectarnos a una Shell de tipo Unix remota de manera segura:

FS : FS es fuse un modulo del Kernel de Linux,uniendo estas dos herramientas tenemos el gran sshfs,el cual nos permite montar carpetas remotas en nuestro sistema local de manera segura.

Esto es algo asi como sftp,digo algo asi porque en realidad usa el subsistema sftp pero sin usar un programa cliente sftp (como filezilla,bareftp,winscp), si no que monta las carpetas remotas en nuestras carpetas locales,las cuales podremos ver desde la consola o desde nuestro navegador de archivos(nautilus,dolphin,pcmanfm,thunar),recalco no tendremos la necesidad de usar un cliente GUI.




En este caso usaremos openSSH en el iPhone y SSHFS en nuestro sistema de escritorio Linux:


openBSD en el iPhone esta en cydia,solo lo buscamos y lo instalamos, también instalamos el toogle de sbssetings solo buscamos en cydia:


SSHFS es un modulo de Linux en Ubuntu es tan facil como:

Instalar sshfs

sudo apt-get install sshfs
Y añadir nuestro usuario a fuse

sudo gpasswd -a tu_usuario fuse
En Gentoo necesitamos compilar el Kernel con fuse como modulo

File systems  --->
 <M> FUSE (Filesystem in Userspace) support




Y instalar sshfs

emerge -av sshfs-fuse
Y cargar el modulo

sudo modprobe fuse

Bien,en Gentoo eso es todo,en otras distros no he probado :(, habrá que googlear

Solo falta la conexión:

Solo tecleamos:

sshfs root@ip-iphone:/directorio directorio_a_montar

Por ejemplo creamos una carpeta en nuestro home,que se llama ios que sera en donde montaremos el iPhone

mkdir ~/ios

 Y ahora nos conectamos,en ejemplo montare el root de root de la ip privada 192.168.1.180 en el directorio que creamos

sshfs root@192.168.1.180:/ ~/ios

 Y listo,podemos ver el root de iOS en la carpeta ios

Y como dije también podemos ver la carpeta en nuestro explorador de archivos

Para desmontar :

fusermount -u ~/ios # Tu carpeta

Eso es todo,desde aqui podemos modificar,transferir archivos,etc :D

Leer más...

Combinaciones de teclas en Linux con Compiz

En mi entrada pasada coloque una entrada de como sacar un pantallaso con un programa de tipo consola,en esa misma entrada comente que se podían usar teclas en compiz para hacer una acción en especifico,en esa entrada mencione que con una tecla en especifico podríamos activar este programa de consola(scrot),en esta entrada mostrare como usar combinaciones de teclas para ejecutar alguna accion:

Esto funciona en Ubuntu con Unity y en cualquier distro con Compiz,solo necesitamos el CCSM (compizconfig settings manager)

En mi caso voy a usar Gentoo

Tutorial

1.Instalmos CCSM

En Gentoo


sudo apt-get install x11-wm/compiz-fusion
En Ubuntu


sudo apt-get install compizconfig-settings-manager

Para otras distros googlen como instalar ccsm

2.Abrimos ccsm en Terminal

ccsm 2>> /dev/null
O buscamos en el dash o menu compiz config

3.Vamos a General y palomeamos comandos


Ahora entramos y en la primera pagina es el comando a ejecutar,por ejemplo ponemos 

firefox

Este comando debe ser el mismo que ejecuta el sistema,osea el que se encuentra en /bin o en /usr/bin

Por ejemplo para abrir compiz config con una combinación no escribiríamos 

compiz config

Si no

ccms

En la segunda pagina(pestaña) esta la combinación de teclas que usaremos,es una para cada una(podemos usar 12 comandos) firefox en este caso seria el primero

Elegimos por ejemplo

super + alt + f

Ahora al pulsar super + alt + f se abrirá firefox

En la siguiente pestaña tenemos la misma opcion solo que podemos combinar bordes y pulsaciones del mouse:

En la ultima pestaña tenemos el uso de bordes:

Esta es una opcion muy buena ya que al solo mover el puntero a un borde que configuremos se ejecutara el comando que definimos en la primera pestaña :D

Eso es todo
Leer más...

domingo, 24 de marzo de 2013

Sacar screenshots desde la Terminal Linux Scrot

En los grandes entornos de escritorio tenemos herramientas como gnome-screenshot o el equivalente de KDE(no recuerdo su nombre) pero en entornos ligeros,TWM,o incluso en Gnome o KDE si por alguna razón no tenemos el programa nativo para hacer esto o simplemente nos gusta mas hacerlo desde la terminal para no gastar tantos recursos,scrot es la solución  no solo para esto si no que para remplazar los screenshoter's mas pesados como dije el de KDE o Gnome que en alguna ocasion me han dado problemas.

Primero lo instalamos.

Ubuntu/Debian/Basados:

sudo apt-get install scrot

Archlinux

yaourt -S scrot-focus

Gentoo:

sudo emerge scrot

Para otras distros googlen o usen el buscador de su administrador de paquetes(slap-get,zypper,yum,etc)


Tutorial

Sacar un pantallaso:

Solo escribimos en terminal

scrot


Bien esto nos saca un pantallaso pero con un nombre autopuesto por scrot,por ejemplo un nombre como:

fecha-calidad-scrot.png
Si queremos ponerle un nombre nosotros mismos tenemos que hacerlo de esta manera:

scrot nombre.extension

Por ejemplo:

scrot foto.png

scrot foto.jpeg

Y no la guarda con ese nombre y ese tipo de extensión:


También si no queremos que salga la terminal podemos decirle que espere unos segundos,para poder guardar la terminal de esta manera:

scrot -d segundos nombre.extension

También lo podemos hacer de esta manera:

sleep segundos; scrot nombre.extension
 O podemos hacer que inlusive se muestre el conteo,por si si queremos ver la terminal:

scrot -d segundos -c nombre.extension



Lo que seria mas o menos como esto:

echo -n "Talking shot in "; for i in 3 2 1; do printf "%s.. " "$i"  && sleep 1;  done; echo ""; scrot nombre.png

 Bueno,como dije arriba podemos remplazar el programa nativo que hace esto en nuestro sistema por scrot:

Solo vamos a la combinacion de teclas de nuestro entorno de escritorio(depende de que entorno uses),por ejemplo en Compiz vamos a CCMS y Palomeamos comandos:

Elegimos este (Comando para todos los entornos,lo unico que cambia es el lugar de la configuración):

cd ~/Imagenes; scrot

cd ~/Imagenes es para que guarde las screenshots en la carpeta Imagenes,y elegimos activar con la Print o imp pnt:

Ahora la pulsamos y listo :D


Como ven no hice el sceenshot desde una combinación de teclas,por lo cual no tengo abierta la terminal y fue muy rápido :D

Como dije esta combinacion depende de su entorno de escritorio,por ejemplo en Gnome Shell es


Vamos a Configuración del Sistema >> Teclado >> Atajos >> Combinación...
Y en comando scrot en tecla Print o incluso otra tecla.Eso es todo.

Mas info,en terminal

man scrot
Leer más...

sábado, 23 de marzo de 2013

Tutorial 7-Zip linea de comandos Linux

Me decian sobre un tutorial sobre 7-zip despues de hablar sobre zip en una entrada pasada,y aqui el tutorial de esta gran herramienta libre de compresión y descompresión que podemos usar desde Linea de comandos en la shell de Linux/Unix.



Yo este sistema de compresión lo conozco desde hace varios años ya que se usa muy regularmente para empaquetar programas portables para Windows de GNU,mas que nada como Gimp,Firefox,etc,en windows es una herramienta muy potente y gratuita ya que soporta la descompresión de archivos rar muy populares en Windows pero como trae interfaz grafica,nos facilita un poco las cosas aun asi en Windows tambien se puede usar en modo cmd, también soporta muchos otros formatos universales como zip,deb,tar,sea Mac,Windows,Linux,BSD:

Para ejemplo un poco de copy and paste:




Es el formato predeterminado para 7-zip, utiliza la extensión 7z. Cada archivo en formato 7z puede contener directorios y archivos. Como es un formato de compresión, la seguridad y el tamaño se logran usando una combinación de filtros,como pueden ser; pre-procesadores, algoritmos de compresión y los filtros de cifrado.

.7z usa una variedad de algoritmos de compresión, los más comunes son bzip2, LZMA2 y LZMA.

Desarrollado por Pavlov, LZMA es una gran algoritmo de compresión, con un gran radio de compresión y un diccionario de hasta 4 GB.

Otros formatos soportados

FormatoCompresiónDescompresiónExtensión de archivo
7z
Light green check.svg
Light green check.svg
.7z
ZIP
Light green check.svg
Light green check.svg
.zip
GZIP
Light green check.svg
Light green check.svg
.gz.gzip.tgz
BZIP2
Light green check.svg
Light green check.svg
.bz2.bzip2.tbz2
TAR
Light green check.svg
Light green check.svg
.tar
RAR
SemiTransBlack x.svg
Light green check.svg
.rar
CAB
SemiTransBlack x.svg
Light green check.svg
.cab
Arj
SemiTransBlack x.svg
Light green check.svg
.arj
Z
SemiTransBlack x.svg
Light green check.svg
.z.taz
CPIO
SemiTransBlack x.svg
Light green check.svg
.cpio
RPM
SemiTransBlack x.svg
Light green check.svg
.rpm
DEB
SemiTransBlack x.svg
Light green check.svg
.deb
LZH
SemiTransBlack x.svg
Light green check.svg
.lzh.lha
SPLIT
SemiTransBlack x.svg
Light green check.svg
.001 - .002...
CHM
SemiTransBlack x.svg
Light green check.svg
.chm.chw.hxs
ISO
SemiTransBlack x.svg
Light green check.svg
.iso
COMPOUND
SemiTransBlack x.svg
Light green check.svg
.msi.doc.xls.ppt
WIM
SemiTransBlack x.svg
Light green check.svg
.wim.swm
NSIS
SemiTransBlack x.svg
Light green check.svg
.exe
VHD
SemiTransBlack x.svg
Light green check.svg
.vhd
NTFS
SemiTransBlack x.svg
Light green check.svg
.ntfs
Fuente es.wikipedia.org

Ahí el poder de 7-Zip :D

Bueno para instalar:

Ubuntu/Basados:

sudo apt-get install p7zip



Arch:

sudo pacman -S p7zip

Gentoo:

sudo emerge -av p7zip
En Gentoo queda decir un cosa:

1.Para que descomprima rar añadan rar a  su USE de su make.conf

Igual en Ubuntu o Archlinux necesitan instalar p7zip-rar


Para otras distros googlen como instalar.

Tutorial

Extraer

1.Listar archivos de un comprimido:

7z l comprimido
 2.Extraer archivos de comprimido en nuestro directorio en donde nos encontramos:

Este método nos extrae todos los archivos del comprimido pero en la carpeta en donde estamos:

7z e comprimido
3.Extraer archivos respentando sus carpetas internas:

7z x comprimido
Estas dos formas de extraer lo hacen,pero no completamente(en algunos casos{extensiones}) primero le tenemos que dar el tipo de archivo con el parametro:

-t
Para saber el tipo de archivo (opr ejemplo un deb)lo vemos con:

7z l -slt archivo.deb | grep Type | sed -n '1p'

Todo eso no es necesario,para empezar porque sabemos que es un .deb,pero aun asi lo que queremos saber es como se le nombraría en 7zip a los .debs,lo de grep y sed es para filtar el primer resultado,ya que puede que contenga comprimidos adentro de comprimidos y el primer Type es el tipo de archivo de nuestro comprimido.

Sabiendo que los .debs se les llama Deb

Descomprimimos así:


7z x -tDeb archivo.deb

Y listo :D

Igual con los demás archivos de otras extensiones


Comprimir:

Para empezar esta es la sintaxis:

7z opciones switch comprimido.extension archivos 

Lo se switch es opcional.

Hay que recordar que al comprimir no soporta los mismos formatos que al extraer,podemos ver lo de arriba de nuevo o esto :

Formatos de compresión:


7z => .7z
ZIP => .zip
GZIP => .gz .gzip .tgz
BZIP2 => .bz2 .bzip2 .tbz2
TAR => .tar



1.Comprimir un archivo

7z a comprimido.extension archivos

2.Colocar password

7z  a -p comprimido.extension archivos

3.Usar wildcards del sistema:

Por ejemplo comprimir todos nuestro videos .ogv:

7z a -r comprimido.extension *.ogv

4.Añadir niveles de compresion

Para añadir niveles de compresión se usa el parámetro -Mx{numero},por ejemplo el nivel ultra es 9:


7z a -r  -tzip -Mx9 comprimido.extension *.ogv 


Agrego -tzip ya que es el formato zip, también se debe especificar al comprimir:

Eso es todo,para mas información basta con escribir en La terminal

man 7z
Leer más...