Redigerer
Pakkesystem
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
[[Fil:Synaptic Package Manager.png|thumb|300px|Versjon 0.6 av det [[grafisk brukergrensesnitt|grafiske brukergrensesnittet]] [[Synaptic Package Manager]] til pakkesystemet [[Advanced Packaging Tool]] (APT) som kjører på [[Ubuntu (operativsystem)#Versjoner|Ubuntu 8.04 «Hardy Heron»]]. APT brukes av [[Debian]] og Debian-lignende [[Linuxdistribusjon]]er.{{byline|Foto: [http://ww1.hacktolive.org/ hacktolive.org]|5. juli 2008}}]] Et '''pakkesystem''' eller en '''pakkebehandler''' er en samling [[dataprogram]]mer som automatiserer [[installering (programvare)|installering]], oppgradering, [[Konfigurasjon|konfigurering]] og fjerning av [[programvarepakke]]r på en [[datamaskin]]s [[operativsystem]]. Eliminasjon av manuelle installeringer og oppdateringer, er spesielt nyttig for store [[virksomhet]]er, der operativsystemet kan inneholde opptil titusenvis av programvarepakker. En programvarepakke har et [[pakkeformat]]. Den består av [[programvare]] og [[data]] som er lagret i en eller flere [[arkivfil]]er (vanligvis én enkelt [[datafil]]). Arkiverte datafiler kan være ordnet i [[katalogstruktur]]er, og kan være [[tapsfri komprimering|komprimerte]] for å oppta mindre lagringsplass. Arkivfiler kan også inneholde innebygd [[kryptering]]. Pakkene inneholder ofte [[metadata]], slik som navnet på programvaren, en beskrivelse av programvarens oppgave og hensikt, versjonsnummer, utgiver, [[sjekksum]] og en liste over [[Programvareavhengigheter|avhengigheter til andre programmer]] som er nødvendige for at programmet skal kjøre skikkelig. Under installering blir slike metadata vanligvis lagret i en lokal ''pakkedatabase''. Denne pakkedatabasen forteller pakkebehandleren om hvorvidt forutsetningene er tilstede eller ikke for en gitt programvare. Programvarepakker er vanligvis lagret i et [[programvarelager]] eller en [[mobilapplikasjonsbutikk]] som er tilgjengelig over [[internett]]. I slike tilfeller samarbeider og kommuniserer pakkebehandleren med en [[binærlagerbehandler]] over et [[datanett]]. Den første pakkebehandleren var [[dpkg]], som ble lansert for [[Linuxdistribusjon]]en [[Debian]] i januar 1994. I august 1994 kom pakkesystemet [[FreeBSD Ports]] for [[FreeBSD]]. I 1997 lanserte [[programvareselskap]]et [[Red Hat]] pakkebehandleren [[RPM Package Manager]] (RPM). RPM har fått stor utbredelse, og ble adoptert av [[Linux Standard Base]] (kompatibilitet med [[POSIX]] og ''[[Single UNIX Specification]]''). Det finnes også flere pakkebehandlere, og de er omtalt i artikkelen. == Forskjeller fra installasjonsprogrammer == {{utdypende|Installering (programvare){{!}}Installasjonsprogram}} For å gi en forståelse av hva et pakkesystem egentlig ''er'', kan det være nyttig å forklare hva det ''ikke'' er. Mange brukere som er vant med operativsystemer som [[MS-DOS]], klassisk [[Mac OS]]/nyere [[MacOS]] og [[Microsoft Windows]], har også hatt befatning med [[installering|installasjonsprogrammer]]. Måten programmer installeres på i slike systemer, er anderledes enn i Linux. Linux er på dette området et langt mer sofistikert operativsystem: * Installasjonsprogrammer følger med hvert enkelt dataprogram, og er forskjellige for hvert enkelt program. Pakkesystemet er derimot en del av selve operativsystemet, og ikke programmene * Hvert enkelt installasjonsprogram holder rede på avhengigheter til andre programmer, og hvilke pakker som hører til det aktuelle programmet. Pakkesystemer bruker derimot én enkelt database som inneholder en oversikt over alle installasjoner * Et installasjonsprogram virker bare sammen med det medfølgende produktet, mens pakkesystemet kan verifisere og behandle alle programpakkene i operativsystemet * Det er flere forskjellige leverandører av ulike installasjonsprogrammer, mens pakkesystemet bare har en enkelt leverandør * De enkelte installasjonsprogrammer kan ha sitt eget dataformat, mens pakkesystemet bare bruker et enkelt dataformat ==Forskjeller fra byggesystemer== {{utdypende|Byggesystem}} == Funksjoner == [[Fil:Pms.svg|thumb|300px|Illustrasjon av et pakkesystem som brukes til å laste ned ny programvare.]] Pakkehåndteringssystemer har ansvar for å organisere alle pakkene som er installert på et system og vedlikeholde deres brukbarhet. Sjekksumverifikasjon sørger for at pakkene ikke har blitt korrupte i løpet av overføringen til systemet. Digitale signaturer sørger for at pakkene kommer fra en utgiver som brukeren har bedt systemet om å stole på. Pakkesystemet sørger for enkel installasjon, oppgradering, sikkerhetsoppdatering, fjerning av pakker; og at alle pakkene som trengs for at en programvare skal fungere blir installert. Pakkesystemene inneholder også ofte gruppering, klassifisering og rangering av pakkene for å eliminere forvirring rundt hvilken type pakke brukeren ønsker å installere. Det er vanlig at pakkehåndteringsystemene baserer seg på enkle [[bakstykke (programvare)|bakstykker]], som gjør den egentlige jobben med å installere pakker. For eksempel er [[Yellow dog Updater, Modified|yum]] avhengig av [[RPM (programvare)|rpm]] og [[Advanced Packaging Tool|apt]] er avhengig av [[dpkg]]. ===Konvertering av binærpakker=== {{hoved|Alien (programvare)|l1=Alien}} [[Alien (programvare)|Alien]] er et program som konverterer mellom forskjellige [[Linux]] pakkeformeter. Det støtter konvertering mellom [[RPM Package Manager|rpm]] (del av [[Linux Standard Base]]), [[dpkg|deb]], Stampede (.slp) og [[Slackware]] ([[tgz]]) pakker. === Vedlikehold og konfigurering === Upgradering av konfigurasjonsfiler er en kilde til mange problemer ved oppgradering av programvare. Siden pakkesystemer, ihvertfall i Unix systemer, er utvidelser av filarkiveringsverktøy, kan de vanligvis enten overskrive eller beholde konfigurasjonsfiler, heller enn å tilegne regler til konfigurasjonen. Det finnes imidlertid unntakelser som vanligvis gjelder kjernekonfigurasjon (som vil gjøre maskinen ubrukelig etter en omstart hvis den brytes). Problemer kan oppstå dersom filformatet til konfigurasjonsfiler endres. For eksempel, hvis eldre filformater ikke explisitt slår av nye funksjoner som burde være slått av. Noen pakkehånderingssystemer, slik som [[Debian]]s [[dpkg]] tillater konfigurasjon under installasjonen. I andre situasjoner kan det være hesiktsmessig å installere pakker med en standardkonfigurasjon og deretter overskrive denne konfigurasjonen, for eksempel ved installasjon til et stort antall maskiner. Denne typen pre-konfigurert installasjon støttes også av dpkg. === Pakkekilder === For å gi brukere enkel kontroll over hvilke typer programvare som de kan installere på deres systemer (og noenganger på grunn av legale årsaker på distributørens side), blir programvare ofte lastet ned fra flere forskjellige ''pakkekilder''.<ref>{{Kilde www |url = http://braintickle.blogspot.com/2006/01/linux-repository-classification.html |tittel = Linux repository classification schemes |besøksdato = 5. mai 2006 |besøkt_dag_måned = |besøkt_måned_dag = |besøksår = |forfatter = |etternavn = |fornavn = |forfatter_url = |medforfattere = |utgivelsesdato = |år = |måned = |format = |verk = |utgiver = |sider = |språk = Engelsk |doi = |arkiv_url = |arkivdato = |sitat = }}</ref> === Fri-programvare-systemer === Naturen til [[fri programvare]] gjør at pakker som kommer under liknende kompatible lisenser er tilgjengelig for bruk på en rekke [[operativsystem]]er. En typisk forskjell mellom pakkehåndtering i [[proprietær programvare|proprietære]] operativsystemer, slik som Mac OS X og Windows, og de i fri programvare, slik som Linux, er at fri programvaresystemer tillater at tredjepartspakker også installeres og oppgraderes gjennom de samme mekanismene, hvor pakkesystemene i Mac OS X og Windows bare vil oppgradere programvare som tilbys av hhv. [[Apple]] og Microsoft (med unntak av noen tredjeparts [[driver|enhetsdrivere]] i Windows). == Forskjellige pakkesystemer == === Debian-baserte === * [[dpkg]], utvikles av [[Debian]], men brukes også av andre distribusjoner, bruker filendingen .deb og var det første til å ha et avhengighetsløsende verktøy ([[Advanced Packaging Tool|apt]]). * [[ipkg]]<ref>{{kilde www|språk=Engelsk |url=http://handhelds.org/moin/moin.cgi/Ipkg |tittel=Ipkg |url-status=død |arkivurl=https://web.archive.org/web/20070928075844/http://handhelds.org/moin/moin.cgi/Ipkg |arkivdato=2007-09-28 }}</ref> er et dpkg-basert lettvekts-system for blant annet håndholdte enheter. === RPM-baserte === * [[RPM Package Manager|rpm]] ble opprinnelig utviklet av [[Red Hat]]. RPM er pakkeformat-standarden i [[Linux Standard Base|Linux Standard Base (LSB)]]. * [[Yellow dog Updater, Modified|yum]] og [[packagekit]] brukes av [[Fedora]]. * [[zypper]] og [[YaST]] brukes av [[OpenSUSE]]. * [[urpmi]] og [[Mandrake Control Center]] brukes av [[Mandriva]]. === Tar-baserte === * [[Gzip]]pede [[tar]]-arkiv med filending .tgz brukes av [[Slackware]]. Dette systemet har i seg selv ingen avhengighetskontroll. * [[Pacman (programvare)|Pacman]] for [[Arch Linux]] bruker også .tgz-filer. === uavhengige av pakkeformat === * [[Portage]] og [[emerge]] brukes av [[Gentoo]]. De ble inspirert av BSDs ports system og bruker skript kalt [[ebuild]] for å kompilere og installere programvare. Selv om systemet baserer seg på [[kildekode]], tilbys også enkelte pakker ferdigkompilert. * [[Ports]] bruker et system av [[makefile]]r for å installere programvare fra kildekode eller binærfiler. * [[Smart Package Manager]] kan bruke både .deb- og .rpm-pakker. === Andre pakkeformat === * [[fink]], for [[Mac OS X]], er delvis basert på dpkg/apt og delvis på ports. * [[Autopackage]] bruker .package-filer. * [[Windows Installer]] er den offisielle måten å installere pakker på i [[Microsoft Windows]]. Windows Installer bruker et XML-basert format i .msi-filer. Uavhengig av pakkeformat, tilbyr de aller fleste linuxdistribusjoner både binær- og kildekodepakker. Kildekodepakkene kompileres automatisk av pakkehåndtereren, slik at brukeren ikke merker noen forskjell. == Betydning== [[Ian Murdock]] har kommentert at pakkesystemer er «det største enkelt avansementet [[Linux]] har tilbrakt industrien», at det gjør at grensen mellom operativsystem og programmer flyter over i hverandre, og at det gjør det «lettere å flytte nye innovasjoner (...) inn i markedsplassen og (...) utvikle operativsystemet».<ref>{{Kilde www|språk=Engelsk |url=http://ianmurdock.com/2007/07/21/how-package-management-changed-everything/ |tittel=How package management changed everything |utgivelsesdato=21. juli 2007 |forfatter=Ian Murdock |besøksdato=26. juli 2007 |url-status=død |arkivurl=https://web.archive.org/web/20090223072201/http://ianmurdock.com/2007/07/21/how-package-management-changed-everything/ |arkivdato=2009-02-23 }}</ref> ==Se også== * [[Pakkekilde]] * [[dpkg]] * [[RPM Package Manager|rpm]] ==Referanser== <references/> {{Autoritetsdata}} [[Kategori:Pakkesystem| ]] [[Kategori:Linux]] [[Kategori:Debian]] [[Kategori:Programvare fra 1994]] [[Kategori:1994 i USA]]
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Maler som brukes på denne siden:
Mal:Autoritetsdata
(
rediger
)
Mal:Byline
(
rediger
)
Mal:Hoved
(
rediger
)
Mal:ISOtilNorskdato
(
rediger
)
Mal:Kilde www
(
rediger
)
Mal:Utdypende
(
rediger
)
Mal:Utdypende artikkel
(
rediger
)
Modul:Citation/CS1
(
rediger
)
Modul:Citation/CS1/COinS
(
rediger
)
Modul:Citation/CS1/Configuration
(
rediger
)
Modul:Citation/CS1/Date validation
(
rediger
)
Modul:Citation/CS1/Identifiers
(
rediger
)
Modul:Citation/CS1/Utilities
(
rediger
)
Modul:Citation/CS1/Whitelist
(
rediger
)
Modul:External links
(
rediger
)
Modul:External links/conf
(
rediger
)
Modul:External links/conf/Autoritetsdata
(
rediger
)
Modul:Genitiv
(
rediger
)
Modul:ISOtilNorskdato
(
rediger
)
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon