Crear una ISO a partir de un CD
Linux tiene varias maravillas que lo hacen realmente simple y potente (sí, simple!). Una de ellas es el comando dd, que permite hacer varias cosas, entre las que puede considerarse la de crear una ISO. Esto se hace de manera muy sencilla:
dd if=/dev/cdrom of=nombre_imagen.iso
En el ejemplo anterior se toma como origen el dispositivo de CD (que puede variar según la distribución) y se genera el archivo nombre_imagen.iso. Que hay utilidades gráficas más “amigables” no lo niego, pero hay que reconocer que dd es la más ampliamente distribuida y nadie puede decir que no es capaz de ejecutar el comando anterior.
Obtener un listado de links rotos
Hoy leí en Diario Linux un interesante post que explica cómo obtener un listado de los links rotos de una web. Lo ejecuté en NetStorming y, luego de un par de horas de ejecución, encontró 11 links rotos que tendré que arreglar.
La forma de hacer esto es muy sencilla y se realiza mediante el comando wget como se ve a continuación:
wget --spider --no-parent -r -o log.txt http://www.netstorming.com.ar
El listado de los links rotos aparecerá al final del archivo log.txt.
Montar filesystem remoto con SSH
Ya se habrá entendido que SSH es más que un simple protocolo para administración remota. De hecho, nos brinda una cantidad enorme de funciones muy útiles. Hace unos días veíamos cómo redireccionar puertos con SSH; un tiempo atrás habíamos visto también cómo ejecutar aplicaciones gráficas remotas. Esta vez veremos cómo montar un sistema de archivos remoto utilizando sólo SSH. Para ello necesitamos, lógicamente, acceso por SSH a la máquina que tiene el filesystem que deseamos montar. Además, en la máquina de destino tendremos que instalar la utilidad que nos permitirá hacer esto: sshfs. A continuación muestro un ejemplo utilizando Fedora:
[root@megan leandro]# yum install fuse-sshfs.i686
Una vez instalado sshfs su uso es muy trivial. Simplemente especificamos el nombre de usuario@IP_maquina:/directorio/a/montar /punto/de/montaje.
[leandro@megan ~]# sshfs leandro@192.168.1.2:/Users/leandro/datos/ /mnt/scarlet/ Password: [leandro@megan ~]$ mount 192.168.1.2:/Users/leandro/datos on /mnt/scarlet type fuse.sshfs (rw,nosuid,nodev,max_read=65536,user=leandro)
En el ejemplo anterior se puede ver cómo se ha montado el sistema de archivos. Importante y a destacar es que podemos montar el mismo sin ser root. De hecho, conviene hacerlo con el usuario sin privilegios que utilicemos dado que de esa manera podremos leer y escribir sin problemas.
Redirección de puertos con SSH
Supongamos que tenemos la siguiente topología:
- RTB tiene una redirección del puerto 22 hacia la PCB. Esto significa que todas las conexiones que se hagan al puerto TCP 22 con la IP del router serán enviadas a la PCB.
- Tanto RTA como RTB están en lugares remotos en Internet. Ambos hacen NAT de sus redes internas.
- PCB tiene un servidor SSH.
- PCB puede alcanzar al servidor web porque está en la misma LAN.
- SRV es un servidor web.
En este caso, desde la PCA deseamos acceder al servidor web SRV. Con lo único que contamos es con el acceso vía SSH a la PCB, dado que el servidor SRV tiene una IP privada y ningún puerto redireccionado. En este caso SSH nos da la posibilidad de redireccionar el puerto 80 del servidor por medio de la PCB, permitiéndonos acceder efectivamente al mismo. Esto se logra por medio de SSH haciendo un redirección local de puertos, de la siguiente manera:
ssh -L 10080:192.168.2.3:80 leandro@200.200.200.200
Para entender bien lo que ocurre sigamos los pasos:
- La PCB puede acceder normalmente al servidor web en SRV, sin ninguna restricción.
- La PCA tiene acceso SSH a la PCB.
- La PCA forma un túnel hacia el SRV utilizando la PCB.
- Luego de la redirección, la PCA puede acceder localmente al puerto 10080 que en realidad es uno de los extremos del túnel. El otro extremo es el puerto 80 en SRV.
Para hacer uso de la redirección se abre un navegador de Internet en PCA y se escribe http://127.0.0.1:10080, lo que hará que las peticiones lleguen hasta SRV, como si estuviéramos en esa red LAN.
Equivalencias entre DPKG/RPM y APT/YUM
Las distribuciones basadas en Red Hat usan rpm como el formato de sus paquetes binarios y rpm / yum para administrarlos. Por otro lado, las basadas en debian usan deb y dpkg / apt-get. En la siguiente tabla presento las equivalencias para los usuarios que estén acostumbrado a uno de ellos y se muevan al otro.
Comparación entre dpkg y rpm
| DPKG | RPM | Descripción |
| dpkg -Gi paquete(s).deb | rpm -Uvh packages(s).rpm | Instalar/Upgradear archivo(s) del/de los paquete(s) |
| dpkg -r paquete | rpm -e paquete | Eliminar paquete |
| dpkg -l *palabra* | rpm -qa *palabra* | Mostrar todos los paquetes cuyo nombre contenga “palabra” |
| dpkg -l paquete | rpm -q paquete | Mostrar la versión del paquete instalada |
| dpkg -s paquete | rpm -q -i paquete | Mostrar todos los metadatos del paquete |
| dpkg -I paquete.deb | rpm -q -i -p paquete.rpm | Mostrar todos los metadatos de los archivos del paquete |
| dpkg -S /path/archivo | rpm -q -f /path/archivo | A que paquete pertenece el archivo |
| dpkg -L paquete | rpm -q -l paquete | Lista dónde se instalaron los archivos |
| dpkg -c paquete.deb | rpm -q -l -p paquete.rpm | Lista dónde los archivos serían instalados |
| dpkg -x paquete.deb | cpio -id | Extrae los archivos del paquete al directorio actual |
| dpkg –purge –dry-run paquete | rpm -q –whatrequires paquete | Lista los paquetes que requiere paquete (ver también whatrequires) |
Comparación entre apt-get y yum
| APT-GET | YUM | Descripción |
| apt-get dist-upgrade | yum update [lista de paquetes] | Upgradea todos los paquetes del sistema (en el caso de yum se puede especificar sólo algunos) |
| apt-get install | yum install | Instala la última versión del/de los paquete(s) |
| apt-get remove | yum remove | Elimina los paquetes del sistema |
| apt-cache list [lista de paquetes] | yum list [lista de paquetes] | Lista los paquetes disponibles en los repositorios |




