Mit dem Start der Entwicklung für die Debian Version „Etch“ wurden schon sehr frühzeitig die sogenannten „Package Tags“ eingeführt. Die Package-Tags erlauben es, Meta-Daten jedem Debian Paket hinzuzufügen. Diese Daten sollen die Suche nach Paketen oder Paketgruppen erleichtern.
Ursprünglich waren Debian Pakete in verschiedenen Sektionen (Abschnitten) sortiert. Jedes Paket konnte dabei genau einer Sektion zugeordnet werden. Dies erwies sich leider als wenig zweckmäßig, da beispielsweise ein Paket wie ein Mailprogramm mit GNOME- oder KDE-Oberfläche in die Sektion Mail oder GNOME bzw. KDE passen würde. Auch erlaubt diese Einteilung keine feinere Abstuffung, welche oft wünschenswert ist. So ist es nicht nur sinnvoll, Informationen darüber zu bekommen, für welchen Einsatzzweck ein Paket brauchbar ist (Mail), sondern auch in welcher Umgebung es lauffähig ist (X11).
Das Ergebnis dieser Einteilung nach Sektionen war, dass viele Leute einfach neue Sektionen eingeführt haben, um Pakete differenzierter zu organisieren. Verschiedentlich wurde bereits vorgeschlagen, mit „Package Tags“ einen universellen und flexiblen Weg einzuschlagen, um Pakete zu klassifizieren. Dies wurde mit der Entwicklung von „Etch“ umgesetzt.
 Die Erweiterung für „Package Tags“ wurde direkt in die
            Paketbeschreibungen (Package-Files) der Distribution eingefügt. Tags sind nach der
            ausführlichen Beschreibung eines Paketes zu finden, hier am Beispiel des Paketes tidy:
fr@surimi:~$ apt-cache show tidy Package: tidy Priority: optional Section: web Installed-Size: 40 Maintainer: Jason Thomas Architecture: i386 Version: 20050415-1 Depends: libc6 (>= 2.3.2.ds1-21), libtidy0 Suggests: tidy-doc Filename: pool/main/t/tidy/tidy_20050415-1_i386.deb Size: 17020 MD5sum: 983571c271b64f93b01903f56479a70d Description: HTML syntax checker and reformatter Corrects markup in a way compliant with the latest standards, and optimal for the popular browsers. It has a comprehensive knowledge of the attributes defined in the HTML 4.0 recommendation from W3C, and understands the US ASCII, ISO Latin-1, UTF-8 and the ISO 2022 family of 7-bit encodings. In the output: . * HTML entity names for characters are used when appropriate. * Missing attribute quotes are added, and mismatched quotes found. * Tags lacking a terminating '>' are spotted. * Proprietary elements are recognized and reported as such. * The page is reformatted, from a choice of indentation styles. . Tidy is a product of the World Wide Web Consortium. Tag: interface::commandline, use::checking, role::sw-utility, format::html, devel
Wie an diesem Beispiel zu sehen ist, enthält die „Tag“-Zeile Informationen über das Benutzerinterface (Kommandozeile), den Zweck (Überprüfung), die Role (Hilfsprogramm) sowie das Dateiformat (HTML). Mit Hilfe dieser Informationen ist es möglich, sehr detailiert nach Paketen für verschiedene Einsatzzwecke oder Benutzerschnittstellen zu suchen.
Da die Package-Tags in den Package-Dateien (und nicht in den eigentlichen Debian Paketen) enthalten sind, stehen die Informationen bereits vor dem Download und der Installation eines Paketes zur Verfügung.
 Um in den Package-Tags Informationen zu suchen, ist es notwendig, das Programm debtags zu installieren.  Eine direkte Suche über apt-get oder aptitude ist zurzeit noch nicht implementiert. Als
            weiteres Programm sollte debtags-edit installiert werden.  Mit diesem Programm kann ebenfalls in den Package-Tags gesucht werden,
            zusätzlich ist es möglich, Packages-Tags zu verändern.
             Die Suche mittels debtags kann nun beispielsweise dazu genutzt werden,
            Pakete zu suchen, die eine Relation zu bash haben.
