Ubuntun kehittäminen ja yhteisö > Oppaiden kehittäminen

Paketinhallintaa komentoriviltä

(1/3) > >>

janne:
Tämä ohje on siirretty osittain tänne http://linux.fi/index.php/Dpkg ja http://linux.fi/index.php/Apt tuonne.

Linuxeissa paketinhallinta on varsin keskeisessä osassa, se määrää miten ohjelmia asennetaan, päivitetään ja poistetaan helpoiten. yleensä onkin syytä asentaa mahdollisimman suuri osa ohjelmista paketinhallinnan kautta välttääkseen ongelmia ja käsityötä. Ubuntussa onkin backports ja ei tuetut, mutta Ubuntun viralliset repositoryt mukaan lukien varsin hyvä valikoima paketteja ja joitain kaupallisia tai suljettuja mutta vapaita ohjelmia lukuun ottamatta miltei kaikki tarvittavat paketit löytyvät sitä kautta.

käyn pikaisesti läpi suoraan paketinhallintaan liittyvät työkalut apt-get ja dpkg sekä pakettien etsimiseen ja tiedonhakuun liittyvät työkalut apt-cache ja apt-file. esitellyt ohjelmat ovat huomattavasti monipuolisempia kuin mitä minä aion käydä läpi, joten uteliaat ja lisä-informaatiota kaipaavat löytävät varmasti tarvitsemansa ohjelmien man-sivuilta.


apt-get:
apt-get on varmasti peruskäyttäjän pääasiallinen paketinhallintatyökalu komentorivillä. se osaa ratkoa riippuvuuksia, hakea halutun paketin ja sen riippuvuudet suoraan netistä ja asentaa kaikki automaattisesti. apt-getin käyttö vaatii rootin oikeudet (joko sudo tai terminaali jossa on tarvittavat oikeudet.). apt-getin repositoryt määritellään tiedostossa /etc/apt/sources.list

pakettilistausten päivittäminen ajan tasalle (tämä tulee ajaa aina kun sources.listiä on muutettu ja yleensä se on hyvä ajaa kerran sellaisina päivinä joina aikoo asennella ohjelmia):

--- Koodia: ---# apt-get update
--- Koodi päättyy ---

paketin asennus:

--- Koodia: ---# apt-get install <paketti>
--- Koodi päättyy ---

paketin lähdekoodin noutaminen (muista esitellyistä komennoista poiketen, tämä komento ei vaadi rootin oikeuksia):

--- Koodia: ---$ apt-get source <paketti>
--- Koodi päättyy ---

paketin poistaminen siten, että ohjelman asetustiedostot jätetään järjestelmään:

--- Koodia: ---# apt-get remove <paketti>
--- Koodi päättyy ---

paketin poistaminen siten, että myös ohjelman asetustiedostot poistetaan:

--- Koodia: ---# apt-get --purge remove <paketti>
--- Koodi päättyy ---

järjestelmään asennettujen pakettien päivittäminen uusimpiin versioihinsa (sisältää myös tietoturvapäivitykset ja edellyttää pakettilistausten päivittämistä):

--- Koodia: ---# apt-get upgrade
--- Koodi päättyy ---

järjestelmään asennettujen pakettien päivittäminen uusimpiin versioihinsa siten, että myös muutokset riippuvuuksissa otetaan huomioon. (pelkkä upgrade ei tee tätä, joten se saattaa joskus jättää joitain paketteja päivittämättä.):

--- Koodia: ---# apt-get dist-upgrade
--- Koodi päättyy ---

tätä viimeistä komentoa käytetään myös silloin kun päivitetään Ubuntu uuteen versioon ilman uudelleenasennusta. ennen päivitystä tulee vain muuttaa /etc/apt/sources.list:in sisältöä siten, että paketit haetaan uuden version repositoryistä.


dpkg:
dpkg toimii paketinhallinnassa hieman apt-get:iä alemmalla tasolla. se ei osaa hakea paketteja netistä saati sitten ratkoa niiden riippuvuuksia. riippuvuuksien selvittäminen toimii kyllä siinä määrin, että jos komennon parametriksi antaa monta pakettia, osaa dpkg tarkistaa täyttävätkö muut asennettavaksi annetut paketit puuttuvia riippuvuuksia. pakettien asentaminen ja poistaminen vaatii luonnollisesti rootin oikeudet, mutta kyselyt eivät. dpkg:n kyselyt vaativat yleensä, että ohjelma on joko asennettu tai kyseltävä .deb -paketti on saatavilla ja annettu parametrina. itse netistä noudetut paketit asennetaan dpkg:n avulla.

haetun .deb paketin asentaminen:

--- Koodia: ---# dpkg -i <paketti>
--- Koodi päättyy ---

paketin poistaminen (mikä tahansa asennettu paketti):

--- Koodia: ---# dpkg -r <paketti>
--- Koodi päättyy ---

paketin poistaminen siten, että myös asetustiedostot poistetaan:

--- Koodia: ---# dpkg -P <paketti>
--- Koodi päättyy ---

haetun paketin tietojen kysely:

