Title: 🟒 Pacman β€” Arch Linux Group: Package Managers Icon: 🟒 Order: 3 ## Table of Contents - [Configuration](#-configuration--конфигурация) - [Core Management](#-core-management--основноС-ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅) - [Sysadmin Operations](#-sysadmin-operations--ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ-систСмного-администратора) - [Troubleshooting](#-troubleshooting--устранСниС-Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ) - [Security & Verification](#-security--verification--Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ-ΠΈ-ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°) --- # 🟒 Pacman Cheatsheet (Arch Linux) Pacman is the package manager for Arch Linux and its derivatives (Manjaro, EndeavourOS). It uses simple compressed tar archives for packages and maintains a text-based package database. / Pacman β€” это ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Arch Linux ΠΈ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ…. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ простыС сТатыС tar-Π°Ρ€Ρ…ΠΈΠ²Ρ‹ ΠΈ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². --- ## βš™οΈ Configuration / ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ### Main Configuration Files / ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ `/etc/pacman.conf` `/etc/pacman.d/mirrorlist` ### Mirrorlist Management / Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π΅Ρ€ΠΊΠ°Π»Π°ΠΌΠΈ Generate mirrorlist using `reflector`. / ГСнСрация списка Π·Π΅Ρ€ΠΊΠ°Π» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `reflector`. ```bash sudo reflector --verbose --latest 5 --sort rate --save /etc/pacman.d/mirrorlist ``` ### Parallel Downloads / ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ To speed up downloads, enable parallel downloads in `/etc/pacman.conf`. / Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² `/etc/pacman.conf`. ```ini PowerPill = /usr/bin/powerpill ParallelDownloads = 5 ``` --- ## πŸ›  Core Management / ОсновноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ### Sync & Upgrade / Бинхронизация ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ > [!WARNING] > Never run `pacman -Sy` (sync only) without upgrading (`-u`). Partial upgrades are unsupported and can break your system. / Никогда Π½Π΅ запускайтС `pacman -Sy` Π±Π΅Π· обновлСния (`-u`). ЧастичныС обновлСния Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ систСму. ```bash sudo pacman -Syu # Synchronize repos and update system / Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ систСму sudo pacman -Syyu # Force refresh repos and update / ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ систСму sudo pacman -Sy # Sync repositories (DO NOT USE before install) / Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ sudo pacman -Su # Upgrade packages (without sync) / ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (Π±Π΅Π· синхронизации) ``` ### Install & Remove / Установка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ```bash sudo pacman -S # Install package / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ sudo pacman -S # Install multiple / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ нСсколько sudo pacman -S # Install package group / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² sudo pacman -U # Install local package / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ sudo pacman -R # Remove package / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ sudo pacman -Rs # Remove with unused dependencies (Best practice) / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ с Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ зависимостями sudo pacman -Rns # Remove with deps and configs (Cleanest) / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ с зависимостями ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°ΠΌΠΈ ``` ### Search & Query / Поиск ΠΈ запросы ```bash pacman -Ss # Search in repositories / Поиск Π² рСпозиториях pacman -Si # Info about package in repo / Π˜Π½Ρ„ΠΎ ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ pacman -Qs # Search installed packages / Поиск установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² pacman -Qi # Info about installed package / Π˜Π½Ρ„ΠΎ ΠΎΠ± установлСнном ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ pacman -Qo # Find package owning file / Найти ΠΏΠ°ΠΊΠ΅Ρ‚, Π²Π»Π°Π΄Π΅ΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠΌ pacman -Qdt # List orphans (deps no longer needed) / Бписок сирот pacman -Qe # List explicitly installed packages / Бписок явно установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² pacman -Qkk # Verify package files / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ``` --- ## πŸ”§ Sysadmin Operations / ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ систСмного администратора ### Clean & Maintenance / ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° ΠΈ обслуТиваниС Manage disk space used by pacman cache. / Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дисковым пространством, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ кэшСм pacman. ```bash sudo pacman -Sc # Remove old packages from cache / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ старыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· кэша sudo pacman -Scc # Remove all packages from cache (Aggressive) / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· кэша sudo paccache -r # Keep only last 3 versions (requires pacman-contrib) / ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 3 послСдниС вСрсии sudo pacman -Rns $(pacman -Qdtq) # Remove all orphans / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всСх сирот ``` ### AUR Helpers (Yay/Paru) / ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΈ AUR AUR (Arch User Repository) contains community packages. / AUR содСрТит ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ сообщСства. ```bash yay -Syu # Update system including AUR / ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ систСму, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ AUR yay -S # Install from AUR / Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· AUR yay -Rns # Remove package / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ yay -Yc # Clean unused AUR dependencies / ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ зависимости AUR ``` ### Logs / Π›ΠΎΠ³ΠΈ - **Pacman Log:** `/var/log/pacman.log` - History of pacman actions. ```bash grep "upgraded" /var/log/pacman.log | tail # Show recently upgraded packages / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ grep "installed" /var/log/pacman.log | tail # Show recently installed packages / ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅Π΄Π°Π²Π½ΠΎ установлСнныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ``` --- ## 🚨 Troubleshooting / УстранСниС Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ ### Lock File / Π€Π°ΠΉΠ» Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ If pacman is interrupted: ```bash sudo rm /var/lib/pacman/db.lck # Remove lock file / Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ``` ### Keyring Issues / ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ If you get "signature from ... is unknown trust": ```bash sudo pacman -Sy archlinux-keyring # Update keyring first / Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ связку ΠΊΠ»ΡŽΡ‡Π΅ΠΉ sudo pacman-key --init # Initialize keyring / Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ связку ΠΊΠ»ΡŽΡ‡Π΅ΠΉ sudo pacman-key --populate archlinux # Populate keys / Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ sudo pacman-key --refresh-keys # Refresh keys / ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ``` ### File Conflicts / ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ Ρ„Π°ΠΉΠ»ΠΎΠ² If "exists in filesystem": ```bash sudo pacman -S --overwrite='*' # Force overwrite files / ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ``` --- ## πŸ”’ Security & Verification / Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Check for modified configuration files (`.pacnew`). / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². ```bash sudo pacdiff # Manage pacnew files / Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ pacnew ```