Introduksjon til Debian Package Management

Introduksjon til Debian Package Management
Ubuntu og alle andre Debian Linux -distribusjoner tilbyr et omfattende sett med pakkestyringssystemer som gir tilgang til en organisert database med over 6000 pakker. Pakkeadministrasjonen letter oppgaven med pakkeinstallasjon, konfigurasjon, oppgradering og fjerning. Den løser også prosessen med avhengighetsrelaterte problemer ved å inkludere avhengighetsoppløsningsfunksjonene.

Debian Package Management tilbyr flere verktøy, inkludert DPKG, Advanced Packaging Tool (APT) og Aptitude Utility for å utføre pakkestyringsoppgaver. Denne opplæringen bruker hvert av disse Debian Management Tools for å beskrive:

  • Hvordan installere, fjerne, installere og oppgradere Debian -pakker på nytt?
  • Hvordan finne filer eller biblioteker med avinstallerte pakker?
  • Hvordan skaffe pakkemetadata eller versjon og innholdsdetaljer når pakken er avinstallert?

Bakgrunn

I de tidligste Linux -systemene ble pakker installert eller lagt til ved å ta tak i kildekoden fra prosjektet bygget den. Brukerne samlet deretter kildekoden til løpbare binære filer, inkludert manuelle sider, biblioteker og konfigurasjonsfiler for å opprette et nødvendig program. Brukeren kan finne programmene som allerede er samlet av noen for å legge til systemet i et bedre scenario.

Det kompilerte programmet var Tarball: en enkelt fil som inneholder flere filer samlet for praktisk distribusjon. Med andre ord, etter installasjon fra en tarball, spredt filer over Linux -systemet i forskjellige passende mapper og underkataloger som /etc., /bin, /var, /usr /share /man, etc.

Selv om det er lett å lage en tarball, har den noen problemer som:

  • Sporing av nødvendige avhengigheter
  • Brukeren er ikke klar over konfigurasjonsfiler og dokumentasjon som ligger i systemet. Det kompliserer ytterligere prosessen med fjerning av programvare.
  • Tarballs inneholder ikke programvaremetadata, noe som gjør det vanskelig å fikse feil og oppdatere til en ny versjon.

For å løse disse problemene, introduserte Linux et komplekst system for pakkehåndtering som deler alle Linux -distribusjonene i å innlemme et av de to viktigste emballasjeformatene kjent som Deb og RPM. Artikkelen fokuserer på det Debian-baserte pakkestyringssystemet som brukes av Debian og derivater av Debian-distribusjon som Ubuntu, Linux Mint, etc.

Før vi går videre med demonstrasjonen av forskjellige pakkestyringsoppgaver, la oss først forklare hva Debian -pakkefilen er og hvordan alle de ovennevnte diskuterte Debian -pakkeledere er forskjellige fra hverandre.

.Deb -fil

En fil med en .DEB -utvidelse inneholder innholdet i en Debian -pakke
programvare. DEB -filen består videre av to tjærefiler som utgjør kjørbare filer, biblioteker og andre filer.

Den generelle syntaksen til en hvilken som helst Debian -pakkefil er som følger:

_.-_.Deb

For eksempel apache_1.3.31-6_I386.Deb forteller at basenavnet på programvaren er apache. 1.3.31-6 er versjonsnummeret som er tildelt av pakken. Til slutt innebærer I386 at pakken er samlet for Intel X86 -arkitektur.

Dessuten hvilken som helst fil med .DEB -utvidelse kan lastes ned via DPKG -kommandoen og representerer et komplett filnavn. Samtidig er det bare pakketavnet Apache som refererer til den første delen av .Deb -fil.

Debian -pakkeledere

DPM består av flere lag, ettersom topplaget utgjør kommandoer fra den aptiske verktøyet av verktøy, og det nedre laget er av DPKG og tilhørende verktøy.

dpkg

DPKG er en Debian Package Manager som installerer, fjerner og konfigurerer pakker med .Deb Extension. Den laster ganske enkelt ned DEB -pakkenes innhold til systemet og varsler om de nødvendige avhengighetene. Men den installerer eller konfigurerer ikke .Deb -pakker på grunn av manglende avhengigheter, da det ikke har tilgang til depotene.

