Tengo una computadora Ubuntu sin internet y una computadora Ubuntu con internet. El que no tiene internet requiere la instalación de un controlador a través de ndiswrapper. El problema es que ndiswrapper-dkms
depende de dkms
qué depende de algunas cosas, y esas pocas cosas dependen de muchas cosas, que dependen de más, y así sucesivamente. He descargado manualmente 92 dependencias hasta ahora y todavía necesito más. He estado usando el código
for i in $(apt-cache depends <package> | grep -E 'Depends|Recommends|Suggests' | cut -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done
que hace el trabajo pero solo para las dependencias de un paquete, no las dependencias de las dependencias del paquete, etc. Esto se ha convertido en una pelea de varias horas para obtener todos los paquetes y es realmente tedioso. He estado ejecutando este código para descargar los archivos .deb a la unidad USB en mi computadora en línea, luego me mudé a la computadora fuera de línea para insertar la unidad, luego ejecuté sudo apt install ./*
en la carpeta y esperaba lo mejor. Por lo general, escupe algo como esto:
...
The following packages have unmet dependencies:
binutils : Depends: binutils-common (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
Depends: libbinutils (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
Depends: binutils-x86-64-linux-gnu (= 2.30-21ubuntu1~18.04.1) but 2.30-21ubuntu1~18.04 is to be installed
cpp-doc : Depends: cpp-7-doc (>= 7.4.0-1~) but it is not installable
file : Depends: libmagic1 (= 1:5.32-2ubuntu0.2) but 1:5.32-2ubuntu0.1 is to be installed
g++-7 : Depends: libstdc++-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
g++-multilib : Depends: g++-7-multilib (>= 7.4.0-1~) but it is not installable
gcc-7-multilib : Depends: lib32gcc-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libx32gcc-7-dev (= 7.4.0-1ubuntu1~18.04) but it is not installable
gfortran : Depends: gfortran-7 (>= 7.4.0-1~) but it is not installable
glibc-doc : Depends: glibc-doc-reference (>= 2.18) but it is not installable
libasan4-dbg : Depends: libasan4 (= 7.4.0-1ubuntu1~18.04) but it is not installable
libatomic1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libatomic1 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libbabeltrace1 : Depends: libdw1 (>= 0.126) but it is not installable
libcc1-0 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libcilkrts5-dbg : Depends: libcilkrts5 (= 7.4.0-1ubuntu1~18.04) but it is not installable
libfl-dev : Depends: libfl2 (= 2.6.4-6) but it is not installable
libgcc-7-dev : Depends: libitm1 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libatomic1 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libasan4 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: liblsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libtsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libubsan0 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libcilkrts5 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
Depends: libmpx2 (>= 7.4.0-1ubuntu1~18.04) but it is not installable
libgcc1 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libgcc1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libgomp1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libgomp1 (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libitm1-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libitm1 (= 8.3.0-6ubuntu1~18.04) but it is not installable
liblsan0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: liblsan0 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libmpx2-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libmpx2 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libquadmath0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libquadmath0 (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libstdc++6 : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
libtsan0-dbg : Depends: gcc-8-base (= 8.3.0-6ubuntu1~18.04) but 8.2.0-1ubuntu2~18.04 is to be installed
Depends: libtsan0 (= 8.3.0-6ubuntu1~18.04) but it is not installable
libubsan0-dbg : Depends: libubsan0 (= 7.4.0-1ubuntu1~18.04) but it is not installable
libumfpack5 : Depends: libcholmod3 (>= 1:4.5.2) but it is not going to be installed
m4 : Depends: libsigsegv2 (>= 2.9) but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
¿Alguien sabe de un método para volcar todos los archivos .deb para dependencias de paquetes y todas las subdependencias en una sola carpeta para salvar mi cordura? ¡Gracias!
fuente
Recommends
y enSuggests
lugar de soloDepends
espero que termines instalando todo Internet sin importar desde qué paquete comiences.Respuestas:
Eche un vistazo a
apt-offline
una forma (más) fácil de usar de administrar dependencias fuera de línea. Necesitará instalarlo primero descargando el archivo y transfiriéndolo a su máquina fuera de línea. Puede usar algo comosudo apt download apt-offline
manejar la descarga. La instalación se puede hacer usandosudo dpkg -i /path/to/your/debfile.deb
la máquina fuera de línea y solosudo apt install
en su máquina en línea.Una vez hecho esto, deberá preparar un montón de cosas para la instalación real.
Comience creando una firma de su sistema fuera de línea que le solicite instalar los
ndiswrapper
paquetes:Copie el archivo en su máquina en línea y ejecute el siguiente comando en la máquina en línea para descargar todos los archivos necesarios:
Mueva el paquete zipfile nuevamente a su máquina fuera de línea y ejecute este comando en él:
Debería haber
ndiswrapper-dkms
instalado en este punto y todo debería estar bien.Si su
apt-offline
paquete no se instala, tome nota de los paquetes dependientes que fallaron y resuélvalos uno por uno (copiando manualmente según sea necesario). El infierno de dependencia es molesto, pero desafortunadamente ese es uno de los problemas con un sistema más fuera de línea.Usted puede tratar de echar un vistazo a
apt-rdepends
así a generar una completa dependencia gráfico. Combine esto conapt download
y podría tener una solución alternativa al problema, aunque mis pruebas con esto no han sido concluyentes por decir lo menos.fuente