Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

utilidad apt-get - productiva gratis programa de consola, utilizado y trabajando con la biblioteca APT (Advanced Packaging Tool) para instalar nuevos paquetes de software, eliminar los existentes, actualizar los instalados y también actualizar todo el sistema operativo.

La utilidad de consola apt-cache se utiliza para buscar paquetes de software APT en la memoria caché. hablando en palabras simples, esta herramienta, se utiliza para buscar paquetes, recopilar información sobre paquetes y encontrar paquetes disponibles para instalar en sistemas operativos basados ​​en Debian o Ubuntu.

¿Cómo puedo obtener una lista de todos los paquetes disponibles?

Para ver todos los paquetes disponibles, ejecute el siguiente comando:

apt-cache pkgnames

¿Cómo puedo encontrar el nombre y la descripción del paquete?

Para encontrar el nombre y la descripción del paquete antes de la instalación, use el indicador de "búsqueda". El uso de "búsqueda" con apt-cache mostrará una lista de paquetes coincidentes con breve descripción. Por ejemplo, si desea buscar la descripción del paquete vsftpd: para ello, el comando sería:

búsqueda apt-cache vsftpd

Para buscar y enumerar todos los paquetes cuyo nombre comienza con vsftpd, puede usar el siguiente comando:

apt-cache pkgnames vsftpd

¿Cómo puedo ver la información del paquete?

Por ejemplo, si desea ver información sobre un paquete, con una breve descripción que muestre el número de versión, sumas de verificación, tamaño, tamaño después de la instalación, categorías, etc., puede usar el subcomando "mostrar", como se muestra a continuación:

apt-caché mostrar netcat

¿Cómo puedo verificar las dependencias de un paquete?

Para verificar las dependencias de un paquete en particular, puede usar el subcomando showpkg para ver si esas dependencias están instaladas o no. Por ejemplo, use el comando showpkg junto con el nombre del paquete.

apt-cache showpkg vsftpd

¿Cómo puedo ver las estadísticas de caché?

El subcomando stats mostrará estadísticas completas sobre el caché, como el número total de paquetes encontrados en el caché. Usa este comando:

estadísticas de apt-cache

¿Cómo actualizar la lista de paquetes en el sistema?

El comando de actualización se utiliza para sincronizar y actualizar archivos de índice de paquetes. La sincronización se produce con las fuentes especificadas en el archivo /etc/apt/sources.list. Este comando se puede usar, por ejemplo, para realizar un seguimiento de las actualizaciones importantes del paquete.

Sudo apt-obtener actualización

¿Cómo actualizar paquetes en el sistema?

El comando de actualización se utiliza para actualizar todo lo instalado en este momento software en su sistema. A veces puede suceder que no se pueda instalar una actualización debido a algún otro paquete que requiere una versión anterior.

sudo apt-obtener actualización

Pero si desea actualizar independientemente de los requisitos del paquete, use el subcomando dist-upgrade:

sudo apt-get dist-upgrade

¿Cómo puedo instalar o actualizar cualquier paquete en particular?

El subcomando install se usa para instalar o actualizar un paquete.

sudo apt-get install netcat

¿Cómo puedo instalar varios paquetes a la vez?

Puede ingresar los nombres de varios paquetes para instalarlos al mismo tiempo. Por ejemplo, para instalar los paquetes nethogs y goaccess, puede ejecutar el siguiente comando:

sudo apt-get install nethogs goaccess

Cómo instalar varios paquetes por nombre de "máscara"

Con expresiones regulares, puede agregar varios paquetes con caracteres especiales. Por ejemplo, puede usar un asterisco para instalar todos los paquetes que contienen la cadena "nombre" en su nombre:

sudo apt-get install *nombre*

Cómo instalar paquetes sin actualizar.

El uso del indicador --no-upgrade evitará que se actualicen los paquetes que ya están instalados.

sudo apt-get install nombre del paquete --no-upgrade

¿Cómo actualizar solo ciertos paquetes?

El indicador --only-upgrade no instalará nuevos paquetes, solo actualizará los existentes.

sudo apt-get install nombre del paquete --only-upgrade

como puedo instalar cierta versión¿paquete?

Imaginemos que necesita instalar una versión específica de un paquete, simplemente use un signo igual junto con el nombre del paquete y atribuya la versión deseada.

sudo apt-get install vsftpd=2.3.5-3ubuntu1

¿Cómo eliminar paquetes sin eliminar la configuración?

Borrar paquetes de programas sin eliminar sus archivos de configuración (para uso posterior), use el comando eliminar como se muestra.

sudo apt-get remove vsftpd

¿Cómo eliminar paquetes por completo?

Para eliminar un paquete junto con sus archivos de configuración, use el subcomando de purga como se muestra a continuación.

sudo apt-get purge vsftpd

O puede combinar ambos comandos, así:

sudo apt-get remove --purge vsftpd

¿Cómo puedo liberar espacio en disco?

El comando de limpieza se usa para liberar espacio en el disco al eliminar los archivos .deb del paquete resultante en su repositorio local.

sudo apt-get clean

¿Cómo descargar el código fuente del paquete?

Para descargar solo el código fuente de un paquete, puede usar la opción --download-only source con el nombre del paquete, así:

sudo apt-get --download-only fuente vsftpd

¿Cómo puedo descargar y descomprimir un paquete?

Para descargar y descomprimir el código fuente de un paquete en un directorio especial, ejecute el siguiente comando:

sudo apt-get fuente vsftpd

¿Cómo puedo descargar, descomprimir y compilar el código fuente de un paquete?

También puede descargar, descomprimir y compilar el código fuente del paquete usando la opción '--compile', como se muestra a continuación:

sudo apt-get --compile fuente goaccess

Cómo descargar un paquete sin instalación

Usando la opción "descargar", puede descargar cualquier paquete sin instalarlo. Por ejemplo, el siguiente comando solo descargará el paquete nethogs en el directorio de trabajo actual.

sudo apt-get descargar nethogs

¿Cómo puedo ver el registro de cambios de un paquete?

El indicador de registro de cambios descarga el registro de cambios del paquete y muestra la versión del paquete, si está instalado.

sudo apt-get registro de cambios vsftpd

¿Cómo se pueden arreglar las dependencias rotas?

El comando "verificar" es una herramienta de diagnóstico, se usa para actualizar el caché del paquete y buscar dependencias rotas.

Sudo apt-obtener verificación

¿Cómo puedo encontrar y crear dependencias?

El comando build-dep busca e instala las dependencias construidas del paquete requerido. Si el paquete no está en el repositorio local, obtendrá un error.

sudo apt-get build-dep netcat

¿Cómo puedo borrar automáticamente el caché de Apt-Get?

El comando autoclean elimina todos los archivos .deb de /var/cache/apt/archives para liberar espacio en su disco duro.

sudo apt-get autoclean

¿Cómo puedo eliminar automáticamente los paquetes innecesarios?

El subcomando autoremove se utiliza para eliminación automática paquetes que se instalaron como dependencias de otros pero que ya no son necesarios. Por ejemplo, el siguiente comando eliminará un paquete instalado junto con sus dependencias.

sudo apt-get autoremove vsftpd

Información cortesía del sitio. Gracias.

APT (abreviatura de Advanced Packaging Tool) es un conjunto de utilidades para instalar, desinstalar, actualizar, encontrar paquetes en Linux y administrar repositorios. APT también se denomina administrador de paquetes.

APT utiliza repositorios de paquetes. La lista de repositorios para APT se almacena en un archivo /etc/apt/sources.list, así como en el directorio /etc/apt/sources.list.d/.

APT se utiliza en distribuciones basadas en Dedian y Ubuntu.

Hay varias utilidades para administrar APT, pero las más populares son las utilidades de línea de comandos apt-get y apt.

En este artículo, veremos cómo usar el comando apt y también aprenderemos en qué se diferencia apt de apt-get.

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

