Pacman-kommandovejledning: komplet guide til Arch og Manjaro

Sidste ændring: 26/02/2026
Forfatter: Isaac
  • Pacman er den centrale pakkehåndtering i Arch og derivater, med kompakt syntaks og stor fleksibilitet fra terminalen.
  • Kommandoerne til opdatering, installation, søgning og rensning giver dig mulighed for at holde systemet stabilt og let i det daglige.
  • Avancerede funktioner som snapshots, afhængighedsforespørgsler og logføring letter miljøfejlfinding og kloning.
  • Integration med AUR gennem hjælpere som yay udvider i høj grad kataloget af software, der administreres af Pacman.

Pacman-kommandoer - vejledning

Hvis du bruger Arch Linux eller en afledning som Manjaro, ender du før eller siden med at bruge pacman som den primære pakkehåndteringDen er hurtig, kraftfuld og utrolig fleksibel, men dens muligheder kan være overvældende i starten, hvis du kommer fra andre distributioner som Debian eller Fedora.

I denne guide finder du en slags udvidet snydeark: en Meget komplet Pacman-kommandovejledningDen indeholder både grundlæggende kommandoer til hverdagsbrug og tonsvis af genveje, tricks og avancerede kombinationer. Ideen er, at du kan komme direkte til sagen, forstå, hvad hver kommando gør, og have alt lige ved hånden på ét sted, uden at skulle hoppe fra wiki til wiki.

Hvad er Pacman, og hvordan passer det ind i pakkehåndteringens verden?

I Arch Linux er pacman standard binær pakkehåndteringAlt styres fra terminalen og er primært udviklet af Arch-teamet. Det kombinerer et meget simpelt pakkeformat (en tarball komprimeret med xz) med en lige så simpel måde at bygge pakker fra PKGBUILD ved hjælp af makepkg.

En Arch-pakke er intet andet end en .pkg.tar.xz-filen som inkluderer de binære filer, der skal installeres, og metadata. Blandt disse metadata skiller filen sig ud. .PKGINFOhvor pacman finder de nødvendige oplysninger om afhængigheder, beskrivelse, version osv. for at kunne administrere installationen, opdateringen eller fjernelsen korrekt.

Pacmans model er klient/server: den synkroniserer en lokal database med arkiverne, og derfra... downloader og installerer pakker ved at løse afhængigheder næsten altid automatisk. Dens filosofi passer rigtig godt til Archs design med rullende udgivelse, hvor en simpel kommando holder systemet opdateret.

Selvom pacman er et kommandolinjeværktøj, kan du altid bruge det, hvis du foretrækker noget med klik. Pamac u Octopi i miljøer som Manjaro. Alligevel er den fleksibilitet og præcision, du får på konsollen, uovertruffen af ​​nogen grafisk brugerflade, og derfor er det værd at investere lidt tid i at mestre det.

Pacman versus andre menuadministratorer: apt og yum i et overblik

For at forstå Pac-Man ordentligt er det nyttigt at sammenligne det med andre. populære pakkeadministratorer i GNU/LinuxDe automatiserer alle softwareinstallation, opdatering, konfiguration og fjernelse, men hver har sin egen syntaks og tilhørende værktøjer.

I Debian-universet og dets derivater (Ubuntu, Linux Mint osv.) dominerer det APT (Avanceret pakkeværktøj)Her arbejder vi primært med .deb-pakker og bruger værktøjer som f.eks. apt-get y apt-cacheMed dem kan du udføre typiske opgaver såsom:

  • apt-get install pakkenavn: installer eller opdater en specifik pakke.
  • apt-get updateOpdater listen over pakker, der er tilgængelige i de konfigurerede lagre.
  • apt-get opgraderingOpdater alle installerede pakker til deres nyeste versioner.
  • apt-get fjern pakkenavnafinstaller en .deb-pakke fra systemet.
  • apt-get ren: ryd cachen for downloadede pakker.
  • apt-cache søgning pakkenavn: søg efter pakker, der matcher et mønster.

