Script para automatizar apt-get???

Vereis, lo que pido no tengo muy claro si se puede o no hacer en linux... pero... hay algo que no se pueda hacer en linux??

La cosa es que cada dos por tres estoy reinstalando ubuntu en mi ordenador y ya estoy un pelin cansado de andar siempre resintalando todos los programas que uso(aparte de guardarme la carpeta home que me ahorra mucho trabajo una vez todo instalado) y, como la malloria puedo instalarlos mediante apt-get en la terminal me preguntaba si existia un modo de automatizar el proceso mediante un script o algo parecido...

¿Que decis?¿Se puede?
por que formateas cada X ?
Ni eso hace falta. Un txt con:

Aptitude install seguido de lo quieres.

Aptitude install vlc emule deluge blabla....
Lo suyo sería guardar la lista de paquetes que siempre estás reinstalando y ejecutarlo en un script para que el proceso sea automático. O aún mejor: No reinstalar cada 2 por 3.
O usar Aptoncd para no estar tirando ancho de banda a la basura.
lo suyo seria crear un .sh que es lo equivalente a linux a los .bat de windows con el bloc de notas con los pasos que quieres hacer i/o instalar y así tienes un script de instalacion que tant solo tendrias que ocurrir en consola ejecutandolo sudo sh nombredelarchivo.sh y listo xD.

Salu2.
MaXiMu escribió:lo suyo seria crear un .sh que es lo equivalente a linux a los .bat de windows con el bloc de notas con los pasos que quieres hacer i/o instalar y así tienes un script de instalacion que tant solo tendrias que ocurrir en consola ejecutandolo sudo sh nombredelarchivo.sh y listo xD.

Salu2.

Nunca debería ser ejecutado la totalidad de un archivo script sh en su totalidad como root. Nunca.
capitanquartz escribió:Lo suyo sería guardar la lista de paquetes que siempre estás reinstalando y ejecutarlo en un script para que el proceso sea automático...


Esa lista la tengo desde hace mucho, y por eso precisamente quiero generar el script, el hecho de que formatee mucho o no, ahora mismo carece de importancia, simplemente se han dado las circunstancias y me visto obligado a ello.

En tonces segun decis bastaria conun archivo de texto donde puesiera?:
aptitude install vlc htop etc??? se podria hacer con apt-get?? y otra cosa, siempre que voy a instalar si no lo hago con sudo no me deja, como seria?? porque supongo que tendre que introducirle la contraseña al script o hacer algo para que me la pida... y lo mismo me pasaria con la confirmacion que siempre me pide para bajar los paquetes.
capitanquartz escribió:Nunca debería ser ejecutado la totalidad de un archivo script sh en su totalidad como root. Nunca.


Entonces te dara Error al no tener acceso a la hora de acceder en ciertas carpetas al copiar , a no ser que hagas un autoscript con permisos ya ubicados , pero a dia de hoy la mayoria de aplicaciones requieren el pase de Root en su instalacion , ya que se copian en carpetas que no tienen acceso por defecto .
#!/bin/sh

sudo aptitude install paco juan ramón
sudo apt-get install pedro maría marta
...


Le das permisos de ejecución y lo ejecutas con ./archivo.sh o lo ejecutas como "sh archivo.sh". Puedes poner todos los paquetes a la vez o por partes, como quieras. Te pedirá la contraseña al menos una vez, depende de tu config de sudo que sean más. Para que no te pida confirmación, mira las opciones de apt-get o aptitude (el que vayas a usar, lógicamente), seguro que tienen algo.
Ojito, instalar la lista de paquetes instalados a piñón puede no ser buena idea en cualquier caso, recordad que apt contempla la diferencia entre paquetes explícitamente instalados y paquetes instalados por dependencias. Si obtienes una lista de todos los paquetes instalados, y se la pasas como parámetro a un apt-get install (o aptitude install), estarás ordenando instalar explícitamente todos los paquetes, por lo que luego cuando desinstales alguno, las dependencias que queden y que ya no estén en uso por otros programas no se desinstalarán, dando origen a un zancocho de cuidao.
yo suelo utilizar esta lista de programas (descomprime el archivo que se adjunta, doble click para instalar). si quieres crear nuevos lanzadores puedes utilizar apticon_0.5 esta version integra busqueda de paquetes. http://www.lincudo.org/descargas/apticon_0.5-1_all.deb, mas info en http://www.lincudo.org/index.php?name=ModApturl&file=index&req=viewlinkdetails&lid=228

