Debian

Debian-pakkesøk

Debian-pakkesøk

Debian 9, kodenavnet 'Stretch', har et enormt lager med 68 000+ pakker. Enten det er spill, skrift, redaktører, databaser eller utviklingsverktøy, er sjansen for at du finner den der. Nøkkelen er imidlertid å finne den. Med mindre du vet det eksakte pakkenavnet, er det å finne en bestemt pakke i et så stort depot som å lete etter en nål i en høystak. Noen ganger er pakkenavnet forskjellig fra navnet på programmet. For eksempel er iostat, et nyttig program for rapportering av CPU- og disk I / O-statistikk, pakket under navnet sysstat. Andre ganger kjenner du verken pakkenavnet eller kommandonavnet. I stedet vet du bare dens funksjon, hva den skal gjøre.

For å se etter pakker finnes det flere metoder med varierende nivåer av kraft og brukervennlighet. Debian-nettstedet har en liste over alle Debian-pakker. Så du kan bruke nettleserens søkefunksjon, eller laste ned listen som en komprimert tekstfil og bruke grep. Uansett kreves det mye manuelt arbeid for å filtrere listen. Den gode nyheten er at kraftige automatiserte verktøy er tilgjengelige for å øke hastigheten på filtreringen.

Debian tilbyr både grafiske og kommandolinjepakkeforvaltere for å søke og filtrere pakker. GUI-baserte verktøy, som Synaptic, utmerker seg generelt i brukervennlighet. Imidlertid har ikke alle maskiner, spesielt produksjonsservere, det grafiske skrivebordet installert. For disse maskinene er Synaptic rett og slett ikke et alternativ. I dette innlegget fokuserer vi på kommandolinjeverktøy for å søke etter Debian-pakker.


Bakgrunnsinformasjon

Debian-systemadministratorer definerer kildene til pakker i filen / etc / apt / sources.liste. Blant annet spesifiserer filen at bare pakker fra en bestemt Debian-utgivelse (f.eks.g., Stretch vs Buster), og fra visse komponentkategorier (f.eks.g., main, contrib og non-free) kan lastes ned. Metadata for alle kvalifiserte pakker lastes ned til den lokale pakkecachen via kommandoen apt-get update.

Oppstrøms pakkeholdere kan legge til og fjerne pakker når som helst. For å sikre at den lokale pakkebufferen har den nyeste metadatainformasjonen, bør du oppdatere hurtigbufferen ('apt-get update') før du gjør et søk.

Nå som du er klar til å søke, kan du gjøre det som en vanlig bruker. Det er ikke nødvendig å bli rot for å utføre et søk. Dette er fordi et søk bare gjør spørsmål, ikke endringer, i pakkebufferen. I tillegg trenger maskinen ikke engang å være online fordi søkekommandoer bare har tilgang til den lokale hurtigbufferen, ikke eksterne lagringssteder.

Omfanget av et søk er begrenset til det som er spesifisert i kildene.listefil. For eksempel, hvis filen bare tillater hoved- og bidragskomponentpakker, vil ikke søkene dine returnere ikke-gratis pakker.

Å oppsummere:

  1. Før du utfører et søk, kjør 'apt-get update' for å oppdatere pakkebufferen.
  2. Du kan kjøre en søkekommando som en vanlig bruker (ingen root-rettigheter kreves).
  3. Ingen Internett-tilkobling er nødvendig for å kjøre en søkekommando.
  4. Søkeresultater er begrenset til omfanget som er definert av kildene.listefil.

apt-cache

Hvis du vet pakkenavnet, om enn delvis, kan du sende delnavnet som et vanlig uttrykksargument til apt-cache. For eksempel vet du at pakkenavnet er en variant av temaet dos til unix, for eksempel dostounix, dos2unix, dos-to-unix, etc. Søkekommandoen og utgangen er som følger:

$ apt-cache-søk - kun navn.+unix
dos2unix - konverter tekstfilens endinger mellom CRLF og LF

Merknader:

  1. -bare navn (eller kort sagt -n) spesifiserer at bare pakkenavn, ikke beskrivelser, samsvarer. (Standard er både navn og beskrivelse.)
  2. dos.+unix er et vanlig uttrykk som samsvarer med pakkenavnet dos2unix. Se regex (7) for syntakshjelp.

Hva gjør du hvis du bare vet hva pakken gjør, jeg.e., funksjonen, men ikke navnet? I dette tilfellet leter du etter et program for å konvertere tekstfiler fra DOS-format til UNIX. Søkekommandoen som skal brukes og utdataene er følgende:

$ Apt-cache søk konverterer dos unix
dos2unix - konverter tekstlinjeendelser mellom CRLF og LF
flip - konverter tekstfillinjeendelser mellom Unix og DOS-formater
fondu - konverter mellom Mac og UNIX skriftformater
tofrodos - Konverterer DOS <-> Unix tekstfiler, alias tofromdos

Som standard prøver apt-cache å matche søkeordene mot både pakkenavnet og pakkens lange beskrivelse. Håpet her er at de funksjonelle nøkkelordene vil matche ordene som pakkeholderen bruker i den lange beskrivelsen. Vær oppmerksom på at flere nøkkelord (konvertere, dosere, unix) blir AND-ed sammen.