Red Hat- og Fedora-grenene kommer i spil YUM (Yellowdog Updater, ændret)en pakkeorienteret leder RPMIgen er dette et kommandolinjeværktøj, der ofte er integreret bag grafiske grænseflader:

  • yum installation pakkenavnDownload og installer en rpm-pakke, og løs afhængigheder.
  • yum lokalinstallation pakkenavn.rpm: installer en lokal RPM ved at forsøge at fuldføre afhængigheder fra arkiverne.
  • yum updateOpdater en eller alle systemets RPM-pakker.
  • yum fjern pakkenavnfjern en installeret rpm-pakke.
  • yum liste: vis alle installerede pakker.
  • yum søgning pakkenavnsøg efter pakker i de konfigurerede arkiver.
  • yum clean pakker / headere / alle: ryd forskellige dele af cachen for at spare plads.

Sammenlignet med disse tilbyder pacman et meget kompakt kommandosæt: med blot et par muligheder kan du dække stort set alt. hele softwarens livscyklus, fra søgning til fuldstændig sletning med dybe afhængigheder.

Systemopdatering med Pacman

Det er en kritisk opgave at holde Arch opdateret, især på et system med rullende udgivelse. Pacman tilbyder en række kommandoer til dette formål. synkroniser lagre og opgrader pakker efter behov.

De vigtigste kommandoer til opdatering er:

  • pacman-Sy: synkroniserer repository-databasen uden at opdatere noget.
  • pacman-Syy: tvinger synkronisering frem, selv for pakker, der ser ud til at være opdaterede.
  • pacman -Syu: synkroniserer arkiver og opdaterer alle systempakker; det er standardmåden at opdatere Arch.
  • pacman-SyyuSamme som den forrige, men kræver en grundig opdatering af databaserne.
  • Pacman - Dinopdaterer pakker ved hjælp af den allerede synkroniserede database uden at downloade lagre igen.

I mange afledte distributioner er det også almindeligt at starte sudo pacman -Syu med en specifik pakke til at installere den samtidig med at hele systemet opdateres, for eksempel: sudo pacman - Syu JoplinDette sikrer, at intet bliver forældet mens du integrerer ny software.

  Hvordan du kan få bedre slettede apps på Android mobiltelefon eller pille

Nogle gange kan pakkesignaturer ændres, og GPG-verifikationer kan forhindre opdateringer. I disse tilfælde fungerer det ofte godt at opdatere Arch-nøgleringen med følgende kommando:

sudo pacman -Sy archlinux-keyring && pacman -Su

Hvis du af en eller anden grund har brug for at tillade en nedgradering af global version Under en opdatering findes følgende kombination:

sudo pacman -Syuu

Denne kommando synkroniserer arkiver og giver dig mulighed for at erstatte pakker med ældre versioner. Det er nyttigt, hvis du f.eks. skifter til en ældre gren, eller hvis du vil bruge et snapshot fra Arch Linux-arkivet.

Søgning, information og pakkeliste

Før du installerer noget, er det en god idé at vide præcis, hvad arkivet tilbyder. Pacman har meget enkle muligheder for søg efter pakker, filtrer dem efter navn, og få detaljerede oplysninger. både det, der er i repositorierne, og det, der allerede er installeret.

For at søge i eksterne arkiver skal du bruge:

  • pacman -Ss søgeordviser pakker fra arkiver, der matcher den angivne tekst (f.eks. Pacman - S.S. Joplin).

Hvis du vil søge blandt det, du allerede har installeret på dit system:

  • pacman -Qs søgeordfiltrerer installerede pakker efter navn eller beskrivelse (f.eks. Pacman - Qs Joplin).

Når du har brug for at se specifikke detaljer om en pakke, er der to meget ensartede muligheder, men med vigtige nuancer:

  • pacman -Hvis pakkenavnviser information om en pakke i arkiverne (tilgængelig version, afhængigheder, arkiv den tilhører osv.).
  • pacman -Qi pakkenavnviser oplysningerne for den pakke, der allerede er installeret på systemet.

