GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿"sudo apt-get install foo-" provoca la eliminación del paquete foo y todo lo que depende de él?

Esta pregunta ya tiene respuestas aquí :apt-get install con '-' (menos / guión) elimina paquetes

(2 respuestas)
Cerrado hace 2 años.

Mientras trabajaba en el símbolo del sistema, accidentalmente escribí el siguiente comando:

sudo apt-get install python3-

y ubuntu comenzó a eliminar python3 y todo lo que depende de él (incluido Firefox y mucho más). Afortunadamente cerré esa terminal inmediatamente y revertí todo revisando dpkg log, pero me preguntaba por qué install el comando debería actuar como eliminar?

¿Es un error?

Considere la situación en la que está buscando un nombre de paquete (presionando Tab dos veces) y revisando las posibilidades presionando la tecla Intro y esas teclas Intro permanecen en el búfer del teclado y…. tuhaaaa... apt-get está eliminando toda la instalación frente a sus ojos.

Respuesta aceptada:

Acabo de probar este signo menos (o guión) después de un paquete y sí, apt-get actuando como remove .

Lo curioso es que no conocía esta función de apt-get . Este signo menos es válido para todos los paquetes. Probé con smplayer- con firefox- y siempre actuando como remove .
Entonces, lo único que puedo pensar es que el signo de guión al final de un paquete considerado por apt-get como un menos y install comando convertido a remove .

Si quería instalar todo sobre python3, entonces tenía que agregar un signo de asterisco después de este signo de guión (menos)

sudo apt-get install python3-*

Al principio pensé que esto era solo un problema de conflicto, pero no lo es. A veces, cuando instala un paquete y entra en conflicto con otro paquete, el paquete ya instalado se eliminará debido al nuevo paquete instalado, pero esta no es nuestra situación aquí.

Hemos aprendido algo útil hoy.

De la página de manual de apt-get . Para leer la página de manual a través de su terminal, ingrese man apt-get

Si se agrega un guión (-) al nombre del paquete (sin espacios intermedios
), el paquete identificado se eliminará si está actualmente
instalado. De manera similar, se puede usar un signo más (+) para designar un paquete
para instalar. Estas últimas características pueden usarse para anular
las decisiones tomadas por el sistema de resolución de conflictos de apt-get.

Eventualmente no es una opción nueva o algo extraño, es solo que no leemos las páginas man cuidadosamente.

Relacionado:ImportError:No llamado '_tkinter', ¿instala el paquete python3-tk?
Ubuntu
  1. Cómo instalar y usar Snap Package Manager en Ubuntu 20.04

  2. Instalar paquetes RPM en Ubuntu 11.10 y Ubuntu 11.04

  3. ¿Es Rsync ~/foo Target/foo lo mismo que Rsync ~/foo/ Target/foo/?

  4. ¿Cómo instalar termitas?

  5. ¿Cómo ejecutar un script solo durante la primera instalación de un paquete y no durante las actualizaciones?

Cómo instalar Minecraft en Ubuntu y Linux Mint

Cómo acelerar las descargas y actualizaciones de paquetes con apt-fast en Ubuntu 20.04

No se puede instalar y el código no funciona:¿Apt-get Install Virtualbox-guest-x11?

¿Cuál fue la diferencia entre `sudo Apt-get -f Install` y `sudo Apt-get Install -f`?

Cómo instalar y administrar paquetes RPM en el sistema Ubuntu/Debian

Cómo instalar y administrar software en CentOS 7