¿Qué hace "sudo apt-get update"?

Me pregunto qué sudo apt-get update ¿lo hace?

¿Qué actualiza?

En pocas palabras, apt-get update en realidad, no instala nuevas versiones de software. En su lugar, actualiza las listas de paquetes para actualizaciones de paquetes que necesitan actualización, así como de paquetes nuevos que acaban de llegar a los repositorios.

  • apt-get update descarga las listas de paquetes de los repositorios y las "actualiza" para obtener información sobre las versiones más recientes de los paquetes y sus dependencias. Lo hará para todos los repositorios y PPA.De http://linux.die.net/man/8/apt-get:

    Se utiliza para volver a sincronizar los archivos de índice de paquetes de sus fuentes. Los índices de los paquetes disponibles se obtienen de la(s) ubicación (es) especificada (s) en /etc/apt/sources.list(5). Una actualización siempre debe realizarse antes de una actualización o dist-upgrade.

  • apt-get upgrade buscará nuevas versiones de paquetes existentes en la máquina si APT conoce estas nuevas versiones por medio de apt-get update.

    De http://linux.die.net/man/8/apt-get:

    Se utiliza para instalar las versiones más recientes de todos los paquetes instalados actualmente en el sistema desde las fuentes enumeradas en /etc/apt/sources.list(5). Los paquetes instalados actualmente con nuevas versiones disponibles se recuperan y actualizan; bajo ninguna circunstancia se eliminan los paquetes instalados actualmente, ni se recuperan e instalan los paquetes que no están ya instalados. Las nuevas versiones de los paquetes instalados actualmente que no se pueden actualizar sin cambiar el estado de instalación de otro paquete se dejarán en su versión actual. [Énfasis mío] Primero se debe realizar una actualización para que apt-get sepa que hay nuevas versiones de paquetes disponibles.

  • apt-get dist-upgrade hará el mismo trabajo que hace apt-get upgrade, además, también manejará de forma inteligente las dependencias, por lo que podría eliminar paquetes obsoletos o agregar otros nuevos. Ver aquí: ¿Qué es" dist-upgrade "y por qué se actualiza más que" upgrade & quot;?

    De http://linux.die.net/man/8/apt-get:

    Además de realizar la función de actualización, esta opción también maneja inteligentemente las dependencias cambiantes con las nuevas versiones de los paquetes; apt-get tiene un sistema de resolución de conflictos "inteligente", e intentará actualizar los paquetes más importantes a expensas de los menos importantes, si es necesario. El /etc/apt/sources.list(5) el archivo contiene una lista de ubicaciones desde las que recuperar los archivos de paquete deseados. Véase también apt_preferences (5) para un mecanismo para anular la configuración general de paquetes individuales.

Puede combinar comandos con && como sigue:

sudo apt-get update && sudo apt-get install foo bar baz foo-dev foo-dbg

o para obtener las versiones más recientes posibles según los requisitos de versión de las dependencias:

sudo apt-get update && sudo apt-get dist-upgrade

Usted necesita sudo en ambas ocasiones, pero desde sudo de forma predeterminada, no se le solicita en un plazo aproximado de 5 minutos desde la última sudo operación, se le pedirá su contraseña solo una vez (o nada en absoluto).

Una búsqueda en Google puede darte la definición de casi cualquier comando de terminal, al igual que --help en la terminal. Por ejemplo,

apt-get --help

sudo apt-get update esencialmente tiene tres partes:

sudo

ejecuta el siguiente comando con capacidades de superusuario (root). Muchas acciones que requieren modificar archivos del sistema o instalar aplicaciones requieren permisos adicionales para realizarse.

apt-get

es una herramienta de línea de comandos que Ubuntu utiliza para instalar, eliminar y administrar paquetes de software

update

es una opción para el programa apt-get que actualiza las listas de paquetes desde un servidor en Internet. Las listas de paquetes proporcionan a la utilidad apt-get información importante sobre los paquetes de software que puede instalar con apt-get. apt-get usa estas listas para determinar qué software instalar cuando se le da un comando para instalar. Por ejemplo

sudo apt-get install guake

instalaría el terminal Guake tal como aparece actualmente en las listas de software locales de mi computadora. Sin embargo, es posible que esta no sea la versión adecuada o, si el programa es nuevo, es posible que no esté disponible en absoluto. Por lo tanto, al instalar software con apt-get, normalmente escribe

sudo apt-get updatesudo apt-get install <package>

asegurarse de que apt-get sabe instalar la versión más reciente del paquete.

Otra fuente útil de información es el help.ubuntu.com sitio. Por ejemplo, si buscó en ese sitio apt-get usted encontraría AptGet / Instrucciones como uno de los resultados.