Du kan også dykke lidt dybere ved at bruge:

  • pacman -Ja pakkenavnudvidet information om pakker i repos, eller om alle pakker, hvis du ikke angiver et navn.
  • pacman -Qii pakkenavnavancerede detaljer om den installerede pakke, inklusive ændrede filer og backupdata.

Med hensyn til lister giver pacman dig mulighed for at se forskellige undergrupper af installeret software:

  • Pacman-Qsviser de installerede pakker med deres beskrivelse (du kan filtrere efter navn).
  • Pacman-Qeviser eksplicit installerede pakker (ikke kun som afhængigheder).
  • Pacman -Qm: liste installerede pakker, der ikke er en del af de officielle arkiver, for eksempel dem, der er hentet fra AUR.
  • Pacman - Qqteviser pakker, der ikke er afhængige af nogen, nyttige til oprydning eller gennemgang.

Hvis du vil se, hvilke filer der tilhører en allerede installeret pakke, kan du:

  • pacman -Ql pakkenavn: liste filer tilknyttet den pakke.
  • pacman -Qo /sti/til/fil: finder ud af, hvilken pakke der installerede en bestemt fil (for eksempel, pacman -Qo /usr/bin/joplin).

Installation af pakker med pacman

Den hyppigste opgave med Pac-Man er, logisk nok, installer software eller pakkegrupperDen grundlæggende syntaks er meget kompakt og understøtter både officielle repository-pakker og lokale filer eller direkte URL'er.

Sådan installerer du en pakke fra de officielle arkiver:

  • sudo pacman -S pakkenavninstallerer eller opdaterer en specifik pakke og dens afhængigheder.
  • sudo pacman -S ekstra/pakkenavn: samme som ovenfor, men angiver eksplicit arkivet, for eksempel ekstra.

Hvis pakken er en del af en gruppe, kan du hente fra:

  • pacman -S pakkegruppeinstallerer en komplet gruppe (typisk eksempel: Pacman -S gnome).
  • pacman -Sg pakkegruppe: viser hvilke pakker en gruppe indeholder, før det besluttes, hvad der skal installeres.

Det er også muligt at installere fra testlagre, forudsat at de er aktiveret i /etc/pacman.conf:

  • pacman -S test/pakkeInstaller pakken fra testarkivet i stedet for det stabile arkiv.

Når du har en lokal pakke eller en URL med en .pkg.tar.xz-fil, kan du bruge:

  • sudo pacman -U /sti/til/fil.pkg.tar.xzinstallerer en lokal pakke.
  • sudo pacman -U https://url/del/paquete.pkg.tar.xzinstalleres direkte fra en fjernadresse.

Hvis du blot vil downloade pakken for at cache den uden at installere den endnu:

  • sudo pacman -Sw pakkenavn: sænker pakken ned og lader den blive i /var/cache/pacman/pkg uden at installere.

En mere avanceret variant er geninstaller alle systempakker undtagen dem, der ikke kommer fra arkiver (for eksempel installeret fra AUR):

pacman -S $(pacman -Qq | grep -v "$(pacman -Qmq)")

Dette fremtvinger en ren geninstallation af de officielle pakker, hvilket er nyttigt i tilfælde af filkorruption eller større konfigurationsændringer.

Fjernelse af pakker og afhængighedsstyring

Fjernelse af software i Arch kræver også omhu, fordi Pacman tilbyder forskellige fjernelsestilstande, der påvirker forskellige ting. afhængigheder, konfigurationer og relaterede pakkerDet er vigtigt at vide præcis, hvad hver mulighed gør, før du udfører den.

De grundlæggende sletningskommandoer er:

  • sudo pacman -R pakkenavnfjerner pakken, men lader dens afhængigheder være aktive.
  • sudo pacman -Rs pakkenavnfjerner pakken og afhængigheder, der ikke længere bruges af andre installerede pakker.
  • sudo pacman -Rsu pakkenavnI lighed med den foregående, sørg for at fjerne ubrugte afhængigheder og tilhørende anbefalede pakker.

