コンテンツにスキップ

Pacman Package Manager

Comprehensive Pacman commands and workflows for Arch Linux package management.

Installation & Updates

Basic Package Operations

Command Description
sudo pacman -Syu Update system (sync + upgrade)
sudo pacman -S package_name Install package
sudo pacman -R package_name Remove package
sudo pacman -Rs package_name Remove package and dependencies
sudo pacman -Rns package_name Remove package, deps, and config
sudo pacman -U package.pkg.tar.xz Install local package

Advanced Installation

Command Description
sudo pacman -S package1 package2 Install multiple packages
sudo pacman -S --needed package_name Install only if not installed
sudo pacman -S --asdeps package_name Install as dependency
sudo pacman -D --asdeps package_name Mark as dependency
sudo pacman -D --asexplicit package_name Mark as explicitly installed

Package Information

Search and Information

Command Description
pacman -Ss keyword Search for packages
pacman -Si package_name Show package information
pacman -Q List installed packages
pacman -Qs keyword Search installed packages
pacman -Qi package_name Show installed package info
pacman -Ql package_name List package files
pacman -Qo /path/to/file Find package owning file

Package Dependencies

Command Description
pacman -Qi package_name \|grep Depends Show dependencies
pacman -Qii package_name Show detailed package info
pactree package_name Show dependency tree
pactree -r package_name Show reverse dependencies

System Maintenance

Cleanup Operations

Command Description
sudo pacman -Sc Clean package cache
sudo pacman -Scc Clean all cache
sudo pacman -Rns $(pacman -Qtdq) Remove orphaned packages
sudo pacman -Qqd \|pacman -Rsu - Remove unused dependencies

Database Operations

Command Description
sudo pacman -Sy Sync package database
sudo pacman -Syy Force sync database
sudo pacman-db-upgrade Upgrade package database

AUR (Arch User Repository)

AUR Helpers

Command Description
yay -S package_name Install AUR package (yay)
yay -Syu Update system including AUR
yay -Ss keyword Search AUR packages
paru -S package_name Install AUR package (paru)

Manual AUR Installation

# Clone AUR package
git clone https://aur.archlinux.org/package_name.git
cd package_name

# Review PKGBUILD
cat PKGBUILD

# Build and install
makepkg -si

Configuration Files

Pacman Configuration

File Description
/etc/pacman.conf Main configuration
/etc/pacman.d/mirrorlist Mirror list
/var/log/pacman.log Package log
/var/lib/pacman/local/ Local package database

Example pacman.conf

[options]
HoldPkg     = pacman glibc
Architecture = auto
Color
CheckSpace
VerbosePkgLists
ParallelDownloads = 5

[core]
Include = /etc/pacman.d/mirrorlist

[extra]
Include = /etc/pacman.d/mirrorlist

[community]
Include = /etc/pacman.d/mirrorlist

[multilib]
Include = /etc/pacman.d/mirrorlist

Mirror Management

Reflector (Mirror Optimization)

Command Description
sudo reflector --latest 20 --protocol https --sort rate --save /etc/pacman.d/mirrorlist Update mirrorlist
sudo reflector --country 'United States' --latest 10 --sort rate --save /etc/pacman.d/mirrorlist Country-specific mirrors

Manual Mirror Selection

# Backup current mirrorlist
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

# Edit mirrorlist
sudo nano /etc/pacman.d/mirrorlist

# Test mirrors
sudo pacman -Syy

Package Groups

Group Operations

Command Description
pacman -Sg List all groups
pacman -Sg group_name List packages in group
sudo pacman -S group_name Install package group
sudo pacman -S --needed group_name Install missing group packages

Common Groups

Group Description
base Base system packages
base-devel Development tools
gnome GNOME desktop environment
kde-applications KDE applications
xorg X Window System

Advanced Usage

Package Verification

Command Description
sudo pacman -Qk Check all packages
sudo pacman -Qkk Thorough check
sudo pacman -Qk package_name Check specific package

Downgrading Packages

Command Description
sudo pacman -U /var/cache/pacman/pkg/package-version.pkg.tar.xz Downgrade from cache
downgrade package_name Downgrade using downgrade tool

Hooks and Scripts

# /etc/pacman.d/hooks/example.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = *

[Action]
Description = Running custom script...
When = PostTransaction
Exec = /usr/local/bin/custom-script.sh

Troubleshooting

Common Issues

Problem Solution
Conflicting files sudo pacman -S --overwrite glob package
Corrupted package sudo pacman -S --force package
Key issues sudo pacman-key --refresh-keys
Database lock sudo rm /var/lib/pacman/db.lck

Package Conflicts

Command Description
sudo pacman -Rdd package_name Remove without checking deps
sudo pacman -S --force package_name Force installation
sudo pacman -Syu --ignore package_name Ignore package during upgrade

Key Management

Command Description
sudo pacman-key --init Initialize keyring
sudo pacman-key --populate archlinux Populate Arch keys
sudo pacman-key --refresh-keys Refresh all keys
sudo pacman-key --recv-keys KEYID Receive specific key

Performance Optimization

Parallel Downloads

# /etc/pacman.conf
[options]
ParallelDownloads = 5

Fastest Mirrors

# Install reflector
sudo pacman -S reflector

# Auto-update mirrors weekly
sudo systemctl enable reflector.timer

SSD Optimization

# /etc/pacman.conf
[options]
NoExtract = usr/share/doc/*
NoExtract = usr/share/man/*
NoExtract = usr/share/info/*

Backup and Recovery

Package List Backup

# Create package list
pacman -Qqe > pkglist.txt

# Restore packages
sudo pacman -S --needed - < pkglist.txt

System Snapshot

# Create system backup
sudo rsync -aAXv / --exclude=\\\\{"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"\\\\} /backup/

# Package cache backup
sudo cp -r /var/cache/pacman/pkg/ /backup/pacman-cache/

Best Practices

Security

  1. Regular Updates: Keep system updated with sudo pacman -Syu
  2. Key Verification: Maintain updated package signing keys
  3. AUR Caution: Review PKGBUILDs before building AUR packages
  4. Minimal Installation: Install only necessary packages
  5. Backup: Regular system and package list backups

Performance

  1. Mirror Optimization: Use fastest mirrors with reflector
  2. Parallel Downloads: Enable parallel downloads
  3. Cache Management: Regular cache cleanup
  4. SSD Optimization: Exclude unnecessary files
  5. Database Optimization: Keep package database clean

Maintenance

  1. Orphan Cleanup: Regular removal of orphaned packages
  2. Log Monitoring: Check pacman logs for issues
  3. Dependency Health: Monitor package dependencies
  4. Mirror Health: Verify mirror accessibility
  5. System Consistency: Regular package verification