Ero sivun ”Pacman” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (artikkelia päivitetty)
Rivi 26: Rivi 26:


== Käyttö ==
== Käyttö ==
Asennetaan paketti zsh:
===Päivittäminen===
pacman -S {{Pkg|zsh}}
Päivitetään koko järjestelmä (valitsin <tt>-u</tt>) pakettitietokanta samalla kertaa synkronoiden:
 
Päivitetään koko järjestelmä (valitsin -u) pakettitietokanta samalla kertaa synkronoiden:
  pacman -Syu
  pacman -Syu


Rivi 35: Rivi 33:
  pacman -U foobar-0.1.4-2.pkg.tar.gz
  pacman -U foobar-0.1.4-2.pkg.tar.gz


Etsitään hakusanan "chess" sisältävät paketit pakettitietokannasta:
===Asentaminen===
  pacman -Ss chess
Paketit asennetaan valitsemalla <tt>-s</tt> .
Asennetaan paketti zsh:
  pacman -S {{Pkg|zsh}}


Näytetään paketin {{Pkg|nginx}} ja sen riippuvaisuuksien suorat osoitteet. Tällöin käyttäjä voi kopioida paketit käsin vaikkapa hakemistoon <tt>/var/cache/pacman/pkg/</tt> ja käyttää tämän jälkeen normaalia pacman-syntaksia niiden asentamiseen.
Näytetään paketin {{Pkg|nginx}} ja sen riippuvaisuuksien suorat osoitteet. Tällöin käyttäjä voi kopioida paketit käsin vaikkapa hakemistoon <tt>/var/cache/pacman/pkg/</tt> ja käyttää tämän jälkeen normaalia pacman-syntaksia niiden asentamiseen.
  pacman -Sp {{Pkg|nginx}}
  pacman -Sp {{Pkg|nginx}}


Poistetaan paketti {{Pkg|cmus}}:
===Etsiminen===
pacman -R {{Pkg|cmus}}
Etsitään hakusanan "chess" sisältävät paketit pakettitietokannasta:
 
  pacman -Ss chess
Poistetaan paketti {{Pkg|cmus}} ja sen riippuvuudet, joita ei tarvita:
pacman -Rs {{Pkg|cmus}}
 
Poistetaan vain ja ainoastaan paketti {{Pkg|neofetch}}:
  pacman -Rs {{Pkg|neofetch}}


Etsitään kaikki koneelle asennetut paketit, jotka sisältävät hakusanan "alsa":
Etsitään kaikki koneelle asennetut paketit, jotka sisältävät hakusanan "alsa":
  pacman -Qs alsa
  pacman -Qs alsa


===Tietojen näyttäminen===
Näytetään asentamattoman (pakettitietokannasta löytyvän) paketin {{Pkg|termite}} tiedot:
Näytetään asentamattoman (pakettitietokannasta löytyvän) paketin {{Pkg|termite}} tiedot:
  pacman -Si {{Pkg|termite}}
  pacman -Si {{Pkg|termite}}
Rivi 61: Rivi 57:
Näytetään mihin pakettiin tiedosto /usr/bin/recode kuuluu:
Näytetään mihin pakettiin tiedosto /usr/bin/recode kuuluu:
  pacman -Qo /usr/bin/recode
  pacman -Qo /usr/bin/recode
===Poistaminen===
Poistetaan paketti {{Pkg|cmus}}:
pacman -R {{Pkg|cmus}}
Poistetaan vain ja ainoastaan paketti {{Pkg|xorg-server}}. Tällöin ei tule huomautusta poistaa muita ohjelmia ja riippuvuuksia, jotka mahdollisesti ovat riippuvaisia poistetusta paketista.
pacman -Rdd {{Pkg|xorg-server}}
Poistetaan paketti {{Pkg|cantata}} riippuvuuksineen päivineen.
pacman -Rns {{Pkg|cantata}}
Poistetaan paketti {{Pkg|cmus}} ja sen riippuvuudet, joita ei tarvita:
pacman -Rs {{Pkg|cmus}}