Apt

APT er et kraftig kommandolinjeverktøy som administrerer installasjonen og konfigurasjonen av Deb-pakker. Den administrerer og laster ned de nødvendige avhengighetene for å gi den nyeste programvaren. Det fungerer som en front-end for DPKG: Etter å ha listet opp alle avhengigheter og nedlasting fra depotet.

Derfor automatiserer APT problemet i DPKG. Den sammenligner videre avhengighetene og informerer brukerne om den som ikke er i bruk av noen pakke som en bruker kan fjerne.

Pakkeplassering

Pakkeinstallasjonen fra et hvilket som helst Debian-programvaresenter eller kommandolinjeverktøy (apt/apt-get) skjer via nedlasting av pakker fra en eller flere depoter. Et Debian eller APT -depot er en server eller en lokal katalog som inneholder pakkerfiler og deres metadata leses av APT -verktøyene.

På alle Debian-baserte distribusjonene opprettholder APT Package Management System /etc/apt/kilder.liste. Så når en bruker utfører en kommando for pakkeinstallasjon, ser den apt/apt-get-kommandoen inn i /etc/apt/kilder.liste eller /etc/apt/kilder.liste.d for depot -nettadresser.

Den laster deretter ned ønsket programvare for installasjon. De kilde.liste Filen inneholder videre ytterligere informasjon om depotene for programvaren å installere. Brukeren kan manuelt legge til nye depoter i /etc/apt/kilder.liste.d Katalog uten å redigere hovedkonfigurasjonsfilen. Navnene på de nye depotfilene må imidlertid følge /etc/apt/kilde.liste format. katt Innholdet i /etc/apt/kilder.liste fil:

ubuntu@ubuntu: ~ $ sudo katt/etc/apt/kilder.liste | mindre

Den generelle syntaksen for hvert inkluderte depot er som følger:

Deb http: // repo.TLD/Ubuntu Distro -komponent
Deb-Src http: // oss.arkiv.Ubuntu.com/ ubuntu/ saucy-updates univers
  • Deb: representerer Deb -arkivet. Det kan enten være Deb som innebærer .Deb-pakke eller Deb-SRC-lagringsplasser som inneholder pakkekode.
  • http: // repo.tld/ubuntu: Repository URL
  • distro: Distribusjonskodeavn
  • komponent: Det er depotkategoriene. For eksempel har standard Ubuntu -depoter fire kategorier: hoved, begrenset, multiverse og univers.

Apt og andre verktøy bruker en lokal database for å bestemme installerte pakker. For å opprettholde den lokale databasen, synkroniser informasjonen med depotene som er oppført i kilder.liste bruker APT-Få oppdatering kommando. Derfor er det nødvendig å utføre en lokal databaseoppdatering før hver pakkeinstallasjon eller oppdatering.

Evne

Aptitude er et menydrevet, tekstbasert grensesnitt for DPKG og Advanced Packaging Tool Package Management Functions. Det passer best for et ikke-grafisk grensesnittmiljø som gjør brukeroppgaver enkle å utføre. Den bruker apt-get-biblioteker og gir flere fordeler på grunn av et interaktivt brukergrensesnitt.

Debian -pakkeinstallasjon

Linux -installasjon installerer automatisk et sett med pakker som en bruker kan tilpasse ytterligere i henhold til bruken av systemet, i.e., skrivebord, server eller arbeidsstasjon. En bruker krever noen ganger også å installere nye pakker. La oss diskutere pakkeinstallasjon om ovennevnte pakkeledere.

Installasjon via apt-get

Bruk den apt-get installasjonskommandoen for å installere pakken med en liste over ekstra pakker. Skjermbildet nedenfor viser listen over avhengigheter og anmodninger om fortsettelse.

ubuntu@ubuntu: ~ $ sudo apt-get install tmux

Som vist nedenfor, etter å ha lastet ned kommandolinjeverktøyet, pakker også Libutempter0_1.1.6-3_amd64.Deb -pakke.

Forbereder seg på å pakke ut ... /LIBUTEMPTER0_1.1.6-3_amd64.Deb ..
Pakk ut libutempter0: AMD64 (1.1.6-3) ..