Para responder brevemente a una pregunta muy popular, ¿cuál es la diferencia entre los comandos apt y apt-get?

apt es una utilidad que apareció como alternativa a apt-get. Realiza casi todas las mismas funciones que apt-get, pero es más fácil y claro trabajar con él.

Por ejemplo, todos los comandos apt tienen una sintaxis simple: nombre de comando apt. Y apt-get tiene comandos adicionales, Por ejemplo, apt-cache. Por lo tanto, al usar apt, el usuario no necesita recordar conjuntos de comandos adicionales.

Además de simplificar el trabajo con los comandos, apt muestra la información de manera más clara, aparentemente insignificante, pero es más conveniente trabajar con ella. Por ejemplo, apt puede mostrar una barra de progreso y, cuando se ejecuta actualización adecuada puede ver cuántos paquetes se pueden actualizar.

Vale la pena señalar que la utilidad apt-get es más funcional que apt. Pero para el usuario promedio, apt será más que suficiente.

comando apto

La sintaxis del comando apt es la siguiente:

sudo apto

Actualizar lista de paquetes

sudo apt actualizar

APT tiene una lista de repositorios desde los cuales se instalan los paquetes. La lista se almacena en Archivo de texto /etc/apt/sources.list, así como en el directorio /etc/apt/sources.list.d/. Al ejecutar el comando actualización adecuada, APT itera a través de la lista de repositorios y de cada repositorio en la lista obtiene información sobre los paquetes en el repositorio. Toda esta información se almacena en el sistema.

Si se lanza una nueva versión de un paquete, APT no lo sabrá hasta que se ejecute el comando actualización adecuada. Por lo tanto, si instala este paquete (sin ejecutar primero apt update), se instalará la versión del paquete que está almacenada en el sistema en ese momento.

¿Necesito ejecutar apt update antes de instalar cada paquete?

No, antes de instalar cada paquete actualización adecuada por supuesto que no se debe hacer. Basta con ejecutar apt update periódicamente. Si tiene más de un paquete para instalar, primero puede ejecutar actualización adecuada y luego instalar los paquetes.

Actualizar paquetes instalados

Para actualizar los paquetes instalados en el sistema, use el comando:

sudo apt actualización

Este comando solo actualiza paquetes a nuevas versiones, nunca elimina o instala otros paquetes.

Hay otro comando para actualizar paquetes:

Sudo apt actualización completa

Este comando actualiza los paquetes y elimina o instala nuevos paquetes según sea necesario para resolver las dependencias.

Paquete de instalación

Para instalar el paquete use el comando:

sudo apt instalar

Instalar varios paquetes

Para instalar varios paquetes, sus nombres están separados por un espacio:

sudo apt instalar

Instalar una versión de paquete específica

Para instalar una versión específica del paquete, debe especificar la versión requerida después del nombre del paquete, a través del signo igual:

sudo apt install=

Eliminar un paquete

Para eliminar un paquete instalado, use el comando:

Sudo apt eliminar

Eliminar un paquete y sus archivos de configuración

sudo apt purga

Purga apt funciona de manera similar apt-eliminar, pero también elimina Archivos de configuración, relacionado con el paquete. Esto significa que si instaló algún programa, lo configuró y luego lo eliminó con el comando apt-eliminar, entonces el archivo de configuración de este programa permanecerá en el sistema. Si ahora vuelve a instalar este programa, podrá utilizar el archivo de configuración anterior, ya que no se ha eliminado.

Purga apt no elimina los archivos de configuración almacenados en su directorio de inicio.

Si eliminó el paquete con el comando apt-eliminar, entonces puedes hacer Purga apt para un paquete dado, ya eliminado, para "eliminar" sus archivos de configuración.

Eliminar paquetes no utilizados

sudo apt eliminar automáticamente

Cuando instala un paquete, a menudo se instala paquetes adicionales, cuales son sus dependencias. Si ahora elimina este paquete, las dependencias permanecerán en el sistema. eliminación automática apt elimina esas dependencias, pero solo aquellas que otros paquetes instalados no necesitan.

Lista de paquetes

El comando apt list se usa para enumerar paquetes según algunos criterios.

Enumere los paquetes instalados en el sistema:

Lista de aptos --instalado

Enumere los paquetes que deben actualizarse (que tienen una versión más nueva):

lista apt --actualizable

Enumere todos los paquetes disponibles para su sistema:

Lista de aptos --todas las versiones

Buscar paquetes

búsqueda adecuada

Este comando busca el especificado palabras en el nombre del paquete y en la descripción del paquete. Se admiten expresiones regulares.

Solo puede buscar por nombres de paquetes usando la opción --names-only:

Búsqueda apt --solo nombres

Buscando un paquete usando expresiones regulares:

apt search --names-only "^python"

Información del paquete

espectáculo apto

Muestra información sobre el paquete. Se muestra la versión, el tamaño, la descripción, las dependencias y otra información.

Edición de la lista de repositorios

sudo apt editar-fuentes

Abre un archivo /etc/apt/sources.list V editor de texto para la edición, después de guardar los cambios y cerrar el editor, comprueba si hay errores en el archivo. Si hay errores, muestra una sugerencia para volver a editar el archivo para corregir los errores.

Tabla de análogos de los comandos apt y apt-get

Equipo
apto
Comando analógico
apt-get
Descripción
instalación aptaapt-get installPaquete de instalación
apt-eliminarapt-get eliminarEliminar un paquete
Purga aptapt-get-purgeEliminar paquetes y archivos de configuración
eliminación automática aptapt-obtener eliminación automáticaEliminar paquetes no utilizados
actualización adecuadaapt-obtener actualizaciónActualizar lista de paquetes
actualización aptaapt-obtener actualizaciónActualizar paquetes
apt actualización completaapt-get dist-upgradeActualizar paquetes (eliminar e instalar nuevos si es necesario)
lista de aptosAnálogo aproximado:
dpkg-consulta --lista
Lista de paquetes
búsqueda adecuadabúsqueda de apt-cacheBúsqueda de paquetes
espectáculo aptoespectáculo de caché aptInformación del paquete

A veces, hay situaciones en las que necesita averiguar qué paquetes están instalados en el sistema. Esto puede ser necesario si desea respaldo paquetes instalados, verificar su integridad, transferir todos los paquetes a otro sistema y para muchas otras tareas. En Debian, se pueden usar varios métodos para esto.

En el artículo de hoy, veremos cómo enumerar los paquetes Debian instalados usando la terminal, la interfaz curses y también la GUI. Estas listas se pueden utilizar no sólo para Copia de reserva, sino también para simplemente iterar y eliminar programas innecesarios, limpiando así el sistema de escombros.

La primera forma de ver instalado Paquetes Debian, esta es la utilidad dpkg. Se puede usar no solo en Debian, sino en todas las distribuciones basadas en él:

dpkg --get-selecciones | grep -v desinstalar

dpkg --get-selecciones | grep -v desinstalar > milista.txt

También puede eliminar toda la información innecesaria y conservar solo los nombres de los paquetes:

dpkg-l | grep^ii | awk "(imprimir $2)" > milista.txt

La siguiente forma de realizar esta tarea es utilizar la utilidad dpkg-query. Es similar a la versión anterior, pero un poco más simple. Este comando mostrará una lista de todos los paquetes instalados junto con información sobre ellos:

Aquí, también, solo puede seleccionar nombres de paquetes con la opción -f:

dpkg-query -f "$(binario:Paquete)\n" -W

El tercer método es la utilidad apt que estamos acostumbrados a usar para instalar aplicaciones, tiene un comando de lista:

lista apt --instalado

lista apt --instalado | pitón grep

Cubrimos apt con más detalle en el artículo. Otra característica interesante de apt es ver qué paquetes se han instalado manualmente. Para hacer esto, escriba:

apt-mark showmanual

Y otra opción usando apt:

apt-cache pkgnames

La herramienta de administración de paquetes de aptitude también le permite enumerar los paquetes instalados:

