Al instalar un software a través de dpkg -i packageA.deb
, ¿ packageA
se descargarán e instalarán automáticamente las dependencias requeridas ? ¿Cómo es esto diferente de usar apt-get
o aptitude
?
Al instalar un software a través de dpkg -i packageA.deb
, ¿ packageA
se descargarán e instalarán automáticamente las dependencias requeridas ? ¿Cómo es esto diferente de usar apt-get
o aptitude
?
Respuestas:
No, dpkg
solo instala un paquete, por lo dpkg -i packageName.deb
que solo instalará este paquete Deb y le notificará de cualquier dependencia que deba instalarse, pero no las instalará y no configurará el packageName.deb
porque bueno ... las dependencias son no ahí.
apt-get
es un sistema de gestión de paquetes que maneja la instalación de paquetes Deb en distribuciones Linux basadas en Debian . Un sistema de gestión de paquetes es un conjunto de herramientas que lo ayudarán a instalar, eliminar y cambiar paquetes fácilmente. Entonces apt-get
es como un inteligente dpkg
.
Me gusta pensar en la línea de tiempo de esta manera (lo siguiente es solo yo hablando por experiencia. Está destinado a darte una idea de todo esto):
Se les ocurrió una forma de "almacenar" los archivos de una aplicación en un "paquete" para que se pueda instalar fácilmente. Entonces, nació el paquete Deb ( .deb
archivo de extensión ).
Un
.deb
archivo contiene los archivos que necesita una aplicación para ejecutarse, así como (me gusta llamarlo) "metadatos" que contienen otra información, como los nombres de las dependencias que necesita la aplicación. Si desea ver el contenido de un.deb
archivo, puede usar el comandodpkg -c packageName.deb
, y si desea ver esta información de "metadatos", use el comandodpkg -I pacakgeName.deb
(y si solo quiere ver las dependencias, hágalodpkg -I packageName.deb | grep Depends
).
Necesitaban una herramienta para instalar estos .deb
archivos, por lo que se les ocurrió la dpkg
herramienta. Sin embargo, esta herramienta solo instalará el .deb
archivo, pero no instalará sus dependencias porque no tiene esos archivos y no tiene acceso a "repositorios" desde donde extraer las dependencias.
apt-get
, lo que automatiza los problemas en el punto anterior. Debajo del capó, apt-get
es básicamente dpkg
(me gusta pensar que apt-get
es un front-end para dpkg
), pero uno inteligente que buscará las dependencias y las instalará. Incluso analiza las dependencias instaladas actualmente y determina las que no están siendo utilizadas por ningún otro paquete, y le informará que puede eliminarlas.aptitude
Luego vino. Utiliza las bibliotecas apt-get
usos y en realidad tiene una interfaz de usuario interactiva (interfaz de usuario). Si desea ver esta interfaz de usuario, simplemente escriba aptitude
el terminal. Eso es aptitude
. Aprovecha las bibliotecas para proporcionar más opciones y ventajas que apt-get
. Por ejemplo, aptitude
eliminará automáticamente los paquetes elegibles, mientras que apt-get
necesita un comando separado para hacerlo. Pero, al final, haciendo sudo aptitude install packageName.deb
debería al menos ser igual sudo apt-get install packageName.deb
. Puede haber diferencias sutiles aquí y allá que no conozco, pero ambas buscarán las dependencias y harán todas esas cosas. Puede leer la respuesta aquí para obtener más información sobre las diferencias entre aptitude
y apt-get
.
Además, aptitude
no tiene Super Cow Powers.
EDITAR: Al parecer, lo hace.
aptitude -v[v[v[v[v]]]] moo
.
aptitude
Es posible que no esté instalado de forma predeterminada. Para instalarlo, haz sudo apt-get install aptitude
o haz clic en esto: aptitude .
La siguiente información realmente no responde directamente " ¿Cuál es la diferencia entre dpkg y aptitude / apt-get? ", Pero contribuye al panorama general.
De Carlos Campderrós ' comentario a continuación :
gdebi
es otra herramienta que es una especie de mezcla entre apt-get
y aptitude
. Cuando lo use para instalar un .deb
paquete ( gdebi packageName.deb
), identificará las dependencias que faltan, las instalará usando apt-get
, y finalmente instalará y configurará el paquete usando dpkg
. Incluso tiene una GUI simple y ordenada que le brinda información sobre el .deb
paquete, los archivos incluidos en el paquete y qué dependencias deben instalarse. Para ver esta GUI, lo harías gdebi-gtk packageName.deb
. Puede gdebi
intentarlo instalándolo sudo apt-get install gdebi
o haciendo clic en esto: gdebi .
No quiero confundir a nadie, pero solo para darle otra parte de la imagen, hay otro formato de paquete de Linux popular llamado RPM, y sus archivos tienen la .rpm
extensión. Este formato de paquete se usa en distribuciones de Linux basadas en RPM (como Red Hat, CentOS y Fedora). Usan el comando rpm
para instalar un paquete, y yum
es el front-end para él, es el más inteligente. Entonces, sus .rpm
archivos son nuestros .deb
archivos, su rpm
herramienta es nuestra dpkg
herramienta y su yum
es nuestra apt-get
.
De arroz Landau 's comentario a continuación :
alien
es una herramienta que convierte entre .rpm
y .deb
paquetes. Entonces, si alguna vez cae en la situación en la que tiene un .rpm
paquete y desea instalarlo en su Ubuntu (o cualquier otra distribución basada en Debian), puede usar el comando alien rpm_packageName.rpm
para convertirlo .deb
y luego instalarlo usando dpkg
. Puede hacer lo contrario (convertir .deb
a .rpm
) usando alien -r packageName.deb
.
gdebi
( apt-get install gdebi-core
) que se mezcla apt-get
/ aptitude
con dpkg
. Lo llama con gdebi some_package.deb
y analizará sus dependencias, llamará apt-get
para instalar las que faltan y cuando se cumplan todas las dependencias, luego llame dpkg
para finalmente instalar su paquete.
alien
convierte paquetes entre .rpm
y .deb
. Esto es útil para paquetes disponibles para RPM pero no para DEB (o viceversa). Por ejemplo, alien packagename.rpm
para que sea utilizable para Ubuntu.
aptitude
no es una interfaz para apt-get
. Ambos programas son frontends para la libapt-pkg
biblioteca.
La gestión de paquetes se apt-get
ejecuta de la mano con el /etc/apt/sources.list
archivo.
apt-get install <package_name>
instala un nuevo paquete en su computadora.
apt-get build-dep <package_name>
Este comando busca en los repositorios e instala las dependencias de compilación. Si el paquete no está en los repositorios, devolverá un error.
apt-get install <package1_name> <package2_name> <package3_name>
apt-get permite la instalación de múltiples paquetes. separe los paquetes con un espacio.
auto-apt run <command_string>
Cuando se invoca, el comando auto-apt instala automáticamente los paquetes cuando falta el acceso a los archivos. Si un programa intenta acceder a un archivo que se sabe que pertenece a un paquete desinstalado, auto-apt lo instalará usando apt-get
. Esta característica requiere apt y sudo para funcionar.
Visita la página de instrucciones de apt-get
aptitude
proporciona la funcionalidad dselect
y apt-get
muchas otras características adicionales que no se encuentran en ninguno de los programas.
aptitude
tiene un shell propio que se activa con el teclado o el mouse y se ejecuta en una ventana de terminal
aptitude build-dep <package>
- Instale las dependencias de compilación de los paquetes, lo que significa los paquetes necesarios para compilar (o compilar ) su paquete fuente. Por ejemplo, muchos paquetes necesitan debhelper
o autotools
deben construirse, pero no los necesitan para ejecutarse.
Visita la página de instrucciones de aptitud
es una herramienta para instalar, construir, eliminar y administrar paquetes Debian. enlazar
dpkg -i <package.deb>
instala un paquete Debian en su computadora. No instala ninguna dependencia hasta donde puedo encontrar en los archivos de ayuda.
Para detalles, escriba dpkg --help
en una ventana de terminal.
Una guía para la gestión de archivos se puede encontrar aquí
Creo que lo más importante y también una diferencia es que debe tener en cuenta que debe usar la apt-get
herramienta para instalar paquetes. ( apt
o aptitude
está bien también).
Esto se debe a que dpkg
está destinado a instalar paquetes sin instalar paquetes dependientes. Debido a que solo instalar un paquete con dpkg
, puede conducir a un problema posterior donde la resolución de dependencia puede terminar con un sistema roto.
Debe usar la línea de comando apt-get
o la apt
herramienta (desde 14.04) para instalar paquetes. Estas herramientas están utilizando dpkg
para usted y al mismo tiempo tienen el mecanismo de resolución de dependencia en su interior.