fr@wasabi:~$ debtags related bash bash3 - The GNU Bourne Again SHell (Version 3)
Ein interessanteres Ergebnis bringt die Suche nach Relationen zu IMAP Mail hervor:
fr@wasabi:~$ debtags grep mail::imap mutt: application, interface::text-mode, made-of::lang-c, mail::imap, mail::pop , protocol::imap, protocol::ipv6, protocol::pop, role::sw-client, uitoolkit::nc urses, works-with::mail nail: interface::commandline, interface::shell, mail::imap, mail::list, mail::p op, mail::smtp, protocol::imap, protocol::pop, protocol::smtp, role::sw-client, special::completely-tagged, use::transmission, works-with::mail cyrus21-imapd: interface::daemon, mail::filters, mail::imap, network::service, protocol::imap, protocol::ipv6, role::sw-server, works-with::mail imapproxy: interface::daemon, mail::imap, protocol::imap, use::proxying squirrelmail: interface::web, made-of::lang-php, mail::imap, protocol::imap, wo rks-with::mail getmail4: mail::imap, mail::pop, protocol::imap, protocol::pop, protocol::ssl
| ![[Tipp]](bilder/css/tip.png) | Webbasierte Tag-Suche | 
|---|---|
| Unter debian.vitavonni.de/packagebrowser/index.cgi steht ein Frontend für die Suche nach Paketen und deren Tags zur Verfügung. | 
Eine Übersicht aller Package-Tags, die sich mit dem Thema Mail befassen, liefert folgendes Kommando:
fr@wasabi:~$ debtags tagsearch mail mail::TODO - Need an extra tag mail::filters - Filters mail::imap - Mail access via IMAP mail::list - Mailing Lists mail::notification - Notification mail::pop - Mail access via POP3 mail::smtp - Mail transfer via SMTP media::mail - Email protocol::pop - Mail access via POP3 protocol::smtp - SMTP Simple Mail Transport Protocol works-with::mail - Email
 Das Program debtags verwaltet auf der Kommandozeile die
                Informationen zu Package-Tags und kann einfache Suchoperationen auf Basis dieser
                Daten durchführen. Die Syntax von debtags lautet: 
debtags [options] [command] [args...]
 Package-Tags-Informationen werden aus verschiedenen Quellen in das System
                eingebunden. Ähnlich wie bei Informationen zu den Debian Paketen verwaltet die
                Datei /etc/debtags/sources.list die Quellen mit den
                Informationen zu den Tags eines Paketes. Grundlegende Informationen sind aber auch
                bereits in den Paketdateien (Packages.gz) der Distribution (ab der Version
                    „Etch“) enthalten. Damit sind diese Informationen zu Package-Tags
                auch in der APT Datenbank verfügbar. Die Informationen zu Tags in den offiziellen
                Package-Dateien können nicht verändert werden, es ist auch nicht vorgesehen, lokale
                Anpassungen vorzunehmen. Die Aktualisierung wird mit dem Kommando debtags update durchgeführt, dieses muss mit
                Administratorrechten ausgeführt werden. 
                 Das Programm debtags kann auch für einfache Abfragen der APT
                Datenbank genutzt werden, die notwendigen Optionen hierfür lauten tagshow und tagsearch. 
 Eine Package-Tag-Datenbank kann mit der Option check überprüft werden, vergleichbare Pakete oder
                Gruppen lassen sich mit der Option related ermitteln, und die kompletten Informationen
                können mit der Option tagcoll auf der Standardausgabe ausgegeben werden. 
                debtags benötigt bei jedem Aufruf eine Option, die die
                durchzuführende Aktion beschreibt, möglich sind dabei die im Folgenden beschriebenen
                Aktionen: 
Optionen
update
                    Lädt die aktuelle Tag-Datenbank aus dem Netz und aktualisiert die lokale System-Datenbank. Diese Aktion benötigt Administrator-Rechte.
check [filename]
                    Prüft, ob zu allen Tags in der Datenbank eine passende Beschreibung vorhanden ist. Wird keine optionale Datei angegeben, so wird die zentrale Datenbank überprüft.
tagshow tag
                    Zeigt die gespeicherten Informationen zu einem Tag.
tagsearch pattern [pattern [pattern [...]]]
                    Zeigt eine Zusammenfassung aller angegebenen Tags.
show package
                     Nutzt die Ausgabe von apt-cache show package und ergänzt diese
                            um die Tag-Informationen. 
related pkg1[,pkg2[,pkg3,[...]]]
                    Zeigt Pakete, die mit den angegebenen in Verbindung stehen.
cat
                    Gibt die kompletten Informationen der Tag-Datenbank aus.
Gibt die Paketnamen und Beschreibungen aus, auf die der angegebene reguläre Ausdruck zutrifft.
Gibt alle Zeilen der Tag-Datenbank aus, auf die der Suchbegriff zutrifft.
 Führt apt-get install mit den Namen der Pakete
                            aus, auf die der reguläre Ausdruck zutrifft. 
Gibt die Unterschiede zwischen der aktuellen Tag-Datenbank und der angegebenen Datenbank auf der Standardausgabe aus.
maintainers
                    Erstellt eine Liste aller Maintainer und der Pakete, zu denen diese Personen Tags beigesteuert haben.
tag add package tags
                    Fügt einen oder mehrere Tags dem angegebenen Paket hinzu.
tag rm package tags
                    Löscht einen oder mehrere Tags zu dem angegebenen Paket.
tag ls package
                    Zeigt die Tags zum angegebenen Paket an.