búsqueda de aptitudes "~i!~M"

Además, aptitude puede ejecutarse en modo curses, lo cual es muy conveniente:

La última forma de ver la lista de paquetes instalados es en el archivo /var/lib/apt/extended_states. Esta es una base de datos que contiene programas instalados debian en este formato:

Paquete: nombre_paquete
arquitectura: arquitectura
Instalado automáticamente: 0_or_1

cat /var/lib/apt/estados_extendidos

Restauración de la lista de paquetes instalados

Muchos usuarios crean una lista de paquetes no solo para mirar, sino también para recuperarlos en el futuro. Si creó una lista con dpkg, puede restaurarla fácilmente en el sistema con un comando similar:

sudo dpkg --clear-selections
$ sudo dpkg --set-selecciones< mylist.txt

Todo es muy simple. Para instalar paquetes después de agregarlos a la lista, use el comando:

sudo apt dselect-actualización

Si solo tiene una lista de nombres de paquetes, entonces necesita restaurarla de manera un poco diferente. Simplemente pase todos estos nombres al comando apt para instalar:

xargs< mylist.txt apt install -y

conclusiones

En este artículo, vimos cómo enumerar los paquetes Debian instalados. Esto puede ser muy útil y es bastante fácil de hacer. Espero que esta información te haya sido útil.

Debido al hecho de que algunos compañeros no entienden qué son apt y dpkg. Decidí crear otra publicación sobre estas utilidades.

APT y todo, todo, todo. Explorando las capacidades del administrador de paquetes APT y programas relacionados

Debian ha traído muchas innovaciones positivas al mundo de Linux, muchas de las cuales han sido adoptadas por otras distribuciones. La mejora más significativa de Debian fue el sistema de administración de paquetes APT; después de su lanzamiento, todas las demás distribuciones se convirtieron en chatarra obsoleta. Hoy, APT es complejo, inteligente, flexible y esconde muchos secretos del usuario de Linux no iniciado.

Sistema avanzado de gestión de paquetes

Por sí mismo, APT (Advanced Packaging Tool) no es un sistema de gestión de paquetes en el verdadero sentido de la palabra. Todas las acciones para desempaquetar, registrarse en el sistema y ver la base de datos de paquetes son realizadas por las utilidades de paquetes dpkg, mientras que las utilidades APT son un contenedor con el que puede buscar paquetes, verificar sumas de verificación, descargar desde el repositorio, resolver dependencias y un número de otras acciones.

APT incluye el siguiente conjunto de utilidades:

utilidades del paquete apt

apt-cache - manipula el caché de los paquetes disponibles, de uso común
para buscar un paquete y/u obtener información sobre él

apt-cdrom: le permite agregar un CD/DVD como fuente de paquete (repositorio)

apt-config: lee los valores de las opciones dadas en la configuración
archivo /etc/apt/apt.conf, utilizado por otras utilidades APT

apt-extracttemplates - Extrae los archivos de configuración de DebConf
de paquetes, utilizados por otras utilidades APT

apt-ftparchive - crea archivos de índice

apt-get - instalar, eliminar, actualizar la lista de paquetes
y los propios paquetes, la utilidad APT central

apt-key: administra las claves de autenticación utilizadas para la verificación
autenticidad de las fuentes del paquete

apt-secure - verifica la firma digital de los paquetes apt incluidos
en la distribución y repositorios

apt-sortpkgs - ordena los archivos de índice

Las utilidades se basan en los siguientes archivos de configuración:

Archivos de configuración APT

/etc/apt/sources.list - lista de fuentes de paquetes (repositorios)
/etc/apt/apt.conf - el archivo de configuración principal de APT
/etc/apt/preferences - archivo de preferencias, controla qué versión del paquete será
instalado si hay varias versiones en el repositorio a la vez

APT es simple y fácil de usar, el usuario promedio generalmente solo necesita seis comandos a continuación:

Comandos básicos de APT

Máscara de búsqueda de apt-cache: busque un paquete
apt-cache show package - ver información sobre un paquete
apt-get install paquete - instalar un paquete
apt-get remove package - elimina un paquete
apt-get update: actualiza la memoria caché de los paquetes disponibles
apt-get upgrade - actualiza todos los paquetes

Los dos últimos comandos generalmente se ejecutan uno tras otro, lo que reinstalará todos los paquetes para los que hay nuevas versiones disponibles en el repositorio. Si necesita actualizar solo el paquete especificado, luego de "apt-get update" debe ejecutar el comando "apt-get install package".

La distribución de Ubuntu hace que el proceso de "hablar" con las utilidades APT sea aún más fácil y lo reduce a hacer clic en las casillas de verificación. interfaz gráfica de usuario. Tiene su propio administrador de paquetes, extremadamente simple (se llama "Administrador de paquetes"), iniciado por cron "desde el administrador Actualizar Manager, un instalador gráfico para paquetes de deb de GDebi descargados manualmente y un complemento gráfico más potente para las utilidades APT de Synaptic.

Mientras tanto, APT es mucho más complejo y flexible de lo que podría parecer a primera vista. Por lo tanto, en las siguientes secciones, consideraremos varios métodos no muy típicos para usarlo.

Fuentes de paquetes de terceros

Además del repositorio principal que contiene todos los paquetes de los desarrolladores de distribución, hay muchas otras fuentes de paquetes que pueden contener software de terceros que no está disponible en el repositorio oficial, proporcionar versiones más recientes o simplemente ser un espejo más rápido. El repositorio puede ser un directorio regular en su disco duro o un CD.

Para enseñar a APT a trabajar con repositorios de terceros, basta con seguir cuatro sencillos pasos:

El campo uri es la dirección del repositorio, que en la mayoría de los casos es una dirección HTTP, pero también puede ser un enlace a un repositorio local (archivo:/raíz/repositorio), la dirección de un repositorio en un servidor FTP o SSH. El campo "distribución" especifica el nombre de la distribución para la que se construyen los paquetes. Para Debian, el nombre puede ser estable, antiguo estable, inestable, prueba, mientras que en el caso de Ubuntu, solo se debe especificar el nombre de la distribución específica (por ejemplo, jaunty), y también varias designaciones basado en él (por ejemplo, jaunty-updates, jaunty-backports, jaunty-security). Debo decir que APT no se opone en absoluto a mezclar paquetes de diferentes distribuciones en el mismo sistema, pero usted será responsable de las consecuencias en este caso. El componente suele denominarse principal, contrib o non-free en Debian y principal, universo, multiverso, socio y restringido en Ubuntu. Estos son todos los nombres de diferentes repositorios de paquetes que están separados solo para separar paquetes según algunos criterios. Por ejemplo, main son paquetes compilados por el equipo de desarrollo de Ubuntu/Debian, existen ciertas garantías para la calidad del software contenido en ellos, incluidas actualizaciones oportunas y correcciones de errores, mientras que contrib y universe son software de terceros que instala en su propio peligro y riesgo.

2. Agregue a apt keyring la clave pública del repositorio, utilizada para verificar su autenticidad y confiabilidad. La clave puede obtenerse por cualquier medio y agregarse ejecutando el comando "apt-key add key", pero este método rara vez se practica debido a la inconveniencia. En la gran mayoría de los casos, se tratará con un equipo

sudo apt-key adv --keyserver cert-server --recv-keys key-id
que solicita la clave directamente desde el servidor de certificados (para Ubuntu, este es keyserver.ubuntu.com). Así es como la mayoría de los desarrolladores de terceros distribuyen su software para las distribuciones de Debian/Ubuntu (y el resto solo publica paquetes y sus sumas de verificación). Por ejemplo, si va a la página del proyecto que le interesa alojado en launchpad.net y hace clic en el enlace "Detalles técnicos sobre este PPA", verá una línea que debe agregarse a /etc/apt/sources .list, la "Clave de firma:" contendrá el ID de clave.