Ejecutar sudo apt-get update simplemente se asegura de que su lista de paquetes de todos los repositorios y PPA esté actualizada. Si no ejecuta este comando, podría estar obteniendo versiones anteriores de varios paquetes que está instalando o, lo que es peor, problemas de dependencia. Si acaba de agregar un PPA y no lo ha actualizado, nada del PPA funcionará en absoluto, ya que no tiene una lista de paquetes de ese PPA o repositorio.

En pocas palabras: es altamente recomendado para correr sudo apt-get update antes de instalar, pero puede saltarse si está realmente presionado por el tiempo a menos que haya cambiado los repositorios o los PPA desde la última apt-get update.

Actualiza la lista de software disponible en su computadora.

Su computadora tiene una lista (como un catálogo) que contiene todo el software disponible que los servidores de Ubuntu tienen disponible. Pero el software y las versiones disponibles pueden cambiar, por lo que una "actualización" llegará al servidor y verá qué software está disponible para actualizar sus listas (o catálogos) locales.

Tenga en cuenta que update es diferente de upgrade. Update, como se mencionó anteriormente, buscará el software disponible y actualizará las listas mientras upgrade instalará nuevas versiones del software instalado en su computadora (actualizaciones de software reales).

Para actualizar realmente su software (no "actualizar" las listas), ejecute el comando

sudo apt-get upgrade

que generalmente se ejecuta después de una"actualización".

Necesitas correr apt-get update una vez antes de instalar nuevos paquetes, ya que esto actualiza la información del repositorio local.

Si va a instalar varios paquetes poco después el uno del otro, no necesita ejecutar apt-get update antes de cada instalación; solo una vez antes de la primera instalación.

Además, puede instalar varios paquetes a la vez si escribesudo apt-get install package1 package2..., pero todavía tienes que correr apt-get update antes de la instalación de varios paquetes.

Cuando instala paquetes desde la línea de comandos con sudo apt-get install ... (o sudo aptitude install ...), o cuando los actualiza desde la línea de comandos (con upgrade o dist-upgrade en lugar de install), la siguiente información se obtiene de la configuración de su sistema local, y ni desde Internet:

  1. qué paquetes están disponibles

  2. qué versiones de ellos están disponibles

  3. de dónde se deben recuperar los paquetes disponibles

Ejecutar sudo apt-get update (o sudo aptitude update) actualiza esto en su sistema local. Este es el paso que realmente recupera la información sobre los paquetes que se pueden instalar, incluyendo qué actualizaciones de los paquetes instalados actualmente están disponibles, de fuentes de Internet.

Al instalar paquetes con una interfaz gráfica de usuario (el Administrador de actualizaciones, el Centro de Software o el Administrador de paquetes Synaptic), el trabajo de sudo apt-get update se realiza de forma automática. Cuando instala paquetes desde la línea de comandos, no lo es, y siempre debe hacerlo usted mismo a menos que lo haya hecho muy recientemente.

Porque la información sobre qué versiones actualizadas de los paquetes están disponibles se obtiene ejecutando sudo apt-get update (o sudo aptitude update), es recomendable ejecutarlo antes de instalar cualquier paquete, y es necesario ejecutarlo para instalar las últimas actualizaciones, incluso si no ha agregado o eliminado ninguna Fuente de Software (como un PPA).

Tenga en cuenta que si va a realizar varias operaciones de administración de paquetes al mismo tiempo, no necesita ejecutar sudo apt-get update antes de cada uno. Solo si la información no se ha actualizado durante un tiempo, debe asegurarse de ejecutarla.

Como dijeron muchas personas antes que yo, esto actualiza su repositorio local (lista de paquetes).

Puede tener problemas si intenta instalar

apt-get install foobar

y foobar o una dependencia no tienen su última versión en el repositorio. Esto puede ser especialmente problemático si se instala un .archivo deb manualmente o un ppa de un tercero.

Básicamente se asegura tu lista coincide con el maestro lista.

Como Eliah Kagan mencionó anteriormente, usted esperar que se ejecutaría una aplicación GUI apt-get update antes apt-get install / apt-get upgrade, pero acabo de descubrir un interesante error 404, en una máquina virtual de seguridad ofensiva relativamente nueva, que me dejó perplejo por un minuto.

Desde la línea de comandos, ejecuté apt-get update, y luego probé el comando Herramientas del sistema/Actualización de software nuevamente, y esta vez se ejecutó sin errores 404.

Entonces, supongo que no siempre puedes asumir que apt-get update se ejecuta desde aplicaciones GUI...

Consideremos el ejemplo de instalación Reproductor multimedia VLC en Ubuntu:

sudo apt-get update

Comprobará los repositorios en busca de actualizaciones disponibles.

Mientras

sudo apt-get install vlc vlc-plugin-pulse mozilla-plugin-vlc

instalará VLC media Player desde los repositorios que buscamos.

Si ha iniciado sesión como usuario root (administrador), no tiene que usar sudo, porque ya tiene los privilegios de superusuario.