submit [patch]
                    Verschickt den angegebenen Patch an die zentrale Tag-Datenbank. Wird keine Patch-Datei angegeben, so werden die Änderungen zur lokalen Datenbank ermittelt und verschickt.
todo
                    Zeigt alle lokal installierten Pakete an, zu denen noch keine Package-Tags definiert wurden.
score
                    Bewertet alle nicht installierten Pakete daraufhin, wie oft deren Tags in Paketen erwähnt werden, die bereits installiert sind.
facetcoll
                     Zeigt die Sammlung von Tags, bei der jedes Paket nur mit den
                                „Facetten“ ausgegeben wird. Dies ist sinnvoll, um die
                            Ausgabe mittels tagcoll weiter zu bearbeiten. 
                        
stats
                    Zeigt einige statistische Informationen zu Debtags an.
todoreport
                    Zeigt eine Zusammenfassung zu den Paketen an, die noch einer Überarbeitung bedürfen.
Optionen
-d, --distanceBestimmt die maximale Abweichung zu einer „related“ Option.
-v, --invert-matchInvertiert die Suche, im Zusammenhang mit grep, so dass ausschließlich nicht auf das Suchkriterium passende Begriffe gefunden werden.
-q, --quiet Gibt keinerlei Informationen auf der Standardausgabe aus, der
                            Rückgabewert 0 zeigt jedoch an, dass ein passender
                            Eintrag gefunden wurde. 
-g, --groups-itemsGruppiert, im Zusammenhang mit dem „cat“ Kommando, die Tags, die einen identischen Inhalt haben.
--verbose
                    Eine Option für Entwickler zur Fehlersuche, gibt mehr Informationen über den Programmablauf aus.
-V, --version Zeigt die aktuelle Version des Programmes debtags an und beendet dann das Programm.
                        
-?, --help Zeigt Informationen zu den Kommandozeilenoptionen von debtags an. 
	     Hier einige Beispiele für den Einsatz von debtags:
	    
debtags update
	     Aktualisiert die debtags
	     -Datenbank.
	    
debtags show mutt
	     Zeigt Paket- und Tag-Informationen zum Paket mutt.
	    
debtags -d 7 related mutt
	     Zeigt die mit mutt in einer
	     Beziehung stehenden  Pakete mit einer maximalen Entfernung von
	     7 an.
	    
debtags -d 5 related galeon, mozilla-browser
	     Zeigt Pakete mit einer Beziehung zu galeon und mozilla-browser mit einer Tiefe von
	     maximal 5 an.
	    
debtags tagsearch mailDurchsucht die Tag-Datenbank nach Paketen, die mit dem Schlagwort „mail“ zu tun haben.
debtags search "use::editing && media::rasterimage && \! (role::aux-shlib || role::aux-dummy)"Listet alle Pakete auf, die Bilddateien („rasterimage“) bearbeiten können, ausgenommen werden Dummy-Pakete und Shared-Libraries.
debtags search 'works-with::mail && role::sw:client'Zeigt alle Mail-Clients an.
debtags install 'protocol::irc && role::sw:client'Installiert alle Pakete, die IRC-Clients zur Verfügung stellen.
                
                debtags-edit ist ein Programm mit grafischer
                Benutzeroberfläche, welches sich zum Suchen und Verändern von Informationen in der
                APT- und Debtags-Datenbank eignet. Ziel dieses Programmes ist es, möglichst vielen
                Leuten zu ermöglichen, an Debian Tags mitzuarbeiten, ohne komplizierte
                Kommandozeilen Programme einsetzen zu müssen. Die Syntax von debtags-edit lautet: 
debtags-edit [options]
            
 Wird debtags-edit aufgerufen, so werden zunächst die APT-
                und Debtags-Datenbanken gelesen. Ist die Umgebungsvariable DEBEMAIL gesetzt, so geht das Programm davon aus,
                dass nach Paketen passend zu dieser Mail-Adresse gesucht werden soll, dies ist für
                Debian Entwickler sinnvoll. Ist diese Variable nicht gesetzt, so wird eine Liste
                aller installierten Pakete angezeigt. Das Anklicken eines Paketes erlaubt es, zu
                diesem Paket Tag-Informationen hinzuzufügen oder auch zu löschen. 
Das Programm kann die Änderungen in einer Patch-Datei im aktuellen Verzeichnis ablegen. Alle Änderungen werden auch beim Beenden des Programmes automatisch gespeichert.
                debtags-edit kennt die drei Kommandozeilenoptionen --help, --version und --verbose. 
©
 1999 - 2025 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.
 1999 - 2025 | Das Debian GNU/Linux Anwenderhandbuch von Frank Ronneburg steht unter einer Creative Commons Namensnennung-Nicht Kommerziell-Keine Bearbeitung 3.0 Deutschland Lizenz.