3. Actualice la memoria caché de los paquetes disponibles:

sudo apt-obtener actualización
4. Instale el paquete usando el comando "apt-get install package".

Muchos desarrolladores colocan un enlace al repositorio y su ID de clave directamente en el paquete deb, por lo que después de descargar el paquete, instalarlo y ejecutar el comando "apt-get update && apt-get upgrade", los paquetes se actualizarán junto con su contrapartes enumeradas en la lista de fuentes. En particular, así es como navegadores de ópera y versión alfa de google chrome.

Un repositorio basado en CD es mucho más fácil de agregar a sources.list. Hay un comando especial apt-cdrom para esto. Simplemente inserte el CD en la unidad y ejecute el comando:

sudo apt-cdrom añadir

Trucos y situaciones inusuales.

APT es APT, es conveniente y simple, pero a veces no puede prescindir de los trucos, los más útiles de los cuales aprenderá en esta sección.

1. De forma predeterminada, el comando "apt-get remove" elimina un paquete por completo solo si ninguno de sus archivos se ha modificado desde la instalación; de lo contrario, los archivos modificados permanecen intactos. Naturalmente, los archivos de configuración casi siempre se modifican, por lo que apt-get deja un montón de basura que debe limpiar a mano. El comando "apt-get purge" en lugar de "apt-get remove" resuelve este problema.

2. Aficionados al picking en el sistema, así como administradores del sistema cuyos servidores han sido pirateados probablemente querrán devolver los paquetes al estado inicial en el que estaban antes de la manipulación. Este comando ayudará:

sudo apt-get install --reinstall paquete
3. Las utilidades de administración de paquetes deb de nivel inferior (como dselect y dpkg) mantienen una lista especial de estados de paquetes que se puede usar para controlar qué paquetes deben instalarse o eliminarse en modo por lotes (así es como funciona el paquete dselect + dpkg) . También se puede utilizar para muchos otros fines, como transferir la configuración de un sistema a otra máquina. Ejecute el siguiente comando:

dpkg --get-selections > archivo
Transfiera el archivo a otra máquina y ejecute dos comandos en él:

archivo cat > dpkg --set-selections
apt-get dselect-actualización

Todos los paquetes del sistema de origen se agregarán al sistema. Para que el archivo de estado del paquete también contenga información sobre qué paquetes eliminar del sistema, agregue un carácter "\*" después del argumento "--get-selections". La lista de estado no contiene versiones de paquetes, esto se puede usar después de instalar más nueva versión kit de distribución para llevarlo al estado requerido.

4. Ha parcheado manualmente un archivo de uno de los paquetes del sistema y no desea que ese paquete se actualice (borrando todos sus cambios) después de llamar a "apt-get upgrade". En este caso, la lista de estados vendrá nuevamente en su ayuda. Un paquete se puede "congelar", lo que hace que apt-get se niegue a actualizarlo y se salte:

echo -e "retención de coreutils" | dpkg --set-selecciones
Puede forzar la actualización de un paquete especificando el indicador "-u" al llamar a apt-get.

5. Como cualquier sistema con funcionalidad de red, APT le permite usar un proxy para acceder a los repositorios. Para habilitar esta función, agregue la siguiente línea al archivo /etc/apt/apt.conf:

Adquirir::http::Proxy "http://xxx.xxx.xx:yyyy"

Donde xxx.xxx.xx es el nombre de su proxy, yyyy es el puerto.

6. Las utilidades APT generalmente solicitan la versión más reciente de un paquete de todos los que están en su caché, por lo que si agregó varios repositorios experimentales e inestables a source.list, luego de la actualización obtendrá un kit de distribución que consiste exclusivamente en paquetes experimentales o inestables. , y un montón de problemas causados ​​por este estado de cosas. Sin embargo, la situación se resuelve fácilmente colocando la siguiente línea en /etc/apt/apt.conf:

APT::Default-Release "liberar";

Donde versión es antigua estable, estable, inestable, de prueba o experimental para Debian, o el nombre de la versión para Ubuntu. Ahora, si necesita instalar un paquete de la distribución especificada, simplemente escriba su nombre después del argumento "-t" cuando llame a apt-get:

sudo apt-get -t paquete de instalación inestable
7. Todos los paquetes apt-get deb recibidos se almacenan en el directorio /var/cache/apt/archives, lo que significa que si reinstala el sistema, puede copiar el contenido del directorio a otro disco/partición y luego restaurarlo. y ahorre tiempo/tráfico de instalación de paquetes. Además, es esencialmente una instantánea de su sistema instalado(aquella parte que instaló usted mismo), que puede atribuirse a un amigo (junto con la lista de estados descritos en el tercer párrafo) o, si no es necesario, eliminarse para liberar espacio.

8. La instantánea del sistema remoto descrita en el párrafo anterior se puede restaurar fácilmente usando la siguiente construcción:

sudo dpkg --get-selecciones | grep -v "desinstalar" | \
awk "(imprimir $1)" | xargs dpkg-reempaquetar

9. Además de los paquetes binarios, los repositorios de Debian/Ubuntu también contienen paquetes fuente de aplicaciones que se pueden obtener y compilar con el siguiente comando:

sudo apt-get -b nombre del paquete fuente

Utilidades de terceros

El sistema APT ha recorrido un largo camino en el desarrollo, por lo que además de las utilidades oficiales incluidas en el paquete apt, los repositorios de Debian y Ubuntu están repletos de una gran cantidad de utilidades de terceros, que se puede utilizar para realizar algunas tareas no estándar.
El más útil de ellos se llama apt-file y es necesario, como puede adivinar por el nombre, para determinar si un archivo en particular pertenece a un paquete en particular. Instalar:

sudo apt-get install archivo apt
Le pedimos a apt-file que cree un caché de todos los archivos instalados en el sistema de paquetes (se buscará):

búsqueda de archivos apt /usr/bin/apt-get
apto: /usr/bin/apt-get

Solicite una lista de todos los archivos del paquete:

lista de archivos apt apt

Una sencilla utilidad apt-show-versions le mostrará qué paquetes se pueden actualizar con versiones y otra información. Ejecútelo con el indicador "-u" para obtener una lista de solo los paquetes para actualizar (en lugar de una lista de todos los paquetes).

Si instaló un gran número de varios paquetes y ahora desea deshacerse de la basura innecesaria, entonces la utilidad deborphan ayudará en este asunto, que busca paquetes no utilizados y dependencias huérfanas. Simplemente ejecute deborphan sin argumentos y verá una lista de paquetes, que puede pasar inmediatamente como entrada al comando "apt-get remove", o simplemente ejecute este comando:

sudo apt-get remove `deborfan`

De forma predeterminada, deborphan solo procesa paquetes que contienen bibliotecas, pero este comportamiento se puede cambiar agregando el indicador "-a" a la invocación del comando:

No debe apresurarse a eliminar inmediatamente los paquetes que muestra la utilidad, porque incluso el algoritmo heurístico más poderoso no puede determinar sus necesidades personales. Entonces, el programa me mostró los paquetes google-chrome, inkscape e incluso xorg.

La utilidad apt-move le permitirá crear un repositorio local. Instale el programa, abra el archivo /etc/apt-move.conf, especifique la ruta al directorio donde debe ubicarse el repositorio en la opción LOCALDIR y ejecute el comando:

actualización de sudo apt-move

Como resultado, todos los paquetes descargados de la web mediante apt-get (directorio /var/cache/apt/archives) se moverán al directorio especificado en la configuración, para lo cual se creará un archivo de índice. Este manera conveniente creando un repositorio de intranet para aquellos casos en los que se necesita instalar una gran cantidad de paquetes idénticos en muchas máquinas.

