====== Como construirse un Wine Portable ======
A veces nos es muy útil ejecutar en un ordenador con Linux alguna que otra aplicación de Windows a causa de no tener ninguna alternativa a dicha aplicación, eso como muchos saben se puede hacer con Wine, una aplicación para correr programas con extensión .exe, pero suele suceder que este programa no esta instalado en dicho ordenador y por varias circunstancias no podemos instalarlo (una de ellas seria que no tenemos acceso a root, para instalarlo), bueno pues con el script de abajo me propongo crear un wine portable para solucionar el problema.
Desde una shell cualquiera en el ordenador donde estén en ese momento ponen:
nano pac
Pegan el texto de abajo:
#!/bin/sh
#######################################################################################################
# AUTOR: (c) Yasiel Ordońez Abreu.
# WRITTEN BY: May 22,2013
# VERSIÓN: 1.0
# LICENCIA: GPL (http://www.gnu.org/licenses/gpl.html)
# NOMBRE: Portable Application Constructor (pac)
# INSTALACIÓN: Copiar en el directorio /usr/bin (cp pac /usr/bin)
# DESCRIPCIÓN: Contruye aplicaciones portables desde los repositorios, para ejecutarlas en otros ordenadores.
clear ; mkdir pac_dir ; cd pac_dir > /dev/null
mkdir $@_portable ; cd $@_portable > /dev/null
packages=$(apt-cache depends $@ | grep -v -e onflict -e Reemplaza -e Replace -e PreDep -e \< -e swx11 | sed -e s/Depend.:// -e s/Recommends:// -e s/Recomienda:// -e s/Suggests:// -e s/Sugiere:// -e s/[\ \|]//g)
apt-get download $packages
echo "Descomprimiendo paquetes....."
for i in * ; do
if [ -n "$(echo $i | grep .deb$)" ] ; then
ar xo $i
if [ -f data.tar.gz ] ; then
tar -xzf data.tar.gz
elif [ -f data.tar.bz2 ] ; then
tar -xjf data.tar.bz2
elif [ -f data.tar.lzma ] ; then
tar --lzma -xf data.tar.lzma
else
echo "No pude extraer los binarios desde $i" >&2
fi
rm data*
rm debian*
rm control*
fi
done
echo "#!/bin/bash\n" >> run_$@
echo "/lib/ld-linux.so.2 --library-path \"lib:lib64:usr/lib\" usr/bin/$@ \$1\n" >> run_$@
chmod +x run_$@
mkdir --parents /tmp/pac/packages_of_$@ > /dev/null
mv --force *.deb /tmp/pac/packages_of_$@ > /dev/null
Presionan Ctrl + S para salir y afirman que si desean guardar el documento. Después le dan permisos de ejecución con:
chmod a+x pac
Una ves hecho procedemos a crear el wine portable con este comando:
./pac wine
Se nos creará una carpeta llamada **pac_dir** con el wine portable dentro, accedemos a ella:
cd ./pac_dir/wine_portable
Y para ejecutar una aplicación pondríamos:
./run_wine ruta_del_programa.exe
Creándose el primero el perfil del wine dentro del perfil del usuario en que estemos logueado y luego ejecutándose dicha aplicación.
Esta aplicación también sirve para llevarnos a nuestro hogar todos los paquetes y dependencias que deseemos, por ejemplo **(libreoffice)**. Realizando su instalación más tarde.
Bastaría con poner:
./pac libreoffice
Borrar el directorio **pac_dir** que supuestamente no nos interesa y copiar a un dispositivo usb todos los paquetes del libreoffice alojados en el directorio **/tmp/pac/packages_of_libreoffice**, estos paquetes luego se pondrían en **/var/cache/apt/archives/**
cp /tmp/pac/packages_of_libreoffice /media/yasiel
Una ves en casa, los copiaríamos a la máquina de la siguiente manera:
cp /media/yasiel/packages_of_libreoffice/* /var/cache/apt/archives
**Nota: //Vale aclarar que el directorio /tmp se limpia cuando apagamos o reiniciamos el ordenador, por lo que los paquetes que se han creado allí, ya no estarían. pero de seguro muchos de ustedes lo sabrán. Ademas para que el programa pinche, debe de estar configurado correctamente el source.list en el ordenador donde se valla a ejecutar.//**
--- //[[inf1003@ucf.edu.cu|Yasiel Ordoñez Abreu]] 2013/05/27 13:04//