Actualizar Paquetes Deb uno por uno y otras cosas

Para actualizar paquete por paquete, con sus respectivas dependencias, en Debian, Ubuntu, Canaima, etc.

#~Todos: #archivos=$(sudo apt-get dist-upgrade -s |grep "Inst"| awk ' { print $2 } '|sort|uniq)

Si es una rolling:

distribucion=”testing”

archivos=$(sudo apt-get upgrade -dys|grep -e "Inst "|grep -e "$distribucion" |awk '{ print $2 }'|grep -v -e ^lib -e ^wine -e ^python -e ^plasma -e ^ruby -e ^glib)

for i in $(apt-cache --no-all-versions show $archivos| awk '$1 == "Package:" { p = $2 } $1 == "Size:" { printf("%10d %s\n", $2, p) }' |sort -n| awk ' { print $2 } '); do echo -e "\n\n\n\n\n\n================ Simulación"; sudo apt-get install -s $i; echo -e "================"; read -p "¿Quiere proceder? (s) " A; [ "x$A" == "xs" ] && sudo apt-get install -y -d $i&& sudo apt-get install -y $i; done

Si se quiere listar los paquetes actualizables, quitando los que comiencen con lib, wine, python y plasma (Ojo que también se incluyen los de libreoffice): sudo apt-get upgrade -dys|grep -e "Inst " |awk '{ print $2 }'|grep -v -e ^lib -e ^wine -e ^python -e ^plasma Para ver la dirección de descarga de los paquetes a actualizar (tarda un poco): sudo apt-get dist-upgrade -s |grep "Inst"| awk ' { print $2 } '|sort|uniq | xargs -l1 sudo apt-get install -dqqy --print-uris | awk -F "'" ' { print $2 } '|sort|uniq Para ver por el tamaño de descarga (sin conexión necesaria): apt-cache --no-all-versions show $(sudo apt-get dist-upgrade -s |grep "Inst"| awk ' { print $2 } '|sort|uniq) | awk '$1 == "Package:" { p = $2 } $1 == "Size:" { printf("%10d %s\n", $2, p) }' |sort -nr Si se elimina la útlima r, se obtiene de menor a mayor, pudiendo aprovecharse para poner a descargar primero los más pequeños: apt-cache --no-all-versions show $(sudo apt-get dist-upgrade -s |grep "Inst"| awk ' { print $2 } '|sort|uniq) | awk '$1 == "Package:" { p = $2 } $1 == "Size:" { printf("%10d %s\n", $2, p) }' |sort -n| awk ' { print $2 } '| xargs -l1 sudo apt-get install --no-install-recommends -qdy Quitando la “-qdy”, se irían actualizando, preguntando solo si es necesario instalar alguna dependecia adicional para algún paquete. Si se quiere que siempre pregunte antes de instalar: for i in $(apt-cache --no-all-versions show $(sudo apt-get dist-upgrade -s |grep "Inst"| awk ' { print $2 } '|sort|uniq) | awk '$1 == "Package:" { p = $2 } $1 == "Size:" { printf("%10d %s\n", $2, p) }' |sort -n| awk ' { print $2 } '); do echo " ================ Simulación" sudo apt-get install -s $i echo "================ " read -p "¿Quiere proceder? (s) " A; [ "x$A" == "xs" ] &&  sudo apt-get install $i done Para actualizar sin incluir algunas bibliotecas: apt-cache --no-all-versions show $(sudo apt-get dist-upgrade -s |grep "Inst"| awk ' { print $2 } '|grep -v -e ^lib -e ^wine -e ^python -e ^plasma|sort|uniq) | awk '$1 == "Package:" { p = $2 } $1 == "Size:" { printf("%10d %s\n", $2, p) }' |sort -n|awk '{ print $2 }'|xargs -l1 sudo apt-get install Si se quiere verificar en línea el tamaño, se puede combinar con: | xargs -l1 curl -sI| awk '/Content-Length/ { print $2 }' http://askubuntu.com/questions/35956/how-to-determine-the-size-of-a-package-in-terminal-prior-to-downloading

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: