Dependencias de fuentes y archivos *.ddeb
Dependencias de fuentes y archivos *.ddeb
Hola buenas, tengo una pregunta de la que ni siquiera he podido leer nada en internet, excepto un pequeño apunte de linea y media en inglés.
Estoy intentando instalar aplicaciones a través de las fuentes para profundizar en más Debian y Linux en general, la pregunta es:
¿Por que requiere cubrir dependencias una aplicación ya instalada, de la que únicamente he descargado las fuentes para reinstall ?, hablo en este caso de vim. Si la respuesta es porque las necesita para compilar y no para ejecutar, lo entiendo perfectamente, pero al intentar desinstalarlas me he encontrado unos paquetes *.deb y unos *.debb.
¿Para desinstalarlas he de desinstalar cada uno de los paquetes *.deb que me aparecen en el directorio donde hice la petición de los mismos?
¿Que son esos archivos *.ddeb?
Agradecería mucho la ayuda que me puedan dar y en este caso creo que a muchos más, porque no hay nada por ahí.
Muchas gracias y un saludo
Cito de un PDF:
"Dependencias de paquetes: Las dependencias de un paquete, son aquellos paquetes binarios de los que este depende para poder funcionar en determinada plataforma de hardware y software. Existen dos tipos de dependencias, las de tiempo de construcción (build dependency) y las de tiempo de ejecución (runtime dependency).
Las dependencias de construcción son aquellos paquetes binarios que se requiere que estén instalados para poder llevar a cabo el proceso de construcción de un paquete binario a partir de un paquete fuente.
Por otro lado, las dependencias de tiempo de ejecución son aquellos paquetes que se requieren que estén instalados en el sistema operativo para que determinada aplicación, una vez instalada, pueda ejecutarse correctamente."
Ejemplo:
Dependencies (6)
git (git-git) (make)
rustup (rustup-git) (make)
...
$ makepkg -si
==> Creando el paquete: leftwm 1:0.2.3-1 (mar 09 jun 2020 19:08:20)
==> Comprobando dependencias mientras se ejecuta...
==> Comprobando dependencias mientras se compila...
==> Instalando las dependencias que faltan...
[sudo] password for user:
==> ERROR: «pacman» ha fallado al instalar las dependencias que faltaban.
==> Dependencias que faltan:
-> rustup
==> ERROR: No se pudieron resolver todas las dependencias.
Lo que significa que necesita esta dependencia para construir el software, pero no para ejecutarlo. Una vez que haya creado su paquete, puede eliminar las dependencias de creación si lo desea, y el software seguirá funcionando.
Espero que alguien aclare más sus dudas con Debian.
Mi error al no ver la fecha de consulta del OP ...
1.- ArchLinux -> los paquetes se crean usando makepkg -> se busca un PKGBUILD -> se obtiene un pkgname.pkg.tar.xz o *.zst -> el objetivo, que pacman pueda administrar fácilmente los paquetes, ya sean de los repositorios oficiales o de las propias compilaciones del usuario.
Resumiendo, léase la documentación de su distribución ... Que re-instalar se esta haciendo más frecuente.
2.- Debian no es la escuela donde recibir atención automática de los profesores.
Debes ser capaz de aprender muchas cosas por ti mismo.
La atención por parte de otros voluntarios es un recurso muy escaso ... Y añado, bastante en nuestro idioma ...
Cito del mismo PDF:
"Paquete fuente: Se conoce como paquete fuente o paquete de código fuente a un paquete que contiene los elementos necesarios para construir a un paquete binario. En el caso de los paquetes fuentes que contienen aplicaciones de código abierto o libres, estos contienen el código fuente de las mismas, así como el resto de los recursos que estas puedan requerir para su compilación, incluyendo imágenes, archivos de configuración, scripts para la creación de bases de datos.... En el caso de las distribuciones basadas en Debian GNU/Linux, los paquetes fuentes conforman un grupo de archivos: un archivo es el que trae empaquetado el código fuente original desarrollado por el autor original del programa o aplicación; otro contiene las modificaciones o parches del mantenedor o desarrollador de Debian. Este segundo paquete contiene los datos y scripts con las reglas requeridas por las herramientas de empaquetado, construcción e instalación de paquetes. Además se provee un archivos de descripción que contiene información sobre el conjunto de paquetes fuentes, así como firmas de verificación de integridad de los mismos, datos del mantenedor, para qué versión de la distribución de GNU/Linux están empaquetados y demás. Las extensiones que por lo general tienen estos paquetes son las siguientes: el paquete con el código fuente original tiene como extensión .orig.tar.gz o .orig.tar.bz2; el archivo con las modificaciones del desarrollador de la distribución de GNU/Linux se provee con las extensiones .diff.gz o .diff.bz2 para las versiones antiguas del estándar de empaquetado, y .debian.tar.gz o .debian.tar.bz2 para la versión moderna. El archivo de descripción del paquete fuente lleva como extensión .dsc."
Ejemplo:
Download vim
File
vim_8.2.0716-3.dsc
vim_8.2.0716.orig.tar.gz o $git clone
vim_8.2.0716-3.debian.tar.xz
Supongo que esto ayudaría, para la siguiente etapa,
etc.
Por último, "Un archivo udeb es un paquete deb utilizado en la instalación por DebianInstaller que elimina la documentación para guardar espacio."
Pero que es un *.debb ¿?
Por decir algo... tu no instalas/desinstalas un deb, por decirlo de alguna manera, lo haces con un paquete (con su nombre), a no ser que sea un archivo deb que tengas descargado de una fuente externa, así que no tienes que desinstallar ningún deb o debb (que no conozco este tipo de archivo).
Para una compilación de un software, necesitas sus fuentes, así como la parte -dev (develop) de sus dependencias, lo que puedes encontrar usualmente en el archivo README de las fuentes descargadas. Para realizar correctamente la compilación, tienes que conocer sus dependencias e instalar el paquete correspondiente.
En debian, al contrario que en otras distros, por ejemplo Arch, cada software se divide en tres partes empaquetadas por separado: paquete.deb = software ejecutable, paquete-dbgsym.deb = software necesario para la depuración, paquete-dev.deb = software para desarrollo. En el caso de compilar un software desde sus fuentes, necesitas instalar la parte de desarrollo de sus dependencias, y para ello necesitas conocerlas. Como ejemplo, Choqok depende de kio, así que para compilarlo necesitas tener instalado el paquete kio-dev.
No hay bar que por bien no venga....
Como era de esperar con mi ritmo de conexión, llego tarde. Pero ya que lo traigo escrito
permitidme añadir mi respuesta.
______________________________
Saludos Belo.
Disculpa el retraso, pero es lo que hay, no puedo conectarme como normalmente.
Lo primero que me ha llamado la atención es que dices que te has bajado las fuentes,
(entiendo que te refieres al código fuente, más los headers que hagan falta, y todo eso),
"para reinstall".
¿?. Vale. No te diré que no sea una manera de hacerlo, pero según lo tengo entendido yo,
para reinstalar una aplicación no es necesario todo eso. Simplemente la desinstalas,
te bajas, o recuperas, el paquete .deb usado anteriormente, y le dices al instalador,
(dpkg, apt, synaptic ...), que la instale totalmente, de nuevo.
Y ya está.
Para lo que si se suelen bajar las fuentes es para compilar, de nuevo, y según las circunstancias
y características del entorno.
Esto sucede, en debian, cuando por ejemplo, tu ordenador tiene algo que se sale de lo normal,
y que ha de ser tenido en cuenta y respetado a la hora de preparar y crear el ejecutable,
o simplemente porque necesitas que estén habilitadas unas características opciones o
posibilidades que normalmente no se consideran, y no han sido habilitadas en el paquete
para uso general.
De segundo, y entrando ya en tu pregunta, aunque me pilla bastante de lejos porque yo hasta
ahora no he tenido nunca necesidad de compilar ningún paquete, he investigado un poco,
y, si lo he entendido bien, esto es un sistema para debuging automatico de paquetes, creado
con dos objetivos:
- Evitar a los programadores la creación de archivos separados.
- Ahorrar espacio en los servidores mirror. (Al estar todo contenido en un mismo fichero
en vez de ir esparciendo ficheros -dbg por todos lados).
Aunque tampoco se propone eliminarlos del todo, ya que bajo ciertas circunstancias, pueden
llegar a ser bastante útiles. Simplemente reducir su uso durante los trabajos normales.
Te dejo aquí algunos links que encontré. Lástima que sean en ingles, pero para saber un poco
de que va la cosa ya cumplen, y en caso de que no entiendas ni torta, pasandolo por el google,
aunque pueda romper un poco alguna frase, también se entenderá.
Aunque parece que su uso no convenció a todos por igual, e incluso generó algunos problemas
con el software existente en ese momento.
Otros se quejaban de las vueltas que daba para conseguir la lista de símbolos, y poder, a partir
de aquí hacer lo mismo que ya hacía el procedimiento habitual.