Adjuntos

4s|m3tr|ko0 escribió:Ojito, instalar la lista de paquetes instalados a piñón puede no ser buena idea en cualquier caso, recordad que apt contempla la diferencia entre paquetes explícitamente instalados y paquetes instalados por dependencias. Si obtienes una lista de todos los paquetes instalados, y se la pasas como parámetro a un apt-get install (o aptitude install), estarás ordenando instalar explícitamente todos los paquetes, por lo que luego cuando desinstales alguno, las dependencias que queden y que ya no estén en uso por otros programas no se desinstalarán, dando origen a un zancocho de cuidao.


Y eso se podria evitar de alguna manera??

Por ejemplo en lugar de:
apt-get install jua pedro manuela

asi?:
apt-get install jua
apt-get install pedro
apt-get install manuela

PD: makaco, lo tuyo parece interesante... por lo que veo me atreveria a decir que no es un instalador exactamente... al parecer es como hacerlo en una terminal, no?? es decir busca la ultima version en los servidores???


He citado como si ya hubiera respondido dado que estoy escribiendo un mensaje nuevo.

He estado comprobando lo que ha comentado makaco(apticon) y la verdad es que me ha dado muy buena impresion. por lo que he visto abriendo el archivo con nano he descubierto que usa el protocolo apturl(http://denjohx.wordpress.com/2008/01/23 ... -gnulinux/)(que sinceramente ni sabia que existia) y que ademas usa una interfaz grafica muy sencilla(mas incluso que un *.deb)os explico mis opiniones me gustaria que os bajarais mi archivo de prueba para que deis la vuestra:

El programa que he usado para generar el archivo en cuestio se llama apticon(el que dice makaco) y lo que hace es generar un "archivo.desktop" que se ejecuta como un programa. Visto desde dentro con nano saldria algo asi:

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Comment=install
Icon=/usr/share/icons/hicolor/scalable/apps/gnome-app-install.svg
Exec=apturl %u apt://rar
Name=install rar


Como veis es para instalar el paquete rar, pero lo mejor de todo, es que si no sabes como se llama exactamente un paquete para poder instalarlo tiene su propio buscador que te lo busca en tus repositorios. Por ejemplo, para buscar el paquete de java e intalarme la version 6 lo he buscado como java y me he limitado a buscar la que yo tenia como resultado me da un script como el siguiente:

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Comment=install
Icon=/usr/share/icons/hicolor/scalable/apps/gnome-app-install.svg
Exec=apturl %u apt://sun-java6-javadb
Name=install sun-java6-javadb


Y por ultimo y para no andar haciendo cliks en instaladores tambien he comprobado que ademas te deja instalar varios paquetes, todos de uno en uno por lo que en teoria no deberia haber problemas con las dependencias. un sript con los paquetes "rar" y "unrar" queda asi:

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Comment=install
Icon=/usr/share/icons/hicolor/scalable/apps/gnome-app-install.svg
Exec=apturl %u apt://rar,unrar
Name=install rar unrar


Que les parece?? lo mejor de todo es que no es un instalador como un *.deb o un *.exe de windows en los cuales se contienen todos los ficheros, simplemente acaban siendo scripts que te buscan el paquete en tus repositorios y te los instalan.

El archivo que he adjuntado es un script con todos los programas que puedo instalarme mediante apt-get si alguien quiere probarlo que lo pruebe y me de su opinion... lo mejor de todo es que si ya tienes alguno instalado te avisa de ello y no te lo instala, del mismo modo que tambien te pregunta que si quieres instalar el siguiente, por lo que no estas forzado en ningun momento a aceptar la instalacion de todos.

PD: Solo le falta hacer que no te pregunte y que directamente te lo instale todo de uno en uno... pero sin preguntarte

Adjuntos

me alegra que te sirva, yo lo guardaría por separado pero es totalmente valido. es un método de instalación muy enfocado a usuarios noveles, resumiendo fácil de utilizar y seguro. guarda los lanzadores que generes para otras versiones de ubuntu. un saludo
Pero se puede configurar para conseguir que lo haga solo??? vamos, como hace hasta ahora pero sin la necesidad de que yo le de al boton instalar cada vez que se prepara para instalar un nuevo paquete. Es que he mirado en man y no dice nada de utilidad y en la pagina no se a que foro dirigirme... acabo de darme cuenta de que eres moderador de uno de ellos... xDD

Nadie mas se atreve a probarlo??, aunque sea solo para verificar su funcionalidad???
14 respuestas