Construirse un wine portable
Publicado: Vie, 24 May 2013, 17:48
A veces nos es muy útil ejecutar en un ordenador con nuestro amado Linux alguna que otra aplicación de wintendo, perdón de windows, 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 en dicho ordenador y por varias circunstancias no podemos instalarlo (una simple 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 ponen:
nano pac
Pegan el texto de abajo, 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 pondriamos:
./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 pondrian en /var/cache/apt/archives/
cp /tmp/pac/packages_of_libreoffice /media/yasiel
Una ves en casa 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.
Cualquier duda hacérmela saber y siéntanse en la libertad de modificar y mejorar este script solo publiquen aquí los cambios que le realicen.
Desde una shell ponen:
nano pac
Pegan el texto de abajo, 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 pondriamos:
./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 pondrian en /var/cache/apt/archives/
cp /tmp/pac/packages_of_libreoffice /media/yasiel
Una ves en casa 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.
Código: Seleccionar todo
#!/bin/sh
#######################################################################################################
# AUTOR: (c) Yasiel Ordońez Abreu. <inf1003@ucf.edu.cu>
# 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