Personalizar la lista de paquetes.

Personalizar la presentación de los paquetes
Personalizar la jerarquía de paquetes
Personalizar cómo se ordenan los paquetes

Puede personalizar la lista de paquetes de varias maneras: la presentación de los paquetes, como se crea la jerarquía de paquetes, como se agrupan los paquetes e incluso configurar la pantalla principal.

Personalizar la presentación de los paquetes

Esta sección describe como configurar los contenidos y el formato de la lista de paquetes, la línea de estado y la de cabecera, así como la salida de aptitude search.

Puede definir el formato de cada uno de estos espacios con una cadena formato. Una cadena formato es una cadena de texto que contiene escapes tales como % %p, %S, y más. La salida resultante se crea tomando el texto para reemplazar los escapes % de acuerdo a su significado (explicados a continuación).

Un escape % puede tener un tamaño definido, en cuyo caso siempre se reemplazaría con la misma cantidad de texto (con espacios añadidos para rellenar si es necesario), o puede ser ampliable, tomando el espacio que las columnas de tamaño fijo no requieren. De existir varias columnas ampliables, el espacio se distribuye de manera equitativa.

Todos los escapes % tienen un tamaño y/o capacidad de ampliación. Puede cambiar el tamaño de un escape % insertándolo entre % y el carácter que identifica el escape; por ejemplo, %20V genera la versión candidata del paquete, 20 caracteres de ancho. El ancho básico de la columna puede variar dependiendo del contenido si inserta un signo de interrogación (?) entre % y el carácter que identifica el escape. Cabe que las columnas resultantes no se puedan alinear verticalmente.

