En programasDrake, encontrarás artículos y trucos sobre la configuración y uso de programas en Mandriva Linux.
Si quieres colaborar con un artículo sobre cómo se usa un programa, o qué programa usas para substituir a un programa de Windows o similar. cuélgalo de programaDrake.
urpmi kdewebdev-kommandery listo, una gran herramienta que no pueden dejar de verla. saludos pd: Para los que usen gnome, esta gisomount que hace algo similar.
El artículo completo se puede leer aquí
Básicamente hemos de exportar como nuestro usuario una variable para que se use el rendering indirecto, para ello, ejecutamos en nuestro terminal (konsole, gnome-terminal, xterm, rxvt...):
export LIBGL_ALWAYS_INDIRECT=true
Y, en el mismo terminal en el que hemos exportado la variable, ejecutamos googleearth.
Saludos
(Ctrl+Alt+F1 o F2) para hacer más expedito el trabajo de ciertas tareas que por esta razón y simple gana, prefiero realizar en consola, pero usualmente suelo echar de menos la cómoda utilidad "copiar y pegar" que ofrece el ratón en entornos gráficos tales como KDE, Gnome, Xfce y me imagino que otros también, me refiero a que no soy muy hábil para tipear crípticas líneas de comando y por ende prefiero copiar texto seleccionándolo con el botón izq. del ratón continuamente presionado para luego pegarlo pulsando el botón central - ¡fácil no! - pues bien, por casualidad me topé con que Mandriva tiene empaquetada la aplicación GPM, y esta me provee específicamente de la capacidad de copiar y pegar texto en una tty, ¿como se logra esto? pues sencillo, como usuario root y en una terminal tipeas lo siguiente:
[root@athlon danny]# urpmi libqca1-tls
Para satisfacer las dependencias, se instalarán los paquetes siguientes:
Package Version Release Arch
(medium "main")
libqca1 1.0 12mdv2008.0 i586
libqca1-tls 1.0 12mdv2008.0 i586
qca 1.0 12mdv2008.0 i586
161KB of additional disk space will be used.
¿Efectuar la instalación de los 3 paquetes? (S/n) s
ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/2008.0/i586/media/
main/release/qca-1.0-12mdv2008.0.i586.rpm
ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/2008.0/i586/media/
main/release/libqca1-1.0-12mdv2008.0.i586.rpm
ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/2008.0/i586/media/
main/release/libqca1-tls-1.0-12mdv2008.0.i586.rpm
instalando qca-1.0-12mdv2008.0.i586.rpm libqca1-1.0-12mdv2008.0.i586.rpm libqca1-tls-1.0-12mdv2008.0.i586.rpm
desde /var/cache/urpmi/rpms
Preparando... #############################################
1/3: libqca1 #############################################
2/3: qca #############################################
3/3: libqca1-tls #############################################
En Kopete entramos a Configurar --» Cuentas y seleccionamos Jabber
Escribimos la dirección completa de correo electrónico de GMail
Pasamos a Conexión y activamos todas las opciones. En servidor debe ir talk.google.com
y el Puerto debe ser 5223
El resto de las opciones las dejamos como están. Clic en Siguiente y Finalizar.
Con esto ya deberíamos poder conectarnos aunque podríamos necesitar reiniciar Kopete
para que funcione, a mí me ha funcionado a la primera.
Referencia:
KDE Wiki - Google Talk support.
# unzip AVERMEDIA-Linux-A808-0.17-beta.sh.zip # sh AVERMEDIA-Linux-A808-0.17-beta.shcomprobamos que carga el driver
# lsmod | grep a300tiene que salir algo parecido a esto:
a300 221936 0 dvb_core 82216 1 a300pinchamos la tarjeta
# dmesgsi vemos algo parecido a esto
DVB: registering new adapter (A808[0] DVB-T). A808[0] DVB-T registered DVB adapter 0 DVB: registering frontend 0 (A808[0] DVB-T)...ya estamos en disposición de ver la tv con kaffeine, pero si lo que queremos es disfrutar de mythtv tendremos que seguir instalando:
# urpmi mysql # urpmi mythtv setup # urpmi mythtv backend # urpmi mythtv frontend # urpmi xmltvdespués arrancamos desde el centro de control de Mandriva > sistema > servicios > mysql volvemos a la consola:
cd /usr/share/doc/mythtv-0.2/databasey a continuación
mysql -u root < mc.sqlAhora ya podemos ejecutar mythtv setup mandriva > multimedia > video > mythtv setup Nos aparecerá una ventana con cinco opciones de configuración donde entretenernos mucho tiempo, pero vamos a ponerlo en marcha, más tarde lo configuraremos a nuestro gusto:
mythfilldatabaseen una consola para rellenar la información de los canales, en caso de error hay que ejecutar
mythfilldatabase --manualyo sigo recibiendo mensajes de error si alguien sabe como evitarlos lo comunique y finalmente debemos arrancar mythbackend en el centro de control de mandriva > servicios > sistema mythbackend he de decir que en mi caso si arranco desde el centro de control luego mythtv no me funciona para evitar este problema ejecuto en consola
mythbackend &de este modo si me deja arrancar mythtv Y listo a disfrutar!!! o a completarlo con:
# urpmi mythmusic # urpmi mythgallery # urpmi mythweather...
[danny@athlon ~]$ wget http://free.grisoft.com/filedir/inst/avg75flm-r51-a1243.i386.rpm
--16:15:00-- http://free.grisoft.com/filedir/inst/avg75flm-r51-a1243.i386.rpm
=> `avg75flm-r51-a1243.i386.rpm'
Resolviendo free.grisoft.com... 212.67.88.87, 64.74.243.13, 64.74.243.12
Connecting to free.grisoft.com|212.67.88.87|:80... conectado.
Petición HTTP enviada, esperando respuesta... 302 Found
Localización: http://free3.grisoft.cz/filedir/inst/avg75flm-r51-a1243.i386.rpm [siguiendo]
--16:15:01-- http://free3.grisoft.cz/filedir/inst/avg75flm-r51-a1243.i386.rpm
=> `avg75flm-r51-a1243.i386.rpm'
Resolviendo free3.grisoft.cz... 212.96.161.228, 212.96.161.226
Connecting to free3.grisoft.cz|212.96.161.228|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 49,366,941 (47M) [application/x-rpm]
100%[====================================>] 49,366,941 180.49K/s ETA 00:00
16:21:31 (124.03 KB/s) - `avg75flm-r51-a1243.i386.rpm' saved [49366941/49366941]
Se descargará el RPM en nuestro home, ahora sí pasamos a root con su y nuestra contraseña, lo instalamos así:
[root@athlon danny]# urpmi avg75flm-r51-a1243.i386.rpm
instalando avg75flm-r51-a1243.i386.rpm
Preparando... #############################################
1/1: avg75flm #############################################
Installing 'avgd' service initscripts...
Registering 'avgd' service to runlevels...
AVG7 Anti-Virus command line scanner
Copyright (c) 2007 GRISOFT, s.r.o.
Versión del programa 7.5.51, motor 442
Base de datos de virus: Versión 269.19.5/1228 2008-01-16
El tipo de licencia es GRATUITO.
Please launch the '/opt/grisoft/avggui/bin/avggui_update_licinfo.sh'
script as root for updating license information.
AVG 7.5 Anti-Virus Free for Linux successfully installed.
Ya está instalado. Dependiendo de nuestro sistema puede que antes nos pida instalar dependencias a Python y otras librerías, le decimos que sí.
Automágicamente se creará una entrada en el menú de KDE --> Herramientas --> AVG for Linux Workstation. Desde allí lo podemos lanzar.
O también desde la consola, no hay necesidad de ser root, con el comando avggui
Para actualizarlo sí es obligatorio ser root, el proceso es sencillo: en una consola y como root lanzamos el programa con la órden avggui, hacemos clic en la opción Update y se actualizará.
Si bien la descarga de la actualización es rápida, su instalación es un pelín lenta, debemos ser pacientes.
Para escanear las particiones Windows hacemos clic en Test, nos preguntará que directorios queremos revisar. Las particiones Windows usualmente se montan en /mnt/ así que escogemos /mnt/win_c y/o /mnt/win_d según sea nuestro caso. Los subdirectorios se seleccionan automáticamente. Con Start test empezará el escaneo.
En este caso la partición C: estaba con 0 infected files, qué tranquilidad :-)
Ojalá les sirva esta guía, esto es en cuanto a los virus. He estado buscando algún Antispyware para Linux pero parece que no existen. Tal vez se puedan emular el AdAware o el Spybot Search and Destroy, no lo śe. Si alguien sabe algo sobre este tema por favor que lo comente.
[root@localhost etc]# urpmi postgresql8.2-server
Se tiene que quitar el paquete siguiente para poder actualizar otros:
libpq8.3_5-8.3.1-2mdv2008.1.i586
(debido a conflictos con libpq5[> 8.3.1]) (s/N) s
Para satisfacer las dependencias, se instalarán los paquetes siguientes:
Paquete Versión Revisión Arq.
(soporte «contrib»)
postgresql8.2-server 8.2.7 1mdv2008.1 i586
(soporte «Contrib»)
libpq5 8.2.7 1mdv2008.1 i586
se utilizarán 10MB de espacio de disco adicional.
se descargarán 4.1MB de paquetes.
¿Efectuar la instalación de los 2 paquetes? (S/n) s
libpq5-8.2.7-1mdv2008.1.i586.rpm
postgresql8.2-server-8.2.7-1mdv2008.1.i586.rpm
instalando libpq5-8.2.7-1mdv2008.1.i586.rpm postgresql8.2-server-8.2.7-1mdv2008.1.i586.rpm
desde /var/cache/urpmi/rpms
Preparando...
1/2: libpq5
/sbin/ldconfig: File /lib/i686/libm-2.6.1.so;47fa364f is empty, not checked.
2/2: postgresql8.2-server
/sbin/ldconfig: File /lib/i686/libm-2.6.1.so;47fa364f is empty, not checked.
quitando paquete libpq8.3_5-8.3.1-2mdv2008.1.i586
/sbin/ldconfig: File /lib/i686/libm-2.6.1.so;47fa364f is empty, not checked.
----------------------------------------------------------------------
Más información sobre el paquete postgresql8.2-server-8.2.7-1mdv2008.1.i586
You just installed or update postgresql server.
You can found important informations about mandriva postgresql rpms and database
management in:
/usr/share/doc/postgresql8.2-server/postgresql.mdv.releasenote
Please, read it.
Instalaremos pgadmin3 ya que es un buen administrador para bases de datos postgresql
[root@localhost etc]# urpmi pgadmin3
pgadmin3-1.8.2-1mdv2008.1.i586.rpm
instalando pgadmin3-1.8.2-1mdv2008.1.i586.rpm desde /var/cache/urpmi/rpms
Preparando...
1/1: pgadmin3
Hechamos a andar el postgresql
[root@localhost etc]# service postgresql start Inicializando base de datos: [ OK ] Starting postgresql service: [ OK ]Vamos al pgadmin3 para verificar que nuestra base este arriba






Nota: Pueden crear un usuario para el postgresql, el usuario postgres viene por defecto. Para hacer mas segura nuestra base de datos, crearemos un usuario. [root@localhost alejandro]# su postgres [postgres@localhost alejandro]$ createuser -P facturalux Ingrese la contraseña para el nuevo rol: Ingrésela nuevamente: ¿Será el nuevo rol un superusuario? (s/n) s CREATE ROLEy le cambiaremos la password al usuario postgres
[postgres@localhost alejandro]$ exit exit [root@localhost alejandro]# passwd postgres Changing password for user postgres. Nueva UNIX contraseña: CONTRASEÑA INCORRECTA: it is based on a dictionary word Vuelva a escribir la nueva UNIX contraseña: passwd: all authentication tokens updated successfully.La proxima vez que iniciemos facturalux bastara con poner el nuevo usuario y su contraseña.
[dalfa@laptop ~]$ su
Contraseña:
[root@laptop dalfa]# urpmi frostwire-4.13.5.noarch.rpm
instalando frostwire-4.13.5.noarch.rpm
Preparando...
1/1: frostwire
[root@laptop dalfa]# urpmi java-1.6.0-sun
instalando java-1.6.0-sun-1.6.0.05-1mdv2008.1
Preparando...
1/1: java
[root@laptop dalfa]# urpme java-1.7.0-icedtea quitando java-1.7.0-icedtea-1.7.0.0-24.614.2mdv2008.1.i586 quitando paquete java-1.7.0-icedtea-1.7.0.0-24.614.2mdv2008.1.i586
frostwireO desde el Menú bajo la opción Internet.
# urpmi tcl-8.4.14-1mdv2007.1.i586 tk-8.4.14-1mdv2007.1.i586
# cd /home/usuario/Descargas # mv tls-1.5.0-linux-x86.tar.gz /usr/share/amsn # cd usr/share/amsn # tar -xvzf tls-1.5.0-linux-x86.tar.gz /usr/share/amsn
En algunos casos hay que tener rar para poder usar otro software en mi caso dvd::rip; bueno detallo los pasos que seguí para instalarlo:
Hay de descargar la última versión desde rarlab
Una vez descargado hay que seguir los siguientes pasos:
tar -xvf rarlinux-3.6.1.tar.gz cd rar make install cd .. rm -R -f rarListo ahora ya podemos usarlo:
Comprimir:
rar aPodemos usar -r para comprimir una carpeta de forma recursiva, -p seguido sin espacios de la palabra clave para poner contraseña, e igualmente -hp para el caso que queramos ocultar el contenido a menos que se introduzca la contraseña.
Descomprimir:
rar eAquí usaremos -p seguido sin espacios por la palabra clave para indicar contraseñas.
más información:
RAR 3.71 Copyright (c) 1993-2007 Alexander Roshal 20 Sep 2007 Usage: rar-< switch 1 > -< switch N > < archive > < files... > <@listfiles...> < path_to_extract\ > a Add files to archive c Add archive comment cf Add files comment ch Change archive parameters cw Write archive comment to file d Delete files from archive e Extract files to current directory f Freshen files in archive i[par]= Find string in archives k Lock archive l[t,b] List archive [technical, bare] m[f] Move to archive [files only] p Print file to stdout r Repair archive rc Reconstruct missing volumes rn Rename archived files rr[N] Add data recovery record rv[N] Create recovery volumes s[name|-] Convert archive to or from SFX t Test archive files u Update files in archive v[t,b] Verbosely list archive [technical,bare] x Extract files with full path - Stop switches scanning ad Append archive name to destination path ag[format] Generate archive name using the current date ap Set path inside archive as Synchronize archive contents av Put authenticity verification (registered versions only) av- Disable authenticity verification check c- Disable comments show cfg- Disable read configuration cl Convert names to lower case cu Convert names to upper case df Delete files after archiving dh Open shared files ds Disable name sort for solid archive e[+] Set file exclude and include attributes ed Do not add empty directories en Do not put 'end of archive' block ep Exclude paths from names ep1 Exclude base directory from names ep3 Expand paths to full including the drive letter f Freshen files hp[password] Encrypt both file data and headers id[c,d,p,q] Disable messages ierr Send all messages to stderr ilog[name] Log errors to file (registered versions only) inul Disable all messages isnd Enable sound k Lock archive kb Keep broken extracted files m<0..5> Set compression level (0-store...3-default...5-maximal) mc Set advanced compression parameters md Dictionary size in KB (64,128,256,512,1024,2048,4096 or A-G) ms[ext;ext] Specify file types to store n Include only specified file n@ Read file names to include from stdin n@ Include files in specified list file o+ Overwrite existing files o- Do not overwrite existing files ol Save symbolic links as the link instead of the file or Rename files automatically ow Save or restore file owner and group p[password] Set password p- Do not query password r Recurse subdirectories r0 Recurse subdirectories for wildcard names only rr[N] Add data recovery record rv[N] Create recovery volumes s[
,v[-],e] Create solid archive s- Disable solid archiving sc [obj] Specify the character set sfx[name] Create SFX archive si[name] Read data from standard input (stdin) sl Process files with size less than specified sm Process files with size more than specified t Test files after archiving ta Process files modified after in YYYYMMDDHHMMSS format tb Process files modified before in YYYYMMDDHHMMSS format tk Keep original archive time tl Set archive time to latest file tn
[root@sempron ~]# urpmi http://pejakm.googlepages.com/kshutdown-1.0.1-1.i386.rpm
instalando kshutdown-1.0.1-1.i386.rpm desde /var/cache/urpmi/partial
Preparando... #############################################
1/1: kshutdown #############################################
Lo encontramos en el menú del KDE en Herramientas:
El programa es muy sencillo de usar, hasta mi abuela lo entendería. Yo he dejado todas las opciones que han venido por defecto. Sólo hay que indicarle la hora y fecha en que queremos que se apague la máquina, lo cerramos al tray o bandeja del sistema. 2 minutos antes del shutdown aparecerá una advertencia para cancelar el apagado.
En fin, que me es útil para programar los apagados de madrugada para que descanse el Ktorrent que siempre está subiendo/bajando cosas como loco :-)
Espero les sirva, hasta la próxima...


I.P.: 10.114.105.218 Máscara: 255.255.255.248 Pasarela/Gateway: 10.114.105.217 OPCH: 239.0.2.10:22222 DNS: 172.26.23.3Bien. Ya estamos en marcha. En el caso de mi instalación, la I.P. está asignada de forma estática, aunque puede variar y encontrarse uno con asignación dinámica. El tema consiste en asignar a nuestro equipo una ip del mismo rango, por ejemplo 10.114.105.220. Desactivando el filtro IGMP del router Por donde fui recopilando la info se afirma que si nuestra conexión al router es por vía cable ethernet no es necesario hacer lo siguiente, pero si vamos a utilizar nuestra conexión inalámbrica, hay que desactivar el filtro IGMP del router, que viene activado por defecto. Para hacerlo, debemos tener acceso vía telnet al router.
[flynn@localhost ~]$ telnet 192.168.1.1
una vez entramos en el menú de configuración del router, pulsamos 21. Filter Set Configuration, y pulsamos 4 para configurar el filtro IGMP (intro), no tocamos el comment IGMP (intro) y aceptamos (intro una vez más). Para los reyes del copypaste, 21->4->intro->intro->intro.
Después de salvar a ROM, entramos en un nuevo menú donde seleccionaremos la regla a editar, en este caso, la única que hay, pulsando 1 (intro). Esto nos lleva a la descripción de la regla. Con los cursores, nos desplazamos hasta la tercera línea (Active=yes) y pulsamos la barra espaciadora para cambiar a No. Luego, nos desplazamos con las teclas de cursor hasta "Press ENTER to Confirm or ESC to Cancel" y pulsamos intro para desactivar el filtro sin borrarlo (útil por si lo queremos recuperar).
Luego pulsamos ESC hasta volver al menú principal y tecleamos 99 para salir del programa de configuración del router y volver a la línea de comandos.
Hasta aquí lo complicado. El resto es a golpe de drake (aunque se puede configurar la conexión a mano, pero entonces no sería a lo Mandriva Way).
Drakconf para configurar la red y el firewall
Le leí a un tipo que sabe más que yo de esto, que es buena política lanzar los drakes desde la consola. Así puedes ver los posibles mensajes de error. Seguiremos esa política.
Abrimos una consola, cambiamos a root y lanzamos el centro de control:
[flynn@localhost ~]$ su -
Contraseña:
[root@localhost ~]# drakconf
Nota: ¿Hay alguna manera de conocer el nombre de los "drakes"? Por ejemplo, el del cortafuegos es drakfirewall, ¿El resto?
Bueno, seguimos. Nos vamos a Redes e internet, y allí seleccionamos "Reconfigurar un interfaz de red". En el asistente que se inicia, selecionamos el interfaz a reconfigurar (la tarjeta ehernet, la conexión inalámbrica o lo que sea) con los datos que hemos obtenido del descodificador. En mi caso:
I.P.: 10.114.105.220-->i.p. del descodificador + 2 Máscara: 255.255.255.248 Pasarela/Gateway: 10.114.105.217 DNS: 172.26.23.3En los foros en los que recopilé la información, mencionan la opción de usar la DNS 80.58.0.33. Yo he optado por poner éste como principal y el 172.26.23.3 como secundario. Una vez configurada la red, debemos abrir un puerto UDP en nuestro firewall. Como yo soy una criatura simple, uso el firewall que Mandriva trae por defecto y no me complico la vida. Desde el mismo centro de control, nos vamos a "Seguridad" y seleccionamos "Configurar un cortafuegos personal para proteger la computadora y la red". Allí, desplegamos las opciones avanzadas y añadimos el puerto 8208 UDP. ¿Por qué? Paciencia. Aceptamos, volvemos a aceptar y seleccionamos las interfaces a proteger con el cortafuegos. Ya casi estamos. Sólo falta un reproductor y la lista de canales. VLC para reproducir los stream Imagino que cualquier reproductor de vídeo que acepte volcados de red funcionará igualmente, pero VLC sé que funciona. Si no lo tenemos instalado ya sabeis:
[root@localhost ~]# urpmi vlc
Una vez instalado, hay que conseguirse una lista de canales de Imagenio. En el foro de donde fuí recopilando la información hay un enlace, pero es un poco lioso (por no hablar del montón de ventanas de publicidad que te abre) así que lo dejo a vuestra disposición aquí. Luego, simplemente se trata de abrir la lista de reproducción del VLC, dobleclick en el canal que deseemos ver, et voilà!
Si echais un vistazo a la lista de canales, veréis que todos se descargan a través del puerto 8208 UDP. Ahora ya sabéis por qué había que abrirlo en el firewall.
Consideraciones
-Con este método puede conseguirse ver los canales de Imagenio que tengamos contratados (paquetes extras, tribunas etc, hay que seguir pasando por caja. Esto no es un HOWTO para piratear) en nuestro PC, conectado al router vía cable Ethernet o Wireless. Eso no significa que se vea de cine (sobre todo a través de Wireless). En mi caso concreto se ve FATAL en Wireless: Mucha pixelación, fallos en la sincronización de audio y cosas así. El ancho de banda no da para más). El cable Ethernet es otra cosa, mariposa. Ardo en deseos de dejar el ordenador grabando House :d.
-En la info de los foros donde recopilé, aconsejaban detener la reproducción en el VLC antes de cambiar de canal. Yo he cambiado a saco por probar y ha funcionado bien.
-NO hace falta que esté el descodificador encendido (nos conectamos al router, no al desco)
-Hace falta un ordenador que descomprima MPEG-2 con soltura, o veremos Powerpoints con sonido entrecortado
-Deberíamos tener acceso a Internet con esta configuración de red en el equipo. Si no es así, usad la palabra mágica: IP Alias.
En fin, eso es todo. Iré actualizando este post con imágenes del proceso (sobre todo la parte de configuración del router, que es lo que considero más lioso), así como las posibles aportaciones de los que me lean.
Ánimo y adelante!
Fuentes
adslzone.net<[dalfa@MDV2006 ~]$ urpmq -i bashburn Name : bashburn Version : 1.5.2.1 Release : 1mdk Group : Archiving/Cd burning Size : 141176 Architecture: i586 Source RPM : bashburn-1.5.2.1-1mdk.src.rpm Build Host : n3.mandrakesoft.com Packager : Jérémie Lenfant-EngelmannEsta en los repositorios de Mandriva y tambien lo puedes descargar de su sitio: http://freshmeat.net/projects/bashburn/ http://bashburn.sourceforge.net/URL : http://bashburn.sourceforge.net/ Summary : BashBurn is a bash script designed to make CD burning Description : Sick of all those fancy CD-burning apps not working for you? You need something that just gets the work done? Welcome to BashBurn - It just works! BashBurn is the new name for the cd burning shell script Magma. It's not the best looking CD-burning application out there, but it does what you want it to do. (And if not then probably didn't want to do it anyway) Bashburn could need lame codec for some operations.
clear)
#!/bin/sh
# Name: resizeallimgs
# Purpose: resize all jpg or png images in present directory to another sized jpg
# Written by: Rene
# CopyLeft, 2005
# Uses: convert and display commands from ImageMagick
# Syntax: resizeallimgs -j OR -p OR resizeallimgs -h / --help for help
# Example: resizeallimgs -j converts jpgs in directory to resized jpgs
# Example: resizeallimgs -p converts pngs in directory to resized jpgs
# provide help for this script
function useage {
echo -----------------------------------------
echo useage: resizeallimgs -j"|"-p "("jpg or png")"
echo help: resizeallimgs -h "/" resizeallimgs --help
echo creates new jpg files in this directory called '<'filename'>'_thumb.jpg
echo pre-existing images are not changed
echo user prompted for WIDTH of thumbnail image - in pixels - Example: 200
echo thumbnail is scaled proportionately to input dimension
echo " "
echo after resizing you can view a composite image of all resized images
echo answer "'"y"'" or "'"n"'" "("without quotes")" to view a composite of resized images created in the directory
echo Notes: can take some time to display a large number of images
echo " right click on composite display to see next composite page if it exists"
echo " composite display can be saved as a single image and more by left clicking on composite window"
echo -----------------------------------------
echo
}
if [ $1 = "-h" ]; then
useage
exit
fi
if [ $1 = "--help" ]; then
useage
exit
fi
echo "Enter the WIDTH of new images (ex:200)"
read response
if [ $1 = '-j' ]; then
echo JPG images being resized
ls -1 *.jpg | sed "s/\(.*\)\.jpg/\1.jpg \1_thumb.jpg/" |xargs -n 2 convert -resize $response -quality 100 -compress JPEG
fi
if [ $1 = '-p' ]; then
echo PNG images being resized to JPGs
ls -1 *.png | sed "s/\(.*\)\.png/\1.png \1_thumb.jpg/" |xargs -n 2 convert -resize $response -quality 100 -compress JPEG
fi
# Ask if user wants to view a composite of all new jpg images
echo "Do you want to display all thumbnails created in this directory?(y/n)"
read displayall
if [ $displayall = "y" ]; then
display 'vid:*_thumb.*'
exit
fi
exit
este script se puede encontrar aqui: http://www.w-3productions.com/resizeallimgs y fue creado por Rene
[parver@BlogDrake parver]$ pwd /home/parver
split -b 100m archivo prefijoCreara partes de 100 megas hasta donde alcance el archivo original y le colocara el prefijo especificado a cada parte para unirlos se hace asi:
cat prefijo* > archivoEsto unira todos los los archivos con el prefijo especificado en el nombre de archivo que queramos colocar :-D ¿sencillo no? lo mejor sera crear un archivo tar.gz y adentro colocar todo aquello que queramos y luego partir ese unico archivo.
[dalfa@MDV2006 ~]$ fbgrab nombre_de_archivo.pngaqui un pequeño corta y pega de la man:
fbgrab(1) fbgrab(1)
NAME
fbgrab - takes screenshots using the framebuffer device
SYNOPSIS
fbgrab [options] filename
DESCRIPTION
fbgrab reads the framebuffer device (/dev/fb*) or a dump thereof and
saves a PNG image file. You can use it for making screenshots of of
virtually any application, from traditional test applications to your
X-windows desktop, as well as framebuffer applications.
OPTIONS
-? print usage information.
-b bitdepth
the number of bits per pixel used, optional when reading from
device.
-c console
specifies which console (or virtual terminal - like other people
call this feature) to grab. Sometimes this changing is faster
then the framebuffer is refreshed (especially when grabbing
framebuffer apps). If so, you should use -C console ... This
waits some time before grabbing. You can't use -s in this case.
-d device
specifies which framebuffer device you want to read. If you do
not use this option, it takes the value from the FRAMEBUFFER
environment variable. If no FRAMEBUFFER environment variable is
given or if its value is NULL, then DEFAULT_FB is taken. (see
source code), which usually is /dev/fb0.
-f filename
Read from from file instead of device, requires that -w (width),
-h (height) and -b (bitdepth) are specified.
-h height
the height of the frambeuffer in pixels, optional when reading
from device.
-i turns off interlacing. If you do not want ADAM7 interlacing, you
should use the -i option.
-s seconds
specifies how many seconds to wait before grabbing. fbgrab does
not lock console switching, so you can switch it while waiting,
if you cannot use -c requires normally that fbgrab is run as
root.
-w width
the width of the frambeuffer in pixels, optional when reading
from device.
EXAMPLES
fbgrab fb.png
will take a framebuffer snapshot, or if you don't have fbgrab at your
machine, you can do
cp /dev/fb0 framebuffer.dump
and then
fbgrab -w 1024 -h 768 -b 16 -f framebuffer.dump fb.png
to convert it to a picture.
Hace unos días, trataba de explicarle a un amigo, nuevo en las lides de Linux lo que se podía hacer a través de la shell o comandos, estábamos liados charlando a través del irc, pero claro, es difícil tratar de explicar con ejemplos con este método, mi querido amigo me comentaba que lo suyo es que el pudiera ver lo que yo hacía, ciertamente le comenté yo, pero no veo la forma, aunque seguramente la habrá.
Y la hay.
Tenemos una pequeña utilidad llamada kibitz que forma parte del paquete expect que nos permite compartir nuestra cuenta de usuario con todos los usuarios que le indiquemos a esta pequeña maravilla; el resultado es que, a todos aquellos usuarios que invitemos con kibitz les aparecerá nuestra cuenta shell en su pantalla y podrán ver todo aquello que nosotros tecleemos en nuestra cuenta y desde nuestro terminal.
Bueno, si hacemos:
$ rpm -qf `which kibitz`
obtendremos:
$ expect-8.4.2-1mdk
Ya sabes, si no lo tienes tira de urpmi.
Bueno, una vez instalado simplemente ejecutamos kibitz con los usuarios a los que queremoa invitar a compartir nuestra cuenta.
$ kibitz usuario_a_invitar
Si queremos que sean mas usuarios habra que añadir una ejecucion e kibitz por cada unos de ellow.
$ kibitz usuario1 kibitz usuario2 ... y asi sucesivamente.
Yo solo he probado con uno, no mas, pero si echamos un vistazo a la man asi nos lo dice.
Solo decir que cuando el usuario recibe la invitacion de kibitz, este genera un número aleatorio que deberá ser ejecutado por el invitado.
En fin, nada más, para ser mi primer artículo tampoco quiero excederme en palabreria, solo probarlo y si sirve, bienvenido sea.
Ah, ni que decir tiene que usuarios conectados a nuestra maquina via ssh funciona perfectamente, como no podia ser de otra manera.
# type amarok amarok is /usr/bin/amarok #Otro comando de esta familia es whereis, que como vemos nos da el mismo resultado.
# whereis amarok amarok: /usr/bin/amarokPor ultimo tenemos el comando which que hace exactamente los mismo.
# which amarok /usr/bin/amarokEstas ordenes solamente buscan en los directorios que tengamos establecidos en nuestra variable PATH, ahora bien, si queremos buscar ficheros en linea de comando de forma mas eficiente, para ellos tenemos locate y desde luego find.
[dalfa@MDV2006 ~]$ urpmq -i multitail Name : multitail Version : 3.4.5 Release : 1mdk Group : Text tools Size : 89501 Architecture: i586 Source RPM : multitail-3.4.5-1mdk.src.rpm Build Host : n1.mandrakesoft.com Packager : Lenny Cartierhttp://www.vanheusden.com/multitail/ http://freshmeat.net/projects/multitail/URL : http://www.vanheusden.com/multitail/ Summary : Multitail lets you view one or multiple files like the original tail program Description : multitail lets you view one or multiple files like the original tail program. The difference is that it creates multiple windows on your console (with ncurses). It can also use colors while displaying the logfiles, for faster recognition of which lines are important and which are not. It supports regular expressions. It has interactive menus for editing given regular expressions and deleting and adding windows.
Una de mis herramientas de seguridad favoritas es sudo. No es una herramienta para monitorear la seguridad, pero te permite asegurar tu sistema específicamente en aquellos casos en que necesitas dar ciertos privilegios de root a varios usuarios al mismo tiempo.
Veamos un ejemplo simple. Estás corriendo un servidor web y tienes un importante cliente al que le has dado una cuenta de shell en tu sistema. Si tuvieras que ausentarte del sistema durante un tiempo prolongado, probablemente necesitarías poder reinicia Apache si
algo imprevisto le sucediera (problemas). Podrías darle a este cliente, o a otro/s administradores de sitios, acceso por medio de su para permitirles poder reiniciar
el servicio. Ya que Apache usa el puerto 80, necesitas permisos de root para reiniciarlo. Hay tres posibilidades: la primera es darle al cliente la clave de root del sistema, en caso de que necesite reiniciar el servidor. Puedes no darle acceso, y tener el servidor caído hasta que tu puedas reiniciarlo personalmente (una opción factible en realidad, pero no muy buena para el negocio). O puedes usar sudo para darle acceso y autenticación al cliente para reiniciar el servidor web, sin la clave de root y sin darle acceso global a todo tu sistema.
Obviamente la última. Sudo funciona de ese modo. Con él, puedes tener estricto control sobre tu sistema, permitiendo a ciertos usuarios acceso de root para realizar ciertas tareas sin darles el control de toda la máquina. No necesitas tener el 100% de confianza con sudo, a diferencia de su. Después de todo, si solo quieres que alguien pueda reiniciar el servidor web, para qué darle más posibilidades? Podrán modificar los archivos de configuración de Apache? Añadir nuevos usuarios? Reiniciar otros servidores? Absolutamente no.
Sudo nos ayuda en estos casos; es una herramienta lo suficientemente flexible para satisfacer tus necesidades.
Afortunadamente, viene incluído en prácticamente todas las distribuciones de Linux, desafortunadamente por lo general no se instala por defecto, así que probablemente tengas que instalarla tu mismo. Toma tus cds y hazlo.
Sudo es fácil de configurar y tiene un archivo con una sintaxis muy directa. Debes usar el comando visudo para editar el archivo /etc/sudoers. visudo es un wrapper, un intermediario entre sudo y tu editor de textos favorito que hará un control de sintaxis sobre el archivo, una vez que termines de editarlo. Por defecto, si no tienes configurada la variable EDITOR usará el editor vi. Fuera de las opciones del editor en sí, es fácil cambiar que invoca visudo. Simplemente tipea lo siguiente como root para usar tu editor favorito (en este ejemplo uso Emacs):
[root@linux]# export EDITOR=emacs; visudo
Esto abrirá el archivo /etc/sudoers en emacs. Podés usar cualquier editor que quieras...joe, jed, vim, etc. Ahora que tienes abierto /etc/sudoers es hora de configurar sudo.
Los comandos de sudo usan una sintaxis básica. Por defecto el archivo /etc/sudoers tendrá una sola instancia:
root ALL=(ALL) ALL
Que le indica a sudo que de acceso al usuario root ,con permiso de root, a todos los programas en todo el(los) sistema(s), (precisamente los derechos que tiene el usuario root por naturaleza). La sintaxis es simple:
user host = (user) command
La primera columna define el usuario al que se aplica el comando. La sección host define el host en el que tiene validez esta instancia. La sección (user) define el usuario que podrá ejecutar el comando, mientras que la sección; command define el comando en sí.
También puede definir alias para Hosts, Usuarios, y Comandos usando las palabras clave Host_Alias, User_Alias, y Cmnd_Alias respectivamente.
Veamos unos cuantos ejemplos de diferentes alias que podrías usar.
Host_Alias LAN = vader.somehost.com, luke.somehost.com
Host_Alias SRV = deathstar.somehost.com, dagobah.somehost.com, han.somehost.com
Host_Alias MAIL = tattoine.somehost.com
Aquí hemos definido tres alias para Hosts. Al primero le dimos el alias de LAN, para identificar a nuestra red interna LAN, y le asignamos dos máquinas: vader.somehost.com, y luke.somehost.com. El segundo alias es SRV, que identifica a nuestros servidores web y ellos son deathstar.somehost.com, dagobah.somehost.com, y han.somehost.com. El último alias es MAIL, e identifica a nuestro servidor de correo, conteniendo una sola máquina llamada tattoine.somehost.com.
A continuación definimos algunos alias de usuario:
User_Alias WEBADMIN = joe, bob
User_Alias MAILADMIN = joe, cathy
User_Alias BINADMIN = joe, doug
Aquí también tenemos tres alias de usuario. El primer alias tiene el nombre WEBADMIN y es para los administradores web, Joe y Bob. El segundo alias es MAILADMIN, para los administradores del servidor de correo, Joe y Cathy. Finalmente, definimos el alias BINADMIN para los sysadmins regulares, otra vez Joe y Doug.
Ya hemos definido hosts y usuarios. Ahora tenemos que definir qué comandos podrán ejecutar usando los alias creados:
Cmnd_Alias SU = /bin/su
Cmnd_Alias BIN = /bin/rpm, /bin/rm, /sbin/linuxconf
Cmnd_Alias SWATCH = /usr/bin/swatch, /bin/touch
Cmnd_Alias HTTPD = /etc/rc.d/init.d/httpd, /etc/rc.d/init.d/mysql
Cmnd_Alias SMTP = /etc/rc.d/init.d/qmail
Aquí también tenemos alias. El primero lo llamamos SU y habilita al usuario para ejecutar el comando /bin/su . El segundo lo llamamos BIN, y permite correr los comandos: /bin/rpm, /bin/rm, y /sbin/linuxconf. El siguiente es SWATCH que permite ejecutar /usr/bin/swatch y /bin/touch. Luego definimos un alias HTTPD el cual permite a sus usuarios ejecutar /etc/rc.d/init.d/httpd y /etc/rc.d/init.d/mysql, para el mantenimiento de los servicios web. Finalmente definimos SMTP, el cual permite al usuario manejar la ejecución del servidor SMTP qmail.
Ahora tienes que definir como funcionan los alias en conjunto. Aquí es donde le das a cada uno permiso para usar ciertos comandos en determinados hosts. Si hacemos esto del mismo modo que vimos al principio del artículo, esto dará la posibilidad de ejecutar cualquier programa en cualquier host con permisos de root. Obviamente queremos limitar un poco el acceso en este punto; a continuación vemos un ejemplo basado en los alias que creamos anteriormente:
WEBADMIN SRV = HTTPD
MAILADMIN MAIL = SMTP
BINADMIN ALL = BIN, SWATCH
joe ALL = NOPASSWD: SU
bob LAN = BIN
Esto hay explicarlo un poco, pero es fácil de comprender. La primera línea le dice a sudo que permita a aquellos usuarios definidos en el alias WEBADMIN (Joe y Bob), reiniciar Apache y MySQL (comandos definidos en el alias HTTPD), en los sistemas incluídos en el alias SRV (los servidores web). Esto quiere decir que en los sistemas dentro de los alias LAN y el MAIL (el servidor de correo), Joe y Bob no tendrán acceso para hacer lo mismo (reiniciar servicios), sino solo dentro de los tres sistemas definidos en el alias SRV.
La segunda línea le dice a sudo que permita a los usuarios del alias MAILADMIN (Joe y Cathy), reiniciar qmail en tattoine.somehost.com (definido por el alias de host MAIL)
La tercera línea indica a sudo que permita a los usuarios en BINADMIN (Joe y Dough), acceder a los comandos definidos en los alias BIN y SWATCH (que permite manipular la base de datos RPM con permiso de root, borrar cualquier archivo, ejecutar linuxconf para configurar el sistema, ejecutar swatch, y usar el comando touch como root), en todos los sistemas.
La cuarta línea indica a sudo que permita a Joe, nuestro administrador de sistema, usar el alias SU (para ejecutar su), en todas las máquinas sin tener que entrar una clave (más sobre esto a continuación).
La línea final indica a sudo que permita a Bob (quien a veces es requerido para hacer mantenimiento en las máquinas de la LAN), ejecutar los comandos definidos en el alias BIN sobre las máquinas especificadas en el alias LAN.
Bueno, qué quiere decir todo esto? Bien, Joe puede hacer casi cualquier cosa. Teniendo acceso su en todas las máquinas vía sudo, él tiene ese derecho, bueno después de todo él es nuestro administrador de sistema y tiene la clave root de todas formas; el acceso vía sudo es más bien una cuestión de conveniencia para él. Sin embargo, a Dough esto le permite realizar tareas administrativas ejecutando comandos como linuxconf y rpm sobre todos los sistemas, es decir que él es la mano derecha de Joe. Aún así no tiene derechos de acceso para iniciar/detener los servidores web, MySQL y qmail. Cathy sí puede iniciar y detener qmail, pero eso es todo lo que puede hacer. Bob por otro lado, puede iniciar y detener Apache y MySQL en el servidor web, y puede también hacer cierto trabajo administrativo en la LAN (vía rpm y linuxconf), sin embargo no tiene esos ni otros derechos en otras máquinas.
Te habrás dado cuenta de la palabra clave NOPASSWD seguramente. Cada usuario, cuando usa sudo, debe ingresar su propia clave. Por ejemplo, cuando Cathy quiere reiniciar qmail, sudo le pedirá su clave. Ella ingresará su propia clave, no la del root. Esto le indicará a sudo que una persona autorizada está ejecutando el comando. Pero en el caso de Joe, es un poco perezoso y no quiere tipear su clave todo el tiempo, y ya que su compañero de trabajo es el que está escribiendo el archivo sudoers, le pidió que le diera derechos NOPASSWD para ejecutar su. Así que cuando Joe ejecuta su, no tiene que ingresar su clave, pero cuando ejecuta linuxconf (por ejemplo), sí tiene que hacerlo.
Ya te habrás dado cuenta de la flexibilidad que provee sudo. Con un solo archivo, puedes definir derechos de acceso a múltiples máquinas para múltiples usuarios. Lo único que necesitas hacer es tener el mismo archivo en todas las máquinas de la red. Puedes hacer esto usando herramientas como rsync para sincronizar el archivo o usando NIS para hacerlo. De cualquier modo que lo hagas, solo tendrás que mantener un archivo para todas las máquinas.
Sudo también provee un modo de rastrear a los usuarios que lo utilizan. Añadiendo una línea extra a tu archivo /etc/sudoers, puedes hacer que sudo escriba un archivo de log específico que puedes auditar, por ejemplo:
Defaults logfile=/var/log/sudo.log, log_year
hará que sudo escriba sus actividades al archivo /var/log/sudo.log. Este archivo se verá luego mas o menos así:
Nov 1 13:44:06 2001 : joe : HOST=vader : TTY=pts/3 ; PWD=/home/joe/mail ;
USER=root ; COMMAND=/bin/su
Nov 2 13:34:59 2001 : doug : HOST=dagobah : TTY=pts/4 ; PWD=/var/www/html ;
USER=root ; COMMAND=/bin/rpm -ivh /mnt/updates/BIG/dis/8.1/RPMS/ucd-snmp-4.2.1-5mdk.i586.rpm
/mnt/updates/BIG/dis/8.1/RPMS/ucd-snmp-utils-4.2.1-5mdk.i586.rpm
Aquí puedes ver que el primero de noviembre, Joe usó el comando su en el host vader. Asimismo podes ver que el dos del mismo mes, Dough decidió instalar ucd-snmp y ucd-snmp-utils en el host dagoban. Como ves, el archivo log es extremadamente útil para rastrear
quien está haciendo qué, vía sudo.
No necesariamente hace falta convertir usuarios en root al usar sudo. Si, dado el caso, estuvieras ejecutando eggdrop bajo el uid de algún otro usuario (por ejemplo, un tal Stew), tu podrías decirle a sudo que use el id de otro usuario en vez de el del root. Por ejemplo, puedes usar algo como esto:
Cmnd_Alias IRC = /home/stew/bin/eggdrop, /home/stew/bin/irc/ircd
joe deathstar.somehost.com = (stew) IRC
Esto dejará a Joe ejecutar eggdrop e ircd en el directorio home de Stew como si él fuera Stew y no el root, en la máquina con el nombre de host deathstar.
Ahora que ya has visto como se configura sudo, como lo usas? sudo es muy fácil de usar, como verás. Para determinar qué comandos tienes disponibles para usar vía sudo, podés ejecutar:
[joe@deathstar]$ sudo -l
Password:
User joe may run the following commands on this host:
(root) /etc/rc.d/init.d/httpd, /etc/rc.d/init.d/mysql
(root) /bin/rpm, /bin/rm, /sbin/linuxconf
(root) /usr/bin/swatch, /bin/touch
(root) NOPASSWD: /bin/su
(stew) /home/stew/bin/eggdrop, /home/stew/bin/irc/ircd
Este te mostrará exactamente qué comandos puedes ejecutar y cómo qué usuario. Para usar sudo para reiniciar Apache por ejemplo, deberías usar lo siguiente:
[joe@deathstar]$ sudo /etc/rc.d/init.d/httpd restart
Password:
Luego de que Joe le pase su clave, Apache reiniciará. Si él quisiera iniciar eggdrop como Stew, debería hacer algo bastante diferente:
[joe@deathstar]$ sudo -u stew /home/stew/bin/eggdrop
Password:
Esto ejecutará eggdrop en background con el uid de Stew. Ya que sudo intentará, por defecto, ejecutar como root, debes suministrarle el nombre del usuario si es que no es el root (como en este caso). Observa que pasa si Joe no especifica el nombre de usuario Stew:
[joe@deathstar]$ sudo /home/stew/bin/eggdrop
Sorry, user joe is not allowed to execute '/home/stew/bin/eggdrop' as root
on deathstar.somehost.com.
Como puedes ver, sudo es muy flexible y muy apto para reemplazar a su. De hecho iría más lejos haciendo disponible su solo a través de sudo. Para que su funcione para usuarios sin permiso de root (quiero decir, para permitirles volverse root u otro/s usuarios incluso), /bin/su debe tener el bit setuid activado, así puede ejecutarse como root. Si remueves el bit setuid de /bin/su, incluso aunque un usuario conozca la clave de root no podrá hacer su a root o a cualquier otro usuario. Quitar el setuid de /bin/su y restringir los logeos de root desde consola y vía SSH es un modo muy efectivo de asegurar la máquina contra accesos no autorizados con permiso de root.
Para poder hacerlo, en ese caso, simplemente asignate a tí mismo acceso sudo para ejecutar su (como lo ejemplificamos con Joe previamente), y luego quita el bit setuid de /bin/su ejecutando como root, lo siguiente:
[root@deathstar]# chmod u-s /bin/su
[root@deathstar]# ls -l /bin/su
-rwxr-xr-x 1 root root 18172 Sep 14 09:16 /bin/su*
Ahora si intentas ejecutar el comando "su -" como usuario (no como root), incluso si ingresas la clave correcta para el root, no podrás cambiarte a root. Para que alguien pueda usar realmente su, debe existir en sudoers el permiso apropiado y debe ejecutar su a través de sudo de la siguiente manera:
[joe@deathstar]$ sudo su -
[root@deathstar]#
Encuentro este enfoque mucho mejor que restringir el acceso al root. Teniendo su como una aplicación setuid, cualquier usuario en el sistema puede intentar ejecutar su; y si tiene la clave de root o puede adivinarla, se volverá root con todos los derechos que implica. Teniendo su acceso restringido a través de sudo, y con el bit setuid removido, las posibilidades de acceder por la fuerza como root quedan muy limitadas. Piénsalo de esta manera: si alguien puede comprometer tu máquina y obtener acceso de consola como el usuario "apache" o "nobody", con el su setuid, puede intentar logearse como root, y si obtiene la clave nada lo detendrá. Con su acotado sin el bit setuid, incluso si obtiene acceso a una consola como usuario "apache", está limitado solo a los derechos de acceso del usuario "apache". Aunque pueda saber la clave de root, no puede usar su para obtener acceso de root. Es más, ni siquiera puede usar su para volverse Joe (tendría que logearse al sistema desde el principio como Joe).
Para llevar el caso más allá aún, esto significaría que necesitarían acceso a una consola local para logearse como Joe (si es que tienen su clave), o vía SSH (ya que Joe sabe que es mejor eso que telnet). Pero Joe es inteligente. No se metió en el problema de configurar sudo solo para falla ahí. También configuró SSH para rechazar todos los logeos usando la clave y solo permitir logeos basados en autenticación por llaves. Sin la llave privada de Joe, nadie puede logearse en su cuenta vía SSH. Así incluso si tu servidor Apache, Sendmail o DNS permite a alguien obtener acceso de consola a tu sistema con una cuenta sin privilegios (de usuario), el daño que podrían hacer sería mínimo. Sin tener su disponible para usuarios sin privilegios, sin acceso a una consola local y sin poder logearse vía SSH a menos que tengan la llave privada, un atacante debe resolver muchas dificultades para atacar tu servidor para obtener acceso root. Puedes descansar sabiendo que no le has hecho fácil su trabajo tan solo tomando unas pocas y simples medidas de seguridad.
Vamos a tomar un enfoque de autenticación basado en llaves con OpenSSH en el futuro para que puedas redondear apropiadamente la seguridad de tu servidor. Pero por ahora, usa sudo como tu primer línea de defensa en tu sistema.
.
[dalfa@MDV2006 ~]$ mv qemu-0.8.0.tar.gz programas/ «qemu-0.8.0.tar.gz» -> «programas/qemu-0.8.0.tar.gz» [dalfa@MDV2006 ~]$ cd programas/ [dalfa@MDV2006 programas]$ tar xvfz qemu-0.8.0.tar.gz [ ... ] [dalfa@MDV2006 programas]$ cd [dalfa@MDV2006 ~]$ mv qemu-0.8.0.tar.gz programas/ «qemu-0.8.0.tar.gz» -> «programas/qemu-0.8.0.tar.gz» [dalfa@MDV2006 programas]$ tar xvfz kqemu-0.7.2.tar.gz [ ... ] [dalfa@MDV2006 programas]$ mv kqemu qemu-0.8.0 «kqemu» -> «qemu-0.8.0/kqemu»Luego entramos en el directorio qemu-0.8.0:
[dalfa@MDV2006 programas]$ cd qemu-0.8.0Ahora debemos configurar las fuentes para que se instalen en nuestro sistema. Esto se hace con el archivo configure. Cada aplicación trae su propio configure, así que para conocer qué opciones trae debemos ejecutar configure --help. Y claro, por supuesto, leer antes los archivos README e INSTALL. NOTA. Qemu version 0.8.0 no compila bien con gcc 4, así que debe cambiarse el gcc 4 (default en Mandriva) al gcc 3. Quizás en versiones superiores si lo haga, pero por el momento (Mandriva 2006) no.
[dalfa@MDV2006 qemu-0.8.0]$ ./configure --help ERROR: "gcc" looks like gcc 4.x QEMU is known to have problems when compiled with gcc 4.x It is recommended that you use gcc 3.x to build QEMU To use this compiler anyway, configure with --disable-gcc-checkSi no se desea cambiar el gcc sólo se debe correr configure con --disable-gcc-check, aunque si se compila con gcc 3 kqemu no entrará por las buenas en el kernel y deberá ser forzado con:
[root@MDV2006 qemu-0.8.0]# modprobe -v --force-vermagic kqemuCon el gcc 4 no se compila Qemu, make muere en error. Para cambiarlo se hace lo siguiente: En /var/lib/rpm/alternatives están los archivos de configuración de "alternatives":
[root@MDV2006 alternatives]# pwd /var/lib/rpm/alternatives [root@MDV2006 alternatives]# ls | sort [...] gcc@ [...]Ahí está el archivo gcc que dice:
[root@MDV2006 alternatives]# update-alternatives --verbose --auto gcc Setting up automatic selection of gcc. Checking available versions of gcc, updating links in /etc/alternatives ... (You may modify the symlinks there yourself if desired - see `man ln'.) Updating gcc (/usr/bin/gcc) to point to /usr/bin/gcc-3.3.6.El archivo quedará así:
[dalfa@MDV2006 qemu-0.8.0]$ ./configure --help
Usage: configure [options]
Options: [defaults in brackets after descriptions]
Standard options:
--help print this message
--prefix=PREFIX install in PREFIX []
--interp-prefix=PREFIX where to find shared libraries, etc.
use %M for cpu name [/usr/gnemul/qemu-%M]
--target-list=LIST set target list [i386-user arm-user armeb-user sparc-user
ppc-user mips-user mipsel-user i386-softmmu ppc-softmmu
sparc-softmmu x86_64-softmmu mips-softmmu arm-softmmu]
kqemu kernel acceleration support:
--disable-kqemu disable kqemu build
--kernel-path=PATH set the kernel path (configure probes it)
Advanced options (experts only):
--source-path=PATH path of source code [/home/dalfa/programas/qemu-0.8.0]
--cross-prefix=PREFIX use PREFIX for compile tools []
--cc=CC use C compiler CC [gcc]
--host-cc=CC use C compiler CC [gcc] for dyngen etc.
--make=MAKE use specified make [make]
--static enable static build [no]
--enable-mingw32 enable Win32 cross compilation with mingw32
--enable-adlib enable Adlib emulation
--enable-coreaudio enable Coreaudio audio driver
--enable-alsa enable ALSA audio driver
--enable-fmod enable FMOD audio driver
--enabled-dsound enable DirectSound audio driver
--fmod-lib path to FMOD library
--fmod-inc path to FMOD includes
NOTE: The object files are build at the place where configure is launched
Sólo agregaré --enable-alsa:
[dalfa@MDV2006 qemu-0.8.0]$ ./configure --enable-alsa
Install prefix /usr/local
BIOS directory /usr/local/share/qemu
binary directory /usr/local/bin
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /home/dalfa/programas/qemu-0.8.0
C compiler gcc
Host C compiler gcc
make make
host CPU i386
host big endian no
target list i386-user arm-user armeb-user sparc-user
ppc-user mips-user mipsel-user i386-softmmu
ppc-softmmu sparc-softmmu x86_64-softmmu
mips-softmmu arm-softmmu
gprof enabled no
static build no
SDL support yes
SDL static link yes
mingw32 support no
Adlib support no
CoreAudio support no
ALSA support yes
DSound support no
FMOD support no
kqemu support yes
KQEMU Linux module configuration:
kernel sources /usr/src/linux
kbuild type 2.6
Luego ejecutamos make y nos vamos a ver un poco de anime mientras compila ^_^
[dalfa@MDV2006 qemu-0.8.0]$ make [ ... ]Luego nos convertimos en root e instalamos con make install:
[dalfa@MDV2006 qemu-0.8.0]$ su Password: [root@MDV2006 qemu-0.8.0]# make install [ ... ]¡Y ahora tenemos qemu instalado!
[root@MDV2006 qemu-0.8.0]# qemu qemu qemu-img qemu-sparc qemu-system-sparc qemu-arm qemu-mips qemu-system-arm qemu-system-x86_64 qemu-armeb qemu-mipsel qemu-system-mips qemu-i386 qemu-ppc qemu-system-ppc
[root@MDV2006 ~]# urpmi qemu [root@MDV2006 ~]# urpmi dkms-kqemuSi quieres saber más sobre lo que estás instalando usa urpmq:
[dalfa@MDV2006 ~]$ urpmq -i qemu Name : qemu Version : 0.7.2 Release : 2.mdk2006.0.mde Group : Emulators Size : 6765679 Architecture: i586 Source RPM : qemu-0.7.2-2.mdk2006.0.mde.src.rpm Build Host : Mandriva2006 Packager : Thac&ZéURL : http://fabrice.bellard.free.fr/qemu/ Summary : QEMU CPU Emulator Description : QEMU is a FAST! processor emulator. By using dynamic translation it achieves a reasonnable speed while being easy to port on new host CPUs. QEMU has two operating modes: * User mode emulation. In this mode, QEMU can launch Linux processes compiled for one CPU on another CPU. Linux system calls are converted because of endianness and 32/64 bit mismatches. Wine (Windows emulation) and DOSEMU (DOS emulation) are the main targets for QEMU. * Full system emulation. In this mode, QEMU emulates a full system, including a processor and various peripherials. Currently, it is only used to launch an x86 Linux kernel on an x86 Linux system. It enables easier testing and debugging of system code. It can also be used to provide virtual hosting of several virtual PC on a single server. Name : qemu Version : 0.6.1 Release : 1mdk Group : Emulators Size : 3604303 Architecture: i586 Summary : QEMU CPU Emulator
[dalfa@MDV2006 ~]$ urpmq -i dkms-kqemu Name : dkms-kqemu Version : 0.7.2 Release : 2.mdk2006.0.mde Group : Emulators Size : 204035 Architecture: i586 Source RPM : dkms-kqemu-0.7.2-2.mdk2006.0.mde.src.rpm Build Host : Mandriva2006 Packager : Thac&ZéSi no sabes qué es urpmi revisa este manual: Manual: Todo lo que siempre quisiste saber sobre urpmi pero nunca te atreviste a preguntar http://blogdrake.net/node/4422URL : http://fabrice.bellard.free.fr/qemu/qemu-accel.html Summary : DKMS-ready kernel-source for the QEMU accelerator module Description : The QEMU Accelerator Module increases the speed of QEMU when a PC is emulated on a PC. It runs most of the target application code directly on the host processor to achieve near native performance. It is very useful when you want to run another Operating System (for example Windows) on a Linux desktop. Name : dkms-kqemu Version : 0.7.1.1 Release : 1plf Group : Emulators Size : 206155 Architecture: i586 Source RPM : dkms-kqemu-0.7.1.1-1plf.src.rpm Build Host : katu.zarb.org Packager : Pascal Terjan URL : http://fabrice.bellard.free.fr/qemu/qemu-accel.html Summary : DKMS-ready kernel-source for the QEMU accelerator module Description : The QEMU Accelerator Module increases the speed of QEMU when a PC is emulated on a PC. It runs most of the target application code directly on the host processor to achieve near native performance. It is very useful when you want to run another Operating System (for example Windows) on a Linux desktop.
dd of=hd.img bs=1024 seek=2000000 count=0Por ejemplo, esto creará una imagen de 2 gigas, un "disco virtual" de tamaño real. O sea, que la imagen ocupa 2 gigas esté llena o vacía. Éste es un tipo de "disco virtual" fuera de qemu (que no se crea con qemu), los formatos que crea qemu son: vvfat, vpc, bochs, dmg, cloop, vmdk, qcow, cow, raw. Para crear se usa qemu-img y ésta es su sintaxis:
[dalfa@MDV2006 ~]$ qemu-img create -f qcow hda.qcow 4000M Formating 'hda.qcow', fmt=qcow, size=4096000 kBPara instalar un Sistema Operativo se puede hacer desde una imagen de del CD así:
qemu -hda hd.img -cdrom -boot dAl tener algún Sistema ya instalado se carga así:
qemu -hda hd.img -cdrom /dev/cdrom -boot cLas imágenes qcow no se pueden montar en Linux aún (existen experimentos, pero son demasiado liosos). En caso de necesitar montar una imagen qcow, la mejor opción es convertir dicha imagen a una de tipo raw utilizando qemu-img. Además, las imágenes raw pueden redimensionarse utilizando dd en caso de ser necesario, como se explica en el Wiki no oficial de Qemu. Para montar una imagen raw, debe saberse dónde comienza la partición a montar dentro de la imagen raw. Para ello, puede utilizarse (como root) fdisk -lu sobre la imagen en cuestión:
# fdisk -lu mandriva.img
Debe establecer cilindros.
Puede efectuar esta operación desde el menú de funciones adicionales.
Disco mandriva.img: 0 MB, 0 bytes
255 cabezas, 63 sectores/pista, 0 cilindros, 0 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Disposit. Inicio Comienzo Fin Bloques Id Sistema
mandriva.img1 * 63 7181054 3590496 83 Linux
mandriva.img2 7181055 8385929 602437+ 5 Extendida
mandriva.img5 7181118 8080694 449788+ 82 Linux swap / Solaris
mandriva.img6 8080758 8385929 152586 83 Linux
Así, para montar la primera partición, tenemos que saltar 63*512 bytes=32256, para lo que ejecutaríamos:
mount -o loop,offset=32256 -t ext3 mandriva.img directorio_para_montarSi, en cambio, quisiésemos montar la última partición (8080758*512), tendríamos que ejecutar:
mount -o loop,offset=4137348096 -t ext3 mandriva.img directorio_para_montarLógicamente, si las particiones fuesen, por ejemplo, FAT, habría que usar la opción -t vfat.
QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation.
o en español: QEMU es un emulador de procesador generico y de codigo abierto el cual adquiere una buena velocidad de emulacion debido a su uso de traduccion dinamica en un lenguaje no tan rebuscado seria algo asi como una maquina virtual algo asi como VMware pero es mucho mejor poque es libre :-pdd of=hd.img bs=1024 seek=2000000 count=0por ejemplo esto creara una imagen de 2 gigas un "disco virtual"
qemu -hda hd.img -cdrom /dev/hdd -boot desto "booteara" el cd en tu maquina virtual y empezara la instalacion
qemu -hda hd.img -cdrom /dev/cdrom -boot c
Articulos que tienen que ver con el uso de VirtualBox
[flynn@cabezon ~]$ su - Contraseña: [root@cabezon ~]# cd /home/flynn/Directorio_de_descarga [Descarga@cabezon ~]# ./VirtualBox-1.4.0_21864_mdv2007.1-1.i586.rpm.runNos soltará el rollo de la licencia, y una vez aceptada, nos dejará en el mismo directorio un .rpm listo para instalar en el sistema. Hagámoslo.
[Descarga@cabezon ~]# urpmi ./VirtualBox-1.4.0_21864_mdv2007.1-1.i586.rpmListos, tenemos Virtualbox 1.4.0 instalado en el sistema. En el menú KDE lo podéis encontrar dentro del grupo "Más aplicaciones->Emuladores". Al finalizar, el instalador de Virtualbox nos avisa de que se ha creado el grupo vboxusers y que todos aquellos usuarios del ordenador que quieran usar máquinas virtuales deben pertenecer a él. Vamos a asegurarnos de que nuestro usuario piltrafilla pertenece al grupo. Abrimos el Centro de Control, le pasamos la contraseña de root, y navegamos a la sección "Sistema", para pinchar en el apartado "Añadir, borrar o cambiar usuarios del sistema" Una vez abierto el UserDrake, pulsamos en la pestaña "Grupos" y vemos cómo efectivamente se ha creado el grupo vboxusers, el cual está vacío. Vamos a añadir a root y a nuestro usuario piltrafilla: -Seleccionamos el grupo vboxusers con el ratón y a continuación pulsamos en el botón "Editar la fila seleccionada" (el tercero por la izquierda). -Nos abrirá la siguiente ventana. Pulsamos la pestaña "Grupos de usuarios", y nos presentará un listado con todos los usuarios del sistema (y hay un huevo). Buscamos a root y a nuestro usuario y los marcamos:
Por 25 pesetas, nombres de referencias a sistemas operativos y distribuciones linux incluídas en la imagen. Por ejemplo: la estrella de Mandriva. 1,2,3, responda otra vez...
Sí. Está muy buena. Ya tendréis tiempo de babear. Estad a lo que estamos. ;-)
[root@localhost ~]# urpmi VirtualBoxHe estado usando VirtualBox pero la version libre trae desactivado el uso de dispositivos USB y la habilidad de compartir por red (supongo que con un poco mas de tiempo se puede encontrar una forma de hacer que host y guest se puedan pasar informacion por red). Asi que me decidi a probar la ultima version a este tiempo la version 1.5 se instala asi:
[da