==Pakettien aiheuttama tallennustilan täyttyminen ja sen puhdistaminen==
==Pakettien aiheuttama tallennustilan täyttyminen ja sen puhdistaminen==


Poistetaan kaikki pacmanin lataamat paketit hakemistosta /var/cache/pacman/pkg. Mikäli valitsin annetaan muodossa -Sc, poistetaan vain vain vanhentuneet paketit. Mikäli paketteja ei poisteta tarpeeksi usein, kertyy niitä helposti useiden gigatavujen verran ja voi pahimmillaan täyttää <code>/var</code>-osion, oli sitten erillinen oma osionsa tai osa <code>/</code>juuri-osiota, joka johtaa siihen, että uusien päivitysten asentaminen ei onnistu ennen kuin ylimääräiset paketit poistetaan.
Poistetaan kaikki pacmanin lataamat paketit hakemistosta <tt>/var/cache/pacman/pkg</tt>. Mikäli valitsin annetaan muodossa -Sc, poistetaan vain vain vanhentuneet paketit. Mikäli paketteja ei poisteta tarpeeksi usein, kertyy niitä helposti useiden gigatavujen verran ja voi pahimmillaan täyttää <code>/var</code>-osion, oli sitten erillinen oma osionsa tai osa <code>/</code>juuri-osiota, joka johtaa siihen, että uusien päivitysten asentaminen ei onnistu ennen kuin ylimääräiset paketit poistetaan.
  pacman -Scc
  pacman -Scc



Versio 9. marraskuuta 2020 kello 10.33

Pacman
Käyttöliittymä teksti
Lisenssi GPLv2+
Kotisivu www.archlinux.org/pacman

Pacman on Arch Linuxin sekä siihen pohjautuvien jakeluiden kuten Manjaron, Parabola GNU/Linux-libren esimerkiksi Slackware:n sukulaisjakelu Frugalwaren käyttämä paketinhallintaohjelma, jolla hallitaan järjestelmään asennettuja ohjelmapaketteja. Siinä on tuki riippuvuuksien hallintaan sekä kyky ottaa yhteys etäpalvelimeen ja automaattisesti päivittää, asentaa tai poistaa paketteja. Myös paikallisten pakettien asentaminen on mahdollista. Koska kytkimet ovat yhden kirjaimen mittaisia, pacmanilla on verrattaen nopea kirjoittaa, jopa monimutkaisia komentoja verrattuna esimerkiksi Debian-pohjaisten jakeluiden käyttämin Apt-paketinhallintaohjelmiin.

Arch Linuxin paketit ovat gzipattuja tarballeja ja Frugalwaren paketit bzip2-pakattuja tarballeja. Tiedostopäätteenä Arch Linuxin paketeissa on .pkg.tar.gz ja Frugalwaren paketeissa .fpm. Pacmanin asetustiedosto on /etc/pacman.conf.

Frugalware on nykyisin siirtynyt käyttämään alkuperäisen Arch Linuxin pacmanin sijaan uudelleenkirjoitettua pacman-versiota nimeltä pacman-G2. Pacman-G2 on syntaksiltaan käytännössä samanlainen kuin alkuperäinen pacman [1].