Hvis du vil gå et skridt videre og også slette alt, der afhænger af den (meget aggressive) pakke:

  • sudo pacman -Rc pakkenavnfjerner pakken og dem, der er direkte afhængige af den.
  • sudo pacman -Rcs pakkenavn`remove`: fjerner pakken, dens afhængigheder og alle pakker, der afhænger af disse afhængigheder, rekursivt. Det er en operation med høj risiko for at halvdelen af ​​dit system går ned hvis du ikke kigger grundigt på den forrige liste.
  Sådan registrerer og reviderer du ændringer i Excel-filer professionelt

Hvad angår konfigurationsfiler og .pacsave-filer, er der også specifikke muligheder:

  • sudo pacman -Rn pakkenavnfjerner pakken og forhindrer oprettelsen af ​​.pacsave-backupfiler.
  • sudo pacman -Rcns pakkenavn: sletter pakke-, afhængigheds- og konfigurationsfiler fuldstændigt.

I situationer hvor pacman nægter at afinstallere, fordi én pakke afhænger af en anden, kan du fremtvinge handlingen med:

  • sudo pacman -Rdd pakkenavnSlet pakken, selv hvis andre beder om det, uden at røre ved dem. Ekstremt forsigtig; anbefales kun, hvis du kender de fulde konsekvenser.

Der er en anden farlig, men nyttig variant, når meddelelsen vises, at en fil findes allerede i systemet under en installation eller opdatering:

pacman --overwrite "*" -S paquete

eller for en komplet opdatering:

pacman --overwrite "*" -Syu

Disse ordrer tvinger overskrivning af modstridende filerDette er noget, du kun bør gøre, efter at du har kontrolleret, hvor konflikten kommer fra, og hvis det er muligt, har lavet en sikkerhedskopi.

Håndtering af forældreløse pakker og cacheoprydning

Med tiden er det normalt, at de ophobes i systemet pakker, der blev installeret som afhængigheder og som ikke længere er nødvendige. Pac-Mans popularitet vokser også i /var/cache/pacman/pkg med ældre versioner af pakker, som du ikke længere bruger.

For at finde forældreløse pakker skal du:

  • Pacman -Qdt: liste installerede pakker, der ikke længere er afhængige af noget.
  • Pacman - Qtdqsamme, men i lydløs format (kun navne), ideel til brug i scripts.

En meget almindelig måde at rengøre disse pakker på er:

sudo pacman -Rs $(pacman -Qdtq)

Denne kombination eliminerer alt forældreløse pakker sammen med deres unødvendige afhængighederfrigør en masse plads på nogle systemer.

Hvad angår pacman-cachen, er der flere vedligeholdelsesmuligheder:

  • sudo pacman -Scsletter pakker fra cachen, der ikke længere er installeret.
  • sudo pacman -SccFjerner fuldstændigt alt cacheindhold, inklusive aktuelt installerede pakker. Anbefales kun i situationer med kritisk diskplads.
  • pacchache -rvk3: gemmer de tre seneste versioner af hver pakke og sletter resten, hvilket viser detaljerne om, hvad den gør.

Der er også Pacman-optimering, et værktøj designet til Defragmenter og optimer Pacman-databasenDens brug er mindre hyppig nu om dage, men den kan være nyttig i lange eller meget gamle installationer, hvor ydeevnen er faldet.

Pacman-indstillinger, spejle og farver

Kernen i pacman-konfigurationen findes i filen /etc/pacman.confDet er en fil, der ejes af root, så du skal redigere den med sudo (for eksempel, sudo nano /etc/pacman.conf eller lignende) når du vil ændre noget.

Nogle enkle og meget praktiske tilpasninger er:

  • Aktivér farver i terminaloutputtet ved at tilføje eller fjerne kommentering Farve.
  • Aktivér animationen "Pacman spisepiller" ved at tilføje iLoveCandy.

I konfigurationsfilen kan du også definere pakker, som du ønsker systematisk ignorer i opdateringerDette er nyttigt, hvis en specifik pakke forårsager problemer, eller du foretrækker at beholde en bestemt version. Følgende direktiv bruges til dette:

