Kanskje det mest kjennetegn ved Debian-baserte Linux-distribusjoner (som Ubuntu, Mepis, Knoppix, etc.) er deres pakkesystem - APT. APT ble også introdusert i Debian 2.1 i 1999. APT er ikke så mye et spesifikt program, da det er en samling av separate, relaterte pakker.

Med APT fikk Linux muligheten til å installere og administrere programvarepakker på en mye enklere og mer effektiv måte enn tidligere. Før introduksjonen måtte de fleste programvare enten installeres manuelt ved å kompilere kildekoden manuelt, eller bruke individuelle pakker uten automatisk avhengerhåndtering (for eksempel RPM-filer). Dette kan bety timer med "dependence hell" selv for å installere et ganske trivielt program.

I denne artikkelen skal vi markere noen av APTs beste funksjoner, og dele noen av de mindre kjente egenskapene til APT og dens fetter dpkg . Tro det eller ikke, APT kan til og med brukes til å løse Sodoku-puslespill!

dpkg

Basen til Debians pakkesystem er dpkg. Den utfører alle lavnivåfunksjoner for programvareinstallasjon. Hvis du var så tilbøyelig, kan du bruke dpkg alene til å administrere programvaren. Den kan installere, fjerne og gi informasjon om systemets programvareinnsamling. Her er noen av favorittfunksjonene mine.

Grunnleggende installasjon av lokal fil

Noen programvareforfattere lager Debianpakker av sine programmer, men gir ikke et lager for APT å hente fra. I dette tilfellet gir de bare en nedlastbar .deb-fil. Dette ligner veldig RPM-pakker, eller til og med Windows. MSi-filer. Den inneholder alle filene og konfigurasjonsinformasjonen som er nødvendig for å installere programmet. For å installere et program fra en .deb-fil, trenger du bare

dpkg -i MyNewProgram.deb

-i, som du kanskje gjetter, forteller dpkg å installere dette programvaren.

Oppgi innholdet i en pakke

Du kan finne deg selv, etter at du har installert et program, ikke klarer å finne ut hvordan du kjører programmet. Noen ganger må du vite hvor du skal finne config-filene for ditt nye spill. Dpkg gir en enkel måte å liste opp alle filene som tilhører en bestemt pakke.

dpkg -L MyNewProgram

Merk at saken er viktig. -L og -l er helt forskjellige alternativer.

Ofte har en pakke så mange filer det kan være vanskelig å sile gjennom listen for å finne den (e) du leter etter. Hvis det er tilfelle, kan vi bruke grep til å filtrere resultatene. Følgende kommando gjør det samme som ovenfor, men viser bare resultater som har "bin" i banen, for eksempel / usr / bin.

dpkg -L MyNewProgram | grep bin

Jeg vil ikke engang begynne å gå inn i den fantastiske kraften som er grep, men i sin enkleste form kan den, som ovenfor, brukes til raskt og enkelt å filtrere et programs utgang.

Finne eieren av en fil

Av og til finner du deg selv i en situasjon som er omvendt av delen ovenfor. Du har en fil, men du vet ikke hvilken pakke den tilhører. Igjen har dpkg deg dekket.

dpkg -S mysteryfile.cfg

Dette vil fortelle hvilken pakke som er opprettet / eier den filen.

Viser hva du har installert

La oss si at du skal installere systemet på nytt, og du vil vite nøyaktig hva du allerede har installert. Du kan åpne en app som Synaptic og sette et filter for å vise alt merket som "installert", eller du kan gjøre det raskt og enkelt fra kommandolinjen med dpkg.

dpkg-l

eller

dpkg --get-selections

Det vil gi deg en stor lang liste over alt du har installert. Avanserte brukere kan bruke disse kommandoene til å lage en tekstfil med alle sine pakker som er oppført, som kan mates til APT senere for å installere alt på en gang!

Konfigurere en pakke

Når en .deb-pakke er installert, går den gjennom et par stadier. En av disse er konfigurasjonstrinnet, der utviklere kan sette en rekke handlinger som finner sted når alle filene er installert på en skikkelig plassering. Dette inkluderer ting som start / stopp tjenester, eller opprette logger eller andre slike ting. Noen ganger må du gjenta disse trinnene, uten å gå gjennom hele reinstallasjonsprosessen. For det bruker du:

dpkg-reconfigure (pakkenavn)

Dette gjentar alle post-installeringsstrinnene som trengs for den pakken, uten å tvinge deg til å installere på nytt. Tro meg, dette kommer til nytte.

Aptitude / Apt-get

Det er litt debatt og forvirring angående disse to verktøyene. Mange Linux-brukere har det vanskelig å fortelle når / hvorfor å bruke en over den andre, da de gjør omtrent det samme.

Kort svar: bruk Aptitude.

Langt svar: Begge kan brukes til å håndtere alle installasjoner av programvareinstallasjoner, og begge vil gjøre en god jobb. Debians team anbefaler offisielt bruk av Aptitude. Det er ikke at det er mye bedre enn apt-get, men at det er litt bedre, på mange måter. Du kan bruke enten en og den vil oppfylle dine pakkeledelsesbehov, men ikke bland og samsvarende på samme system. Velg en og hold deg til den.

Finne den riktige pakken

Jeg finner ofte jeg trenger programvare for å gjøre en bestemt ting, men jeg vet ikke navnet på noen programmer for å gjøre det. For eksempel kan jeg trenge en FLAC-spiller, men vet ikke offhand hvilken spiller vil fungere ...

Evne:

aptitude search flac

Klassisk APT:

apt-cache søk flac

Du får en liste over tilgjengelige pakker som har "flac" i navnet eller beskrivelsen.

Forhindre en pakke fra oppdatering

Noen ganger har jeg en versjon av en pakke som jeg vil beholde, selv om det kan være oppgraderinger. Når det gjelder kjernen min, for eksempel, foretrekker jeg å oppdatere manuelt.

Evne:

aptitude hold (pakkenavn)

dpkg:

echo "(packagename) hold" | dpkg --set-selections

oppgradering

Både Aptitude og klassisk APT gir to metoder for oppgradering av systemet: oppgradering og dist-upgrade . Dette er en annen ting som forårsaker litt forvirring. En oppgradering er en oppgradering, ikke sant? Vel ikke akkurat.

En vanlig oppgradering vil lese listen over pakker, sjekke på nettet for nyere versjoner, og installer dem etter behov. Det vil imidlertid ikke utføre noen oppgraderinger som krever at nye pakker installeres, eller eksisterende er fjernet. Dette er hva dist-oppgraderingen er for. Det vil få hver nyere versjon det finner, selv om det innebærer å installere noe nytt (for eksempel en avhengighet) eller å fjerne en eksisterende pakke (hvis den er foreldet eller ikke lenger nødvendig).

Evne:

Sikkerhetsoppgradering av egnethet
ferdighet full oppgradering

Klassisk APT:

apt-upgrade
apt-get dist-oppgradering

Lær om en pakke

Til slutt, noen ganger trenger du bare å vite litt om en pakke. Hvilken versjon er det? Hvem opprettholder den? Er det allerede installert? Alle disse tingene og mer du kan finne med:

Evne:

aptitude show (pakkenavn)

APT:

apt-cache showpkg (pakkenavn)

Alle programmene nevnt her er i stand til langt mer enn jeg har vist. Tipsene her bør gå langt for å hjelpe deg med å bruke dette fantastiske pakkesystemet til sitt fulle potensiale.

Også, for de med tålmodigheten til å lese hele veien til slutten,

apt-get moo