Para crear un repositorio local, también es muy conveniente usar el servidor apt-proxy, que le permite almacenar en caché los paquetes deb descargados del repositorio en el lado del servidor. Para hacer esto, se instala apt-proxy en una máquina dedicada (quizás una puerta de enlace), y se modifica la lista de clientes de sources.list para que la dirección de esta máquina se especifique como el campo uri de todos los repositorios. Como resultado, todas las solicitudes de paquetes deb se redirigen a apt-proxy, que solicita el paquete del repositorio principal y lo almacena en su caché, y todas las solicitudes posteriores de este paquete serán respondidas desde el caché.

Primero, instale apt-proxy en una máquina dedicada:

sudo apt-get install apt-proxy

A continuación, abra el archivo /etc/apt-proxy/apt-proxy-v2.conf, vaya a la sección y reemplace el valor de la opción de dirección con la dirección IP de la máquina, y también describa las fuentes de paquetes utilizadas por apt- proxy, por ejemplo:

sudo vi /etc/apt-proxy/apt-proxy-v2.conf


backends = http://en.archive.ubuntu.com/ubuntu/
min_refresh_delay = 1d


backends=http://security.ubuntu.com/ubuntu/
min_refresh_delay = 1d

Por lo general, estas dos direcciones son suficientes para cubrir toda la gama de paquetes proporcionados por los desarrolladores de Ubuntu. Reinicie apt-proxy:

sudo invocar-rc.d apt-proxy reiniciar

Para cambiar los clientes a apt-proxy, tomamos la lista de fuentes estándar de Ubuntu, reemplazamos todos los campos uri reales con "http://ip-address-apt-proxy:9999/ubuntu/" y copiamos este archivo a cada cliente.

Hay muchas otras utilidades menos interesantes que funcionan junto con APT. Por ejemplo, apt-dater le permite actualizar paquetes en una gran cantidad de nodos remotos mediante una interfaz pseudográfica. El programa aptsh implementa una interfaz de comandos similar a sh además de los comandos del paquete apt, aptfs es el sistema de archivos virtual para administrar APT. La utilidad debdelta, que le permite actualizar paquetes descargando sus deltas de la Web, podría ser un tema para un artículo aparte si hubiera al menos un repositorio actualizado para ella.

Aptitud

La utilidad apt-get y sus parientes no son la única implementación de APT disponible. Una alternativa aún más poderosa, conveniente y versátil se llama aptitude y es una funcionalidad concentrada de apt-get, apt-cache y dselect en un solo lugar.
Aptitude le permite instalar/desinstalar, buscar, actualizar y hacer muchas otras cosas con paquetes utilizando dos tipos de interfaz: un modo de comando similar a apt-get y apt-cache, y una interfaz pseudográfica que se parece a dselect pero mucho más conveniente y funcional.

En el modo de línea de comandos, aptitude se puede usar para hacer cosas como:

aptitude install - instalar un paquete

aptitude remove - Elimina un paquete y dependencias huérfanas

aptitude purge - eliminar paquete, dependencias huérfanas
y los archivos de configuración restantes después de ellos

aptitude search - busque un paquete en el caché (lista de paquetes disponibles)

actualización de aptitude - actualización de caché

aptitude safe-upgrade - paquetes de actualización

aptitude clean - elimina paquetes descargados previamente

aptitude full-upgrade - paquetes de actualización,
incluso si esta acción requiere la eliminación de cualquier paquete

aptitude show - información del paquete

aptitude autoclean - elimina paquetes obsoletos

aptitude hold: establece una prohibición de actualizar un paquete

El modo interactivo, disponible cuando ejecuta aptitude sin argumentos, le permite realizar todas las mismas acciones utilizando una interfaz pseudográfica construida sobre la biblioteca ncurses. Funciona en modo por lotes (paquetes seleccionados: inició el proceso de instalación), por lo que será conveniente en los casos en que necesite instalar una gran cantidad de paquetes.

huevos de Pascua

Los desarrolladores de las utilidades APT resultaron ser tipos con un sentido del humor ligeramente retorcido. ¿Cuál es el resultado del siguiente comando:

sudo apt-get moo
Lo que parece aún más salvaje es lo que los creadores de aptitude han integrado en su programa. Intentar:

sudo aptitud moo
Una especie de huevo de Pascua el huevo de Pascua. DE ACUERDO:

sudo aptitude -v moo
sudo aptitude -vv moo
sudo aptitude -vvv moo
sudo aptitude -vvvv moo
sudo aptitude -vvvvv moo

Y el acorde final:

sudo aptitude -vvvvvv moo

Comandos útiles de apt-cache

apt-cache show package - información detallada sobre el paquete
paquete apt-cache showpkg - información general sobre el paquete
apt-cache depende del paquete - lista de dependencias de paquetes
paquete apt-cache rdepends - lista de dependencias inversas (quién necesita dicho paquete)

Diccionario APT

Paquete: un programa, biblioteca, fuentes o cualquier otro archivo, así como sus metadatos, empaquetados en un archivo especialmente formado.

Repositorio: un lugar donde se almacenan los paquetes deb.

La memoria caché de paquetes disponibles (o simplemente memoria caché) es un archivo que almacena información sobre todos los paquetes disponibles de las fuentes enumeradas en /etc/apt/sources.list. El caché se actualiza cada vez que se llama al comando "apt-get update".

Archivo de índice: el archivo principal del repositorio que contiene el nombre, la versión, el tamaño, la Descripción completa y dependencias para cada paquete. Packages.gz con nombre para un repositorio binario y Sources.gz para un repositorio fuente. Creado usando las utilidades pkg-scanpackages y dpkg-scansources.

Apt keyring (literalmente: apt keyring) es un almacén de claves que autentica fuentes de paquetes (repositorios).

¿Qué hay dentro?