I stedet for installasjon, finner ikke -flagget ut om pakken er avhengig av andre pakker.

ubuntu@ubuntu: ~ $ sudo apt -get install -s tmux
.. ..
Følgende tilleggspakker vil bli installert:
libutempter0
.. ..

Installasjon via DPKG

I tilfelle du får laste ned en .Deb-fil med alle avhengigheter, uten apt-get. Bruk følgende kommando for å installere den via DPKG.

ubuntu@ubuntu: ~ $ sudo dpkg -i .Deb

Installasjon via evne

Kjør aptitude via en terminal med sudo -privilegier.

ubuntu@ubuntu: ~ $ sudo aptitude

Bruke Ctrl+t Nøkkelkombinasjonen for å legge inn hovedvesenets meny. Men før det, bruk piltastene til å legge inn undermenyen til evnen 'Ikke installerte pakker' seksjon. Det viser flere undermenn, velg nett og bla ned til undermenyen for å velge hoved- å avsløre alle applikasjoner. Velg ønsket applikasjon og treff Tast inn For å se alle pakkedetaljene.

Merk applikasjonen for installasjon ved å trykke på '+'Key og treff'g'Nøkkel for å begynne installasjonen. Under installasjonen vil evnen være i konsollmodus; Når den er gjort, går det tilbake til brukergrensesnittet med en visning av en komplett pakkebeskrivelse.

DEBIAN -pakkefjerning

Seksjonen utdyper fjerningsprosessen for Debian -pakken. La oss diskutere pakkefjerningsprosessen via hver pakkebehandler.

Fjerning av pakken via APT

Fjern-alternativet til en apt-get-kommando fjerner bare alle pakkedataene.

ubuntu@ubuntu: ~ $ sudo apt-get fjerne tmux

Det vil si at alle konfigurasjonsfilene blir etterlatt igjen. Derfor, hvis kommandoen blir utført ved et uhell, kan du utstede en installasjonskommando for den fjerne pakken for å gjenopprette sin funksjon. For å fjerne alle konfigurasjonsfilene, bruk også Purge -alternativet.

ubuntu@ubuntu: ~ $ sudo apt-get purge tmux

Dessuten skildrer utgangen i skjermdumpen ovenfor at de ubestemte avhengighetene ikke fjernes. For dette formålet gjør alternativet -auto -remove -alternativet jobben for oss.

ubuntu@ubuntu: ~ $ sudo apt-get --auto-remove tmux

Kombiner rensings- og -auto -fjerne alternativer for å slette alle dataene og filene fullstendig sammen med ubestridte avhengigheter.

ubuntu@ubuntu: ~ $ sudo apt-get purge --auto-remove tmux

Fjerning av pakker via DPKG

Pakkefjerningsprosessen i DPKG er nesten lik. Bruk DPKG -R for å fjerne pakkedata og DPKG -P for å slette pakken fullstendig. Liste først pakken for å sikre at den er riktig installert i systemet.

ubuntu@ubuntu: ~ $ dpkg -l | grep tmux
ubuntu@ubuntu: ~ $ sudo dpkg -r tmux
ubuntu@ubuntu: ~ $ sudo dpkg -p tmux

dpkg ytterligere tillater kraftig å slette filene i et scenario med distribusjonsoppgradering som krever at brukeren sletter eller fjerner en pakke. Men noen ganger fungerer ikke fjerningsalternativet på grunn av pakkeens uoppfylte avhengigheter eller ufullstendig installasjon. For det tilbyr DPKG tvangspakkefjerning:

ubuntu@ubuntu: ~ $ sudo dpkg --force-all-nøye tmux

Fjerne pakker via evne

Avinstallering via egnethet er så enkel som installasjonen. Bla ned og velg 'Installerte pakker' for å se alle installerte programmer. Plukke ut Net-> Main og velg programmet ved å trykke på en '-'Nøkkel. Trykk 'g'For å fjerne den valgte pakken.

Debian Package Update

For å oppdatere en enkelt pakke, bruk apt-get-kommandoen med installasjonsalternativet. Det oppgraderer også de ekstra pakkene eller avhengighetene. Det er imidlertid nødvendig å sikre at de lokale databasene gjenspeiler de siste oppdateringene:

