pacman (Suomi)

Aiheeseen liittyen
Creating packages
Downgrading packages
pacman/Package signing
pacman/Pacnew and Pacsave
pacman/Restore local database
pacman (Suomi)/Rosetta (Suomi)
pacman/Tips and tricks
FAQ (Suomi)#Paketinhallinta
System maintenance
Arch build system
Official repositories
Arch User Repository
Pacman
-
paketinhallintajärjestelmä
on yksi tunnusosaisimmista ominaisuuksista Arch Linuxissa. Se yhdistää yksinkertaisen binääripakettiformaatin ja helppokäyttöisen
koontijärjestelmän
. Tavoitteena
pacman
paketinhallintajärjestelmällä on tehdä mahdolliseksi pakettien helppo hallinta, olivat ne sitten
virallisista pakettivarastoista
tai käyttäjän omista koonneista.
Pacman
pitää järjestelmän ajan tasalla synkronisoimalla pakettilistoja isäntä palvelimen kanssa. Tämä palvelin/asiakasohjelma malli antaa myös mahdollisuuden käyttäjälle ladata/asentaa paketteja yksinkertaisella komennolla, jotka tulevat sitten kaikkien tarvittavien riippuvuuksien kanssa kokonaisuutena.
Pacman
on kirjoitettu
C
-ohjelmointikielellä ja käyttää
bsdtar(1)
tar
formaattia paketeissa.
Vinkki
pacman
paketti sisältää työkalut kuten
makepkg
ja
vercmp(8)
. Muut käytännölliset työkalut kuten
pactree
ja
checkupdates
löytyy
pacman-contrib
paketista (
ennen
osana pacmania). Suorita
pacman -Ql pacman pacman-contrib | grep -E 'bin/.+'
täydelle listalle.
Käyttö
Seuraavat mallit ovat vain osa asioista, mitä
pacman
voi tehdä ja suorittaa. Enemmän esimerkkejä löytyy
pacman(8)
manuaalista.
Vinkki
Niille joilla on aiempaa kokemusta muista Linux jakeluista, on olemassa hyödyllinen
Pacman Rosetta
artikkeli.
Pakettien asennus
Paketti on arkisto, joka sisältää:
kaikki (käännetyt) tiedostot sovelluksesta
metadataa liittyen sovellukseen, kuten sovelluksen nimen, version, riippuvuudet, ...
asennus tiedostot ja toimintaohjeet pacmanille
(vaihtoehtoisesti) lisätiedostoja elämän helpottamiseksi, kuten käynnistys/pysäytys skriptit
Archin paketinhallintajärjestelmä pacman voi asentaa, päivittää, ja poistaa näitä paketteja. Pakettien käyttö ohjelmien kääntämisen ja asentamisen sijaan tuo paljon etuja:
helposti päivitettävä: pacman päivittää olemassa olevat paketit niin pian, kuin päivityksiä on vain saatavilla
riippuvuuksien tarkistelu: pacman käsittelee riippuvuudet käyttäjän puolesta, täytyy vain tarkentaa ohjelma ja pacman asentaa sen kaikkien muiden tarvittavien ohjelmien kanssa
puhdas poistaminen: pacmanilla on lista jokaisesta tiedostosta paketissa; tällä ominaisuudella varmistetaan se, ettei yhtäkään tiedostoa jätetä järjestelmään, kun jokin ohjelma päätetään poistaa.
Huomautus
Paketeilla on usein
vaihtoehtoisia riippuvuuksia
, jotka ovat paketteja tuomassa lisätoiminnallisuutta sovellukseen, mutta näitä ei varsinaisesti tarvita ohjelman toimimiseen. Kun pakettia asennetaan,
pacman
listaa paketin vaihtoehtoiset riippuvuudet, mutta ne eivät löydyt
pacman.log
tiedostosta. Käytä
#Kysely pakettitietokannassa
komentoja näyttääksesi vaihtoehtoisia riippuvuuksia paketista.
Kun asennetaan paketti, joka tarvitaan vain vaihtoehtoisena riippuvuutena johonkin muuhun pakettiin (eli toisin sanoen ei tarvita muutoin erityisesti), kehotetaan käyttämään
--asdeps
merkintää. Lisätiedolle, katso
#Asennuksen syy
kohta.
Varoitus
Kun paketteja asennetaan Archissa, vältä listan päivittämistä ilman
järjestelmän päivittämistä
(esimerkiksi, kun
pakettia ei enää löydy
virallisissa pakettivarastoissa). Käytännössä,
älä
suorita
pacman -Sy
paketin_nimi
pacman -Sy
u
paketin_nimi
sijasta, koska tämä voi johtaa riippuvuus ongelmiin. Katso
System maintenance#Partial upgrades are unsupported
ja
BBS#89328
.
Tiettyjen pakettien asentaminen
Yhden tai useamman paketin asentamiseen, mukaanlukien riippuvuudet, käytä seuraavaa komentoa:
# pacman -S
paketin_nimi1
paketin_nimi2
...
Useiden pakettien asentamiseen regexin avulla (katso
tämä foorumi keskustelu
):
# pacman -S $(pacman -Ssq
paketti_regex
)
Joskus paketista on olemassa useita versioita eri pakettivarastoissa (esim.
extra
ja
testing
). Paketin asentamiseen
extra
pakettivarastosta tässä esimerkissä, pakettivarasto täytyy määrittää paketin nimen edessä:
# pacman -S extra/
paketin_nimi
Useiden pakettien asentamiseksi käyttäen samantapaisia nimiä voidaan käyttää aaltosulkeita. Esimerkiksi:
# pacman -S plasma-{desktop,mediacenter,nm}
Tämä voidaan laajentaa hyvinkin monelle tasolle:
# pacman -S plasma-{workspace{,-wallpapers},pa}
Virtuaaliset paketit
Virtuaali paketti erityinen paketti, joka ei ole olemassa yksisteen, vaan sen
antaa
yksi tai useampi toinen paketti. Virtuaali paketti ei salli paketteja nimeämään erityistä pakettia riippuvuutena, siinä tapauksessa kun ehdokkaita on useita. Virtuaali pakettia ei pystytä asentamaan sen nimellä, sen sijaan ne asennetaan järjestelmään, kun asennetaan paketti joka sitten
antaa
tämän virtuaalisen paketin.
Pakettiryhmien asentaminen
Jotkin paketit kuuluvat
pakettiryhmään
, jotka voidaan asentaa kaikki samanaikaisesti. Esimerkiksi, tällä komennolla:
# pacman -S gnome
ohjataan valitsemaan paketteja
gnome
ryhmästä, joita haluat asentaa.
Joskus pakettiryhmä sisältää paljon paketteja ja saattaa olla että vain muutama niistä halutaan asentaa. Numeroiden erikseen kirjoittamisen sijaan voi joskus olla kätevämpää valita tai erotella  paketit tai valikoima paketteja seuraavalla syntaksilla:
Enter a selection (default=all): 1-10 15
joka valitsee paketit 1 - 10 ja 15 asennusta varten, tai:
Enter a selection (default=all): ^5-8 ^2
joka valitsee kaikki paketit paitsi 5 - 8 ja 2 asennusta varten.
Nähdäksesi mitä kuuluu gnome pakettiryhmään, suorita:
# pacman -Sg gnome
Vieraile myös sivulla
https://archlinux.org/groups/
nähdäksesi mitä pakettiryhmiä on saatavilla.
Huomautus
Jos paketti listassa on jo asennetu järjestelmääsi, se tullaan uudelleen asentamaan vaikka se olisi päivitetty ajan tasalle. Tämä voidaan ohittaa
--needed
merkinnällä.
Pakettien poistaminen
Yhden paketin poistamista varten, jättäen kaikki riippuvuudet asennettuna:
# pacman -R
paketin_nimi
Paketin ja sen riippuvuuksien poistaminen, joita mikään muu paketti ei tarvitse:
# pacman -Rs
paketin_nimi
Yläpuolella oleva ei välttämättä aina toimi kun paketti kuuluu johonkin pakettiryhmään. Siinä tapauksessa koita:
# pacman -Rsu
paketin_nimi
Paketin, sen riippuvuuksien ja kaikkien pakettien, jotka riippuvat tästä poistettavasta paketista, poistamiseen:
Varoitus
Tämä operaatio on itseään toistava, ja sitä täytyy käyttää huolella ja varmuudella, sillä se saattaa poistaa monia potentiaalisesti tarvittavia paketteja.
# pacman -Rsc
paketin_nimi
Pelkä paketin poistamiseen, eikä pakettien poistamiseen joiden toiminta riippuu kyseisestä paketista:
Varoitus
Seuraava operaatio voi rikkoa järjestelmän ja sitä tulisi siis välttää. Katso
System maintenance#Avoid certain pacman commands
.
# pacman -Rdd
paketin_nimi
Pacman
tallentaa tärkeät konfiguraatio tiedostot, kun poistetaan tiettyjä sovelluksia ja nimeää ne liitteellä:
.pacsave
. Näiden tiedostojen muodostamisen välttämiseksi voidaan käyttää
-n
merkkiä:
# pacman -Rn
paketin_nimi
Huomautus
Pacman
ei poista konfiguraatioita, joita sovellus itse luo (esimerkiksi "pistetiedostot" koti polussa).
Pakettien päivitys
Varoitus
Käyttäjien oletetaan seuraavan ohjeistusta
System maintenance#Upgrading the system
osassa järjestelmän päivitykseen säännöllisesti eikä vain sokeasti suorittamaan seuraavaa komentoa.
Arch tukee vain täysiä järjestelmäpäivityksiä. Katso
System maintenance#Partial upgrades are unsupported
ja
#Pakettien asennus
lisätiedolle.
Pacman
voi päivittää kaikki paketit järjestelmässä yhdellä komennolla. Tämän suorittaminen voi kumminkin viedä aikaa, riippuen siitä onko järjestelmä kuinka ajan tasalla. Seuraava komento synkronoi pakketivarastojen tietokannat
ja
päivittää järjestelmän paketit, poislukien "paikalliset" paketit jotka eivät ole konfiguroiduissa pakettivarastoissa:
# pacman -Syu
Kysely pakettitietokannassa
Pacman
kyselee paikallista pakettitietokantaa
-Q
merkillä, synkronoi tietokanna
-S
merkillä ja tiedosto tietokannan
-F
merkillä. Katso
pacman -Q --help
,
pacman -S --help
ja
pacman -F --help
jokaisen komennon omille vaihtoehdoille.
Pacman
voi etsiä paketteja tietokannasta, etsien niin myös pakettien nimiä kuin kuvauksia:
$ pacman -Ss
merkkijono1
merkkijono2
...
Joskus,
-s
n sisään rakennettu ERE (Extended Regular Expressions) voi aiheuttaa ei-toivottuja tuloksia, joten se pitää rajata vastaamaan paketin nimeä; ei paketin kuvausta tai mitään muuta kenttää:
$ pacman -Ss '^vim-'
Jo asennetujen pakettien hakeminen:
$ pacman -Qs
merkkijono1
merkkijono2
...
Paketti tiedostojen nimien hakeminen etäpaketeista:
$ pacman -F
merkkijono1
merkkijono2
...
Laajamittaisen lisätiedon näyttäminen annetusta paketista:
$ pacman -Si
paketin_nimi
Paikallisten pakettien hakeminen:
$ pacman -Qi
paketin_nimi
Kaksi
-i
merkkiä näyttää listan varmuuskopioista ja näiden muokkaustilasta:
$ pacman -Qii
paketin_nimi
Hae lista paketin asentamista tiedostoista:
$ pacman -Ql
paketin_nimi
Hae lista etäpaketin asentamista tiedostoista:
$ pacman -Fl
paketin_nimi
Todenna paketin asentamien tiedostojen olemassa olo:
$ pacman -Qk
paketin_nimi
Kaksi
k
merkkiä tekee läpikotaisen todennuksen.
Kyselemällä tietokantaa, jotta saadaan selville mille paketille tiedosto kuuluu:
$ pacman -Qo
/polku/kyseiselle/tiedostolle
Kyselemällä tietokantaa, jotta saadaan selville mille etäpaketille tiedosto kuuluu:
$ pacman -F
/polku/kyseiselle/tiedostolle
Listaa kaikki paketit joita ei enää tarvita riippuvuuksina (orvot):
$ pacman -Qdt
Vinkki
Lisää ylläoleva komento pacman jälkitoimille
hookeihin
, jotta saat ilmoituksia mikäli jokin toimi on tehnyt riippuvuudesta orvon. Tämä voi olla myös hyödyllinen, kun paketti pudotetaan pakettivarastosta, sillä kaikki pudotetut paketit orpoutuvat paikallisessa asennuksessa (ellei tätä pakettia ole erikseen asennettu). Välttääksesi "failed to execute command" virheilmoitukset, kun orpoja ei löydy, käytä seuraavaa komentoa
Exec
:ille omassa hook:issa:
/usr/bin/bash -c "/usr/bin/pacman -Qtd || /usr/bin/echo '=> None found.'"
Listaa kaikki erityisesti erikseen asennetut paketit, joita ei tarvita riippuvuuksina:
$ pacman -Qet
Katso
Pacman/Tips and tricks
lisä esimerkeillä.
Pactree
Huomautus
pactree(8)
ei ole enää osana
pacman
pakettia. Sen sijaan se löytyy
pacman-contrib
paketista.
Nähdäksesi riippuvuuden puumallin halutusta paketista:
$ pactree
paketin_nimi
Nähdäksesi riippuu-puumallin halutusta paketista, anna
reverse
merkki
-r
pactree
komennolle, tai käytä
whoneeds
pkgtools
AUR
[
broken link
: package not found]
paketista.
Tietokannan rakenne
Pacman
tietokannat löytyvät normaalisti polusta
/var/lib/pacman/sync
. Jokaista määriteltyä pakettivarastoa kohden, tiedostossa
/etc/pacman.conf
, on olemassa vastaava tietokanta tiedosto samassa sijainnissa. Tietokanta tiedostot on gzipattu tar-arkistoiksi sisältäen polun jokaiselle paketille, kuten esimerkiksi
which
paketille:
$ tree which-2.21-5
which-2.21-5
|-- desc
desc
tiedosto sisältää metadataa kuten paketin kuvauksen, riippuvuudet, tiedoston koon ja MD5 tarkisteen.
Pakettien kätkömuistin putsaaminen
Pacman
säilyttää ladattuja paketteja polussa
/var/cache/pacman/pkg/
ja ei poista vanhoja tai poistettuja paketteja automaattisesti. Tässä käytännössä on joitain etuja:
Tälläin pystytään
palauttamaan
paketti ilman paketin hakemista erikseen ja asentamista muilla tavoilla, kuten esimerkiksi
Arch Linux Archiven
kautta.
Paketti, jonka asennus on poistettu, voidaan suoraan uudelleen asentaa kätkömuistikansiosta, ilman uutta latausta pakettitietokannasta.
On kumminkin tarpeellista putsata kjätkömuistia ajoittain näin välttämällä tämän loputtoman kasvun.
paccache(8)
skripti, joka tulee paketin
pacman-contrib
mukana, poistaa kaikki kätketyt versiot asennetuista ja poistetuista paketeista, paitsi 3 kaikkein tuoreinta, oletukselta:
# paccache -r
Aktivoi ja
käynnistä
paccache.timer
poistaaksesi käyttämättömiä paketteja viikoittain.
Vinkki
Voit luoda
hookin
suorittamaan tämä automaattisesti jokaisen pacman siirron yhteydessä, katso
esimerkkejä
ja
pacman-cleanup-hook
AUR
.
Voidaan myös määrittää kuinka monta versiota halutaan pitää. Vain yhden menneen version pitämistä varten voidaan suorittaa:
# paccache -rk1
Lisää
-u
/
--uninstalled
merkki rajaamaan
paccache
toimintaa poistetuille paketeille. Esimerkiksi jos halutaan poistaa kaikki poistetut versiot, käytä seuraavaa:
# paccache -ruk0
Tai voit yhdistää sen molemmille asennetuille poistetuille paketeille. Esimerkiksi pitääksesi viimeisimmät kaksi asennettua pakettia, mutta poistaaksesi kaikki poistetut paketit kätkömuistista, käytä seuraavaa:
# paccache -rk2 -ruk0
Katso
paccache -h
lisäasetuksille.
Pacman
sisältää myös sisään rakennetun asetuksen kätkömuistin ja tietokanta tiedostojen jäämien putsaamiseen pakettivarastoista, joita ei enää ole listattuna konfiguraatiossa
/etc/pacman.conf
.
Pacman
ei kumminkaan onnistu tarjoamaan mahdollisuutta pitää tiettyä määrää edellisiä versioita ja on siksi aggressiivisempi kuin
paccachen
oletusasetukset.
Poistaaksesi kaikki kätketyt paketit, jotka eivät ole asennettuna, ja käyttämättömät synkronointi tietokannat, suorita:
# pacman -Sc
Kaikkien tiedostojen poistamiseen kätkömuistista, käytä "clean" merkintää kahdesti, tämä on kaikkein agresiivisin lähestymistapa ja ei jätä mitään jälkeensä koko kansioon:
# pacman -Scc
Varoitus
Kaikkien vanhojen asennettujen pakettiversioiden ja poistettujen pakettien tyhjentämistä kätkömuistista tulisi välttää ellei levytilaa ole ihan välttämätöntä vapauttaa. Tämä estää versioiden palauttamisen tai pakettien uudelleen asennuksen ilman erillistä latailua.
pkgcacheclean
AUR
ja
pacleaner
AUR
ovat kaksi muuta vaihtoehtoista ohjelmaa putsaamiseen.
Muita komentoja
Lataa paketti ilman asennusta:
# pacman -Sw
paketin_nimi
Asenna 'paikallinen' paketti, joka ei tuke etänä pakettivarastosta (esim. paketti on
AUR
:sta):
# pacman -U
/polku/halutulle/paketille/paketin_nimi-versio.pkg.tar.zst
Pitääksesi kopion asennetusta paketista
pacmanin
kätkömuistissa, käytä:
# pacman -U file:///
polku/halutulle/paketille/paketin_nimi-versio.pkg.tar.zst
Asenna 'etä' paketti (ei pakettivarastosta, joka on määriteltynä
pacmanin
konfiguraatio tiedostossa):
# pacman -U
http://www.esimerkki.com/repo/esimerkki.pkg.tar.zst
Hillitäksesi
-S
,
-U
ja
-R
tapahtumien käyttöä, voidaan myös käyttää
-p
.
Pacman
listaa asennettavat tai poistettavat paketit
aina
ja kysyy käyttäjältä lupaa ennenkuin mitään muutoksia tehdään.
Asennuksen syy
Pacman
tietokanta jakaa asennetut paketit kahteen ryhmään syyn mukaan, miksi ne on asennettu:
selvästi asennetut
: paketit, jotka kirjaimellisesti annettiin yleisinä
pacman
-S
tai
-U
komentoina;
riippuvuudet
: paketit ,joita ei erikseen ole asennettu (yleisesti) antamalla erillistä argumenttia
pacman
asennus komennolle. Nämä on asennettu epäsuorasti toisen paketin
tarvitsemana
joka on selvästi asennettu.
Kun pakettia asennetaan, on mahdollista pakottaa sen asennus syy
riippuvuudeksi
komennolla:
# pacman -S --asdeps
paketin_nimi
Vinkki
Vaihtoehtoisien riippuvuuksien asentelu merkinnällä
--asdeps
tekee tästä sellaisen, että jos
poistetaan orpoja
,
pacman
myös poistaa jääneet vaihtoiset riippuvuudet.
Kun
uudelleen
asennetaan pakettia, kuitenkin, sen hetkinen asennus syy pidetään oletukselta.
Lista selvästi asennetuista paketeista voidaan näyttää komennolla
pacman -Qe
ja täydentävä lista riippuvuuksista voidaan näyttää komennolla
pacman -Qd
.
Vaihtaaksesi aiemmin asennetun paketin asennus syytä, suorita:
# pacman -D --asdeps
paketin_nimi
Käytä
--asexplicit
tehdäksesi vastakkaisen operaation.
Huomautus
--asdeps
ja
--asexplicit
asetusten käyttö päivitettäessä, kuten komennolla
pacman -Syu
paketin_nimi
--asdeps
, on hyvin epäsuosiollista. Tämä vaihtaisi asennus syyn toki myös paketille jota asennetaan, mutta myös paketeille joita ollaan päivittämässä.
Etsi pakettia joka sisältää tietyn tiedoston
Synkronoi tiedostotietokanta:
# pacman -Fy
Etsi pakettia, joka sisältää tiedoston kuten:
$ pacman -F pacman
core/pacman 5.2.1-1 (base base-devel) [installed]
    usr/bin/pacman
    usr/share/bash-completion/completions/pacman
