Packup – Un script para compartir rápidamente las actualizaciones a través de una unidad USB en Arch

Quickly Share Updates Via USB Drive In Arch Linux

Este método te ayudará a instalar paquetes en cualquier sistema Arch Linux sin conexión. Al hacer esto, puedes ahorrar mucho tu ancho de banda de Internet si tienes muchos sistemas Arch Linux. No es necesario descargar de forma repetitiva paquetes o actualizar todos los sistemas Arch Linux en su red. Basta con actualizar un sistema Arch Linux (vamos a llamarlo como un sistema principal o servidor) y pasar las actualizaciones descargadas desde el sistema principal a todos los otros sistemas de Arch en la red. No importa si los otros sistemas deben tener conexión a Internet o no. Aquí es donde Packup viene muy bien. Es un script simple que te permite compartir las actualizaciones a través de memoria USB o disco duro externo. El principal objetivo de la utilidad Packup es reducir el ancho de banda de Internet o permitir que cualquier sistema fuera de línea de una manera posible utilizando pacman y pacaur como gestores de paquetes. Este breve tutorial describe cómo compartir actualizaciones rápidamente a través de USB o unidad externa a cualquier sistema Arch Linux sin conexión.
Para el propósito de demostración de esta guía, utilizaremos dos sistemas Arch Linux, uno con conexión a Internet y otro sin conexión a Internet. Y, también necesitamos una memoria USB o disco duro externo con suficiente espacio disponible.

Pasos a seguir en ambos sistemas (sistemas Offline y Online):

Instala NodeJS en todos los sistemas. NodeJS está disponible en repositorios predeterminados, por lo que puedes instalarlo utilizando Pacman como se muestra a continuación.

sudo pacman -S nodejs npm

Si deseas transferir paquetes AUR, debes tener instalado Pacaur en tu sistema Arch Linux.

Pasos a seguir en el sistema habilitado para Internet (en línea)

Ve al sistema conectado a Internet, y conecta tu unidad USB o externa. Cambia a tu unidad USB y clona el proyecto Packup.

cd /run/media/sk/bce5f14a-097a-41c5-88ec-c38e20410182/
git clone https://github.com/cookiengineer/packup;

Los contenidos del repositorio Packup GitHub serán clonados en un directorio llamado “Packup” en tu unidad USB o externa.

Cambia al directorio “Packup”:

cd packup/

Ejecuta el siguiente comando para hacer una copia de seguridad de todos los paquetes locales disponibles y del índice del paquete en la unidad USB.

./backup.js;

 

Esto tomará un tiempo dependiendo de los paquetes de números disponibles en tu sistema.

Por último, ejecuta el siguiente comando:

sync;

 

Debes ejecutar el comando anterior antes de quitar la unidad USB.

Ahora, quita con seguridad la unidad USB y ve a tu sistema sin conexión.

Pasos para hacer en el sistema sin conexión:

Conecta la unidad USB y ve al directorio “Packup” en tu unidad USB. He montado mi unidad USB en /mnt.

cd /mnt/packup/

A continuación, actualiza el índice de pacman mediante el comando:

sudo cp ./sync/*.db /var/lib/pacman/sync/;

 

A continuación, ejecuta el siguiente comando:

./upgrade.js;

Este comando mostrará el comando pacman para actualizar manualmente desde los paquetes locales (usando pacman -U).

:: Execute this to upgrade from local package cache:

cd "/run/.../packup"; sudo pacman -U gcc-7.1.1-4-x86_64.pkg.tar.xz gdb-common-8.0-1-x86_64.pkg.tar.xz

Además, si tienes paquetes que deben descargarse de la computadora principal (sistema habilitado para Internet), mostrará el comando que debe ejecutar en la otra computadora (usando “pacman -Sw -cachedir”).

Por lo tantos, puede utilizar el comando anterior en un sistema conectado a Internet y descargar los paquetes que faltan y ejecutarlos de nuevo en el sistema sin conexión para actualizar los paquetes. ¿Suena genial? ¡En efecto!

:: Execute this to download upgrades into local package cache:

cd "/run/.../packup"; sudo pacman -Sw --cachedir "/run/.../packup" geoip ghostscript;

Una vez que haya terminado con Packup, puedes limpiar los paquetes antiguos de tu unidad USB como se muestra a continuación.

cd /path/to/usb/drive/packup/
./clean.js;
sync;

No olvides ejecutar el comando “sync” antes de extraer la unidad USB.

Fuente

Comparte

(Artículo visitado 1 veces, 1 visitas hoy)

Responder

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

  Suscribirse  
Notificarme de