Algunas situaciones requieren la instalación manual de un paquete local mediante dpkg -i <packagename>
. A veces puede ser más útil aprovechar la funcionalidad de apt
ese paquete, por lo que la pregunta es:
¿Cómo se crea rápidamente un repositorio local para paquetes aleatorios utilizando una distribución de Linux basada en Debian, como Xubuntu 13.04 / Ubuntu?
dpkg -i <packagename>
conapt-get -f install
para obtener los paquetes necesarios. Además, lo habitual para crear repositorios aptos para Debian es reprepro.apt
con--fix-broken
después de instalar un paquete local condpkg -i
? ¿No se encargaría dpkg de eso? Yo leí que puede ser necesaria la primera vez que se ejecute apt? @ FM y Gilles: Acerca de reprepro . Parece útil si pudiera hacer que funcione (no estoy seguro sobre la estructura del directorio, el contenido de 3 archivos o los parámetros en tiempo de ejecución). Intentará nuevamente y actualizará o publicará la pregunta completa.dpkg
no resuelve dependencias, pero loapt
hace.dpkg
advertirá sobre dependencias rotas, pero es de bajo nivel, por lo que no intentará solucionarlas. Eldpkg -i *.deb
seguido porapt-get -f install
es el procedimiento estándar. Hay un error en la lista de deseos paraapt
manejar el caso de la instalación del paquete local, e incluso hay un parche, creo, pero aún no se ha implementado. Ver apt-get install también podría instalar archivos de paquetes locales , originalmente archivados en 1999.Respuestas:
Esto debe distinguirse de la situación en la que intenta replicar un árbol de paquete completo de un repositorio oficial y ajustar las prioridades de las fuentes . Los paquetes aleatorios significan paquetes virtuales, paquetes que se compilan localmente o se copian poco a poco con fines de prueba. Aquí hay una configuración simple basada en documentación ahora obsoleta .
Primero, haga un directorio para alojar los paquetes:
Luego mueva sus archivos de paquete .deb allí. Ejecute este comando desde el directorio arriba del que acabamos de crear (¡asegúrese de que los permisos lo permitan!):
Ahora crea un archivo con la extensión
.list
de/etc/apt/sources.list.d/
los contenidos:y actualice la base de datos apt:
En este punto, los paquetes en nuestro repositorio local pueden instalarse como cualquier otro paquete que utilice
apt-get install <packagename>
. Cuando se agregan nuevos paquetes al repositorio local, eldpkg-scanpackages
comando prescrito debe emitirse nuevamente para actualizar el archivo Packages.gz yapt
debe actualizarse antes de que los nuevos paquetes estén disponibles. Esperemos que esto pueda ser útil para fines de prueba .fuente
[trusted=yes]
entredeb
y elfile:///
URI (vea lasources.list(5)
página del manual), de lo contrarioapt-get update
falla debido a la falta de firma.Si desea crear un repositorio con la estructura completa que necesita para herramientas como debootstrap, la forma más simple que he encontrado es:
Crea un directorio de repositorio.
Crea un subdirectorio conf.
Cree un archivo / opt / debian / conf / distributions con contenido como este (ajústelo según corresponda para la distribución que está utilizando):
Importa tu paquete con reprepro.
Importe un montón de paquetes con un shell for-loop, por ejemplo, todo desde su caché APT:
Esto creará un archivo sin firmar. Se puede usar con debootstrap con la opción --no-check-gpg.
fuente