extra/xscreensaver 5.43-1
    usr/lib/xscreensaver/pacman
Vinkki
Voit asettaa cron toiminnon tai systemd ajastimen synkronoimaan tiedostotietokannan säännöllisesti.
Edistyneempää toimintaa varten voidaan asentaa
pkgfile
, joka käyttää erillistä tietokantaa kaikilla tiedostoilla ja niihin liittyvillä paketeilla.
Konfiguraatio
Pacman
in asetukset löytyvät
/etc/pacman.conf
tiedostosta: tämä on se paikka minne käyttäjä konfiguroi ohjelman toimimaan halutulla tavalla. Syvällisemmin tietoa tästä löytyy
pacman.conf(5)
manuaalisivulta.
Yleiset asetukset
Yleiset asetukset löytyvät
[options]
osassa. Lue
pacman.conf(5)
tai katso oletus
pacman.conf
tiedostoon lisätiedolle mitä on mahdollista tehdä.
Versioiden vertaaminen ennen päivitystä
Vanhojen ja uusien versioiden näkeminen saatavilla olevista paketeista, poista kommentointi "VerbosePkgLists" riviltä tiedostossa
/etc/pacman.conf
. Ulostulo komennolla
pacman -Syu
on seuraavanlainen:
Package (6)             Old Version  New Version  Net Change  Download Size