Si desea poder ampliar un escape % en particular, a pesar de tener un ancho definido, inserte una celdilla (p. ej., #) a su derecha. Por ejemplo, para mostrar la versión candidata de un paquete sin importar su longitud, use la cadena formato %V#. Puede también insertar # después de algo que no es un escape %; aptitude ampliará el texto que precede a # añadiendo espacios tras él.

En resumen, la sintaxis de un escape % es:

%[ancho][?]código[#]

The configuration variables Aptitude::UI::Package-Display-Format, Aptitude::UI::Package-Header-Format, and Aptitude::UI::Package-Status-Format define the default formats the package list, the header at the top of the package list, and the status line below the package list respectively. To change how the results of an aptitude search command are displayed, use the -F option.

Los siguientes escapes % están disponibles en cadenas formato:

[Nota]Nota

Algunas de las descripciones a continuación se refieren al paquete. En la interfaz gráfica de usuario (GUI), esto es el paquete que está visionando o el seleccionado; en la busca en línea de órdenes, esto es el paquete que está visionando

EscapeNombreTamaño predeterminadoAmpliableDescripción
%%Literal %1No Ésto no es realmente un escape; sólo inserta un signo porcentual en la salida en el momento en que aparece.
%#númeroReemplazo de parámetroVariableNo En algunas circunstancias, una cadena formato de presentación puede tener parámetros: por ejemplo, en el search de línea de órdenes, los grupos encontrados en la búsqueda se usan como parámetros al presentar el resultado. El parámetro, que se indica con número, reemplaza al código del formato.
%aMarca de acción1No Una marca de un solo carácter que resume cualquier acción que se va a ejecutar sobre el paquete, como se describe en Figura 2.10, “Valores de la marca de acción.
%AAcción10No Una descripción algo más detallada de la acción que se va a ejecutar sobre el paquete.
%BTotal rotos12No Si no hay paquetes rotos, no produce nada. De otra forma, genera una cadena como por ejemplo Broken: 10, que describe el número de paquetes rotos.
%cMarca de estado actual1No Una marca de un solo carácter que resume el estado actual del paquete, como se describe en Figura 2.9, “Valores de la marca de estado actual.
%CEstado actual11No Una descripción más detallada del estado actual del paquete.
%dDescripción40Si La descripción corta del paquete.
%DEl tamaño del paquete8No El tamaño del fichero de paquete que contiene el paquete.
%EArchitecture10No Outputs the string of the architecture, for example amd64.
%eSource30No Outputs the source package, for example aptitude for aptitude-doc-en.
%HNombre del anfitrión («host»)15No El nombre del ordenador en el que ejecuta aptitude.
%iPrioridad pin4No Mostrar la prioridad más alta asignada a la versión de un paquete; para paquetes, muestra la prioridad de la versión que se va a instalar de forma predeterminada (de existir).
%ITamaño instalado8No El espacio aproximado que el paquete ocupará en el disco duro.
%mDesarrollador30Si El desarrollador del paquete.
%MMarca de automático1No Si el paquete esta automáticamente instalado, da como salida A; si no, no devuelve nada.
%nVersión del programaLa longitud de 0.8.9.No Mostrar la versión de aptitude que está ejecutando, actualmente 0.8.9.
%NNombre del programaLa longitud del nombre.No Mostrar el nombre del programa; generalmente, aptitude.
%oTamDescarga17No Si no se va a instalar ningún paquete, no muestra nada. De otra forma, muestra una cadena que describe el tamaño total de todos los paquetes que va a instalar (una estimación de cuanto necesita descargar); por ejemplo TamDesc: 1000B.
%OOrigin30No Outputs a string of the origin of the package, for example Debian:unstable [amd64].
%pNombre del paquete30Si Mostrar el nombre del paquete. Cuando vea un paquete en un contexto de árbol, su nombre estará en negrita, de ser posible, de acuerdo a su profundidad en el árbol.
%PPrioridad9No Mostrar la prioridad de un paquete.
%rTotal de dependencias inversas2No Mostrar el número aproximado de paquetes instalados que dependen del paquete.
%RPrioridad abreviada3No Mostrar una descripción abreviada de la prioridad de un paquete: por ejemplo Important pasa a ser Imp.
%sSección10No Mostrar la sección del paquete
%SEstado de confianza1No Mostrar la letra «U» si el paquete no está firmado.
%tArchivo10Si El archivo en el que se encuentra el paquete.
%TTagged (and user-tags)30No

Mostrar * si el paquete está etiquetado, de no ser así, no devuelve nada.[19]

This field also includes user-tags.

%uCambio de uso de disco30No Si las acciones seleccionadas van a alterar la cantidad de espacio usado en el disco, muestra la descripción del cambio en el espacio del disco duro; por ejemplo Se usará 100MB de espacio en disco.
%vVersión actual14No Mostrar la versión instalada del paquete, o <none> si el paquete no está instalado.
%VVersión candidata14No Mostrar la versión del paquete que puede instalar si ejecuta PaqueteInstalar (+) sobre el paquete, o <none> si el paquete no está disponible.
%ZCambio de espacio9No Mostrar cuanto espacio adicional se va a usar, o cuanto espacio se va a liberar al instalar, actualizar o eliminar un paquete.

Personalizar la jerarquía de paquetes

La jerarquía de paquetes se genera a través de una directriz de agrupación: reglas que describen como se debe construir la jerarquía. Una directriz de agrupación describe una segmentación de reglas; cada regla puede descartar paquetes, crear sub-jerarquías en los cuales los paquetes residen, o manipular el árbol. Los elementos de configuración Aptitude::UI::Default-Grouping y Aptitude::UI::Default-Preview-Grouping definen las directrices de agrupación para listas de paquetes recién creadas y pantallas de previsualización, respectivamente. Puede configurar la directriz de agrupación para la lista de paquetes actual pulsando G.

Una directriz de agrupación se describe con una lista separada por comas de reglas: regla1,regla2,.... Cada regla consiste de su nombre, posiblemente seguido de argumentos: por ejemplo, versions o section(subdir). El tipo de regla determina si se necesitan argumentos, y cuantos.

Una regla puede ser no-terminal o terminal. Una regla no-terminal procesa un paquete generando parte de la jerarquía, para después filtrar el paquete con otra regla. Una regla terminal, por otra parte, también genera parte del árbol (por lo general, elementos correspondientes al paquete), pero no filtra el paquete con otra regla posterior. Si no se define una regla terminal, aptitude utiliza la regla predeterminada, que es crear los elementos de paquete estándar.

action

Agrupar paquetes de acuerdo a la acción que se va a realizar sobre ellos; se ignorarán paquetes sin cambios y no actualizables. Éste es el agrupamiento que se emplea en los árboles de previsualización.

arquitectura

Agrupa paquetes de acuerdo a su arquitectura.

deps

Ésta es una regla terminal.

Creación de elementos de paquete estándar que puede expandir para mostrar las dependencias del paquete.

filter(patrón)

Incluir sólo paquetes con al menos una versión que coincide con patrón.

No descartar ningún paquete si no hay un patrón. Ésta es una característica de compatibilidad inversa y puede quedar obsoleta en el futuro.

firstchar[(mode)]

Agrupar paquetes en base al primer carácter del nombre.

To be precise, it is not always the first letter -- for packages starting with lib* the name of the group is liba, libb, ... like in Debian FTPs.

modo puede ser uno de los siguientes:

binary

Group based on the binary package name. This is the default if no mode is specified.

Ejemplo 2.7. Grouping policy firstchar or firstchar(binary)

With the source package dpkg as an example, the binary packages dselect, dpkg and dpkg-dev would be grouped under d, while libdpkg-dev and libdpkg-perl would be added to the libd group.


source

Group based on the source package name.

This is useful for example when browsing packages coming from the same source package (source grouping policy) within large collections (examples: all installed packages, all upgradable packages, all packages from "main" section), to add an intermediate grouping step. In this way, one can for example emulate the hierarchy of FTPs (try grouping: "section(topdir),firstchar(source),source").

Ejemplo 2.8. Grouping policy firstchar(source)

Again, with the source package dpkg as an example, all the binary packages dselect, dpkg, dpkg-dev, libdpkg-dev and libdpkg-perl would be grouped under d.


pattern(patrón [=> título] [{ directriz }] [, ...])

Una directriz de agrupación que puede personalizar. Cada versión de cada paquete se compara con el patrón dado. La primera correspondencia se emplea para asignar un título al paquete; entonces, los paquetes se agrupan según su título. Las cadenas con forma \N que aparecen en título se reemplazan por el enésimo resultado de la búsqueda. Si título no está presente, se toma como \1. Observe que los paquetes que no se corresponden con ningún patrón no aparecen en el árbol.

Ejemplo 2.9. Uso de pattern (patrón) para agrupar paquetes en base a su desarrollador.

pattern(?maintainer() => \1)


El ejemplo anterior agrupa paquetes de acuerdo al campo de desarrollador. La directriz pattern(?maintainer()) realiza la misma función, al igual que un título ausente pasa a ser \1 de manera predeterminada.

Cabe que una entrada finalice en ||, en lugar de => título. Esto indica que los paquetes que se corresponden con patrón se insertaran en el árbol al mismo nivel que el agrupación patrón, en lugar de insertarlos en sub-árboles.

Ejemplo 2.10. Uso de pattern con algunos paquetes del nivel superior.

pattern(?action(remove) => Packages Being Removed, ?true ||)


El ejemplo anterior muestra las paquetes que se van a eliminar en un sub-árbol, y muestra todos los demás paquetes en el nivel actual, agrupados de acuerdo a las directrices que sigue pattern (patrón).

De manera predeterminada, todos los paquetes que se corresponden con cada patrón se agrupan de acuerdo a las reglas que sigue la directriz del pattern. Para definir una directriz diferente para algunos paquetes, describa la directriz entre llaves ({}) a continuación del titulo del grupo, después de ||, o después del patrón, en caso de que ninguno este presente. Por ejemplo:

Ejemplo 2.11. Uso de la directriz de agrupación pattern con sub-directrices.

pattern(?action(remove) => Packages Being Removed {}, ?action(install) => Packages Being Installed, ?true || {status})


La directriz del ejemplo anterior tiene los siguientes efectos:

  • Los paquetes que se van a eliminar se muestran en un sub-árbol etiquetado Paquetes que se eliminarán; la directriz de agrupación para este sub-árbol esta vacío, con lo cual se muestran los paquetes en una lista plana.

  • Los paquetes que se van a instalar se muestran en un árbol etiquetado Paquetes que se instalarán y agrupados de acuerdo a las directrices que sigue pattern.

  • Todos los paquetes restantes se ubican en el nivel mas alto del árbol, agrupados de acuerdo a su estado.

Véase “Patrones de búsqueda” para más información acerca del formato de patrón.

prioridad

Agrupar paquetes de acuerdo a su prioridad.

section[(modo[,passthrough])]

Agrupar paquetes de acuerdo a su campo de Sección.

modo puede ser uno de los siguientes:

none

Agrupar en base a todo el campo de la sección, con lo cual se crean categorías tales como non-free/games. Ésta es la manera predeterminada si no se especifica el modo.

topdir

Agrupar en base a la parte del campo de la sección antes del primer signo /; si esta parte de la sección no se reconoce, o si no hay un / se usará la primera entrada en la lista Aptitude::Sections::Top-Sections.

subdir

Agrupar en base a la parte del campo de sección después del primer signo /, de estar en la lista Aptitude::Sections::Top-Sections. En caso contrario, o en ausencia de /, agrupa en base a todo el campo de la sección.

subdirs

Agrupar en base a la parte del campo de la Sección después del primer signo /, si la porción del campo que lo antecede está dentro de la lista Aptitude::Sections::Top-Sections; si no, o en ausencia de /, se usará todo el campo. Si hay varios signos / en la porción del campo que esta en uso, se formará una jerarquía de grupos. Por ejemplo, si games no es un miembro de Aptitude::Sections::Top-Sections, entonces un paquete con una sección de games/arcade se colocará debajo de la cabecera de nivel superior games, en un sub-árbol llamado arcade.

En presencia de passthrough, aquellos paquetes que por una razón u otra no tienen una sección real (por ejemplo, paquetes virtuales) pasarán directamente al siguiente nivel de agrupación sin ser primero colocados en sub-categorías.

status

Agrupar paquetes en las siguientes categorías:

  • Actualizaciones de seguridad

  • Actualizables

  • Nuevo

  • Instalados

  • No instalados

  • Obsoletos y creados localmente

  • Virtuales

source

Agrupa paquetes de acuerdo a su nombre de paquete fuente.

tag[(faceta)]

Agrupar paquetes de acuerdo a la información «Tag» (etiqueta) guardado en los ficheros de paquetes Debian. Si introduce faceta solo se mostrarán las marcas correspondientes a esta faceta, y se ocultarán los paquetes que no poseen esta faceta; de otra forma, se muestran todos los paquetes al menos una vez (con paquetes sin etiquetar listados separadamente de los paquetes etiquetados).

Para más información acerca de debtags, consulte http://debtags.alioth.debian.org.

task

Crear un árbol llamado Tareas que contiene las tareas disponibles (la información acerca de las tareas es extraída de debian-tasks.desc, en el paquete tasksel). La regla que sigue a tarea creará sus categorías como hermanos de Tareas.

versions

Ésta es una regla terminal.

Crear elementos estándar de paquete que se pueden expandir para mostrar las versiones del paquete.

Personalizar cómo se ordenan los paquetes

Por omisión, los paquetes en la lista de paquetes o en la salida de aptitude search se ordenan por nombre. De todas formas, a menudo es bastante útil ordenarlos de acuerdo a otros criterios (por ejemplo, por tamaño de paquete), y aptitude le permite hacer precisamente esto modificando la directriz de ordenación.

Al igual que la directriz de agrupación descrita en la sección anterior, la directriz de ordenación es una lista separada por comas. Cada elemento de la lista es el nombre de una regla de ordenación; si hay paquetes iguales de acuerdo a la primera regla, se emplea la segunda regla para ordenarlos, y así en adelante. Insertar un signo de tilde (~) delante de una regla revierte el significado normal de esa regla. Por ejemplo, priority,~name ordena paquetes por prioridad, pero los paquetes con la misma prioridad se colocarán en orden inverso de acuerdo a su nombre.

Para modificar la directriz de ordenación en una lista de paquetes activa, pulse S. Para modificar la ordenación predeterminada de todas las listas de paquetes, configure la opción de configuración Aptitude::UI::Default-Sorting. Para modificar la directriz de ordenación de búsqueda en aptitude, use la opción de línea de órdenes --sort.

Las reglas disponibles son:

installsize

Ordenar paquetes según la cantidad estimada de espacio que necesitan cuando se instalan.

installsizechange

Sorts packages by the change in the installed size (estimated amount of size required when installed), comparing the current version (if installed) and the candidate version to be installed, upgraded or removed.

debsize

Sorts packages by the size of the package.

name

Ordenar paquetes por nombre.

priority

Ordenar paquetes por prioridad.

version

Ordenar paquetes de acuerdo a su número de versión.



[19] Etiquetar no es posible por el momento; este escape existe para un uso futuro.