====== Anotaciones técnicas generales ====== //Por el equipo de [[axr>|AXR Sistemas de Informática]]// ===== Particionamiento de Linux ===== RedHat - modificado por FMSI: /dev/hda1 swap /dev/hda2 swap (Dice Fede que esto disminuye el rendimiento y es innecesario) /dev/hda3 46M 5.9M 37M 14% /boot /dev/hda4 extended /dev/hda5 509M 18M 466M 4% /tmp /dev/hda6 243M 63M 167M 28% / /dev/hda7 509M 17M 467M 4% /home (tamaño variable) /dev/hda8 2.0G 566M 1.3G 30% /usr (en Trustix puede ser de 1GB) /dev/hda9 2.0G 92M 1.7G 5% /var (tamaño variable) /dev/hda10 2.4G 47M 2.2G 2% /datos (el resto del disco) Gentoo: /dev/hda1 swap /dev/hda2 swap (Dice Fede que ésto disminuye el rendimiento y es innecesario) /dev/hda3 46M 5.9M 37M 14% /boot /dev/hda4 extended /dev/hda5 509M 18M 466M 4% /tmp /dev/hda6 243M 63M 167M 28% / /dev/hda7 509M 17M 467M 4% /home (tamaño variable) /dev/hda8 2.0G 566M 1.3G 30% /usr (en Trustix puede ser de 1GB) /dev/hda9 2.0G 92M 1.7G 5% /var (tamaño variable) /dev/hda10 2.4G 47M 2.2G 2% /datos (el resto del disco) ===== Mover archivos con un patrón utilizando rsync y manteniendo la estructura del árbol de directorios original en el destino ===== Este método permite "extraer" archivos que tengan un patrón, de entre otros, y mantener el árbol de directorios original. Lo usé en particular con una infección por malware, para dejar backup de los archivos encriptados, y luego restaurar los válidos desde el backup del día anterior. rsync -av --remove-source-files --prune-empty-dirs --stats --include='*/' --include='*.mp3' --exclude='*' origen/ destino ===== Renombrar archivos con caracteres especiales de un charset a otro ===== A veces, migrando servidores Samba, surge el inconveniente de que los nombres de archivos pueden haber sido grabados en algún formato viejo como cp1250 o cp850 y es preciso renombrarlos en forma masiva utilizando otro charset, por ejemplo UTF8. Hay un comando maravilla en Linux que se ocupa de eso, de manera recursiva. El comando siguiente informa qué archivos tienen caracteres especiales en el charset dado sin cambiar nada: convmv -f cp1250 -t utf8 -r Para convertir los nombres de archivos, se debe agregar el modificador --notest: convmv -f cp1250 -t utf8 -r --notest ===== Discos que muestran tamaño incorrecto 33MB o menos ===== Algunos motherboards como los Gigabyte, pueden tener un error que provoca que un disco puesto como primario se le cambie el tamaño a 33MB (o 0MB), debido a que la BIOS activa una característica llamada HPA (Host Protected Area) y destruya el tamaño físico real del disco. Esto también puede ocurrir por una infección con algún malware. Para resolverlo, se puede conectar el disco a cualquier máquina con Linux y resolverlo utilizando el utilitario **hdparm**. ==== Usar HDPARM para desactivar HPA ==== Mostrar si HPA está activado y obtener el nuevo valor de sector máximo: hdparm -N /dev/sdX Este comando mostrará algo como: /dev/sdX:\\ max sectors = 65535/78165360, HPA is enabled Para desactivar HPA y hacer visible nuevamente toda el área del disco, utilizar el siguiente comando tomando el segundo valor de sectores que se obtuvo con el comando anterior (área visible/máx sectores): hdparm -N p78165360 /dev/sdx Notar la "p" precediendo el valor de sectores máximos. Con un nuevo comando hdparm -N /dev/sdX se verá que HPA ha sido desactivado. A continuación, se debe reiniciar el equipo para que la BIOS vuelva a tomar el total del área disponible. Este cambio se puede realizar sólo una vez por reinicio físico del equipo. ==== Bibliografía ==== * [[http://superuser.com/questions/642637/harddrive-wipe-out-hidden-areas-like-hpa-and-dco-also-after-malware-infectio]] * [[https://linux.die.net/man/8/hdparm]] ===== FAT32 - Cluster size and sectors per cluster ===== ^ Hard disk size ^ Cluster size ^ Sectors per cluster ^ | 512 MB to 8 GB | 4 KB | 8 | | 8 GB to 16 GB | 8 KB | 16 | | 16 GB to 32 GB | 16 KB | 32 | | 32 GB and larger | 32 KB | 64 | ===== Grabación de CDs y DVDs ===== CDs multisesión: NEXT_TRACK=`cdrecord -msinfo dev=0,6,0` ; echo $NEXT_TRACK mkisofs -v -r -J -o cd_image2 -C $NEXT_TRACK -M 0,6,0 private_collection/ Crear imagen ISO: mkisofs -v -r -J -o imagen.iso dir_con_archivos/ Grabar CDs: cdrecord dev=/dev/hdd -v -dao imagen.iso Borrar CDRW: cdrecord blank=fast dev=/dev/hdd Grabar DVDs al vuelo (directorio): growisofs -Z /dev/dvd -R -J dir/ Grabar DVDs (ISO): growisofs -dvd-compat -Z /dev/dvd=imagen.iso Crear una ISO para DVD a partir de un directorio: genisoimage -o imagen.iso -R -J dir/ Quemar una ISO en un CD y expulsar inmediatamente el CD: wodim dev='/dev/sr0' -eject -v -dao imagen.iso Para resolver el problema de archivos más grandes de 4GB (aún no probado): genisoimage -udf -f -r -J -allow-limited-size -o /path/de/la/imagen.iso \ /directorio/a/resguardar ==== Convertir videos MP4 a FLV (Flash) ==== Instalar repositorio deb-multimedia, agregando en sources.list: # Deb-multimedia deb http://www.deb-multimedia.org jessie main non-free Luego de un **aptitude update** instalar ffmpeg: aptitude install ffmpeg Luego, para convertir el archivo: ffmpeg -i source.mp4 -c:v libx264 -crf 19 destinationfile.flv Y si este primer método no funciona, probar: ffmpeg -i source.mp4 -c:v libx264 -ar 22050 -crf 28 destinationfile.flv Ahora **ya no se usa ffmpeg** sino **avconv**, con la siguiente sintaxis: avconv -i source.mp4 -c:v libx264 -ar 22050 -crf 28 destinationfile.flv === Un poco más explicado... === ffmpeg -i in.mp4 out.swf This will default to converting the video to Sorenson Spark (H.263, or known as flv1) and the audio to MP3, using whatever MP3 encoder your FFmpeg has—probably libmp3lame. If you need to change the video quality, you have two options: - add the -qscale:v option after -i in.mp4 with a value from 1 to 31, where higher means lower quality (try with 2 or 3 first). This is a VBR setting. - add the -b:v option with a bitrate, e.g. 1M or 500K. This is a CBR setting, of course, and might result in lower visual quality per file size. For audio: - add the -q:a option for VBR MP3, with values between 0 and 7, 0 being the best quality. - add the -b:a option for CBR MP3, e.g. with 192K. Consider converting your video to an FLV container instead, which will handle a larger variety of codecs than SWF (which only supports H.263, VP6 or Motion JPEG). This would allow you to use H.264 video and AAC audio, which provide you with better quality at smaller file sizes when compared to the H.263 / MP3 variant in SWF files. You might even have a chance to copy the bitstreams, which would mean no quality reduction at all. ffmpeg -i in.mp4 -c copy out.flv If that doesn't work, re-encode: ffmpeg -i in.mp4 -c:v libx264 -c:a aac -strict experimental -b:a 192K out.flv This would use the x264 encoder. To change the video quality here, you have the following options: - add the -crf option after -i in.mp4 with a value between 0 and 51, where lower means better quality. Default is 23, and sane values are from 18–28. - add the -b:v option, similar to above for constant bitrate mode. See the [[http://blog.superuser.com/2012/02/24/ffmpeg-the-ultimate-video-and-audio-manipulation-tool/|x264 encoding guide on the FFmpeg wiki]] for more info. ==== Manejo de grabación de archivos grandes ==== Para dividir un archivo en pedazos más chicos que quepan en un DVD: split -d -b 1000m archivo.tgz archivo.tgz. Dividir un archivo tar.gz en pedazos de un tamaño específico, al vuelo: tar -cz directorio | split -d -b 1000m - archivo.tgz. Crear una checksum para asegurarse que los archivos están correctos: md5sum archivo.tgz.* > archivo.md5 Para restaurar los archivos, seguir los pasos inversos. Primero copiarlos en disco nuevamente, revisar que estén bien, y restaurar el archivo completo: md5sum -c archivo.md5 cat archivo.tgz.* | tar -xz ===== VGetty/MGetty ===== Para convertir un .wav al formato rmd para el vgetty ==== Módem Zoltrix 33600 ==== -Primero lo paso a un rate de 7200 sox greet.wav -c 1 -r 7200 standard.wav -Luego lo paso a pvf de 8 bits wavtopvf -8 standard.wav > standard.pvf -Finalmente lo convierto a rmd de 4 bits para chipset Rockwell pvftormd Rockwell 4 < standard.pvf > standard.rmd -Para listar todos los tipos que maneja el pvftormd: pvftormd -L ==== Módem SmartLink 56K ==== sox greet.wav -r 3800 standard.wav wavtopvf -32 standard.wav > standard.pvf pvftormd V253modem 13 < standard.pvf > standard.rmd ==== Instalar Mgetty-voice en Sarge ==== 1. Primero: aptitude install mgetty-voice mgetty-pvftools mgetty-docs 2. Agregar en inittab, algo como T3:23:respawn:/usr/sbin/vgetty ttySL0 3. En voice.conf, poner las siguientes variables para módem SmartLink: rec_silence_threshold 100 (para modems V253) rec_compression 6 receive_gain -1 transmit_gain -1 4. Escuchar un mensaje rmdtopvf /var/spool/voice/incoming/archivo.rmd | pvfspeed -s 8000 | pvftobasic > /dev/dsp ===== Copiar un sitio web localmente ===== wget -w 2 -c -r --convert-links http://www.site.com ===== Identificar sistemas de archivos de particiones de un disco ===== file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} ===== Crear un favicon a partir de tres imágenes ===== icotool -c -o favicon.ico mysite_16x16.png mysite_32x32.png mysite_64x64.png ===== Grabar el streaming MP3 en archivos por separados, abriendo el puerto 8000 para poder escuchar con XMMS ===== streamripper http://sc3.radioseven.se:8500 -r ===== Logueo automático con SSH sin contraseña ===== ssh-keygen -t rsa # (no ponerle passphrase a la clave) Luego agregar el contenido de ~.ssh/id_rsa.pub al ~/.ssh/authorized_keys del equipo al que se desea conectar sin contraseña. ===== Túnel inverso SSH (SSH tunneling reverse mode) ===== Si no hay acceso directo a algún servidor, por ejemplo por estar detrás de un router o firewall, se puede crear un túnel a un equipo controlado por nosotros de la siguiente manera: ssh -N -R 3333:localhost:22 usuario@host donde: **usuario**: un usuario existente y con permisos de acceso por SSH en el servidor "host" **host**: es el equipo controlado por nosotros, donde se abrirá el puerto 3333 en la interfaz localhost **3333**: es el puerto en localhost (en este caso) por el cual se realizará la conexión al servidor al cual no tenemos acceso directo **localhost**: es la interfaz donde va a estar escuchando SSH en el servidor host **22**: es el puerto SSH en el servidor host ===== MySQL ===== ==== Insertar en una tabla lo seleccionado desde otra ==== Ej. 1 - Tomar los datos de una tabla similar: insert into boletinSuscriptoresTemp select 0, apellido, nombre, correoe, clave, 'Texto', temas, 'proagro', 1 from \ suscriptores where correoe like '%.br' and sitio = 'pcv' and activo = 1; Ej. 2 - Tomar los datos de una tabla distinta, en otra base de datos: insert into boletinSuscriptoresTemp select 0, lastname, name, email, '', 'HTML', '', 'proagro', 1 from \ datos2.users where ws1014_datos2.users.country = 'AR'; ==== Cambiar contraseñas ==== /usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h dbsrv password 'new-password' ==== Agregar un usuario ==== # Todas las tablas de una base de datos, para un usuario específico ingresando desde localhost GRANT ALL PRIVILEGES ON `base_de_datos`.* TO 'usuario'@'localhost' IDENTIFIED BY 'contraseña' WITH GRANT OPTION; # Todas las tablas de todas las bases de datos, para un usuario específico ingresando desde cualquier host (superuser) GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'%' IDENTIFIED BY 'contraseña' WITH GRANT OPTION; ==== Agregar un usuario root ==== CREATE USER 'root'@'%' IDENTIFIED BY 'PASSWORD'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; ==== Realizar una copia de resguardo completa de una base de datos ==== //Nota//: incluye la opción "--add-drop-table" que **elimina** la tabla si ésta existe, al restaurar los datos. mysqldump --add-drop-table --quick -uusuario -ppassword -hservidor base_de_datos | \ gzip > /ruta/a/grabar/base_de_datos-`date +%Y%m%d`.sql.gz ==== Restaurar una copia de resguardo completa de una base de datos ==== gunzip < /ruta/a/grabar/base_de_datos-20081115.sql.gz | mysql -u usuario -p password -h servidor base_de_datos ==== Ver el tamaño de todas las bases de datos ==== SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.TABLES GROUP BY table_schema; ==== Ver el tamaño de todas las tablas y mostrarlos en orden ==== SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)" FROM information_schema.TABLES WHERE table_schema = "database_name" ORDER BY (data_length + index_length) DESC; ===== Analizar cuánta memoria usa un proceso ===== PID (Process IDentifier) - Each process (or instance of a running program) has a unique number. This number is called a PID. PPID (Parent Process IDentifier) - A process (or running program) can create new processes. The new process created is called a child process. The original process is called the parent process. The child process has a PPID equal to the PID of the parent process. There are two exceptions to this rule. The first is a program called "init". This process always has a PID of 1 and a PPID of 0. The second exception is when a parent process exit all of the child processes are adopted by the "init" process and have a PPID of 1. VSIZE (Virtual memory SIZE) - The amount of memory the process is currently using. This includes the amount in RAM and the amount in swap. RSS (Resident Set Size) - The portion of a process that exists in physical memory (RAM). The rest of the program exists in swap. If the computer has not used swap, this number will be equal to VSIZE. To see how much memory processes are using: ps -eo pid,ppid,rss,vsize,pcpu,pmem,cmd -ww --sort=pid Referencia: http://mail.nl.linux.org/linux-mm/2003-03/msg00077.html ===== Bash shell ===== ==== Usuarios: operaciones varias ==== Renombrar un usuario (el ownership de los archivos y la pertenencia a grupos se mantienen porque no se cambia el UID): usermod --login new_username --move-home --home path_to_the_new_home_dir old_username Renombrar el grupo de un usuario: groupmod --new-name new_username old_username ==== RPM: buscar qué paquete contiene un archivo dado ==== rpm -qf $(which archivo) ==== Operaciones matemáticas, incluyendo punto flotante (comando "bc") ==== echo "34.3425234 * 5.5" | bc -l ==== Comando at ==== Para ejecutar tareas en un horario determinado at 04:15 -f script.sh o bien: /path/script.sh | at 04:15 ==== Mostrar salida stdout a la vez que grabarla en un archivo ==== Comando tee: Copy standard input to each FILE, and also to standard output. comando | tee archivo.txt ==== Desactivar/Activar los mensajes de kernel por pantalla en una terminal ==== setterm -msg off|on ==== Imprimir páginas MAN (formateado por groff en formato PS) ==== man comando -t > comando.ps ==== Buscar quién está usando un archivo ==== fuser -mv /ruta/al/archivo o bien: lsof | grep -i archivo ==== Envío de mensajes desde scripts ==== Se puede usar el comando mail del paquete mailx: echo "Mensaje" | mail -s "Asunto" direccion@dominio.com -b otradireccion@otrodominio.com \ -a "\"Nombre Remitente\" " Si no hay otra cosa, puede usarse un comando mail más primitivo que no tiene la opción "-a": echo "Mensaje" | mail -s "Asunto" direccion@dominio.com -- -F "\"Nombre Remitente\"" -f "" ==== Redirección de salida, entrada y error ==== - redirect stdout to a file ls -l > ls-l.txt - redirect stderr to a file grep da * 2> grep-errors.txt - redirect stdout to a stderr grep da * 1>&2 - redirect stderr to a stdout grep * 2>&1 - redirect stderr and stdout to a file rm -f $(find / -name core) &> /dev/null - redirect stderr and stdout to stdout grep * &>&1 - redirect stderr and stdout to stderr grep * &>&2 Tomado de: http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html ==== Comando find: encontrar y ejecutar tareas sobre lo encontrado ==== === Encontrar archivos con un atributo específico, y ejecutar un comando sobre dicho archivo === find /home -uid 501 -exec chown usuario: \{\} \; Nota: prestar atención al escapado de las llaves y el punto y coma final === Setear permisos rwx para el grupo en todos los directorios === find /home/smb/* -type d -exec chmod g+rwx \{\} \; === Setear permisos rw para el grupo en todos los archivos === find /home/smb/* -type f -exec chmod g+rw \{\} \; === Buscar archivos que NO tengan el permiso de grabación para el grupo === find . ! -perm -g+w === Buscar todos los archivos de un directorio modificados luego del momento indicado, y copiarlos a otro servidor === Nota: el comando find crea un listado de archivos, que luego envía al rsync y éste los copia al destino en una sola conexión. Lo usé en Tascani find /srv/archivos/DiscoG -type f -newermt '20210101 00:00:00' -print0 | rsync -av --progress -0 --files-from=- / root@172.20.0.1:/srv/archivos ==== Cancelar mensajes por consola ==== Si los mensajes por consola no dejan trabajar: dmesg -n 1 ==== Monitorear los datos de un pipe ==== Por ejemplo, si se quiere ver el progreso de un dd: dd if=/dev/hdX bs=10240k | pv -c -b -r -t > /dev/sdX ==== Combinaciones de teclas y otros trucos ==== Desactivar XON/XOFF: si se pulsa C-s se bloquea el ingreso por teclado (XOFF); al pulsar C-q se vuelve a activar (XON). El tema es que la combinación C-s es la búsqueda hacia adelante en Bash. Para desactivar definitivamente XON/XOFF, agregar en /etc/profile y en /etc/bash.bashrc la siguiente línea: stty -ixon Combinaciones de teclas más comunes: * **C-l**: limpia la pantalla y reescribe la línea actual dejándola en la parte superior * **A-f**: avanza una palabra * **A-b**: retrocede una palabra * **C-r**: búsqueda hacia atrás en el histórico * **C-s**: búsqueda hacia adelante en el histórico * **C-k**: borra todo desde la posición del cursor hasta el final de la línea * **C-u**: borra todo desde la posición del cursor hasta el principio de la línea * **C-y**: restaura lo borrado con alguno de los comandos anteriores ==== Cómo hacer un hard reset para shutdown o reboot por línea de comandos ==== Es útil cuando tenemos un servidor totalmente colgado y no podemos reiniciarlo con un shutdown o systemctl normal, pero sabemos que probablemente inicie correctamente luego del reboot. Primero se sugiere realizar un sync de emergencia de los discos con: sh -c "echo s > /proc/sysrq-trigger" Hard shutdown: sh -c "echo o > /proc/sysrq-trigger" Hard restart: sh -c "echo b > /proc/sysrq-trigger" ==== Manejo de unidades/discos extraíbles ==== Se puede utilizar el comando **udisksctl**, que es parte del paquete **udisksd**. Mostrar el listado de unidades extraíbles: udisksctl status Mostrar información sobre un dispositivo de bloques: udisksctl info -b /dev/nvme0n1 Apagar una unidad: udisksctl power-off -b /dev/sdb ===== X Window System ===== ==== Para cambiar el punto del teclado numérico, a una coma ==== Solución a corto plazo (sólo duran lo que dure la sesión): xmodmap -e "keycode 0x5B = KP_Delete comma" Soluciones a más largo plazo: *En KDM añadir la línea /usr/bin/X11/xmodmap -e "keycode 0x5B = KP_Delete comma" al archivo /etc/kde3/kdm/Xsetup * Añadir la linea /usr/bin/X11/xmodmap -e "keycode 0x5B = KP_Delete comma" al fichero /etc/gdm/Sessions/Gnome, justo después de donde se llama a xmodmap desde ese fichero (en mi Sid, es en torno a la linea 120). * Esta afecta a usuarios individuales, no a todos. Crear un fichero $HOME/.Xmodmap que contenga la linea keycode 0x5B = KP_Delete comma, y otro fichero /etc/gnome/session.options que contenga la linea allow-user-modmap=yes ===== Kernel ===== ==== Cambiar orden de módulos cargados en el inicio ==== Esto se debe hacer cuando, por ejemplo, hay dos controladoras SATA y en el booteo a veces se invierte el orden de carga. Para obligar al kernel a cargarlos siempre en el orden especificado, se debe realizar los siguiente: -Editar /etc/mkinitrd/mkinitrd.conf y cambiar la línea: MODULES=most por MODULES=list -Editar /etc/mkinitrd/modules, y agregar los módulos en el orden que se desea sean cargados, por ejemplo: ide_core sis5513 scsi_mod libata sata_sis sata_sil sd_mod xor md_mod raid456 dm_mod dm_snapshot dm_mirror reiserfs ext3 -Ejecutar "dpkg-reconfigure linux-image-", por ejemplo: dpkg-reconfigure linux-image-2.6.18-4-686 -Reiniciar el equipo //Nota//: No olvidarse de poner en "modules", no sólo los drivers de hardware necesarios, sino también los de sistemas de archivos, o RAID, o LVM, o cualquier otro imprescindible para el arranque del sistema operativo. ===== RAID (viejo) ====== Nota: actualmente, el soporte para RAID lo brinda mdadm -Kernel --> compilar soporte en el kernel (ver /proc/mdstats) -fdisk --> configurar las particiones que van a formar parte del RAID como tipo "fd" Linux RAID autodetect -/etc/raidtab --> agregar las configuraciones para cada RAID (md0, md1, etc.) -mkraid /dev/md0 -Formatear el sistema de archivos, y montar ===== APT/Debian ===== ==== Clonar una instalación de Debian (sacado de dpkg(8)) ==== -Para hacer una copia local de los estados de la selección de paquetes: dpkg --get-selections > mis_selecciones -Se podría copiar este fichero a otra máquina e instalarlo allí con: dpkg --set-selections < mis_selecciones -Ejecutar aptitude, actualizar y pulsar g para que actualice/instale todo ===== Netfilter/IPTables ===== ==== Procedimientos varios ==== === Ver las conexiones establecidas, incluyendo NAT === cat /proc/net/ip_conntrack === Bloquear una IP con iptables === s=aaa.bbb.ccc.ddd iptables -I INPUT -s $s -j DROP === Ver las reglas de una tabla, por ejemplo NAT === iptables -L -nv -t nat === Configurar un port forwarding de una dirección IP a un host interno de la intranet (funciona aunque la IP esté en una interfaz virtual) === Obviamente, se debe modificar el valor de -i, -d y --to-destination por lo necesario. # Aceptar conexiones en un puerto determinado iptables -I FORWARD -i eth1 -o eth0 -d 192.168.10.5 -p tcp --dport 80 -j ACCEPT # Port forwarding iptables -t nat -I PREROUTING -i eth1 -d 200.80.20.28 -j DNAT --to-destination 192.168.10.5 ==== Arno Firewall ==== Configuración de logs en archivo por separado -En syslog.conf agregar kern.!=debug para los archivos syslog, kern.log, y debug. Estos valores eliminan el logging en esos archivos -En syslog.conf agregar una línea: *.=debug /var/log/firewall.log Esto hace que el logging del firewall ocurra en ese archivo -En el archivo de conf de Arno Firewall: # FIREWALL_LOG=/var/log/firewall.log LOGLEVEL=debug La primer línea _tiene_ que estar comentada -Reiniciar syslogd, klogd, y arno en este orden ===== Qemu ===== Crear el dispositivo para kqemu y cargar el módulo de aceleración: modprobe kqemu mknod /dev/kqemu c 250 0 chmod 666 /dev/kqemu Crear una nueva imagen a partir de un template: qemu-img create -b winxp02-template.img -f qcow winxp02.img Montar una imagen Qemu (no qcow): mount -o loop,offset=32256 winxp02.img /mnt/qemu ==== Qemu con -net user ==== Iniciar Windows 2003 con los servicios VNC y RDP: qemu -kernel-kqemu -vnc 10 -localtime -k es -net user -net nic,model=rtl8139 -redir tcp:5900:10.0.2.15:5900 \ -redir tcp:3389:10.0.2.15:3389 /mnt/virtuals/qemu/w2k301.img Iniciar Windows XP con los servicios VNC y RDP: qemu -kernel-kqemu -vnc 11 -localtime -k es -net user -net nic -redir tcp:5901:10.0.2.15:5900 \ -redir tcp:3390:10.0.2.15:3389 /mnt/virtuals/qemu/winxp01.img Iniciar instalación de FreeBSD con 64MB de RAM: qemu -localtime -m 64 -net user -net nic -boot d \ -cdrom /mnt/backuprep/bajadas/ISOs/BSDs/FreeBSD-6.1-RELEASE-i386-bootonly.iso -hda /mnt/virtuals/qemu/freebsd.img Iniciar FreeBSD con 64MB de RAM: qemu -kernel-kqemu -nographic -m 64 -localtime -net user -net nic \ -redir tcp:5022:10.0.2.15:22 /mnt/virtuals/qemu/freebsd.img Iniciar Ubuntu Server con 64MB de RAM: qemu -kernel-kqemu -localtime -m 64 -k es -net user -net nic /mnt/virtuals/qemu/ubuntusrv.img ==== Qemu con -net tap (notar las diferentes MAC address) ==== - Instalar bridge-utils: aptitude install bridge-utils - Configurar la placa de red con bridge, cambiando lo necesario: auto br0 iface br0 inet static address xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx gateway xxx.xxx.xxx.xxx bridge_ports eth0 bridge_stp off bridge_maxwait 5 - Reiniciar las interfaces de red, cuidando que el bridge levante sin inconvenientes. - El script en /etc/qemu-ifup debe ser algo como: #!/bin/sh /sbin/ifconfig $1 0.0.0.0 promisc up /usr/sbin/brctl addif br0 $1 sleep 2 - Iniciar Qemu con la opción "-net tap", por ejemplo: * Iniciar Windows XP: qemu -kernel-kqemu -localtime -k es -net tap -net nic,macaddr=52:54:00:12:34:21 /mnt/virtuals/qemu/winxp01.img * Iniciar Windows Windows 2003: qemu -kernel-kqemu -localtime -k es -net tap -net nic,model=rtl8139,macaddr=52:54:00:12:34:31 /mnt/virtuals/qemu/w2k301.img ==== Otros procedimientos ==== === Crear una imagen de disco para instalar el SO que se necesite === qemu-img create -f qcow2 disk01.img 10G === Convertir una imagen .raw (por ejemplo, de Xen) a Qcow2 === qemu-img convert hda.raw -O qcow2 hda.qcow2 === Convertir una imagen VMWare (.vmdk) a Qcow2 === qemu-img convert -O qcow2 test.vmdk test.qcow2 La imagen VMWare debe haber sido creada como un archivo monolítico, y si fue creada como varios archivos, convertirla a monolítica con el siguiente comando, utilizando para ello el primer archivo de imagen (terminada en .vmdk sin número de orden al final del nombre del archivo): vmware-vdiskmanager -r disco.vmdk -t 0 nuevo-disco.vmdk === Copiar una instalación hecha en un archivo a una unidad LVM === - Convertir primero la imagen a raw, si aún no lo es. IMPORTANTE: no copiar directamente la imagen raw usando qemu-img, porque no va a funcionar; usar para ello el comando dd en un segundo paso: qemu-img convert disk0.qcow2 -O raw disk0.raw - Copiar la imagen a la unidad LVM. Obviamente la unidad LVM tiene que tener el mismo tamaño que la imagen: dd if=/datos2/qemu/winxpsp2-template.img of=/dev/datos2/qemu2 bs=1M === Crear un disco virtual con dd === * De 10GB (sparse file, es decir archivo que no ocupa espacio hasta que es usado): dd if=/dev/zero of=disco.img bs=1 seek=10G count=0 * De 10GB (archivo común ocupando espacio) dd if=/dev/zero of=disco.img bs=1M count=10k ==== Referencias ==== * http://fabrice.bellard.free.fr/qemu/ * https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo * http://www.howtoforge.com/using-kvm-on-ubuntu-gutsy-gibbon * http://gentoo-wiki.com/HOWTO:_Qemu#Troubleshooting * QEMU/Images: http://en.wikibooks.org/wiki/QEMU/Images ===== KVM: Kernel Virtual Machine ===== Para configurar la interfaz de red bridge, [[https://doc.fmsistemas.com/doku.php?id=tecnica:anotaciones_tecnicas#qemu_con_-net_tap_notar_las_diferentes_mac_address|seguir los pasos descritos para Qemu]]. Iniciar una VM con KVM, y bridging: qemu-system-x86_64 -hda dsrv01.qcow2 -net nic,macaddr=00:16:3E:11:12:11 -net tap,script=/etc/kvm/kvm-ifup Incrementar el tamaño de discos virtuales: Tiene que ser una imagen raw o una unidad LVM. Los otros formatos no pueden incrementarse. Con la unidad LVM se procede de similar manera, sólo que se redimensiona la unidad primero y luego se siguen los pasos para redimensionar el disco internamente. El procedimiento sirve incluso si el sistema operativo guest es Windows. - Realizar una copia de resguardo de la imagen - Agrandar la imagen con el comando dd. Por ejemplo, si se quiere llevar el tamaño del disco virtual discovirtual.raw a 15GB, ejecutar: dd bs=1 if=/dev/zero of=discovirtual.raw seek=15G count=1 conv=notrunc Hecho esto, se puede ver el tamaño nuevo con qemu-img info discovirtual.raw - Luego iniciar con una distro que permita redimensionar las particiones del disco virtual, como [[http://www.sysresccd.org/|System Rescue CD]], utilizando como disco virtual el disco con el nuevo tamaño. En esta distribución, se puede usar por ejemplo Gparted - Finalmente, iniciar el sistema operativo guest que estaba en el disco redimensionado para ver si todo quedó correcto. En el caso de Windows, realizará varios reinicios, primero luego de realizar un checkdisk y seguramente luego de reconocer el nuevo tamaño de disco lo hará nuevamente. === Agregado de dispositivos al vuelo === Para que el agregado de dispositivos PCI funcione, en el guest se deben cargar los siguientes módulos: acpiphp pci_hotplug Pueden ponerse en /etc/modules (en Debian GNU/Linux, o el que corresponda a la distribución en cuestión) para que sean cargados en forma automática. Agregar una unidad de almacenamiento en caliente: pci_add pci_addr=auto storage file=/kvm/imgs/nuevo.img,if=scsi También puede usarse if=virtio, pero IDE no es agregable en caliente. Agregar una tarjeta de red en caliente: pci_add pci_addr=auto nic model=rtl8139 Cambiar un CD en la compactera (CDROM): info block # Muestra el listado de dispositivos de bloques change ide1-cd0 /kvm/isos/dsl-4.4.10.iso ==== Bibliografía ==== * http://www.linux-kvm.org/page/Hotadd_pci_devices * http://www.linux-kvm.org/page/Change_cdrom ===== VirtualBox ===== Este instructivo básico explica cómo instalar y utilizar VirtualBox OSE (Open Source Edition) en Debian Etch. - Instalar VirtualBox y el código fuente del módulo de kernel de los repositorios del kernel: aptitude install virtualbox virtualbox-ose-source - Configurar, compilar e instalar el módulo de kernel: module-assistant prepare module-assistant auto-install virtualbox-ose - Cargar el módulo: modprobe vboxdrv - Para simplificar el acceso a redes de las máquinas virtuales, configurar un bridge en la máquina host (anfitrión) y luego en las máquinas virtuales configurar acceso por la "Interfaz anfitrion". En nombre de interfaz tap poner "tap10", y en la ruta del comando para activarla "/usr/local/bin/vbox-ifup" - El script /usr/local/bin/vbox-ifup es el siguiente: #!/bin/bash # Por FMSI # Crea la interfaz tap10 para VirtualBox # Se debe configurar la misma en las máquinas virtuales # como Interfaz anfitrión > tap10 # y la ruta a este script para que sea activada automágicamente tunctl -t tap10 brctl addif br0 tap10 ifconfig tap10 up ===== ACLs: Access Control Lists en sistemas de archivos ===== //Nota//: El kernel debe tener soporte para ACLs, y en Debian se debe instalar el paquete "acl". En primer lugar, se debe montar el sistema de archivos en cuestión con la opción "acl", agregándola en /etc/fstab: /dev/sda5 /home reiserfs defaults,acl 0 2 y luego remontando en sistema de archivos: mount -v -o remount /home Para darle permisos por defecto a un directorio, haciendo que un usuario en particular del grupo pueda acceder y leer, pero no escribir: setfacl -d --set u::rwx,u:usuario:rx,g::rwx,o::- directorio Con esto, el usuario "usuario" puede entrar al directorio, leer todos los archivos en modo sólo lectura, pero no puede crear archivos y directorios. Los otros miembros del grupo, en cambio, pueden acceder y modificar los archivos, así como crear archivos y directorios. Para ver las ACLs de un archivo: getfacl archivo ===== Internet Explorer en Linux - Ideal para desarrolladores web y nada mas... :) ===== Recomiendo usar Fireefox en ves de este ingerto pero es a modo test para poder ver como renderiza ciertas paginas mal echas. Debian Etch (4.0) necesita algunos pasos antes de poder instalar IEs4Linux: 1) Necesitas una versión bastante reciente de wine (http://www.winehq.org/) y libxxf86dga1, obtenla desde backports.org: en /etc/apt/sources.list, agrega: #wine wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add - sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/etch.list -O /etc/apt/sources.list.d/winehq.list apt-get update apt-get install wine libxxf86dga1 libxxf86vm1 cabextract 2) Desloguéate y loguéate con una cuenta de usuario. Descarga e instala IEs4Linux: wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz tar zxvf ies4linux-latest.tar.gz cd ies4linux-* ./ies4linux ==== Bibliografía ==== *Página Oficial Wine: http://www.winehq.org/site/download-deb *Página Oficial ies4linux: http://www.tatanka.com.br/ies4linux/page/Es/P%C3%A1gina_Inicial ==== Referencias ==== *Información general sobre permisos: http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html *Información específica sobre ACLs en Linux: http://www.vanemery.com/Linux/ACL/linux-acl.html ===== SQL Ledger ===== ==== Migrando a una nueva versión ==== - Realizar una copia de resguardo del directorio de SQL Ledger completa, y una copia de todas las bases de datos con pg_dumpall (ver el manual). Asimismo, detener PostgreSQL y resguardar el directorio completo de PostgreSQL /var/lib/postgresql (sólo por las dudas). - Leer toda la documentación sobre el proceso de upgrade en el sitio oficial, y cualquier README al respecto - Instalar los paquetes necesarios: apt-get install libapache2-mod-perl2 acpid libdbi-perl libdbd-pg-perl libmldbm-perl postfix \ mailutils texlive texlive-fonts-extra texlive-generic-extracups texlive-lang-spanish \ texlive-generic-extra texlive-humanities texlive-publishers texlive-pstricks \ texlive-pictures texlive-metapost texlive-math-extra cups-driver-gutenprint - Bajar del sitio oficial (http://www.sql-ledger.com/) el último setup.pl, grabándolo en el directorio de SQL Ledger. Asignarle permisos de ejecución chown u+x setup.pl - Ejecutar ese script y seguir las instrucciones - Finalizada la actualización, se deben copiar los archivos de imágenes .gif, .png y .eps que se encuentran en images/ y en users/ de la copia de resguardo, en las respectivas ubicaciones de la nueva instalación - Revisar que todo haya quedado bien (o al menos pegar una miradita :) - Loguearse y probar si todo parece funcionar bien. //Nota//: inmediatamente luego de loguearse por primera vez, el sistema actualizará las bases de datos según los cambios necesarios para la nueva versión ===== Zona Horaria (time zone/zone data) ===== * Para cambiar la zona horaria en Debian, usar **tzconfig**. En Argentina, se debe usar 12) "None of the above" > GMT+3 * Para cambiar la zona horaria en Ubuntu, usar **dpkg-reconfigure tzdata**. Seleccionar Etc > GMT+3 ===== GRUB/LILO boot prompt: modos de video ===== En la línea del kernel, agregar "vga=", donde es alguno de los siguientes. Nota: generalmente uso los modos en hexadecimal. Colors ( depth) 640x480 800x600 1024x768 1280x1024 1600x1200 ---------------+-------+-------+--------+---------+--------- 256 ( 8 bit) | 769 771 773 775 796 32,768 (15 bit)| 784 787 790 793 797 65,536 (16 bit)| 785 788 791 794 798 16.8M (24 bit) | 786 789 792 795 799 640x480 800x600 1024x768 1280x1024 ----+------------------------------------- 256 | 0x301 0x303 0x305 0x307 32k | 0x310 0x313 0x316 0x319 64k | 0x311 0x314 0x317 0x31A 16M | 0x312 0x315 0x318 0x31B ===== SMART ===== * Ver info SMART en un dispositivo SATA smartctl -a -d ata /dev/sda * Iniciar un testeo (short/long): IDE: smartctl -t short /dev/sda SATA: smartctl -t short -d ata /dev/sda ===== X.org ===== Para cambiar la resolución en las nuevas versiones de X.org, que no permiten ser reconfiguradas con un simple dpkg-reconfigure xserver-xorg, modificar en el archivo /etc/X11/xorg.conf la sección "Screen", agregando la subsección "Display", y configurando lo necesario (DefaultDepth y Modes, generalmente): Section "Screen" Identifier "Default Screen" Device "nVidia Corporation NV18 [GeForce4 MX 4000]" Monitor "Monitor genérico" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 4 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 8 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 15 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Depth 24 Modes "1024x768" "800x600" "640x480" EndSubSection EndSection ==== Más información sobre problemas de resolución y otros inconvenientes con placas de vídeo ==== -[[https://wiki.ubuntu.com/X/Troubleshooting/Resolution]] -[[https://wiki.ubuntu.com/X/Config/Resolution]] -[[http://people.uleth.ca/~daniel.odonnell/Blog/overriding-screen-resolution-on-xorg-in-ubuntu]] -[[http://ubuntuforums.org/showthread.php?t=972062&highlight=8.10+ibex+screen+resolution&page=2]] -[[http://ubuntuforums.org/showthread.php?t=1125772]] ===== Amavis/Postfix/Cyrus ===== Cuando un mensaje es colocado en cuarentena, por Amavis, para liberarlo, escribir: amavisd-release donde es el nombre asignado al mensaje en cuestión colocado en cuarentena. Ese ID figura en el mensaje que Amavis envía para avisar lo ocurrido, por ejemplo: The message has been quarantined as: P/banned-P0QmVkWcuUUz El es "P/banned-P0QmVkWcuUUz". ===== CUPS ===== Las impresoras HP, especialmente las que son multifunción, están soportadas por el sistema de software llamado HPLIP, provisto por HP. El mismo está disponible en http://hplipopensource.com/hplip-web/index.html para bajar. Si la impresora que se desea instalar no está soportada por el software de stock que provee la distribución que se esté usando, se debe instalar el producto manualmente, luego de bajarlo del mencionado sitio web. Se deben seguir para ello los pasos indicados en el instructivo. Finalmente, se debe configurar la impresora utilizando el utilitario gráfico "hp-setup", de simple manejo. ==== CUPS printer commands ==== Command line printing and options: http://www.cups.org/documentation.php/options.html More information can be found on the CUPS website: http://www.cups.org/documentation.php === Basic CUPS commands === cancel -- Allows you to cancel all jobs, all jobs on a specific printer or individual jobs lpq -- show printer queue status on specific printer, or all printers lpq -P printername -- lists all queued jobs on target printer accept -- accept jobs sent to a destination reject -- reject jobs sent to a destination lp -- show printer queue status on specific printer, or all printers lpq -P printername -- lists all queued jobs on target printer lp -- submits files for printing or alters a pending job lpadmin -- configure cups printers and classes lpadmin -x printername -- deletes target printer lpinfo -- lists the available devices or drivers known to the CUPS server lpmove -- moves the specified job or all jobs from source to destination lpoptions -- display or set printer options and defaults lprm -- cancels print jobs that have been queued for printing lpstat -- displays status information about the current classes, jobs, and printers lpstat -p -d -- Lists printers and default destination lpstat -t -- Lists all printers and all status information lpstat -a -- Lists all printers and accepting state === Printer hangs up on a job === - Turn off the printer - Ssh into the print server - lpq -P PrinterName # This will list all jobs queued on the hung printer. In most cases, deleting all submitted jobs is safest - Cancel -a PrinterName # Cancels all submitted jobs on target printer - Restart printer # Check that jobs are printing === Clearing print queues daily === - cancel -a `lpstat -t | grep disabled | awk '{print $2}'` # This will list all printers that are currently disabled, and cancel queued jobs on those printers - /usr/bin/enable `lpstat -t | grep disabled | awk '{print $2}'` # This will re-enable the stopped print queues - lpstat -t | grep disabled | awk '{print $2}' # This checks to see that all printers are re-enabled. Should return nothing. === Remove printers from client computer === - lpadmin -x `lpstat -a | awk '{printf $1 " "}'` # Lists all printers on client, sorts the printer names into a string, then issues lpadmin -x (removal) command to each printer. Command only deletes a printer at a time right now. === Epson: estado de los cartuchos de tinta === Si bien no tiene nada que ver con CUPS, hay un utilitario llamado **escputil** que permite ver qué nivel de tinta tienen los cartuchos en las impresoras Epson, conectadas por puerto paralelo o USB. Para ver el nivel de tinta de los cartuchos en una impresora conectada por USB: escputil -i -u -r /dev/usb/lp0 ===== OpenOffice.org ===== * Abrir archivos de Microsoft Word 2007 (.docx) en Linux usando OpenOffice: algunos archivos se abrirán sin inconvenientes, pero quizá sea necesario instalar algunas herramientas adicionales, según se describe en el siguiente enlace [[http://www.ubuntugeek.com/ubuntu-tip-how-to-openview-docx-files-in-openoffice.html]] ===== Palm: utilitarios de backup/restore y otros ===== Realizar un backup completo de la Palm IIIxe en un directorio: pilot-xfer -p /dev/ttyS0 -b ~/Palmbackup/ Restaurar un backup en la Palm IIIxe: pilot-xfer -p /dev/ttyS0 -r ~/Palmbackup/ Instalar un programa en la Palm: pilot-xfer -p /dev/ttyS0 -i programa.prc ===== Comando tar: comprimiendo y extrayendo archivos ===== //Nota//: en todos los casos, agregar una "v" al listado de parámetros provoca que tar muestre lo que está haciendo (modo verboso), lo cual es extremadamente lento, especialmente si se cuenta con una conexión remota al equipo donde se está trabajando. Para comprimir un directorio: tar czf backup.tar.gz /ruta/al/directorio Para descomprimir un archivo completo: tar xzf backup.tar.gz Para extraer un directorio en particular, se debe conocer exactamente la ruta de acceso al directorio en la estructura interna del archivo tar. Por ejemplo, si se desea extraer un directorio "etc" de ese archivo, primero se debe ejecutar un tar en modo test para ver dónde se encuentra el directorio a extraer: tar tzf backup.tar.gz | grep etc ./etc/ ... Luego, extraerlo de la siguiente forma (notar que **no va** la barra de directorio al final del nombre): tar xzf backup.tar.gz ./etc Si se desea extraer un archivo en particular: tar xzf backup.tar.gz ./etc/network/interfaces ===== Clonando particiones ===== Cuando se necesita un backup completo de una partición, las opciones para realizar la tarea pueden ser: partimage o partclone. Generalmente usamos SystemRescueCD para operaciones de backup, incluso con particiones Windows. Ésta distro ya incluye ambos utilitarios. ==== Partimage ==== Partimage es un utilitario interactivo que mediante ncurses permite configurar la copia de resguardo. En ocasiones es más rápido que partclone, por ejemplo clonando particiones FAT32. La misma interfaz va guiando al usuario, y no se necesita más que marcar y desmarcar opciones, así como indicar dónde realizar la copia, y cómo se va a llamar el archivo en cuestión. ==== Partclone ==== Partclone es un utilitario de línea de comandos, por lo tanto útil si se necesita realizar la copia mediante un script. Las tareas más comunes son realizar el backup y restaurarlo. Citamos a continuación los ejemplos: Clonar /dev/sda1 to sda1.partclone mostrando información en detalle: partclone.extfs -c -d -s /dev/hda1 -o hda1.img Restaurar /dev/sda1 desde sda1.partclone mostrando información en detalle: partclone.extfs -r -d -s hda1.img -o /dev/hda1 Clonar /dev/sda1 to /dev/sdb1 directamente mostrando información en detalle: partclone.extfs -b -d -s /dev/hda1 -o /dev/hdb1 partclone.extfs es el utilitario para el sistema de archivos ext3. Para FAT o NTFS se debe usar partclone.fat o partclone.ntfs respectivamente. ==== Clonando y moviendo particiones Windows (NTFS) ==== Especialmente en máquinas de laboratorio, es necesario en ocasiones clonar instalaciones de Windows, o mover particiones NTFS de un lugar a otro del disco. Para ello, usaremos un procedimiento que incluye modificar la Registry del Windows en cuestión, y clonar la partición con partclone.ntfs. - Crear/Redimensionar/Preparar las particiones: para ello se puede utilizar gparted, utilitario gráfico de edición de particiones, o parted. Este último es de texto, y es el backend de gparted. - Iniciar Windows para que realice un chequeo de disco: eso ocurre debido a que luego del primer paso, las particiones en cuestión quedan marcadas como "dirty" (sucias) y se debe cambiar ese estado luego de un chequeo de disco dentro de Windows - Preparar Windows XP: se debe editar la Registry desde Windows, para eliminar la información de las particiones montadas. Utilizando regedit, eliminar todas las entradas en "HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices". Esto no dañará al Windows, ya que esa información será recreada en el próximo reinicio. **Nota**: Si este paso no se realiza en primer lugar, se puede iniciar el Windows original, eliminar esas entradas, y luego copiar el archivo \Windows\system32\config\system (que es la Registry en sí) en esa misma ubicación en el Windows clonado. Para ello se puede montar ambas particiones con ntfs-3g y copiar con un simple comando cp dicho archivo. - Clonar la partición: utilizando partclone con las siguientes opciones, por ejemplo: partclone.ntfs -b -d -s /dev/sda1 -o /dev/sda2 Para clonar la partición primaria NTFS en una segunda partición primaria. - Adaptar la configuración de GRUB: hecho esto, es necesario crear otra opción de menú de GRUB, por ejemplo: title WXP root (hd0,1) makeactive unhide (hd0,1) hide (hd0,0) chainloader +1 - **Atención** Si Windows se niega a arrancar, por cualquier razón obtusa, generalmente se puede resolver ejecutando el comando: partclone.ntfsfixboot -w /dev/sda1 Lo cual escribe un nuevo sector de inicio. === Windows: clonando MBR === Para el caso en que se necesite clonar un disco con Windows, se debe también clonar el MBR para lograr que dicho sistema operativo inicie desde el disco nuevo. Para ello: # Guardar el MBR en un archivo dd if=/dev/sda of=/mnt/tmp/mbr-sda.bak bs=512 count=1 # Restaurar el MBR desde el archivo de backup dd if=/mnt/tmp/mbr-sda.bak of=/dev/sda bs=512 count=1 # Clonar el MBR de disco a disco dd if=/dev/sda of=/dev/sdb bs=512 count=1 === Bibliografía === * http://ubuntuforums.org/showthread.php?t=916146 * http://partclone.org/ ===== Cambiar la MAC address de una placa de red ===== ifconfig eth0 down ifconfig eth0 hw ether 00:07:95:35:47:3B ifconfig eth0 up ===== Arnet/Telefónica: parámetros DSL ===== Módem ADSL Arescom NetDSL 1000: IP 10.0.0.1 Módem ADSL Arescom NetDSL 800: IP 192.168.1.1 ==== Speedy (VPI: Virtual Path Identifier; VCI: Virtual Circuit Identifier) ==== VPI: 8 VCI: 35 ==== Arnet ==== VPI: 0 VCI: 33 -Conectarse: telnet 192.168.1.1 -Ver la configuracion de la interfase atmpvc0: show interface atmpvc0 -Para cambiar VPI/VCI: set interface atmpvc0 vpi 0 set interface atmpvc0 vci 33