extra/libmariadbclient  10.1.9-4     10.1.10-1      0.03 MiB       4.35 MiB
extra/libpng            1.6.19-1     1.6.20-1       0.00 MiB       0.23 MiB
extra/mariadb           10.1.9-4     10.1.10-1      0.26 MiB      13.80 MiB
Ohita paketin päivittäminen
Varoitus
Ole varovainen pakettien ohittamisessa, sillä
osittaiset päivitykset
eivät ole tuettuna.
Tietyn paketin ohittamista varten järjestelmän
päivityksessä
, määritä tämä seuraavasti:
IgnorePkg=linux
Useampia paketteja varten käytä välilyönnillä eroteltu lista, tai käytä useampia
IgnorePkg
rivejä. Myös
glob
mallia voidaan käyttää. Jos halutaan ohittaa paketteja vain kerran, voidaan myös käyttää
--ignore
merkintää komentorivillä - mutta tämän listan paketit pitää erotella pilkulla.
On silti mahdollista päivittää sivuutettu paketti käyttämällä
pacman -S
: tässä tapauksessa
pacman
muistuttaa siitä, että paketti on sisälletty
IgnorePkg
lauseessa.
Ohita pakettiryhmä päivityksessä
Varoitus
Ole varovainen pakettiryhmien ohittamisessa, sillä
osittaiset päivitykset
eivät ole tuettuna.
Kuten yksitäisten pakettienkin kanssa, on pakettien ryhmien ohittaminen myös mahdollista:
IgnoreGroup=gnome
Ohita tiedostojen päivittäminen
Kaikki tiedostot, jotka listataan
NoUpgrade
direktiivillä, jätetään kokonaan huomioimatta paketin asennuksesta/päivityksestä, ja uudet tiedostot asennetaan
.pacnew
laajennuksella.
NoUpgrade=
polku/kyseiseen/tiedostoon
Huomautus
Polku osoittaa tiedostoihin pakettiarkistossa. Tästä syystä ei tule polun alussa olla kauttaviivaa.
Ohita tiedostoja asennuksessa
Ohittaaksesi asennuksen aina joidenkin tiettyjen polkujen kohdalla, listaa ne
NoExtract
alle. Esimerkiksi,
systemd
yksiköiden asennuksen välttämiseksi kokeile seuraavaa:
NoExtract=usr/lib/systemd/system/*
Myöhemmät säännöt menevät aikaisempien päälle ja voit kieltää säännön lisäämällä alkuun
!
merkin.
Vinkki
Pacman
antaa varoitusviestit puuttuvista paikallistuksista, kun pakettia päivitellään jonka paikallistukset on tyhjennetty
localepurgen
tai
bleachbitin
avulla. Kommentoimalla
CheckSpace
asetuksen
pacman.conf
tiedostossa vaimentaa tälläiset varoitukset, mutta sitä, että väliä tutkiva toiminnallisuus otetaan käytöstä pois kaikille paketeille.
Ylläpidä useita konfiguraatio tiedostoja
Jos on olemassa useita konfiguraatio tiedostoja (esim. pääkonfiguraatio ja konfiguraatio, jossa
testing
pakettivarasto on aktivoituna) ja asetuksia halutaan jakaa konfiguraatioiden välillä, voidaan käyttää
Include
asetusta, joka aina määritetään itse konfigurointi tiedostoissa, esim.:
Include =
/polku/yleisiin/asetuksiin
missä
/polku/yleisiin/asetuksiin
tiedosto sisältää samat asetukset molemmille konfiguraatioille.
Hookit
Pacman
voi suorittaa esi- ja jälki toimia hookien avulla
/usr/share/libalpm/hooks/
polusta; useampia polkuja voidaan määrittää
HookDir
asetuksella
pacman.conf
tiedostossa, joka oletukselta on
/etc/pacman.d/hooks
. Hook tiedostojen nimet pitää olla nimettynä
.hook
päätteellä. Pacman hookit eivät ole interaktiivisia.
Pacman
hookeja käytetään, esimerkiksi, yhdessä
systemd-sysusers
ja
systemd-tmpfiles
kanssa automaattisesti luomaan järjestelmän käyttäjiä ja tiedostoja pakettien asennuksen aikana. Esimerkiksi,
tomcat8
AUR
määrittää, että tämä haluaa järjestelmän käyttäjän nimellä
tomcat8
ja joitain tämän käyttäjän omistamia polkuja, omistukseensa.
Pacman
hookit
systemd-sysusers.hook
ja
systemd-tmpfiles.hook
herättävät
systemd-sysusers
ja
systemd-tmpfiles
, kun
pacman
päättää, että
tomcat8
AUR
sisältää tiedostoja, jotka määrittävät käyttäjiä ja tmp tiedostoja.
Lisätiedolle alpm hookeille, katso
alpm-hooks(5)
.
Pakettivarastot ja peilit
Erityisen
[options]
osan lisäksi, jokainen
[section]
tiedostossa
pacman.conf
määrittää pakettiriippuvuuden käytettäväksi.
Pakettivarasto
on
looginen
kokoelma paketteja, jotka ovat
fyysisesti
varastoituna yhdellä tai useammalla palvelimella: tästä syystä jokainen palvelin on
peilinä
pakettivarastolle.
Pakettivarastot jaetaan
virallisiin
ja
epävirallisiin
pakettivarastoihin. Pakettivarastojen järjestyksellä konfiguraatio tiedostossa on merkitystä; pakettivarastot listattuna ensimmäisenä ovat arvojärjestyksen päällimäiset ja joita käytetään ennen myöhemmin listattuja pakettivarastoja, kun paketeilla on identtinen nimi näissä varastoissa. Versionumeroa ei huomioida tässä tapauksessa. Pakettivaraston käyttöä varten, sen jälkeen kun se on lisätty, pitää ensin
päivittää
koko järjestelmä.
Jokainen pakettivarasto osa sallii peililistan määrittämisen, joko suoraan tiedostoon tai erillisessä tähän tarkoitukseen tarkoitetussa tiedostossa
Include
toimintaohjeella: esimerkiksi, peilit virallisille pakettivarastoille ovat sisälletynä
/etc/pacman.d/mirrorlist
tiedostosta. Katso
Mirrors
artikkeli peilien konfiguroinille.
Paketin turvallisuus
Pacman
tukee pakettien allekirjoituksia, mikä luo lisäturvakerroksen paketeille. Oletus konfiguraatiossa,
SigLevel = Required DatabaseOptional
, aktivoidaan allekirjoitus varmenne kaikille paketeille globaalilla tasolla: tämä voidaan ohittaa pakettivarastoa kohden
SigLevel
riveillä. Lisätietoa pakettien allekirjoituksista ja näiden varmentamisesta löytyy artikkelista
pacman-key
.
Vianmääritys
"Failed to commit transaction (invalid or corrupted package)" virheilmoitus
Katso
.part
tiedostoja (osittain ladattu tiedosto) polusta
/var/cache/pacman/pkg/
ja poista ne (johtuu usein oman komennon
XferCommand
käytöstä tiedostossa
pacman.conf
).
# find /var/cache/pacman/pkg/ -iname "*.part" -delete
Paketteja ei voida hakea asennuksessa
Tämä virhe ilmenee ilmoituksena
Not found in sync db
,
Target not found
tai
Failed retrieving file
.
Ensin, varmistu siitä että paketti on oikeasti olemassa. Jos olet varma sen olemassa olosta, pakettilistasi saattaa olla päivittämättä. Yritä suorittaa komento
pacman -Syu
päivityksen pakottamiseksi kaikille pakettilistoille ja lopulta päivittääksesi järjestelmä. Varmistu myös siitä, että valitut
peilit
ovat ajan tasalla ja
pakettivarastot
ovat oikein konfiguroitu.
Voi olla mahdollista myös ettei pakettivarastoa, joka sisältää tämän paketin, ole aktivoituna järjestelmässäsi, esimerkiksi kyseinen paketti voisi olla
multilib
pakettivarastossa, mutta
multilib
ei ole aktivoituna
pacman.conf
tiedostossa.
Katso myös
Frequently asked questions (Suomi)#Miksi virallisissa varastoissa on vain yksi versio jokaista jaettua kirjastoa?
.
Signature from "Käyttäjä <email@esimerkki.org>" is unknown trust, installation failed
Mahdollisia ratkaisutapoja:
Päivitä avaimet, toisin sanoen suorita
pacman-key --refresh-keys
Manuaalisesti päivitä
archlinux-keyring
paketti ensin, toisin sanoen suorita
pacman -Sy archlinux-keyring && pacman -Su
Seuraa ohjeita
täältä
.
"Warning: current locale is invalid; using default "C" locale" virheilmoitus
Kuten virheilmoituksessa sanotaan, paikallistusasetukset eivät ole oikein konfiguroituna. Katso
Locale
.
Pacman ei kunnioita välityspalvelimen asetuksia
Varmistu siitä että tarpeelliset ympäristömuuttujat  (
$http_proxy
,
$ftp_proxy
jne.) ovat asetettuna. Jos käytät
pacmania
sudon
kanssa, täytyy konfiguroida sudo
antamaan nämä ympäristömuuttujat pacmaniin
. Varmista myös, että
dirmngr
konfiguraatiossa
honor-http-proxy
on
/etc/pacman.d/gnupg/dirmngr.conf
tiedostossa kunniottamassa välityspalvelinta kun avaimia päivitetään.
Kuinka asennan kaikki paketit uudelleen, pitämällä tiedon siitä mitkä paketit ovat erityisesti asennettuna tai riippuvuutena?
Asentaaksesi uudelleen kaikki alkuperäiset paketit:
pacman -Qnq | pacman -S -
tai
pacman -S $(pacman -Qnq)
(
-S
asetus säilyttää asennus syyt oletukselta).
Sen jälkeen pitää uudelleen asentaa kaikki ulkopuoliset paketit, jotka voidaan listata komennolla
pacman -Qmq
.
Katso myös
Pacman Kotisivu
libalpm(3)
pacman(8)
pacman.conf(5)
repo-add(8)