apt

Apt-kommandoen er et nyere verktøy for pakkehåndtering som slår sammen de grunnleggende funksjonene til apt-get og apt-cache. Den er designet for å brukes interaktivt, i stedet for i et skript. For eksempel er apt-utgang fargelagt for å forbedre lesbarheten. Estetikk til side, apt- og apt-cache-kommandoene deler en lignende syntaks inkludert kommandoalternativer.

Eksemplet nedenfor søker etter en pakke ved å matche doseringsreguleringsuttrykket.+unix, kun mot pakkenavn (som standard, både mot navn og beskrivelse).

$ Apt søk - kun navn.+unix
Sortering… Ferdig
Fulltektssøk ... Ferdig
dos2unix / stabil, nå 7.3.4-3 amd64 [installert]
konvertere tekstfillinjeendelser mellom CRLF og LF

apt-fil

Selv om apt-cache (og apt) kan hjelpe deg med å lete etter en pakke ved å matche funksjonelle nøkkelord, blir søket ofte rammet. Suksess avhenger for mye av hvordan pakkeholderen skriver pakkens lange beskrivelse. I virkeligheten kan du imidlertid vite ytterligere informasjon om pakken, for eksempel navnet på kommandoen eller en fil som er inkludert i pakken. Verktøyet som skal brukes da er apt-file.

Apt-file-kommandoen er ikke installert som standard på et Debian-system. For å installere, kjør som root:

$ apt-get install apt-file

Før du kjører apt-file for første gang, oppdaterer du pakkebufferen ved å oppdatere den lokale pakkebufferen ('apt-get update').

Anta at du vil finne pakken som inneholder kommandoen iostat. Kommandoen for bruk og forkortet utgang er som følger:

$ apt-filsøk iostat
..   <12 lines snipped>..
linux-manual-4.9: / usr / share / man / man9 / rpc_count_iostats_metrics.9.gz
linux-manual-4.9: / usr / share / man / man9 / rpc_free_iostats.9.gz
manpages-fr-extra: / usr / share / man / fr / man8 / nfsiostat.8.gz
munin-plugins-ekstra: / usr / share / munin / plugins / iostat
munin-plugins-ekstra: / usr / share / munin / plugins / iostat_ios
nagios-plugin-check-multi: / usr / share / doc / nagios-plugin-check-multi / eksempler / nagiostats.cmd
nfs-common: / usr / sbin / nfsiostat
nfs-common: / usr / share / man / man8 / nfsiostat.8.gz
nixstatsagent: / usr / lib / python2.7 / dist-packages / nixstatsagent / plugins / iostat.py
sysstat: / usr / bin / cifsiostat
sysstat: / usr / bin / iostat
sysstat: / usr / share / man / man1 / cifsiostat.1.gz
sysstat: / usr / share / man / man1 / iostat.1.gz
zsh-common: / usr / share / zsh / functions / Completion / Unix / _iostat

apt-file fungerer ved å matche argumentet iostat som en substring mot banenavnene til alle filene i en pakke. Ovennevnte søk returnerer 46 treff, dvs.e., Totalt 46 filer i den lokale hurtigbufferen inneholder iostat i banenavnene sine, noe som er mye å undersøke manuelt.

For å begrense søket, gjør argumentet om til et vanlig uttrykk ved å bruke -x-flagget.

$ Apt-file -x search '/ iostat $'
munin-plugins-ekstra: / usr / share / munin / plugins / iostat
sysstat: / usr / bin / iostat

Regulært uttrykk, / iostat $, samsvarer bare med stienavn som slutter nøyaktig med iostat. For syntaks for vanlig uttrykk, se perlreref (1).

Den nye utgangen har bare 2 treff, og du kan raskt lese av navnet på pakken (sysstat) som inneholder iostat-kommandoen.


Konklusjon

Linux-distribusjoner generelt og Debian, spesielt, er kjent for sine enorme offisielle pakkelager. Men å finne den du vil ha blant titusenvis av pakker, kan være ganske utfordrende. Vær trygg på at du ikke trenger å vite det nøyaktige pakkenavnet. Kommandoene apt-cache og apt kan filtrere pakker basert på nøkkelord i pakkebeskrivelsen. Alternativt, hvis du vet navnet på programmets binære fil, kan apt-file-kommandoen bruke den til å identifisere pakker som inneholder en fil med samme navn.

5 beste Linux-distribusjoner for en gammel bærbar PC
Har du en aldrende bærbar PC som ikke lenger fungerer som den pleide å gjøre? Med riktig Linux-distribusjon kan du gjenopprette den til sin tidligere ...
Beste bærbare datamaskiner for Arch Linux
(Dette innlegget inneholder tilknyttede lenker. Det er en måte for dette nettstedet å tjene annonseringsgebyr ved å annonsere eller lenke til bestemte...
Velge en brukt bærbar PC på Amazon for å kjøre Linux
(Dette innlegget inneholder tilknyttede lenker. Det er en måte for dette nettstedet å tjene annonseringsgebyr ved å annonsere eller lenke til bestemte...