El sello distintivo de los paquetes de formato Deb es su simplicidad. Cualquier paquete Deb consta de tres archivos: data.tar.gz, control.tar.gz y debian-binary, empaquetados con el archivador ar. El archivo data.tar.gz es el contenido del paquete (binarios, man's, documentación, etc.), control.tar.gz son metadatos, en la versión más simple, dos archivos: control que contiene una descripción del paquete, dependencias, tamaño, etc. .d., y md5sums son las sumas de verificación de todos los archivos en el paquete. El archivo debian-binary contiene la versión del formato del paquete Deb (por ejemplo, 2.0) Para desempaquetar el paquete, puede usar el comando:

ar -xv paquete.deb && tar -xzf datos.tar.gz

La herramienta de empaquetado avanzada es una herramienta de empaquetado de alto nivel.

Trabajando con paquetes con dpkg

dpkg es el programa principal del sistema para manejar paquetes Debian. Si hay paquetes .deb, es dpkg el que le permite instalarlos o analizar su contenido. Sin embargo, este programa solo tiene una comprensión parcial del mundo Debian: sabe lo que está instalado en el sistema, así como todo lo que se le pasa en la línea de comandos, pero no sabe nada sobre otros paquetes disponibles. Por lo tanto, fallará si encuentra una dependencia no satisfecha. Herramientas como apt, por otro lado, crearán automáticamente una lista de dependencias para instalar todo lo más automáticamente posible.

dpkg o apto?

dpkg debe considerarse como una herramienta de bajo nivel (motor) y apto como una herramienta más fácil de usar que supera las limitaciones de la primera. Estas herramientas funcionan juntas, cada una con sus propias especificaciones, afiladas para una determinada gama de tareas.

Instalando paquetes

dpkg es principalmente una herramienta para instalar paquetes Debian ya disponibles (porque no descarga nada). Para instalar un paquete, use la opción -i o --install.

Instalar un paquete con dpkg

dpkg -i hombre-db_2.7.0.2-5_amd64.deb




El paquete man-db (2.7.0.2-5) se está configurando...

Podemos ver cada paso que se está ejecutando dpkg, por lo que sabemos dónde podría haber ocurrido algún error. La instalación también se puede realizar en dos pasos: primero desempaquetar y luego configurar. Esto hace que apt-get haga menos llamadas a dpkg (cada una de esas llamadas es una operación costosa debido a la necesidad de cargar la base de datos en la memoria, incluida la lista completa de archivos ya instalados).

Desembalaje y montaje por separado

dpkg --desempaquetar man-db_2.7.0.2-5_amd64.deb

(Leyendo base de datos... 86425 archivos y directorios actualmente instalados.)
Preparándose para desempaquetar man-db_2.7.0.2-5_amd64.deb...
Desempaqueta man-db (2.7.0.2-5) para reemplazar (2.7.0.2-5)...
Disparadores de procesamiento para compatibilidad con mime (3.58) ...

dpkg --configure man-db

El paquete man-db (2.7.0.2-5) se está configurando...
Actualizando la base de datos de las páginas del manual...

A veces, dpkg no puede instalar un paquete por un motivo u otro y devuelve un error; si el usuario indica ignorar este error, solo se emitirá una advertencia; hay varias opciones --force-* para esto. El comando dpkg --force-help, o la documentación de ese comando, le dará una lista completa de estas opciones. El error más común al que tendrás que enfrentarte tarde o temprano es un conflicto de archivos. Cuando un paquete contiene un archivo que ya está instalado por otro paquete, dpkg se negará a instalarlo y obtendremos este mensaje:

El paquete libgdm está desempaquetado (del archivo.../libgdm_3.8.3-2_amd64.deb)...
dpkg: error al procesar la opción /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
tratando de sobrescribir "/usr/bin/gdmflexiserver" que ya está en el paquete gdm3 3.4.1-9

En este caso, si cree que reemplazar este archivo no representa una amenaza significativa para la estabilidad de su sistema (a menudo lo es), puede usar la opción --force-overwrite, que le indicará a dpkg que ignore este error y lo sobrescriba. el archivo.
Si bien hay muchas opciones --force-*, solo se recomienda --force-overwrite para uso regular. El resto son solo para casos excepcionales, y es mejor no tocarlos el mayor tiempo posible para respetar las reglas establecidas cuando se creó el paquete. No olvide que estas reglas son una garantía de la integridad y estabilidad del sistema.

¡ATENCIÓN! Uso efectivo de --force-*

Si no tiene cuidado, usar la opción --force-* puede hacer que los comandos APT dejen de funcionar. Algunas de estas opciones le permiten instalar un paquete con dependencias no satisfechas o un conflicto. Como resultado, se rompe la consistencia del sistema en términos de dependencias, y los comandos APT se negarán a realizar cualquier acción que no sea la que devuelve el sistema a un estado consistente (esto generalmente se reduce a instalar una dependencia faltante o eliminar una paquete problemático). Aquí hay un ejemplo de un mensaje que indica dicho error, que se recibe después de instalar una nueva versión de rdesktop, ignorando la dependencia de la versión más nueva de libc6:

apt actualización completa

Es posible que desee utilizar "apt-get -f install" para corregir estos errores.
Paquetes con dependencias no satisfechas:
rdesktop: Depende: libc6 (>= 2.5) pero 2.3.6.ds1-13etch7 ya está instalado
E: Dependencias no satisfechas.

Intenta usar -f.
Los administradores intrépidos, confiados en su análisis de la situación, pueden ignorar la advertencia de dependencia o conflicto mediante el uso de la opción --force-* adecuada. En este caso, si desea continuar usando apt o aptitude, debe editar /var/lib/dpkg/status y eliminar/cambiar la dependencia o el conflicto.
Edición archivo dado es un truco sucio y no debe usarse excepto en los casos más extremos. A menudo mejor solución es reconstruir el paquete que está causando el problema, "Reconstruir un paquete desde su código fuente”) o usando una versión más nueva (posiblemente reparada) de un repositorio como stable-backports (consulte la Sección 6.1.2.4, “Software estable compatible con versiones anteriores”).

Quitar un paquete

Ejecutar dpkg con la opción -r o --remove seguida de un nombre de paquete eliminará ese paquete. Esta eliminación, sin embargo, no está completa: todos los archivos de configuración, scripts de mantenimiento, archivos de registro (registros del sistema) y otros datos de usuario utilizados por este paquete permanecerán. De esta forma, es fácil deshacerse del programa desinstalándolo, pero al mismo tiempo sigue siendo posible volver a instalarlo con la misma configuración. Para eliminación completa cualquier cosa relacionada con un paquete, use la opción -P o --purge, seguida del nombre del paquete.

Eliminación completa del paquete debian-cd

dpkg -r debian-cd

(Leyendo base de datos... 97747 archivos y directorios actualmente instalados.)

dpkg -P debian-cd

(Leyendo base de datos... 97401 archivos y directorio instalado actualmente.)
Se eliminó el paquete debian-cd (3.1.17)...
Limpiando los archivos de configuración del paquete debian-cd (3.1.17)...

Consultas de base de datos dpkg y análisis de archivos .deb

Para la mayoría de las opciones, hay opciones "largas" (una o más palabras precedidas por un guión doble) y opciones "cortas" (una letra, a menudo la primera letra de la opción "larga", después de un solo guión). Esta convención es tan común que ya es un estándar POSIX.
Antes de concluir esta sección, veamos las opciones de dpkg para consultar la base de datos interna en busca de información diversa. Esto enumerará primero las opciones largas, seguidas de las opciones cortas correspondientes (que, por supuesto, toman los mismos argumentos). Por lo tanto, --listfiles paquete (o -L) enumera los archivos instalados por el paquete; --search file (o -S) busca el paquete al que pertenece este archivo; --status paquete (o -s) muestra información sobre un paquete instalado en particular; --list (o -l) enumera los paquetes conocidos por el sistema y su estado; --contents file.deb (o -c) lista los archivos en este paquete; --info file.deb (o -I) muestra información sobre un paquete Debian.

Obtener información con dpkg

dpkg -L base-contraseña

/.
/usr
/usr/sbin
/usr/sbin/actualizar-contraseña
/usr/compartir
/usr/compartir/hombre
/usr/share/hombre/ru
/usr/share/man/ru/man8
/usr/share/man/ru/man8/update-passwd.8.gz
/usr/share/hombre/pl
/usr/share/man/pl/man8
/usr/share/man/pl/man8/update-passwd.8.gz
/usr/share/hombre/hombre8
/usr/share/man/man8/update-passwd.8.gz
/usr/share/hombre/fr
/usr/share/man/es/man8
/usr/share/man/fr/man8/update-passwd.8.gz
/usr/share/doc-base
/usr/share/doc-base/usuarios-y-grupos
/usr/share/contraseña-base
/usr/share/base-passwd/passwd.master
/usr/share/base-passwd/group.master
/usr/compartir/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/contraseña-base
/usr/compartir/doc
/usr/share/doc/contraseña-base
/usr/share/doc/contraseña-base/copyright
/usr/share/doc/base-passwd/usuarios-y-grupos.html
/usr/share/doc/base-passwd/changelog.gz
/usr/share/doc/base-passwd/usuarios-y-grupos.txt.gz
/usr/share/doc/contraseña-base/README

dpkg -S /bin/fecha

coreutils: /bin/fecha

dpkg -s coreutils

Paquete: coreutils
Esencial: si
Estado: instalar ok instalado
Prioridad: requerida
Sección: utilidades
Tamaño instalado: 13822
Mantenedor: Michael Stone
Arquitectura: amd64
Multi-Arco: extranjero
Versión: 8.13-3.5
Reemplaza: mktemp, tiempo de espera
Depende: dpkg (>= 1.15.4) | instalar información
Depende previamente: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.7), libselinux1 (>= 1.32)
conflictos: tiempo de espera
Descripción: utilidades principales de GNU
Este paquete contiene la manipulación básica de archivos, shell y texto.
utilidades que se espera que existan en todos los sistemas operativos.
.
En concreto, este paquete incluye:
arco base64 nombre base gato chcon chgrp chmod chown chroot cksum comm cp
fecha de corte csplit dd df dir dircolors dirname du echo env expandir expr
factor false flock fmt fold groups head hostid id install join link ln
nombre de registro ls md5sum mkdir mkfifo mknod mktemp mv agradable nl nohup nproc od
pegar pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon
sha*sum seq triturar dormir ordenar dividir estadística stty suma sincronizar tac cola tee prueba
timeout touch tr true truncate tsort tty uname unexpand uniq unlink
usuarios vdir wc quién whoami sí
Página de inicio: http://gnu.org/software/coreutils