IgnorePkg = linux-firmware linux-headers linux

som kan tilpasses dine behov. På denne måde undgår du at gentage muligheden –ignorer pakke1, pakke2 hver gang du løber pacman -Syu.

På den anden side er de repositorier, som pacman bruger, defineret i /etc/pacman.d/mirrorlistDet er for eksempel muligt at få listen over spejle for et bestemt land (såsom Spanien) ved hjælp af værktøjer som f.eks. akavet, eller regenerer spejllisten fuldstændigt ved at downloade den officielle liste:

curl -o /etc/pacman.d/mirrorlist https://www.archlinux.org/mirrorlist/all/

Derefter skal du redigere filen til Fjern kommentaren fra de servere, du vil bruge og så køre noget i retning af Pacman -Syu Pacman-spejlliste for at sikre, at alt er opdateret.

Derudover er der en URL med status for alle Arch-spejle, hvor du kan se, om et er nede eller langsomt: https://www.archlinux.org/mirrors/status/At tjekke det fra tid til anden hjælper med at undgå synkroniseringsproblemer.

Forespørgsler om filer, afhængigheder og fildatabaser

Pacman installerer og sletter ikke bare; det er også et meget kraftfuldt værktøj til forespørge systemet om hvilken pakke der leverer hvilken fil, hvad der afhænger af hvad, og hvordan pakkerne relaterer sig til hinanden..

For forespørgsler relateret til filer, der tilhører repository-pakker, er der fildatabasen:

  • Pacman - Fy: opdaterer fildatabasen.
  • pacman -F-filsøger efter, hvilken pakke en given fil tilhører i arkiverne.
  • Pacman -FX-mønstertillader brugen af ​​regulære udtryk; for eksempel pacman -Fx fstrim.s* for at finde forskellige filer relateret til fstrim.

I mange tilfælde bruges der udover Pac-Man også eksterne værktøjer, f.eks. pkgfile y pactree:

  • pkgfile -l pakke: viser de filer, der er indeholdt i en pakke i arkiverne (ikke nødvendigvis installeret).
  • pkgfile vimsøger efter pakker, der indeholder den streng, der er angivet i deres navn eller filsti.
  • Pactree nmapviser afhængighederne for en pakke i en træstruktur.
  • pactree -r-pakkenviser hvilke pakker, der afhænger af den angivne pakke.
  WinDirStat-vejledning: Analyser og frigør plads i Windows

Med pacman kan du også liste filer installeret af en pakke på dit system:

  • pacman -Ql pakkenavn: komplet liste over filer.
  • pacman -Qlq pakkenavn | grep -v '/$' | xargs du -h | sortere -hviser filstørrelser (ikke mapper), sorteret fra mindste til største, meget nyttigt for finde ud af, hvad der optager mest diskplads.

Hvis du har brug for at finde ud af, hvilken fil der tilhører hvilken allerede installeret pakke:

  • pacman -Qo /sti/til/filreturnerer pakkeejeren for den rute.

Endelig, for at udforske afhængigheder af en specifik pakkeliste, kan pacman kombineres med awk, sorter og xargsfor eksempel:

pacman -Si paquete1 paquete2 | awk -F '[:<=>]' '/^Depends/ {print $2}' | xargs -n1 | sort -u

Denne linje udtrækker alle de afhængigheder, der er deklareret af forskellige pakker, og opdeler dem i en enkelt, alfabetisk ordnet liste.

Snapshots, nedgraderinger og versionskontrol med Arch Linux Archive

En vigtig forskel mellem Arch og andre distributioner er, at det er rullende frigivelseDer er ingen faste versionspunkter. Alligevel opretholder fællesskabet Arch Linux Arkiv, et snapshot-system, der giver dig mulighed for at rette lagrenes tilstand på en bestemt dato.

