Difference between revisions of "Offline installation of packages (Español)"

From ArchWiki
Jump to: navigation, search
(wikify some external links, use https for archlinux.org)
m (Ajustando la plantilla Sugerencia (mejor traducción del inglés 'tip'))
(One intermediate revision by the same user not shown)
Line 2: Line 2:
 
[[en:Offline Installation of Packages]]
 
[[en:Offline Installation of Packages]]
 
[[ru:Offline Installation of Packages]]
 
[[ru:Offline Installation of Packages]]
:''Un pequeño howto para la instalación de paquetes sin conexion a internet. Esta basado en el post de [[User:Byte|byte]] de [https://bbs.archlinux.org/viewtopic.php?id=30431 este] hilo del foro y usa KDE como ejemplo.''
+
:''Un pequeño tutorial para la instalación de paquetes sin conexión a internet. Esta basado en la publicación del usuario [[User:Byte|Byte]] de [https://bbs.archlinux.org/viewtopic.php?id=30431 este] hilo del foro, y usa KDE como ejemplo.''
  
 
== Método ==
 
== Método ==
  
Descarga los paquetes de las bases de datos en una computadora con conexión a internet y transferilos a tu maquina.
+
Descargar los paquetes de las bases de datos en una computadora con conexión a internet y transferirlos a la máquina a instalar:
  
 
Para i686:
 
Para i686:
Line 19: Line 19:
  
  
Los siguientes pasos te aseguraran que estas trabajando con una lista de paquetes al dia, como si ejecutaras <code>pacman -Sy</code>.
+
Los siguientes pasos aseguran que se está trabajando con una lista de paquetes al día, como si se ejecutara (online) <code>pacman -Sy</code>.
  
En el equipo PC, hace lo siguiente como Root:
+
En el equipo PC, hacer lo siguiente como superusuario (root):
 
<pre>
 
<pre>
 
cd /var/lib/pacman/
 
cd /var/lib/pacman/
Line 46: Line 46:
 
  pacman -Sp --noconfirm {package-name} > pkglist
 
  pacman -Sp --noconfirm {package-name} > pkglist
  
{{Tip|Asegurate de que tenes habilitado al menos uno de los servidores definidos en el archivo /etc/pacman.d/mirrorlist. Si no todo lo que vas a conseguir es el siguiente error:
+
{{Tip_(Español)|Asegurarse de tener habilitado al menos uno de los servidores definidos en el archivo /etc/pacman.d/mirrorlist. Si no es así, el sistema devolverá el siguiente error:
 
+
  
 
error: no database for package: {package-name} }}
 
error: no database for package: {package-name} }}
  
Para actualizar un nuevo sistema base de Arch Linux después de una instalación podés escribir:
+
Para actualizar un nuevo sistema base de Arch Linux después de una instalación, se ejecuta la siguiente orden:
pacman -Sup --noconfirm > pkglist
+
 
 +
pacman -Sup --noconfirm > pkglist
 +
 
 +
Después, se abre el archivo con un editor, y se borran las líneas que no son direcciones URL.
  
Ahora abrí ese archivo de texto con un editor y borrá todas las lineas que no son direcciones de internet.
+
Posteriormente, se lleva esa lista a un equipo con conexión a internet, y se realiza la descarga de cada URL de forma manual, o ejecutando:
Después lleva esa lista con vos a un lugar donde tengas conexión a internet y, o descargas los paquetes manualmente o haces:
+
  
wget -nv -i ../pkglist
+
<code> wget -nv -i ../pkglist</code>
  
en un directorio vacio. Lleva los paquetes terminados en .pkg.tar.gz/xz de vuelta a tu PC (o la que no tiene internet), guardalos en /var/cache/pacman/pkg y finalmente ejecuta:
+
en un directorio vacío. Por último, se lleva los paquetes (archivos .pkg.tar.gz/xz) al directorio del equipo a instalar /var/cache/pacman/pkg, y para instalarlos se ejectuta:
  
 
  pacman -S {package-name}
 
  pacman -S {package-name}
  
 
== A slightly contrived example ==
 
== A slightly contrived example ==
Escenario: tenés dos maquinas con Archlinux, 'Al' (con conexión a internet) y 'Bob' (sin conexión a internet), y vos necesitas instalar algunos paquetes de Nvidia y sus dependencias en 'Bob'. Digamos que los paquetes de los que hablamos son nvidia, nvidia-utils y xf86-video-nouveau, pero querés usar un directorio dedicado en lugar de /var/cache/pacman/pkg/ y un repositorio dedicado llamado nvidia (en lugar de los usuales core, extra, etc).
+
Ejemplo: teniendo dos máquinas con Archlinux, 'Al' (con conexión a internet) y 'Bob' (sin conexión a internet), y se necesita instalar los paquetes de Nvidia y sus dependencias en 'Bob'. Digamos que los paquetes de los que hablamos son nvidia, nvidia-utils y xf86-video-nouveau, y se desea usar un directorio dedicado en lugar de /var/cache/pacman/pkg/, creando un repositorio llamado 'nvidia' (en lugar de los usuales core, extra, etc).
  
 
=== Generar una lista de los paquetes a descargar ===
 
=== Generar una lista de los paquetes a descargar ===
Esto puede ser hecho por cualquier maquina que tenga instalado Archlinux y la base de datos de los repositorios actualizados (véase más arriba enlaces para los archivos de base de datos); para crear la lista de los enlaces de los paquetes requeridos usa:
+
Esto puede ser hecho por cualquier máquina que tenga instalado Archlinux y la base de datos de los repositorios actualizados (véase más arriba enlaces para los archivos de base de datos); para crear la lista de los enlaces de los paquetes requeridos usa:
 
<pre>
 
<pre>
 
pacman -Sp nvidia nvidia-utils xf86-video-nouveau > /path/to/nvidia.list
 
pacman -Sp nvidia nvidia-utils xf86-video-nouveau > /path/to/nvidia.list
Line 87: Line 88:
  
 
=== Transferir los paquetes ===
 
=== Transferir los paquetes ===
Ahora que todos los paquetes han sido descargados, no necesitas mas de 'Al'. Copia el contenido de /path/to/nvidia a una carpeta cache de paquetes de nvidia temporal en 'Bob', digamos que esa carpeta es /home/me/nvidia:
+
Ahora que todos los paquetes han sido descargados, 'Al' deja de ser necesario. Se copia el contenido de /path/to/nvidia a una carpeta cache de paquetes de nvidia temporal en 'Bob', por ejemplo '/home/me/nvidia':
 
<pre>
 
<pre>
 
cp /path/to/nvidia/* /home/me/nvidia
 
cp /path/to/nvidia/* /home/me/nvidia
 
</pre>
 
</pre>
  
Siguiente, pacman debe ser consciente de este nuevo repositorio; simplemente agrega las siguientes lineas al principio de tu archivo pacman.conf:
+
Posterior a este paso, se debe informar a Pacman de la existencia de este nuevo repositorio; se realiza mediante la adición de las siguientes líneas en cualquier lugar del archivo '''pacman.conf''' (ubicado en /etc):
 
<pre>
 
<pre>
 
[nvidia]
 
[nvidia]
 
Server = file:///home/me/nvidia
 
Server = file:///home/me/nvidia
 
</pre>
 
</pre>
Ahora, enviale a pacman instrucciones para sincronizar con el repositorio dedicado que hemos creado:
+
Ahora, se sincroniza Pacman para recibir la información del nuevo repositorio:
 
<pre>
 
<pre>
 
pacman -Sy  
 
pacman -Sy  
 
</pre>
 
</pre>
Este comando encuentra el archivo nvidia.db.tar.gz en /home/me/nvidia y lo expande a /var/lib/pacman/sync/nvidia para crear una base de datos de paquetes contenidos en el repositorio nvidia.
+
Esta orden encuentra el archivo nvidia.db.tar.gz en /home/me/nvidia y lo expande a /var/lib/pacman/sync/nvidia, para crear una base de datos de paquetes contenidos en el repositorio nvidia.
  
  
 
=== Instalar los paquetes ===
 
=== Instalar los paquetes ===
Finalmente instala los paquetes:
+
Finalmente se instalan los paquetes:
 
<pre>
 
<pre>
 
pacman -S nvidia nvidia-utils xf86-video nouveau
 
pacman -S nvidia nvidia-utils xf86-video nouveau

Revision as of 16:40, 27 October 2013

Un pequeño tutorial para la instalación de paquetes sin conexión a internet. Esta basado en la publicación del usuario Byte de este hilo del foro, y usa KDE como ejemplo.

Método

Descargar los paquetes de las bases de datos en una computadora con conexión a internet y transferirlos a la máquina a instalar:

Para i686:

Para x86_64:


Los siguientes pasos aseguran que se está trabajando con una lista de paquetes al día, como si se ejecutara (online) pacman -Sy.

En el equipo PC, hacer lo siguiente como superusuario (root):

cd /var/lib/pacman/
mkdir -p sync
cd sync

mkdir -p core
rm -r core/*
cd core
tar -xzf {path-to-download}/core.db.tar.gz

cd ..
mkdir -p extra
rm -r extra/*
cd extra
tar -xzf {path-to-download}/extra.db.tar.gz

cd ..
mkdir -p community
rm -r community/*
cd community
tar -xzf {path-to-download}/community.db.tar.gz
pacman -Sp --noconfirm {package-name} > pkglist
Sugerencia: Asegurarse de tener habilitado al menos uno de los servidores definidos en el archivo /etc/pacman.d/mirrorlist. Si no es así, el sistema devolverá el siguiente error: error: no database for package: {package-name}

Para actualizar un nuevo sistema base de Arch Linux después de una instalación, se ejecuta la siguiente orden:

pacman -Sup --noconfirm > pkglist

Después, se abre el archivo con un editor, y se borran las líneas que no son direcciones URL.

Posteriormente, se lleva esa lista a un equipo con conexión a internet, y se realiza la descarga de cada URL de forma manual, o ejecutando:

wget -nv -i ../pkglist

en un directorio vacío. Por último, se lleva los paquetes (archivos .pkg.tar.gz/xz) al directorio del equipo a instalar /var/cache/pacman/pkg, y para instalarlos se ejectuta:

pacman -S {package-name}

A slightly contrived example

Ejemplo: teniendo dos máquinas con Archlinux, 'Al' (con conexión a internet) y 'Bob' (sin conexión a internet), y se necesita instalar los paquetes de Nvidia y sus dependencias en 'Bob'. Digamos que los paquetes de los que hablamos son nvidia, nvidia-utils y xf86-video-nouveau, y se desea usar un directorio dedicado en lugar de /var/cache/pacman/pkg/, creando un repositorio llamado 'nvidia' (en lugar de los usuales core, extra, etc).

Generar una lista de los paquetes a descargar

Esto puede ser hecho por cualquier máquina que tenga instalado Archlinux y la base de datos de los repositorios actualizados (véase más arriba enlaces para los archivos de base de datos); para crear la lista de los enlaces de los paquetes requeridos usa:

pacman -Sp nvidia nvidia-utils xf86-video-nouveau > /path/to/nvidia.list

el archivo nvidia.list contendrá enlaces de los paquetes listados y de otros que son sus dependencias.

Descarga de los paquetes y sus dependencias

Obviamente esto requiere una conexión a internet, entonces en 'Al' crea una carpeta llamada /path/to/nvidia para los archivos y ejecuta:

wget -P /path/to/nvidia/ -i /path/to/nvidia.list

Crear una base de datos de repositorios solo para esos paquetes

Esto puede ser hecho en 'Al' o 'Bob' usando el comando repo-add que viene con pacman; primero, anda al directorio /path/to/nvidia donde habían sido descargados los paquetes, luego crea el paquete de base de datos llamado nvidia.db.tar.gz:

cd /path/to/nvidia
repo-add nvidia.db.tar.gz *.pkg.tar.gz

Transferir los paquetes

Ahora que todos los paquetes han sido descargados, 'Al' deja de ser necesario. Se copia el contenido de /path/to/nvidia a una carpeta cache de paquetes de nvidia temporal en 'Bob', por ejemplo '/home/me/nvidia':

cp /path/to/nvidia/* /home/me/nvidia

Posterior a este paso, se debe informar a Pacman de la existencia de este nuevo repositorio; se realiza mediante la adición de las siguientes líneas en cualquier lugar del archivo pacman.conf (ubicado en /etc):

[nvidia]
Server = file:///home/me/nvidia

Ahora, se sincroniza Pacman para recibir la información del nuevo repositorio:

pacman -Sy 

Esta orden encuentra el archivo nvidia.db.tar.gz en /home/me/nvidia y lo expande a /var/lib/pacman/sync/nvidia, para crear una base de datos de paquetes contenidos en el repositorio nvidia.


Instalar los paquetes

Finalmente se instalan los paquetes:

pacman -S nvidia nvidia-utils xf86-video nouveau

Enlaces y fuentes

Esto es un compilado de los foros, gracias a Heller_Barbe y byte