Historia

  • Versiossa 2.0 lisättiin mahdollisuus synkronoida paketteja (--sync kytkimellä) pääpalvelimen kanssa pakettitietokantojen kautta. Tätä aiemmin paketit piti manuaalisesti asentaa käyttämällä --add ja --upgrade toimintoja.
  • Versiossa 3.0 siirryttiin kaksiosaiseen pacmaniin — taustaprosessiin nimeltä libalpm (Arch Linux paketinhallintakirjasto) ja tutumpaan pacman-käyttöliittymään. Nopeus parantui monissa tapauksissa, samalla kun riippuvuus ja ristiriitojen ratkaiseminen pystyi käsittelemään yhä suuremman määrän tapauksia. Siirros kirjastopohjaiseen ohjelmaan helpottaisi tulevaisuudessa vaihtoehtoisten käyttöliittymien kehittämistä.
  • Versiossa 4.0 lisättiin paketin allekirjoitus ja varmennus mahdollisuudet koko makepgk/repo-add/pacman-työkaluketjuun GnuPGn ja GPGME:n avulla.
  • Versio 5.0 toi tuen tapahtumia edeltäville sekä niiden jälkeisille koukuille ja tietokantatiedostoluettelon toimintojen synkronisoinnille.

Käyttö

Päivittäminen

Päivitetään koko järjestelmä (valitsin -u) pakettitietokanta samalla kertaa synkronoiden:

pacman -Syu

Päivitetään/asennetaan ennestään olemassaoleva, esimerkiksi vanhempi versio sovelluksesta tai itsetehty ohjelmapaketti:

pacman -U foobar-0.1.4-2.pkg.tar.gz

Asentaminen

Paketit asennetaan valitsemalla -s . Asennetaan paketti zsh:

pacman -S zsh

Näytetään paketin nginx ja sen riippuvaisuuksien suorat osoitteet. Tällöin käyttäjä voi kopioida paketit käsin vaikkapa hakemistoon /var/cache/pacman/pkg/ ja käyttää tämän jälkeen normaalia pacman-syntaksia niiden asentamiseen.

pacman -Sp nginx

Etsiminen

Etsitään hakusanan "chess" sisältävät paketit pakettitietokannasta:

pacman -Ss chess

Etsitään kaikki koneelle asennetut paketit, jotka sisältävät hakusanan "alsa":

pacman -Qs alsa

Tietojen näyttäminen

Näytetään asentamattoman (pakettitietokannasta löytyvän) paketin termite tiedot:

pacman -Si termite

Näytetään koneelle asennetun paketin byobu tiedot:

pacman -Qi byobu

Näytetään mihin pakettiin tiedosto /usr/bin/recode kuuluu:

pacman -Qo /usr/bin/recode

Poistaminen

Poistetaan paketti cmus :

pacman -R cmus

Poistetaan vain ja ainoastaan paketti xorg-server . Tällöin ei tule huomautusta poistaa muita ohjelmia ja riippuvuuksia, jotka mahdollisesti ovat riippuvaisia poistetusta paketista.

pacman -Rdd xorg-server

Poistetaan paketti cantata riippuvuuksineen päivineen.

pacman -Rns cantata

Poistetaan paketti cmus ja sen riippuvuudet, joita ei tarvita:

pacman -Rs cmus

Pakettien aiheuttama tallennustilan täyttyminen ja sen puhdistaminen

Poistetaan kaikki pacmanin lataamat paketit hakemistosta /var/cache/pacman/pkg. Mikäli valitsin annetaan muodossa -Sc, poistetaan vain vain vanhentuneet paketit. Mikäli paketteja ei poisteta tarpeeksi usein, kertyy niitä helposti useiden gigatavujen verran ja voi pahimmillaan täyttää /var-osion, oli sitten erillinen oma osionsa tai osa /juuri-osiota, joka johtaa siihen, että uusien päivitysten asentaminen ei onnistu ennen kuin ylimääräiset paketit poistetaan.

pacman -Scc

Arch User Repository-sovellus pacleanerAUR avulla on tosin mahdollista siivota pacman välimuistia niin, että kaikki muu, tarpeettomat paketit mukaanlukien poistetaan paitsi viimeksi ladatut, jolloin palaaminen aiempiin versioihin on mahdollista, mikäli viimeisimmät versiot omaavat esimerkiksi ohjelmavirheitä.

$ pacleaner -um --delete

Katso myös

  • Rosetta, eri jakeluiden paketinhallintaohjelmistojen käskyjen tulkinta ja käyttö.