ubuntu@ubuntu: ~ $ sudo apt-get update
ubuntu@ubuntu: ~ $ sudo apt-get install vim

I stedet for å oppdatere pakkene individuelt, er det bedre å oppdatere alle applikasjonene i systemet, som følger:

ubuntu@ubuntu: ~ $ sudo apt-get update
ubuntu@ubuntu: ~ $ sudo apt-get oppgradering

Finne avinstallert informasjon

Alle pakkestyringsverktøyene er klar over de tilgjengelige pakkene en bruker kan trenge å installere. Apt-cache er en slik kommando som opprettholder et depot som inneholder informasjon om pakker fra kildelisten. Det gjør det mulig for brukeren å hente informasjonen om pakkene i APTs cache.

For å installere en pakke som er relevant for et chatteprogram uten kunnskap om pakketavnet, kan en bruker for eksempel bruke følgende kommando:

ubuntu@ubuntu: ~ $ sudo apt-cache søkeprat

Kommandoen ovenfor vil returnere en liste over pakker som er tilgjengelige for en chat -applikasjon.

Tilsvarende er mange verktøy tilgjengelige for å finne pakker fra en allerede tilgjengelig liste over pakker. Brukere kan finne mye detaljer om den installerte pakken med dem, men ikke for en avinstallert en, for eksempel filer i en avinstallert pakke. For dette formålet, bruk -d -alternativet med en apt -get -kommando, da den bare laster ned pakken.

ubuntu@ubuntu: ~ $ sudo apt -get install -d python3

Den nedlastede pakkefilen er lokalisert inne /var/cache/apt/arkiver/ katalog. Bruk nå DPKG -kommandoen med -info alternativ for å vise pakkedetaljer eller -innhold Alternativ for å vise pakkefiler.

ubuntu@ubuntu: ~ $ dpkg - -info/var/cache/apt/archives/nmap_7.60-1ubuntu5_amd64.Deb | mindre
ubuntu@ubuntu: ~ $ dpkg -innhold/var/cache/apt/archives/nmap_7.60-1ubuntu5_amd64.Deb | mindre

Finne installert Debian -pakker informasjon

DPKG -verktøyet bruker mange filer tilgjengelig i /var/lib/dpkg katalog. En av dem er /var/lib/dpkg/status Fil som inneholder informasjon om pakkestatus. Bruken av en DPKG -kommando med alternativet -S -alternativet viser statusen til pakkene på systemet.

ubuntu@ubuntu: ~ $ sudo dpkg -s vim

DPKG gjør det også mulig for Linux -brukere å finne detaljer om en bestemt pakke og en fil som tilhører en bestemt pakke. DPKG -verktøyet -L -alternativet viser alle filene og katalogene til pakken med interesse. Alle dpkg Krever er et pakketavn, men når flere versjoner av en applikasjon er tilgjengelig, krever det et mer detaljert navn som inneholder versjonsdetaljer.

ubuntu@ubuntu: ~ $ dpkg -l vim

For å finne en pakke som inneholder en bestemt fil, bruk -S flagg. Bruk for eksempel følgende kommando for å finne ut hvilken pakke som inneholder filen/usr/bin/apt-get.

ubuntu@ubuntu: ~ $ dpkg -s/usr/bin/apt -get

Til slutt kan vi finne detaljer eller formål med en bestemt pakke som følger:

ubuntu@ubuntu: ~ $ dpkg -p vim

Konklusjon

Artikkelen gir en detaljert beskrivelse av Debians pakkehåndtering. Den diskuterer forskjellige måter å installere, fjerne, oppdatere eller oppgradere pakker. Vi lærte også hvordan du finner pakkestatus og mange andre detaljer om avinstallerte Debian -pakker. Artikkelen er en one-stop guide som dekker alle aspekter av pakkehåndtering i Ubuntu eller hvilken som helst debian-distribusjon. Takk for at du kom så langt; Du kan plassere spørsmålene dine i kommentarfeltet nedenfor. For detaljer om pakkestyring i RHEL -distribusjoner, les introduksjon til RPM/YUM -pakkehåndtering.