Med den store og stadig voksende mengden av programvare i Debian, fremkommer det et paradoks: Debian har vanligvis et verktøy for de fleste oppgaver, men verktøyet kan være svært vanskelig å finne blant de utallige andre pakkene. Mangelen på egnede måter å søke etter (og finne) riktig verktøy har lenge vært et problem. Heldigvis er dette problemet blitt løst nesten helt.
The most trivial search possible is looking up an exact package name. If apt show package
returns a result, then the package exists. Unfortunately, this requires knowing or even guessing the package name, which isn't always possible.
Et litt mer vellykket søkemønster er et bare tekstsøk (ren tekstsøk) i pakkenavn, men det er fortsatt svært begrenset. Du kan vanligvis finne resultater ved å søke i pakkebeskrivelser: Siden hver pakke har en mer eller mindre detaljert beskrivelse i tillegg til pakkenavnet, vil et søkeord i disse beskrivelsene ofte være nyttig apt-cache
, og axi-cache
er de valgte verktøyene for denne type søk; for eksempel vil apt-cache search video
gi en liste med alle pakker hvis navn eller beskrivelse inneholder nøkkelordet «video».
For mer komplekse søk kreves et kraftigere verktøy, som aptitude
. aptitude
lar deg søke etter et logisk uttrykk basert på pakkemetadatafelt. For eksempel vil følgende kommando søke etter pakker med navn som inneholder kino
, der beskrivelsen inneholder video
, og der vedlikeholderens navn inneholder paul
:
$ aptitude search kino~dvideo~mpaul
p kino - Non-linear editor for Digital Video data
$ aptitude show kino
Package: kino
State: not installed
Version: 1.3.4-2.1+b1
Priority: extra
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 8,472 k
Depends: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libavc1394-0 (>=
0.5.3), libavcodec56 (>= 6:11~beta1) | libavcodec-extra-56 (>=
6:11~beta1), libavformat56 (>= 6:11~beta1), libavutil54 (>=
6:11~beta1), libc6 (>= 2.14), libcairo2 (>= 1.2.4), libdv4,
libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), libgcc1 (>=
1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglade2-0 (>= 1:2.6.4-2~),
libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>= 2.24.0), libice6 (>=
1:1.0.0), libiec61883-0 (>= 1.2.0), libpango-1.0-0 (>= 1.14.0),
libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0),
libquicktime2 (>= 2:1.2.2), libraw1394-11, libsamplerate0 (>= 0.1.7),
libsm6, libstdc++6 (>= 4.9), libswscale3 (>= 6:11~beta1), libx11-6,
libxext6, libxml2 (>= 2.7.4), libxv1, zlib1g (>= 1:1.1.4)
Recommends: ffmpeg, curl
Suggests: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora
Conflicts: kino-dvtitler, kino-timfx, kinoplus
Replaces: kino-dvtitler, kino-timfx, kinoplus
Provides: kino-dvtitler, kino-timfx, kinoplus
Description: Non-linear editor for Digital Video data
Kino allows you to record, create, edit, and play movies recorded with DV
camcorders. This program uses many keyboard commands for fast navigating and
editing inside the movie.
The kino-timfx, kino-dvtitler and kinoplus sets of plugins, formerly
distributed as separate packages, are now provided with Kino.
Homepage: http://www.kinodv.org/
Tags: field::arts, hardware::camera, implemented-in::c, implemented-in::c++,
interface::x11, role::program, scope::application, suite::gnome,
uitoolkit::gtk, use::editing, use::learning, works-with::video,
x11::application
Søket returnerer bare en pakke, kino, som tilfredsstiller de tre kriteriene.
Selv disse multi-kriteriesøkene er ganske uhåndterlige, noe som forklarer hvorfor de ikke brukes så mye som de kunne. Et nytt merkesystem har derfor blitt utviklet, og det gir en ny tilnærming til det å søke. Pakker er gitt koder som gir en tematisk klassifisering langs flere tråder, kjent som en «fasettbasert klassifikasjon». Når det gjelder kino ovenfor, tyder pakkenes koder på at Kino er en Gnome-basert programvare, som fungerer på videodata, og har som hovedformål å redigere.
Å søke etter denne klassifiseringen kan hjelpe deg å finne en pakke som tilsvarer kjente behov; selv om det gir et (moderat) antall treff, kan resten av søket gjøres manuelt. For å gjøre det kan du bruke
~G
søkestreng i
aptitude
, men det er nok trolig lettere å navigere på nettstedet der taggene styres fra:
Selecting the works-with::video
and use::editing
tags yields a handful of packages, including the kino and pitivi video editors. This system of classification is bound to be used more and more as time goes on, and package managers will gradually provide efficient search interfaces based on it.
For å oppsummere, det beste verktøyet for jobben avhenger av hvor komplekse søk som du ønsker å gjøre:
apt-cache
tillater bare søking i pakkenavn og beskrivelser, noe som er veldig praktisk når vi leter etter en bestemt pakke som stemmer med noen få målrettede søkeord;
når søkekriteriene også omfatter forhold mellom pakker eller andre meta-data, for eksempel navnet på vedlikeholderen, vil synaptic
være nyttigere;
når et taggbasert søk er nødvendig, er packagesearch
et godt verktøy, et grafisk grensesnitt laget for å søke i tilgjengelige pakker med flere kriterier (inkludert navnene på filene som de inneholder). For bruk på kommandolinjen vil axi-cache
være egnet.
til slutt, når søkene har komplekse uttrykk med logiske operasjoner, vil det valgte verktøyet være aptitude
s søkemønstersyntaks, som er ganske kraftig til tross for at den er noe uklar; det virker både i kommandolinjen og i interaktiv modus.