[Aporte] Script instalar paquetes desde una lista externa

Este foro es para todo lo relacionado con la documentación, artículos de ayuda, Wikis, tips & hints y las traducciones de Arch (tanto en progreso como las finalizadas).
Responder
Avatar de Usuario
engelus
Archer Intermedio
Archer Intermedio
Mensajes: 94
Registrado: 14 Jun 2011, 08:54

[Aporte] Script instalar paquetes desde una lista externa

Mensaje por engelus » 21 Oct 2011, 10:50

Hola amigos, hoy quiero compartir un script que acabo de diseñar para poder instalar una lista de paquetes desde un archivo externo, esto nos puede servir por ejemplo si queremos reinstalar el sistema completo o simplemente hacer una instalación igual a otra en distintas pcs :D.
El script es sencillo, lo posteo aquí para que me den sus opiniones, como requisito requiere que el archivo que contiene la lista de paquetes a instalar esté creado de la siguiente forma:

Código: Seleccionar todo

pacman -Q > ~/lista
el nombre de la listas puede ser cualquiera que ustedes deseen y puede estar ubicado en cualquier lugar (al invocar el script deben suministrar el path de la lista), luego se lo invoca de la siguiente forma:

Código: Seleccionar todo

pacinba.sh ~/lista
ahora si el script en cuestión:

Código: Seleccionar todo

#!/bin/bash
#pacinba=pacman install batch
#es un script que toma desde un archivo que le indicamos como parámetro
#la lista de paquetes ahí contenidos y los instala de forma automática
#para que el script funcione de forma correcta el archivo a leer debe ser
#creado con el comando pacman -Q > archivo (el nombre puede ser cualquiera)
#v1.0 by engelus (@_engelus) bajo licencia GPL v2 o superior

#comprobamos que se hallan pasado los parámetros necesarios
if [ $# -lt 1 ]; then
        echo "Se usa de la siguiente forma: pacinba.sh archivo_a_leer"
        echo "ej: pacinba.sh ~/.lista"
        exit 1
fi
dim=0 #contendra la cantidad de paquetes a instalar
#leemos el archivo linea a linea
while read line
do
	#quitamos el nro de versión ya que el comando pacman -Q	los almacena en la forma paquete X.X.X-X
	paquete="${line% [^ ]*}"
	#definimos un array para luego instalar todo con pacman -S
	paquetes[dim]=$paquete
	((++dim))
done < $1
i=0
sudo pacman -Sy
while ((i <= dim -1))
do
	#echo ${paquetes[$i]}
	sudo pacman -S ${paquetes[$i]} --noconfirm
	((++i))
done
exit
Espero sea de ayuda :D

Avatar de Usuario
madek
Equipo Hispano
Equipo Hispano
Mensajes: 2149
Registrado: 03 Sep 2009, 12:50
Ubicación: Puente Alto, Chile

Re: [Aporte] Script instalar paquetes desde una lista externa

Mensaje por madek » 21 Oct 2011, 10:55

excelente aporte
Asi hacemos las cosas => The Arch Way
Judd Vinet "Arch Linux es lo que tú haces de él"
Imagen

Avatar de Usuario
alfplayer
Archer Confiable
Archer Confiable
Mensajes: 479
Registrado: 19 Nov 2010, 13:39
Ubicación: Buenos Aires, Argentina
Contactar:

Re: [Aporte] Script instalar paquetes desde una lista externa

Mensaje por alfplayer » 21 Oct 2011, 18:57

Se puede crear el archivo con:

Código: Seleccionar todo

pacman -Qq > archivo
(con q imprime sin las versiones)

e instalarlos con:

Código: Seleccionar todo

xargs -a archivo pacman -S
Parabola GNU/Linux-libre - basada en Arch - distribución libre según el Proyecto GNU.

Avatar de Usuario
engelus
Archer Intermedio
Archer Intermedio
Mensajes: 94
Registrado: 14 Jun 2011, 08:54

Re: [Aporte] Script instalar paquetes desde una lista externa

Mensaje por engelus » 23 Oct 2011, 17:43

sip eso mismo me dijeron los chicos del foro de Arch en Ingles

crear la lista:

Código: Seleccionar todo

 pacman -Qq > filelist
instalar desde la lista:

Código: Seleccionar todo

 pacman -S - <filelist
asi que mi script sería innecesario, conociendo esos comandos podemos crear alias en en ~/.bashrc y ~/.bash_profile

Código: Seleccionar todo

alias crearlista='pacman -Qq > ~/.lista'
alias inlista='pacman -S - < ~/.lista'

Responder