Cómo hacer una unidad USB como repositorio local


26

Copié la carpeta "archivos" (/ var / cache / apt / archives) de otra computadora que estaba completamente actualizada y tenía algunos paquetes que quiero. ¿Alguien puede guiarme sobre cómo agregar mi unidad USB en la lista de repositorios para que pueda instalar esos paquetes desde ella?

Gracias.


Respuestas:


17

Debe crear un repositorio en un directorio local y apuntar una file:entrada de URI a sus fuentes APT (consulte la ESPECIFICACIÓN URI en man sources.list):

deb file:/home/user/repository

Para que apt funcione, debe crear una lista de paquetes (Packages.gz) para que APT los consuma. Esto se explica en detalle aquí . Para su caso, debería ser bastante fácil. Le remito a la sección "Repositorios triviales" del manual. Debería ser tan fácil como cambiar a, por ejemplo, / home / user / repository y ejecutar

dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz

Luego, después de a apt-get update, los paquetes deberían estar disponibles. Quizás si desea que esta fuente tenga prioridad sobre otras, debe asignarle una prioridad más alta; para eso vea las páginas del manual de APT.


Nota: el directorio local en cuestión también puede ser una unidad USB, como / media / usbdrive / repository
loevborg

Escribí un script rápido y sucio que demuestra un repositorio local rápido y sucio: gist.github.com/linuxluser/3af5fd16dde41b82972a
Dave

1
Acabo de llegardpkg-scanpackages: error: binary directory binary not found
Evan Carroll

6

No creo que haya una manera de agregar esto como un repositorio, pero puede usarlo para instalar los paquetes copiando el contenido en / var / cache / apt / archives. Para hacer esto, presione alt-f2, ingrese gksudo nautilusy haga la copia. Una vez que lo haya hecho, asegúrese de cerrar la ventana del administrador de archivos porque no es una buena idea usar el administrador de archivos como root, excepto para las tareas que lo requieren absolutamente.

Para ver / instalar estos paquetes, ejecute Sistema -> Administración -> Synaptic Package Manager, haga clic en el botón 'Origen' y elija 'Local' de la lista.

En el futuro, es mejor usar un programa llamado aptoncd que se puede instalar desde los repositorios. Se puede usar para crear una imagen de CD que se puede agregar como fuente de software. Esta imagen se puede transportar en un dispositivo USB.

La forma más fácil de agregar la imagen como fuente de software es grabarla en un CD / DVD. Luego debe ir a Sistema -> Administración -> Fuentes de software, hacer clic en 'Otro software' y hacer clic en 'Agregar CD-ROM ...'

Si desea utilizar la imagen ISO como fuente de software sin grabarla, el proceso será un poco más complicado. Deberá abrir un terminal Aplicaciones -> Accesorios -> Terminal y ejecutar estos comandos:

sudo mkdir /aptoncd-mountpoint
sudo mount /media/USB/aptoncd.iso ~/aptoncd-mountpoint -oloop
sudo apt-cdrom -d=/aptoncd-mountpoint add

(fuente: http://www.debianhelp.org/node/10486 )

Si desea descargar paquetes en una computadora (Linux, Mac o Windows) e instalarlos en un sistema Ubuntu, puede usar keryx .


1
No creo que esto sea exacto. Hay un archivo: // tipo URI. Hacer una imagen iso es realmente demasiado complicado para esta simple tarea.
loevborg

1
No funciona Todavía intenta montar / dev / sr0.
int_ua

1

Si desea utilizar una imagen de CD / USB / ISO oficial de Ubuntu como repositorio, puede agregar esto a /etc/apt/sources.list:

deb file:/media/usb xenial main restricted

primero, necesita montar su imagen en / media / usb (por ejemplo) y cambiar xenialsu versión de imagen.

La edición del servidor solo contiene mainy restricted, mientras que la versión de escritorio contiene universey multiverse.

Mi caso personal:

Después de instalar Ubuntu (en un servidor sin internet), olvidé marcar la casilla "Servidor OpenSSH" para que la instalación finalice sin él. Lo intenté, dpkg -i openssh....debpero como requiere varias dependencias, fue mejor hacerlo de manera adecuada. Al final, la respuesta seleccionada en esta página me ayudó a descubrir cómo usar mi imagen como repositorio y funcionó sin problemas.

Esto puede ser útil si está buscando una manera de degradar un paquete a una versión específica incluida en una imagen.


0

Tiene copias de seguridad de los archivos del paquete (que ha descargado en otra computadora) en su unidad USB. En esta situación, basta con crear una carpeta en su directorio personal, por ejemplo, ARCHbackUP. Copie todos los archivos desde USB a esta carpeta y luego siga los códigos a continuación:

cd ~
sudo chown -R username:username ARCHbackUP/.
genisoimage -o ARCHbackUP.iso -R -J ~/ARCHbackUP
mv -u ./ARCHbackUP.iso ~/
sudo apt-get clean #cleans the /var/cache/apt/archives directory.
sudo mkdir /mnt/load_iso
sudo mount -o loop ARCHbackUP.iso /mnt/load_iso #mounts the iso archive.
cd /mnt/load_iso #taking you in the mounted directory.
sudo cp -r -n ./. /var/cache/apt/archives
cd ~
sudo umount /mnt/load_iso #unmount the mounted iso archive.
sudo rmdir /mnt/load_iso #deletes the mount point load_iso.

Ahora todos los archivos de paquete y actualizaciones que ha descargado están en la apt-get installruta de búsqueda de su sistema. Ahora abra su terminal y emita sudo apt-get install package_namepara instalar nuevos paquetes o sudo apt-get upgradeactualizar los paquetes instalados sin conexión.



0

Realmente estaba buscando lo mismo para Debian Jessie, pero me topé con este sitio y encontré que este hilo era más útil que otros. Esto es lo que podría funcionar para algunos compañeros de ubuntu / debian-variant.

Primero, necesita montar su USB en su administrador de archivos (probablemente, Nautilus). Por lo general, se monta automáticamente con la configuración predeterminada.

Como sugirió @lepe, edité el /etc/apt/sources.list y agregué la siguiente línea después de algunos retoques:

deb file:/media/your_username/DEBIAN\ 8_1_/dists/jessie jessie main contirb

Funcionó a las mil maravillas. Espero que esto ayude a alguien, aunque esta publicación es un poco antigua.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.