GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es la diferencia entre apt-get y aptitude?

Solución 1:

aptitude es un contenedor para dpkg al igual que apt-get/apt-cache, pero es una herramienta integral para buscar/instalar/eliminar/consultar. Algunos ejemplos que apt podría no proporcionar:

$ aptitude why libc6
i   w64codecs Depends libc6 (>= 2.3.2)
$ aptitude why-not libc6
Unable to find a reason to remove libc6.

$ aptitude show libc6
Package: libc6
State: installed
Automatically installed: no
Version: 2.9-4ubuntu6
Priority: required
Section: libs
Maintainer: Ubuntu Core developers <[email protected]>
Uncompressed Size: 12.1M
Depends: libgcc1, findutils (>= 4.4.0-2ubuntu2)
Suggests: locales, glibc-doc
Conflicts: libterm-readline-gnu-perl (< 1.15-2), 
tzdata (< 2007k-1), tzdata-etch, nscd (< 2.9)
Replaces: belocs-locales-bin
Provides: glibc-2.9-1
Description: GNU C Library: Shared libraries
 Contains the standard libraries that are used by nearly all programs 
 on the system. This package includes shared versions of the standard 
 C library and the standard math library, as well as many others.

Solución 2:

[email protected] ~$ aptitude -h | tail -n 1
              This aptitude does not have Super Cow Powers.
[email protected] ~$ apt-get -h | tail -n 1
                   This APT has Super Cow Powers.
[email protected] ~$ aptitude moo
    There are no Easter Eggs in this program.
[email protected] ~$ apt-get moo
         (__)
         (oo)
   /------\/
  / |    ||
 *  /\---/\
    ~~   ~~
...."Have you mooed today?"...
[email protected] ~$ aptitude -v moo
There really are no Easter Eggs in this program.
[email protected] ~$ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
[email protected] ~$ aptitude -vvv moo
Stop it!
[email protected] ~$ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
[email protected] ~$ aptitude -vvvvv moo
All right, you win.

                               /----\
                       -------/      \
                      /               \
                     /                |
   -----------------/                  --------\
   ----------------------------------------------
[email protected] ~$ aptitude -vvvvvv moo
What is it?  It's an elephant being eaten by a snake, of course. 

Solución 3:

La herramienta oficial que se usa actualmente en el instalador de Debian y se recomienda en las notas de la versión es aptitude .

Aptitude ofrece una interfaz curses (cuando se ejecuta sin ningún parámetro) y una interfaz de línea de comandos que puede hacer casi todo lo que apt-cache /apt-get lo hace. También tiene una mejor resolución de dependencias que le permite navegar entre múltiples soluciones. Incluso cuando usa la versión de línea de comandos, puede interactuar con la solución propuesta y dar órdenes o sugerencias adicionales (como instalar o eliminar un paquete recomendado por otro).

Pero aptitude se basa en la biblioteca libapt (no es un envoltorio directo de dpkg) y, como tal, depende del apt paquete por lo que no puede tener aptitude instalado sin apt-get (que también está en el paquete apt).

$ dpkg --status aptitude| grep Depends
Depends: libapt-pkg-libc6.9-6-4.7, [...]
$ dpkg --status apt|grep Provides
Provides: libapt-pkg-libc6.9-6-4.7
$ dpkg --search /usr/lib/libapt-pkg-libc6.9-6.so.4.7 /usr/bin/apt-get
apt: /usr/lib/libapt-pkg-libc6.9-6.so.4.7
apt: /usr/bin/apt-get

Para obtener más información sobre cómo interactúan apt/dpkg/aptitude, puede consultar el diagrama realizado por Daniel Burrows (autor principal de aptitude). Otro diagrama presenta la información almacenada por las diversas herramientas de administración de paquetes:Un mapa de los archivos de estado apt y dpkg.

También puede leer mi artículo apt-get, aptitude, … elija el administrador de paquetes adecuado para usted

Solución 4:

aptitude recuerda qué paquetes instaló deliberadamente y cuáles se instalaron automáticamente para satisfacer las dependencias. Al eliminar un paquete, aptitude eliminará los paquetes instalados automáticamente para mantener su sistema ordenado. apt-get no es tan inteligente.

aptitude se convertirá rápidamente en una herramienta indispensable una vez que utilice diferentes repositorios con diferentes versiones de un paquete. Imagina que estás trabajando con backports.org o repositorios no oficiales como debian-multimedia.org . Entonces aptitude mostrará (en la parte inferior de la página de detalles de un determinado paquete) el número de versión disponible y le permitirá seleccionar uno.

Si se encuentra en una situación en la que los programas entran en conflicto debido al uso de repositorios no oficiales, verá un mensaje "Broken:..." mostrar en la parte superior. Puede escribir l~b (límite / bandera / roto) y solo obtenga una lista de paquetes que entran en conflicto entre sí. Hace que sea mucho más fácil resolver el conflicto manualmente.

Además puedes usar "l " para limitar la lista de paquetes. Imagine que está buscando paquetes que comiencen con "openoffice " luego presione "l " y escriba "^openoffice " (es una expresión regular) y verá solo esos paquetes. Elija una "lista plana de paquetes" desde el menú y conseguirás alcanzar tu objetivo rápidamente.

El manual completo es muy extenso y te ofrece muchos más filtros y posibilidades. Incluso si no los conoces aptitude es un reemplazo útil para apt-get y puede usarlo con parámetros comunes como:

aptitude install ... (install or upgrade a package)
aptitude remove ... (remove the binary portions of a package but preserve your /etc configuration)
aptitude purge ... (remove the package completely including your configuration)

Solución 5:

Además de proporcionar una interfaz de usuario de consola bonita cuando ejecuta aptitude sin argumentos, combina los distintos apt-* comandos (y dselect ) en una utilidad..

Para buscar un paquete e instalarlo, use apt-get:

apt-cache search somepkg
apt-get install somepkg

..pero con aptitude es el mismo comando:

aptitude search somepkg
aptitude install somepkg

aptitude tiene algunas funciones adicionales, como aptitude changelog somepkg y cosas como almacenar paquetes (para evitar que se actualicen):nada que no puedas lograr con otros comandos/métodos, simplemente es más unificado y agradable de usar.


Linux
  1. ¿La diferencia entre [[ $a ==Z* ]] y [ $a ==Z* ]?

  2. ¿Cuál es la diferencia entre Git Switch y Checkout?

  3. ¿Cuál es la diferencia entre Redhat y centOS?

  4. ¿Cuál es la diferencia entre mutex y sección crítica?

  5. ¿Cuál es la diferencia entre strtok_r y strtok_s en C?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre Shell de inicio de sesión y sin inicio de sesión?

¿Cuál es la diferencia entre el comando apt y apt-get?

¿Qué es un Hipervisor? ¿Cuál es la diferencia entre el tipo 1 y 2?

¿Cuál es la diferencia entre curl y Wget?

¿Cuál es la diferencia entre ruta y ruta ip?