dpkg -l "b*"

Deseada=desconocida[u]/instalar[i]/eliminar[r]/limpiar[p]/arreglar[h]
| Estado=no[n]/instalado[i]/configurado[c]/desempaquetado[U]/parcialmente configurado[F]/
configurado parcialmente [H]/trig-aWait/Trig-pend
|/ ¿Error?=(ninguno)/reinstalar requerido[R] (mayúsculas
en los campos de estado y error indica una situación anormal)
||/ Nombre Versión Arquitectura Descripción
+++-============-==============-==============-================================
un respaldo ninja<нет>(descripción no disponible)
base<нет>(descripción no disponible)
sin base-config<нет>(descripción no disponible)
ii base-files 7.1 amd64 Sistema base Debian varios
ii base-passwd 3.5.26 amd64 Debian base system master passwo
[...]

Dpkg -c /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

drwxr-xr-x raíz/raíz 0 2013-01-02 19:28 ./
drwxr-xr-x raíz/raíz 0 2013-01-02 19:28 ./usr/
drwxr-xr-x raíz/raíz 0 2013-01-02 19:28 ./usr/share/
drwxr-xr-x raíz/raíz 0 2013-01-02 19:28 ./usr/share/doc/
drwxr-xr-x raíz/raíz 0 2013-01-02 19:28 ./usr/share/doc/gnupg/
-rw-r--r-- raíz/raíz 3258 2012-01-20 10:51 ./usr/share/doc/gnupg/TODO
-rw-r--r-- raíz/raíz 308 2011-12-02 18:34 ./usr/share/doc/gnupg/FAQ
-rw-r--r-- raíz/raíz 3543 2012-02-20 18:41 ./usr/share/doc/gnupg/Upgrading_From_PGP.txt
-rw-r--r-- raíz/raíz 690 2012-02-20 18:41 ./usr/share/doc/gnupg/README.Debian
-rw-r--r-- raíz/raíz 1418 2012-02-20 18:41 ./usr/share/doc/gnupg/TODO.Debian
[...]

Dpkg -I /var/cache/apt/archives/gnupg_1.4.12-7_amd64.deb

nuevo paquete debian, versión 2.0.
tamaño 1952176 byte(s): archivo de control de 3312 byte(s) de largo.
1449 bytes, 30 líneas de control
4521 bytes, 65 líneas md5sums
479 bytes, 13 líneas * postinst #!/bin/sh
473 bytes, 13 líneas * preinst #!/bin/sh
Paquete: gnup
Versión: 1.4.12-7
Arquitectura: amd64
Mantenedor: Debian GnuPG-Maintainers
Tamaño instalado: 4627
Depende: libbz2-1.0, libc6 (>= 2.4), libreadline6 (>= 6.0), libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | instalar-info, gpgv
Recomienda: libldap-2.4-2 (>= 2.4.7), gnupg-curl
Sugiere: gnupg-doc, xloadimage | imagen mágica | eog, libpcsclite1
Sección: utilidades
prioridad: importante
Multi-Arco: extranjero
Página de inicio: http://www.gnupg.org
Descripción: GNU privacy guard: un reemplazo gratuito de PGP
GnuPG es la herramienta de GNU para la comunicación segura y el almacenamiento de datos.
Se puede utilizar para cifrar datos y crear firmas digitales.
Incluye una función avanzada de gestión de claves y cumple
con el estándar de Internet OpenPGP propuesto como se describe en RFC 4880.
[...]

YENDO MÁS ALLÁ: Comparación de versiones

Dado que dpkg es un empaquetador de Debian, contiene, entre otras cosas, una implementación de referencia de la lógica de comparación del número de versión. Por lo tanto, tiene la opción --compare-versions, que se usa programas externos(principalmente scripts de configuración ejecutados por el mismo dpkg). Esta opción requiere tres parámetros: un número de versión, un operador de comparación y un segundo número de versión. Los operadores de comparación válidos son lt (estrictamente menor que), le (menor que o igual a), eq (igual a), ne (diferente a), ge (mayor que o igual a) y gt (estrictamente mayor que). Si la comparación es verdadera, dpkg devuelve 0 (éxito), si no, entonces un valor distinto de cero (indicación de un error).

$ dpkg --compare-versiones 1.2-3 gt 1.1-4
$ eco $?
0
$ dpkg --compare-versiones 1.2-3 lt 1.1-4
$ eco $?
1
$ dpkg --compare-versiones 2.6.0pre3-1lt 2.6.0-1
$ eco $?
1

Tenga en cuenta la falla inesperada de la última comparación: para dpkg, las letras pre, que generalmente denotan un lanzamiento previo, no tienen un significado especial, y los caracteres alfabéticos se comparan de la misma manera que los números (un< b < c ...), в алфавитном порядке. Именно поэтому dpkg считает, что «0pre3» больше, чем «0». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «~»:

$ dpkg --compare-versiones 2.6.0~pre3-1lt 2.6.0-1
$ eco $?
0

archivo de registro dpkg

dpkg mantiene un registro de todas sus acciones en /var/log/dpkg.log. Este registro es extremadamente detallado y documenta cada paso en el procesamiento de paquetes dpkg. Este registro no solo ayuda a rastrear el comportamiento de dpkg, sino que también mantiene un historial de cambios en el sistema: puede encontrar el momento exacto en que se instaló o actualizó cada paquete, y esta información puede ser extremadamente útil para averiguar por qué el comportamiento de el sistema en su conjunto ha cambiado. Además, la información sobre todas las versiones se registra y se puede comparar fácilmente con changelog.Debian.gz del paquete respectivo o informes de errores en línea.

Soporte multiarquitectura

Todos los paquetes de Debian tienen un campo Arquitectura en sus metadatos. Este campo puede contener el valor "todos" (para paquetes que son independientes de la arquitectura) o el nombre de la arquitectura específica para la que está destinado el paquete (por ejemplo, "amd64", "armhf", ...). En el último caso, dpkg por defecto solo permitirá que se instale un paquete si su arquitectura coincide con la arquitectura del sistema devuelta por dpkg --print-architecture.
Esta restricción garantiza que no haya archivos binarios compilados para la arquitectura incorrecta en el sistema. Eso sería genial, pero en (algunas) computadoras es posible ejecutar binarios para diferentes arquitecturas, ya sea de forma nativa (por ejemplo, los sistemas "amd64" ejecutan binarios para "i386") o mediante emuladores.

Habilitación de multiarquitectura

El soporte multiarquitectura de dpkg le permite definir "arquitecturas externas" que se pueden instalar en un sistema dado. Esto se hace fácilmente con dpkg --add-architecture, como se muestra en el siguiente ejemplo. También hay un comando dpkg --remove-architecture correspondiente para deshabilitar la compatibilidad con una arquitectura externa, pero solo se puede usar cuando no queda un solo paquete de esta arquitectura en el sistema.

dpkg --print-architecture
amd64

dpkg: error al procesar el archivo gcc-4.9-base_4.9.1-19_armhf.deb (--install):
la arquitectura del paquete (armhf) no coincide con el sistema (amd64)
Se encontraron errores al procesar:
gcc-4.9-base_4.9.1-19_armhf.deb

dpkg --add-architecture armhf
dpkg --add-arquitectura armel
dpkg --print-foreign-architectures
brazo
Armel

dpkg -i gcc-4.9-base_4.9.1-19_armhf.deb

