Ero sivun ”Paketinhallintajärjestelmä” versioiden välillä

Siirry navigaatioon Siirry hakuun
typo
p (→‎Paketin sisältö: deb-paketin tekeminen)
(typo)
Rivi 1: Rivi 1:
'''Paketinhallintajärjestelmä''' on ohjelmisto, jolla tietyn järjestelmän ohjelmapaketteja voidaan käsitellä standardilla tavalla ja siten helpottaa ohjelmistojen asennusta, poistoa, riippuvuuksien hallintaa ym. Eri [[Jakelu|jakeluilla]] on tähän eri menetelmät.
'''Paketinhallintajärjestelmä''' on ohjelmisto, jolla tietyn järjestelmän ohjelmapaketteja voidaan käsitellä standardilla tavalla ja siten helpottaa ohjelmistojen asennusta, poistoa, riippuvuuksien hallintaa ym. Eri [[Jakelu|jakeluilla]] on tähän eri menetelmät.


Paketinhallinnan välttämätön tehtävä on selvittää riippuvuudet. Edistyneemmät paketinhallinnat osaavat itse ne myös täyttää ilman että käyttäjän on tarvetta puuttua asiaan. Modernit paketinhallintaratkaisut myös hakevat ohjelman Internetistä käyttäjän puolesta ja käyttäjän tarvitsee vain kertoa minkä nimisen ohjelman haluaa asentaa. Ohjelman on sisällyttävä paketinhallinan tuntemiin tietokantoihin, jotta se osataan hakea itse.
Paketinhallinnan välttämätön tehtävä on selvittää riippuvuudet. Edistyneemmät paketinhallinnat osaavat itse ne myös täyttää ilman että käyttäjän on tarvetta puuttua asiaan. Modernit paketinhallintaratkaisut myös hakevat ohjelman Internetistä käyttäjän puolesta ja käyttäjän tarvitsee vain kertoa minkä nimisen ohjelman haluaa asentaa. Ohjelman on sisällyttävä paketinhallinnan tuntemiin tietokantoihin, jotta se osataan hakea itse.


==Eri jakeluiden järjestelmät==
==Eri jakeluiden järjestelmät==
Rivi 20: Rivi 20:
Ohjelma tarvitsee toimiakseen esimerkiksi erinäisiä [[kirjasto|ohjelmakirjastoja]] ja apuohjelmia, ehkä myös esimerkiksi tietokantaohjelman tai muun palvelimen. Näitä kutsutaan ohjelman sisältävän paketin ''riippuvuuksiksi'' ja ne voidaan kuvata toimintoja tarjoavan paketin, toimintaa vastaavan ''virtuaalisen paketin'' tai kaivatun tiedoston nimellä ja mahdollisesti versionumerolla. Järjestelmän perusosia, kuten [[kernel]]iä, [[Libc|C-kirjastoa]] tai [[komentorivi|komentotulkkia]] ei yleensä luetella riippuvuuksissa, ellei paketti kaipaa niistä tiettyä versiota (mitä perusosiksi lasketaan vaihtelee jakelusta toiseen).
Ohjelma tarvitsee toimiakseen esimerkiksi erinäisiä [[kirjasto|ohjelmakirjastoja]] ja apuohjelmia, ehkä myös esimerkiksi tietokantaohjelman tai muun palvelimen. Näitä kutsutaan ohjelman sisältävän paketin ''riippuvuuksiksi'' ja ne voidaan kuvata toimintoja tarjoavan paketin, toimintaa vastaavan ''virtuaalisen paketin'' tai kaivatun tiedoston nimellä ja mahdollisesti versionumerolla. Järjestelmän perusosia, kuten [[kernel]]iä, [[Libc|C-kirjastoa]] tai [[komentorivi|komentotulkkia]] ei yleensä luetella riippuvuuksissa, ellei paketti kaipaa niistä tiettyä versiota (mitä perusosiksi lasketaan vaihtelee jakelusta toiseen).


Riipuvuuksia voi olla eri tasoisia: jos riippuvuus on sellainen, että paketti on käyttökelvoton ilman toista pakettia, .deb-paketissa käytetään ''depends''-riviä, jos pakettia ei yleensä halua käyttää ilman toista pakettia, ''recommends''-riviä, jos toinen paketti parantaa paketin käytettävyyttä (käsikirja, kielipaketit, graafiset edustaohjelmat), ''suggests''-riviä.
Riippuvuuksia voi olla eri tasoisia: jos riippuvuus on sellainen, että paketti on käyttökelvoton ilman toista pakettia, .deb-paketissa käytetään ''depends''-riviä, jos pakettia ei yleensä halua käyttää ilman toista pakettia, ''recommends''-riviä, jos toinen paketti parantaa paketin käytettävyyttä (käsikirja, kielipaketit, graafiset edustaohjelmat), ''suggests''-riviä.


