Muokataan sivua Pacman

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
{{pienaakkonen}}
Pacman on [[Archlinux|Arch Linuxin]] ja [[Frugalware|Frugalwaren]] käyttämä paketinhallintaohjelma, joka seuraa järjestelmään asennettuja ohjelmapaketteja. Siinä on tuki riippuvuuksien hallintaan sekä kyky ottaa yhteys etäpalvelimeen ja automaattisesti päivittää tai asentaa paketteja paikalliseen järjestelmään. Arch Linuxin paketit ovat [[gzip]]attuja [[tarball]]eja ja Frugalwaren paketit ovat [[bzip2]]-pakattuja tarballeja. Pacmanin [[asetustiedostojen perusteet|asetustiedosto]] on [[pacman.conf|/etc/pacman.conf]]
{{Ohjelma
| nimi          = pacman
| kuva          =
| kuvateksti    =
| lisenssi      = [[GPLv2+]]
| käyttöliittymä = teksti
| kotisivu      = [https://www.archlinux.org/pacman/ archlinux.org/pacman]
| lähdekoodi    = [git://git.archlinux.org/pacman.git git.archlinux.org/pacman.git]
}}
 
'''<tt>pacman</tt>''' on [[Arch Linux]]in sekä siihen pohjautuvien jakeluiden kuten [[Manjaro]]n ja [[Parabola GNU/Linux-libre]]n kuten myös [[Slackware]]:n sukulaisjakelu [[Frugalware]]n käyttämä [[paketinhallinta]]ohjelma, 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 valitsimet ovat yhden kirjaimen mittaisia, <tt>pacman</tt>illa on verrattaen nopea kirjoittaa, jopa monimutkaisia komentoja verrattuna esimerkiksi [[Debian]]-pohjaisten jakeluiden käyttämin [[Apt]]-paketinhallintaohjelmiin.
 
Arch Linuxin paketit ovat [[gzip]]attuja [[tarball]]eja ja Frugalwaren paketit [[bzip2]]-pakattuja tarballeja. Tiedostopäätteenä Arch Linuxin paketeissa on <tt>.pkg.tar.gz</tt> ja Frugalwaren paketeissa <tt>.fpm</tt>. <tt>pacman</tt>in [[asetustiedostojen perusteet|asetustiedosto]] on <tt>[[pacman.conf|/etc/pacman.conf]]</tt>.
 
Frugalware on nykyisin siirtynyt käyttämään alkuperäisen Arch Linuxin <tt>pacman</tt>in sijaan uudelleenkirjoitettua <tt>pacman</tt>-versiota nimeltä pacman-G2. pacman-G2 on syntaksiltaan käytännössä samanlainen kuin alkuperäinen <tt>pacman</tt> [http://frugalware.org/docs/stable/pacman-g2.html].
 
== Historia ==
 
* Versiossa 2.0 lisättiin mahdollisuus synkronoida paketteja (--sync valitsemilla) 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 <tt>pacman</tt>iin — taustaprosessiin nimeltä ''libalpm'' (Arch Linux paketinhallintakirjasto) ja tutumpaan ''<tt>pacman</tt>''-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/<tt>pacman</tt>-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ö ==
== Käyttö ==
===Päivittäminen===
pacman -Sy zsh
Päivitetään koko järjestelmä (valitsin <tt>-u</tt>) pakettitietokanta samalla kertaa synkronoiden:
Asentaa paketin zsh synkronoiden sitä ennen pakettitietokannan (valitsin -y)
# <tt>pacman</tt> -Syu


Päivitetään/asennetaan ennestään olemassaoleva, esimerkiksi vanhempi versio sovelluksesta tai itsetehty ohjelmapaketti:
  pacman -Syu
  # <tt>pacman</tt> -U foobar-0.1.4-2.pkg.tar.gz
Päivittää koko järjestelmän (valitsin -u) synkronoiden sitä ennen pakettitietokannan


===Asentaminen===
  pacman -Ss chess
Paketit asennetaan valitsemalla <tt>-s</tt> .
Etsii hakusanan "chess" sisältävät paketit pakettitietokannasta
Asennetaan paketti {{Pkg|zsh}}:
  # <tt>pacman</tt> -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 <tt>pacman</tt>-syntaksia niiden asentamiseen.
pacman -R libdvdcss
$ <tt>pacman</tt> -Sp {{Pkg|nginx}}
Poistaa paketin libdvdcss


===Etsiminen===
pacman -Qs alsa
Etsitään hakusanan "chess" sisältävät paketit pakettitietokannasta:
Etsii kaikki koneelle asennetut paketit, jotka sisältävät hakusanan "alsa"
$ <tt>pacman</tt> -Ss chess


Etsitään kaikki koneelle asennetut paketit, jotka sisältävät hakusanan "alsa":
  pacman -Si gnome-terminal
  $ <tt>pacman</tt> -Qs alsa
Näyttää asentamattoman (pakettitietokannasta löytyvän) paketin gnome-terminal tiedot


===Tietojen näyttäminen===
pacman -Qi yakuake
Näytetään asentamattoman (pakettitietokannasta löytyvän) paketin {{Pkg|termite}} tiedot:
Näyttää koneelle asennetun paketin yakuake tiedot
$ <tt>pacman</tt> -Si {{Pkg|termite}}


Näytetään koneelle asennetun paketin {{Pkg|byobu}} tiedot:
  pacman -Qo /usr/bin/recode
  $ <tt>pacman</tt> -Qi {{Pkg|byobu}}
Näyttää mihin pakettiin tiedosto /usr/bin/recode kuuluu.


Näytetään mihin pakettiin tiedosto /usr/bin/ag kuuluu:
pacman -Scc
$ <tt>pacman</tt> -Qo /usr/bin/ag
Poistaa 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.


===Poistaminen===
  pacman -U foobar-0.1.4-2.pkg.tar.gz
Poistetaan paketti {{Pkg|cmus}}:
Päivittää/asentaa itsetehdyn ohjelmapaketin
  # <tt>pacman</tt> -R {{Pkg|cmus}}


Poistetaan vain ja ainoastaan paketti {{Pkg|xorg-server}}.
# <tt>pacman</tt> -Rdd {{Pkg|xorg-server}}
{{Huomautus|Tällöin ei tule huomautusta poistaa muita paketteja ja riippuvuuksia, jotka mahdollisesti ovat riippuvaisia poistetusta paketista, joka voi johtaa sovelluksien tai jopa järjestelmän rikkoutumiseen ellei poistettua pakettia, joko uudelleenasenneta tai sen riippuvuuksia poisteta. Useimmiten tämä komento tulee tarpeeseen asennettaessa vastaavaa pakettia, jolloin poistettava paketin poisto normaalisti voisi johtaa myös riippuvuuksien ja kyseisestä paketista riippuvaisten toisten pakettien poistamiseen. On siis vain nopeampaa poistaa vain ja ainoastaan ongelmallinen paketti.}}


Poistetaan paketti {{Pkg|cantata}} riippuvuuksineen päivineen.
[[Luokka:Järjestelmä]]
# <tt>pacman</tt> -Rns {{Pkg|cantata}}
 
Poistetaan paketti {{Pkg|cmus}} ja sen riippuvuudet, joita ei tarvita:
# <tt>pacman</tt> -Rs {{Pkg|cmus}}
 
==Pakettien aiheuttama tallennustilan täyttyminen ja sen puhdistaminen==
 
Poistetaan kaikki <tt>pacman</tt>in 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.
# <tt>pacman</tt> -Scc
 
[[Arch User Repository|AUR]]-sovellus {{AUR|pacleaner}} avulla on tosin mahdollista siivota <tt>pacman</tt> 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
 
==Listaa asennetut paketit==
Muokkaamalla käytössä olevan [[komentotulkki|komentotulkin]] asetustiedostoa, voidaan lisätä funktio, joka oletuksena listaa saman päivän aikana asennetut paketit aikajärjestyksessä, valitsin <tt>-a</tt> listaa kaikki asennetut paketit  aikajärjestyksessä, tai pelkän kokonaisluvun lisäämällä lukua vastaavan määrän asennettuja paketteja. Esim. [[bash]]-komentotulkin [[.bashrc]]-tiedostoon:
 
''Vaatimukset:'' {{pkg|expac}}
 
<syntaxhighlight lang="bash">
# pacman päivitys historia
# vaatimukset: expac
 
pachis() {
  printf "\n"
 
  local vanhin_paivitys=$(expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -r | tail -1 | awk '{print $1}');
  local viimeisin_paivitys=$(expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -n | tail -1 | awk '{print $1}');
 
  case $1 in
      -a)  expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -n; printf "\n Vanhin päivittämättä oleva paketti: %s\n\n" $vanhin_paivitys; ;;
      -h)  pachis_help; ;;
      ''|*[!0-9]*) expac --timefmt='%Y-%m-%d %T' '%l\t%n'| sort -n | grep "$viimeisin_paivitys"; printf "\n Päivitetty viimeksi %s\n\n" $viimeisin_paivitys; ;;
      ''|*[0-9]*) expac --timefmt='%Y-%m-%d %T' '%l\t%n'| sort -n | tail -n"$1"; printf "\n $1 viimeisintä päivitystä lueteltuna.\n\n"; ;;
      *)  printf "\n pachis\n\n Tulostaa päivitykset aikajärjestyksessä.\n" ;;
  esac
}
 
pachis_help(){
cat >&2 << EOF
 
  pachis() - pacman historia 2022-02-27
 
  Oletuksena tulostaa kaikki päivitysten viimeisimmän päivitysten asennuspäivän aikana asennetut päivitykset.
 
  -h
    Näyttää tämän viestin.
 
  -a
    Tulostaa kaikki asennetut paketit päivitysjärjestyksessä.
 
  [0-9]+
    Tulostaa määritellyn määrän viimeisempinä asennettuja/päivitettyjä paketteja.
 
EOF
 
}
</syntaxhighlight>
 
==Katso myös==
* [[Rosetta]], eri jakeluiden paketinhallintaohjelmistojen käskyjen tulkinta ja käyttö.
 
[[Luokka:Paketinhallinta]]
[[Luokka:Komentorivin erikoisohjelmat]]
[[Luokka:Komentorivin erikoisohjelmat]]
[[pl:pacman]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)

Tämä sivu kuuluu seuraavaan piilotettuun luokkaan:

Noudettu kohteesta ”https://www.linux.fi/wiki/Pacman