Dette er nyttigt til at replikere testmiljøer, udføre diagnosticering eller gendanne et system, der begyndte at fejle efter en problematisk opdatering. Den officielle Arch Linux Archive-wiki beskriver mekanismen i detaljer, men den grundlæggende opbygning er:

  • Rediger /etc/pacman.d/mirrorlist så serveren peger på en bestemt dato, for eksempel:
    Server=https://archive.archlinux.org/repos/2024/04/11/$repo/os/$arch
  • Ejecutar Pacman - Syyuu at tvinge alle pakker til at overholde versionerne fra den dato.

Denne teknik bør bruges med stor forsigtighed, fordi konfiguration af et gammelt snapshot kan forstyrre kompatibiliteten med... konfigurationsfiler genereret af nye versioner af nogle applikationer (typisk eksempel: browsere som Firefox). Jo længere tilbage i tiden du går, og jo mere software du har installeret, desto større er chancen for, at noget går galt.

I filen /var/log/pacman.log Du har en komplet historik over de udførte opdateringer, så du nemt kan tjekke den sidste dato, du husker, at systemet fungerede korrekt, og bruge den som reference til et øjebliksbillede.

Log over handlinger og kommandoer brugt med pacman

Alt, hvad Pac-Man gør, er optaget i /var/log/pacman.logDenne log er en guldgrube, når du har brug for det Gennemgå hvad der blev installeret, hvad der blev fjernet og hvornår., eller når du vil genopbygge systemtilstanden på en anden computer.

For eksempel, for at liste de kommandoer, der rent faktisk installerede noget (transaktioner initieret med pacman -S), kan du bruge:

grep -B 1 "transaction started" /var/log/pacman.log | grep "pacman -S"

Hvis du vil filtrere efter en bestemt dato:

grep -i 2018-03-25 /var/log/pacman.log

Det er også meget praktisk at eksportere listen over pakker, der er eksplicit installeret på computer A, og replikere den på computer B:

pacman -Qqe > pkglist.txt
pacman -S - < pkglist.txt

På denne måde kan du klon pakkesættet mellem maskiner, hvilket opretholder konsistens mellem arbejdsmiljøer eller servere.

Pacmans forhold til AUR: Yay og andre hjælpere

Selvom pacman håndterer de officielle repositorier, er det meget almindeligt at bruge i Arch-økosystemet... AUR (Arkivbrugerlager) for pakker vedligeholdt af fællesskabet. Pacman har ikke direkte adgang til AUR'en, men der findes hjælpere som f.eks. yay som giver dig mulighed for at administrere disse pakker ved hjælp af stort set de samme kommandoer.

Med yay kan du for eksempel løbe yay -S pakkenavn og få programmet til at søge i officielle arkiver og AUR'en, kompilere det om nødvendigt og installere det. En nyttig detalje er, at mange af de pacman-kommandoer, du har set (søgning, installation, global opdatering), kan bruges. på næsten identisk måde med yay, hvilket forenkler arbejdsgangen betydeligt.

Hvis du vil identificere, hvilke pakker på dit system der kommer fra AUR eller eksterne kilder, skal du bruge kommandoen:

pacman -Qqm

Den viser dig pakker, der ikke er en del af de officielle repositories. Det er en hurtig måde at måle, hvor meget du er afhængig af AUR eller håndbyggede pakker. makepkg fra en downloadet PKGBUILD, for eksempel med wget fra https://aur.archlinux.org.

I det sidste tilfælde ville den typiske strømning være noget i retning af:

wget https://aur.archlinux.org/.../PKGBUILD
makepkg
sudo pacman -U path-to-generated.tar.xz

Denne tilgang opretholder al pakkehåndtering under Pacman-paraplyenselvom kildekoden er AUR og ikke et officielt arkiv.

At mestre hele dette batteri af kommandoer og tricks gør pacman til et næsten uovertruffent værktøj til at administrere Arch og dets derivater: fra at holde systemet opdateret og let, til at undersøge afhængigheder, genopbygge installationer eller lege med snapshots fra fortiden, går alt gennem en række kommandoer, der med lidt øvelse bliver en del af den daglige rutine, uden at du overhovedet behøver at kigge på dem i en snydeliste.