Samoja resursseja käyttäviä ohjelmia tai toisiaan korvaavia ohjelmia kuvataan riveillä ''conflicts'' ja ''replaces'' ja toisen paketin toiminnallisuutta tarjoamista rivillä ''provides''. Lisäksi voi kertoa, että jotakin pakettia tarvitaan paketin [[lähdekoodi]]sta [[kääntäminen|kääntämiseen]] (''build-dep'') tai pakettia asennettaessa (''pre-depends'').
Samoja resursseja käyttäviä ohjelmia tai toisiaan korvaavia ohjelmia kuvataan riveillä ''conflicts'' ja ''replaces'' ja toisen paketin toiminnallisuutta tarjoamista rivillä ''provides''. Lisäksi voi kertoa, että jotakin pakettia tarvitaan paketin [[lähdekoodi]]sta [[kääntäminen|kääntämiseen]] (''build-dep'') tai pakettia asennettaessa (''pre-depends'').
Rivi 28: Rivi 28:
Kun on asentamassa jotakin ohjelmapakettia, jonka riippuvuudet eivät ole kunnossa, [[rpm]], [[dpkg]] tai vastaava kuvailee ongelman eikä suostu asentamaan uutta pakettia. Käyttäjä joko asentaa tarvittavat apuohjelmat (tai käyttää valitsinta <tt>--force-depends</tt> tms., mikä hyvin harvoin on perusteltua). Edistyneemmät paketinhallinta- tai edustaohjelmat ([[apt]], [[aptitude]], [[synaptic]], [[yum]] yms.) osaavat asentaa kaivatut riippuvuudet ja ratkaista monimutkaisempiakin riippuvuusongelmia. Ongelmatilanteissa eri työkaluja voi auttaa eri tavoilla antamalla niille vihjeitä tai valtuuksia ongelman ratkaisuun.
Kun on asentamassa jotakin ohjelmapakettia, jonka riippuvuudet eivät ole kunnossa, [[rpm]], [[dpkg]] tai vastaava kuvailee ongelman eikä suostu asentamaan uutta pakettia. Käyttäjä joko asentaa tarvittavat apuohjelmat (tai käyttää valitsinta <tt>--force-depends</tt> tms., mikä hyvin harvoin on perusteltua). Edistyneemmät paketinhallinta- tai edustaohjelmat ([[apt]], [[aptitude]], [[synaptic]], [[yum]] yms.) osaavat asentaa kaivatut riippuvuudet ja ratkaista monimutkaisempiakin riippuvuusongelmia. Ongelmatilanteissa eri työkaluja voi auttaa eri tavoilla antamalla niille vihjeitä tai valtuuksia ongelman ratkaisuun.


Jos asentaa ohjelmia paketinhallinnan ohi, paketinhallintajärjestelmä ei pysty hyödyntämään asennettuja ohjelmia riippuvuuksien tyydittämiseen eikä huomaa milloin näin asennettu ohjelma kilpailee jostakin resurssista toisen paketin kanssa. Paketinhallinnan ohi asenenttaaessa kannattaa käyttää hakemistoja /opt tai /usr/local, jolloin paketinhallinnan kautta ja sen ohi asennetut ohjelmat eivät ylikirjoita toistensa tiedostoja. Jos paketinhallinnan ohi asennettu ohjelma käyttää jotakin muuta resurssia, verkkopalvelinten tapauksessa [[wikipedia:fi:TCP|tcp]]- tai [[wikipedia:fi:UDP|udp]]-porttia, kannattaa vähintään tehdä "dummy-paketti", joka kertoo tarjoavansa tätä toiminnallisuutta ja käyttävänsä tätä resurssia.
Jos asentaa ohjelmia paketinhallinnan ohi, paketinhallintajärjestelmä ei pysty hyödyntämään asennettuja ohjelmia riippuvuuksien tyydyttämiseen, eikä huomaa, milloin näin asennettu ohjelma kilpailee jostakin resurssista toisen paketin kanssa. Paketinhallinnan ohi asennettaessa kannattaa käyttää hakemistoja /opt tai /usr/local, jolloin paketinhallinnan kautta ja sen ohi asennetut ohjelmat eivät ylikirjoita toistensa tiedostoja. Jos paketinhallinnan ohi asennettu ohjelma käyttää jotakin muuta resurssia, verkkopalvelinten tapauksessa [[wikipedia:fi:TCP|tcp]]- tai [[wikipedia:fi:UDP|udp]]-porttia, kannattaa vähintään tehdä "dummy-paketti", joka kertoo tarjoavansa tätä toiminnallisuutta ja käyttävänsä tätä resurssia.


Muualta haetusta ohjelmasta voi myös tehdä aidon paketin, jonka voi asentaa paketinhallinnan kautta. Näin ainakin riippuvuudet ja ristiriidat tulee huomioiduiksi.
Muualta haetusta ohjelmasta voi myös tehdä aidon paketin, jonka voi asentaa paketinhallinnan kautta. Näin ainakin riippuvuudet ja ristiriidat tulee huomioiduiksi.
Rekisteröitymätön käyttäjä

Navigointivalikko