Seleccionando el paquete previamente no seleccionado gcc-4.9-base:armhf.
(Leyendo base de datos... 86425 archivos y directorios actualmente instalados.)
Preparándose para desempaquetar gcc-4.9-base_4.9.1-19_armhf.deb...
Desempaquetando gcc-4.9-base:armhf (4.9.1-19)...
Configurando gcc-4.9-base:armhf (4.9.1-19)...

dpkg --remove-architecture armhf

dpkg: error: no se puede eliminar la arquitectura "armhf" actualmente en uso por la base de datos

dpkg --remove-architecture armel
dpkg --print-foreign-architectures
Soporte multiarco en APT

APT detectará automáticamente si dpkg está configurado para admitir arquitecturas extranjeras y comenzará a descargar los archivos de paquetes apropiados durante el proceso de actualización.
Los paquetes extranjeros se pueden instalar con apt install package:architecture.

Uso de binarios propietarios i386 en sistemas amd64

Hay algunos casos en los que la arquitectura múltiple puede ser útil, pero el más común es permitir la ejecución de archivos de 32 bits (i386) en sistemas de 64 bits (amd64), en particular porque algunas aplicaciones propietarias populares ( como Skype) solo están disponibles en versiones de 32 bits.

Cambios de arquitectura múltiple

Para que la compatibilidad con varias arquitecturas fuera verdaderamente útil, era necesario volver a empaquetar las bibliotecas moviéndolas a un directorio específico de la arquitectura para poder instalar varias copias (para diferentes arquitecturas) al mismo tiempo. Dichos paquetes actualizados contienen un encabezado "Multi-Arch: mismo" que indica al sistema de administración de paquetes que se pueden instalar diferentes arquitecturas de paquetes juntas (y que estos paquetes solo pueden satisfacer las dependencias de paquetes de la misma arquitectura). Dado que el soporte multiarquitectura solo se agregó en Debian Wheezy, aún no se han convertido todas las bibliotecas.

dpkg -s gcc-4.9-base

dpkg-query: error: --status requiere un nombre de paquete válido, pero 'gcc-4.9-base' no lo es: nombre de paquete ambiguo 'gcc-4.9-base' con más de una instancia instalada

Use la opción --help para mostrar ayuda sobre las solicitudes de paquetes.

Dpkg -s gcc-4.9-base:amd64 gcc-4.9-base:armhf | grep ^ Multi

Multi-Arco: igual
Multi-Arco: igual

Dpkg -L libgcc1:amd64 |grep .so

/lib/x86_64-linux-gnu/libgcc_s.so.1

dpkg -S /usr/share/doc/gcc-4.9-base/copyright

gcc-4.9-base:amd64, gcc-4.9-base:armhf: /usr/share/doc/gcc-4.9-base/copyright

Vale la pena señalar que los paquetes con Multi-Arch: mismo campo deben nombrarse con el nombre de la arquitectura para que puedan identificarse de manera única. También pueden tener archivos compartidos con otras instancias del mismo paquete; dpkg en este caso asegura que todos los paquetes tengan archivos comunes idénticos bit a bit. Todas las instancias de un paquete deben ser de la misma versión, por lo que deben actualizarse juntas.
El soporte de múltiples arquitecturas también trae algunas características interesantes al mecanismo de manejo de dependencias. Para satisfacer una dependencia, se requiere un paquete marcado como "Multi-Arch: outside" o un paquete con la misma arquitectura (para la resolución de dependencias, se considera que los paquetes independientes de la arquitectura tienen la misma arquitectura que el sistema). Una dependencia también se puede relajar para permitir que un paquete de cualquier arquitectura la satisfaga utilizando la sintaxis package:any, pero los paquetes foráneos solo pueden satisfacer dicha dependencia si están marcados como "Multi-Arch: permitido".

Materiales usados.

Ubuntu 16.04 ya está disponible y trae muchos cambios muy interesantes para sus usuarios, como soporte para sistema de archivos Soporte BSD-ZFS nueva tecnología instalaciones de paquetes - snap y muchos otros. Pero una cosa de la que probablemente aún no hayas oído hablar, porque esas pequeñas cosas se pierden mucho, es apta.

¿Qué es apto? Este es un nuevo administrador de paquetes para Ubuntu listo para asumir el trabajo de apt-get. Fue diseñado para ser más amigable, más eficiente y más seguro. Entonces, ¿qué tenía en mente Canonical cuando presentó el nuevo administrador de paquetes? ¿Existen realmente diferencias entre apt y apt-get? Esto es lo que descubriremos en el artículo de hoy.

Apt se implementó para facilitar el trabajo con el administrador de paquetes y combinar varios comandos en uno. Se ha rediseñado la funcionalidad de apt-get para que funcione correctamente en apt.

Aunque estos nuevos comandos están diseñados para funcionar de manera similar a apt-get, se basan en un nuevo código para interactuar con los paquetes.

La principal razón para presentar apt es la esencia misma de Ubuntu: simplicidad y facilidad de uso. Ya sea que la gente quiera admitirlo o no, apt-get es una herramienta obsoleta y su practicidad es muy cuestionable. Apt ha sido diseñado desde cero para ser aún más eficiente y diseñado para que los nuevos usuarios lo disfruten.

apt vs apt-get. ¿Cuáles son las diferencias?

apt o apt-get. Entonces, ¿cuál es la diferencia entre estas dos soluciones? Para empezar, ya no necesita usar apt-get autoremove para borrar el caché del paquete. Además, no necesita escribir apt-cache search para encontrar paquetes.

Estos comandos han sido reemplazados por apt search y apt remove. La principal diferencia de apt es que reemplaza todos los comandos apt-get, apt-cache, etc. Toda la funcionalidad se combina en una sola utilidad.

Aunque esta no es la única diferencia con apt-get. Las barras de progreso de la instalación del software se han mejorado aquí. También admite algunas adiciones que hacen que la utilidad sea más inteligente que la anterior. Por ejemplo, al actualizar fuentes de software con apt-get, no hay camino fácil ver la lista de paquetes disponibles para actualizar. Simplemente puede sudo apt-get update y luego:

sudo apt lista actualizable

Por supuesto, cositas, pero agradables. También se han agregado colores de salida nuevos y modernos, y la instalación general del paquete es más rápida. Canonical no tiene prisa por alejarse de apt-get, pero lo convertirán en un cambio positivo.

Nuevos comandos aptos

Aquí hay una lista de comandos compatibles con apt, tomados directamente de la salida --help. Estos comandos son muy similares a la implementación de apt-get y apt-cache, pero están más organizados y agrupados.

Comandos básicos:

  • lista- lista de paquetes
  • buscar- buscar paquetes por nombre
  • espectáculo- mostrar información detallada sobre el paquete
  • actualizar- actualizar las listas de paquetes disponibles
  • instalar- instalar el paquete
  • eliminar- eliminar paquete
  • mejora- instalar nuevas versiones de paquetes disponibles
  • actualización completa- actualización completa del sistema
  • editar fuentes- editar archivo de fuentes de software

Para obtener más información, ejecute man apt en una terminal. La información almacenada allí lo ayudará a estudiar a fondo la nueva utilidad.

conclusiones

Apt-get es una parte probada y verdadera de un administrador de software. Esta herramienta existe desde hace mucho tiempo y viene de forma predeterminada en muchas versiones de Ubuntu y Debian. Siempre lo usábamos cuando era necesario actualizar algo, actualizar software o incluso simplemente limpiar el sistema de basura.

Sin embargo, se está haciendo viejo. El administrador de paquetes ya no satisface todas las necesidades de los usuarios y, por lo tanto, está siendo reemplazado lentamente por apt. Los desarrolladores de Ubuntu entienden que necesitan actualizar su administrador de paquetes para que sea más simple, más elegante y más seguro. Pero aunque ambas utilidades existen en el sistema, depende de usted elegir si usar apt o apt-get. ¿Usarás el nuevo administrador de paquetes? ¿O ya lo estás usando?

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: