Ero sivun ”Pacman” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
 
(25 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
{{pienaakkonen}}
{{Ohjelma
{{Ohjelma
| nimi=Pacman
| nimi           = pacman
| kuva=
| kuva           =
| kuvateksti=
| kuvateksti     =
| lisenssi=[[GPLv2+]]
| lisenssi       = [[GPLv2+]]
| käyttöliittymä=teksti
| käyttöliittymä = teksti
| kotisivu=[https://www.archlinux.org/pacman/ www.archlinux.org/pacman]
| kotisivu       = [https://www.archlinux.org/pacman/ archlinux.org/pacman]
| lahdekoodi=[git://git.archlinux.org/pacman.git git.archlinux.org/pacman.git]
| lähdekoodi    = [git://git.archlinux.org/pacman.git git.archlinux.org/pacman.git]
}}
}}


'''Pacman''' on [[Arch Linux]]in sekä siihen pohjautuvien jakeluiden kuten [[Manjaro]]n, [[Parabola GNU/Linux-libre]]n esimerkiksi [[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 kytkimet ovat yhden kirjaimen mittaisia, pacmanilla on verrattaen nopea kirjoittaa, jopa monimutkaisia komentoja verrattuna esimerkiksi [[Debian]]-pohjaisten jakeluiden käyttämin [[Apt]]-paketinhallintaohjelmiin.
'''<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>. Pacmanin [[asetustiedostojen perusteet|asetustiedosto]] on [[pacman.conf|/etc/pacman.conf]].
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 pacmanin sijaan uudelleenkirjoitettua pacman-versiota nimeltä pacman-G2. Pacman-G2 on syntaksiltaan käytännössä samanlainen kuin alkuperäinen pacman [http://frugalware.org/docs/stable/pacman-g2.html].
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 ==
== 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 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 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 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/pacman-työkaluketjuun GnuPGn ja GPGME:n avulla.
* 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.
* Versio 5.0 toi tuen tapahtumia edeltäville sekä niiden jälkeisille koukuille ja tietokantatiedostoluettelon toimintojen synkronisoinnille.


== 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:
  # <tt>pacman</tt> -Syu


Päivitetään koko järjestelmä (valitsin -u) pakettitietokanta samalla kertaa synkronoiden:
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äivitetään/asennetaan ennestään olemassaoleva, esimerkiksi vanhempi versio sovelluksesta tai itsetehty ohjelmapaketti:
===Asentaminen===
  pacman -U foobar-0.1.4-2.pkg.tar.gz
Paketit asennetaan valitsemalla <tt>-s</tt> .
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.
$ <tt>pacman</tt> -Sp {{Pkg|nginx}}


===Etsiminen===
Etsitään hakusanan "chess" sisältävät paketit pakettitietokannasta:
Etsitään hakusanan "chess" sisältävät paketit pakettitietokannasta:
  pacman -Ss chess
  $ <tt>pacman</tt> -Ss chess
 
Etsitään kaikki koneelle asennetut paketit, jotka sisältävät hakusanan "alsa":
$ <tt>pacman</tt> -Qs alsa
 
===Tietojen näyttäminen===
Näytetään asentamattoman (pakettitietokannasta löytyvän) paketin {{Pkg|termite}} tiedot:
$ <tt>pacman</tt> -Si {{Pkg|termite}}


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 koneelle asennetun paketin {{Pkg|byobu}} tiedot:
pacman -Sp {{Pkg|nginx}}
$ <tt>pacman</tt> -Qi {{Pkg|byobu}}


Näytetään mihin pakettiin tiedosto /usr/bin/ag kuuluu:
$ <tt>pacman</tt> -Qo /usr/bin/ag
===Poistaminen===
Poistetaan paketti {{Pkg|cmus}}:
Poistetaan paketti {{Pkg|cmus}}:
  pacman -R {{Pkg|cmus}}
  # <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.
# <tt>pacman</tt> -Rns {{Pkg|cantata}}


Poistetaan paketti {{Pkg|cmus}} ja sen riippuvuudet, joita ei tarvita:
Poistetaan paketti {{Pkg|cmus}} ja sen riippuvuudet, joita ei tarvita:
  pacman -Rs {{Pkg|cmus}}
  # <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


Poistetaan vain ja ainoastaan paketti {{Pkg|neofetch}}:
pachis() {
pacman -Rs {{Pkg|neofetch}}
  printf "\n"


Etsitään kaikki koneelle asennetut paketit, jotka sisältävät hakusanan "alsa":
  local vanhin_paivitys=$(expac --timefmt='%Y-%m-%d %T' '%l\t%n' | sort -r | tail -1 | awk '{print $1}');
  pacman -Qs alsa
  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
}


Näytetään asentamattoman (pakettitietokannasta löytyvän) paketin {{Pkg|termite}} tiedot:
pachis_help(){
pacman -Si {{Pkg|termite}}
cat >&2 << EOF


Näytetään koneelle asennetun paketin byobu tiedot:
  pachis() - pacman historia 2022-02-27
pacman -Qi {{Pkg|byobu}}


Näytetään mihin pakettiin tiedosto /usr/bin/recode kuuluu:
  Oletuksena tulostaa kaikki päivitysten viimeisimmän päivitysten asennuspäivän aikana asennetut päivitykset.
pacman -Qo /usr/bin/recode


==Pakettien aiheuttama tallennustilan täyttyminen ja sen puhdistaminen==
  -h
    Näyttää tämän viestin.


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.
  -a
pacman -Scc
    Tulostaa kaikki asennetut paketit päivitysjärjestyksessä.
 
  [0-9]+
    Tulostaa määritellyn määrän viimeisempinä asennettuja/päivitettyjä paketteja.


[[AUR|Arch User Repository]]-sovellus {{AUR|pacleaner}} 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ä.
EOF


$ pacleaner -um --delete
}
</syntaxhighlight>


==Katso myös==
==Katso myös==

Nykyinen versio 22. marraskuuta 2022 kello 09.15

pacman
Käyttöliittymä teksti
Lisenssi GPLv2+
Kotisivu archlinux.org/pacman
Lähdekoodi git.archlinux.org/pacman.git

pacman on Arch Linuxin sekä siihen pohjautuvien jakeluiden kuten Manjaron ja Parabola GNU/Linux-libren kuten myös 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 valitsimet 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[muokkaa]

  • 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 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ö[muokkaa]

Päivittäminen[muokkaa]

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[muokkaa]

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[muokkaa]

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[muokkaa]

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/ag kuuluu:

$ pacman -Qo /usr/bin/ag

Poistaminen[muokkaa]

Poistetaan paketti cmus :

# pacman -R cmus

Poistetaan vain ja ainoastaan paketti xorg-server .

# pacman -Rdd 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 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[muokkaa]

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

AUR-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

Listaa asennetut paketit[muokkaa]

Muokkaamalla käytössä olevan komentotulkin asetustiedostoa, voidaan lisätä funktio, joka oletuksena listaa saman päivän aikana asennetut paketit aikajärjestyksessä, valitsin -a 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: expac

# 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

}

Katso myös[muokkaa]

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