--- Koodia: ---$ dpkg -I <paketti>
--- Koodi päättyy ---

asennetun paketin tietojen ja stauksen kysely

--- Koodia: ---$ dpkg -s <paketti>
--- Koodi päättyy ---

haetun paketin sisällön listaaminen:

--- Koodia: ---$ dpkg -c <paketti>
--- Koodi päättyy ---

kaikkien asennettujen pakettien ja niiden versionumeroiden listaaminen:

--- Koodia: ---$ dpkg -l
--- Koodi päättyy ---

tietyn (asennetun) paketin versionumeron tarkistaminen:

--- Koodia: ---$ dpkg -l <paketti>
--- Koodi päättyy ---

tiedoston etsiminen asennetuista paketeista (selvitetään mihin pakettiin tiedosto kuuluu):

--- Koodia: ---$ dpkg -S <tiedoston nimi tai nimen osa>
--- Koodi päättyy ---


apt-cache:
apt-cache on osa apt-pakettia ($  dpkg -S apt-cache ;)) ja on kätevä pakettien etsimisessä ja tutkiskelemisessa (ja parissa muussakin asiassa joita ei käsitellä tässä). hakutoimintoihin riittää mainiosti käyttäjän oikeudet.

paketin hakeminen asennettavissa olevista paketeista (hakee annettua merkkijonoa oletuksena myös pakettien pitkistä kuvauksista):

--- Koodia: ---$ apt-cache search <hakuehto>
--- Koodi päättyy ---
hakuehdoksi käyvät myös regular expressionit jos niitä sattuu osaamaan käyttää.

sama kuin edellinen, mutta vain pakettien nimistä:

--- Koodia: ---$ apt-cache search --names-only <hakuehto>
--- Koodi päättyy ---

paketin tietojen näyttäminen (versio, pitkä kuvaus, riippuvuudet, ...):

--- Koodia: ---$ apt-cache show paketti
--- Koodi päättyy ---


apt-file:
apt-file on puhtaasti etsintätyökalu jolla voi hakea tietoa pakettien sisältämistä tiedostoista, mutta toisin kuin dpkg:n tapauksessa, paketin ei tarvitse olla asennettuna jotta sen tietoja olisi mahdollista kysellä. apt-file ei asennu oletuksena, eikä vaadi pääkäyttäjän oikeuksia. apt-file on erityisen kätevä esimerkiksi silloin, jos joku paketinhallinnan ulkopuolelta asennettu ohjelma ei suostu käynnistymään koska ei löydä jotain tietyn nimistä tiedostoa.

apt-file asennetaan kuten muutkin softat ja se löytyy paketista apt-file:

--- Koodia: ---# apt-get install apt-file
--- Koodi päättyy ---

aluksi (ja välillä muutenkin) apt-filen tietokanta pitää päivittää:

--- Koodia: ---# apt-file update
--- Koodi päättyy ---

tiedoston etsiminen kaikista saatavilla olevista paketeista:

--- Koodia: ---$ apt-file search <tiedosto>
--- Koodi päättyy ---

paketin sisällön listaaminen:

--- Koodia: ---$ apt-file list <paketti>
--- Koodi päättyy ---

paketin hallinta komentoriviltä on suhteellisen helppoa ja mahdollisuuksia on enemmän kuin graafisella puolella tulee koskaan olemaan. jopa tässä pintapuolisessa esittelyssä esiintyy asioita joita graafisella puolella on mahdoton tai ainakin hankala tehdä. komentorivipohjaisen paketinhallinnan opettelu ei ole muutenkaan turhaa, sillä se antaa edellytykset mm. koneen helppoon hallitsemiseen etänä ja riippumattomuuteen tietystä paketinhallinnan front-endistä.

teprrr:
Suosittelen Wajig-nimistä käyttöliittymää erinäisille apt/dpkg-ohjelmille. Hoituu mukavasti erilaisia hommia eikä tarvitse muistella mitä mikäkin komento osaa. Tsekkaa myös tekemäni pikkuhowto aiheesta.

fly:

--- Lainaus käyttäjältä: mikk0 - 16.02.06 - klo:08.54 ---
--- Lainaus käyttäjältä: janne - 15.02.06 - klo:14.59 ---
--- Koodia: ---$ apt-get moo
--- Koodi päättyy ---

--- Lainaus päättyy ---

Minä olenkin ihmetellyt mistä tulee ilmoitus että 'this apt has super cow powers'.
Moo  ;)

Mikko

--- Lainaus päättyy ---

ootteko kokeillu
$ aptitude moo
$ aptitude -v moo
$ aptitude -v -v moo .. ite löysin vasta tänään  :D

tuke81:
Tjooh voisit lisätä tuohon listaan apt-get clean tai apt-get autoclean. Nyt kun on tulossa tuo dapperi, niin ladattuja tiedostoja jää koneelle melkoinen nippu, itselläni vapautui tilaa gigan verran kun ajoin tuon apt-get clean:in.

Infeliz:

--- Koodia: ---apt-get install -f
--- Koodi päättyy ---

Navigaatio

[0] Viestien etusivu

[#] Seuraava sivu

Siirry pois tekstitilasta