Підручник з команд Pacman: повний посібник для Arch та Manjaro

Останнє оновлення: 26/02/2026
Автор: Ісаак
  • Pacman — це центральний менеджер пакетів в Arch та похідних, з компактним синтаксисом та великою гнучкістю терміналу.
  • Команди оновлення, встановлення, пошуку та очищення дозволяють щодня підтримувати стабільність та спрощення роботи системи.
  • Розширені функції, такі як знімки, запити залежностей та ведення журналу, полегшують налагодження та клонування середовища.
  • Інтеграція з AUR через помічники, такі як yay, значно розширює каталог програмного забезпечення, яким керує pacman.

Підручник з команд Pacman

Якщо ви використовуєте Arch Linux або його похідну, таку як Manjaro, рано чи пізно ви зрештою почнете використовувати pacman як головний менеджер пакетівВін швидкий, потужний та неймовірно гнучкий, але його можливості можуть бути спочатку приголомшливими, якщо ви переходите з інших дистрибутивів, таких як Debian або Fedora.

У цьому посібнику ви знайдете свого роду розширену шпаргалку: дуже повний посібник з команд PacmanВін містить як основні повсякденні команди, так і безліч скорочень, хитрощів та складних комбінацій. Ідея полягає в тому, щоб ви могли одразу перейти до суті, зрозуміти, що робить кожна команда, і мати все під рукою в одному місці, без необхідності перескакувати з вікі на вікі.

Що таке pacman і яке його місце у світі менеджерів пакетів?

В Arch Linux pacman — це менеджер бінарних пакетів за замовчуваннямВсе керується з терміналу та в основному розроблено командою Arch. Він поєднує дуже простий формат пакета (tarball, стиснутий за допомогою xz) з таким же простим способом збирання пакетів з PKGBUILD за допомогою makepkg.

Пакет Arch — це не що інше, як Файл .pkg.tar.xz який включає бінарні файли, що встановлюються, та метадані. Серед цих метаданих файл виділяється. .PKGINFOде pacman знаходить необхідну інформацію про залежності, опис, версію тощо, щоб мати змогу правильно керувати встановленням, оновленням або видаленням.

Модель Pacman — клієнт/сервер: вона синхронізує локальну базу даних з репозиторіями, а звідти… завантажує та встановлює пакети, вирішуючи залежності майже завжди автоматично. Його філософія дуже добре вписується в дизайн поступового випуску Arch, де проста команда підтримує систему в актуальному стані.

Хоча pacman — це інструмент командного рядка, якщо ви віддаєте перевагу чомусь із кліками, ви завжди можете звернутися до Памак і восьминоги у таких середовищах, як Manjaro. Навіть попри це, гнучкість і точність, які ви отримуєте на консолі, не мають собі рівних у жодному графічному інтерфейсі, і саме тому варто витратити деякий час на його опанування.

Pacman проти інших менеджерів меню: короткий огляд apt та yum

Щоб правильно зрозуміти Pac-Man, корисно порівняти його з іншими. популярні менеджери пакетів у GNU/LinuxУсі вони автоматизують встановлення, оновлення, налаштування та видалення програмного забезпечення, але кожен має свій власний синтаксис та пов'язані з ним інструменти.

У всесвіті Debian та його похідних (Ubuntu, Linux Mint тощо) він домінує APT (Advanced Packaging Tool)Тут ми переважно працюємо з пакетами .deb та використовуємо такі утиліти, як apt-get y apt-cacheЗ ними ви можете виконувати типові завдання, такі як:

  • apt-get install назва_пакета: встановити або оновити певний пакет.
  • apt-get поновлення: Оновити список пакетів, доступних у налаштованих репозиторіях.
  • apt-get оновлення: оновити всі встановлені пакети до їхніх останніх версій.
  • apt-get видалити назву_пакета: видалити .deb-пакет із системи.
  • apt-get clean: очистити кеш завантажених пакетів.
  • apt-cache пошук назва_пакета: пошук пакетів, що відповідають шаблону.

Гілки Red Hat та Fedora вступають у гру YUM (Yellowdog Updater, змінений)менеджер, орієнтований на пакети RPMЗнову ж таки, це інструмент командного рядка, який часто інтегрований за графічними інтерфейсами:

  • yum install назва_пакета: завантажити та встановити rpm-пакет, вирішивши залежності.
  • yum localinstall назва_пакета.rpm: встановити локальний RPM, спробувавши завершити встановлення залежностей з репозиторіїв.
  • Yum поновлення: оновити один або всі RPM-пакети системи.
  • yum видалити назву_пакета: видалити встановлений rpm-пакет.
  • список ням: показати всі встановлені пакети.
  • yum пошук назва_пакета: пошук пакетів у налаштованих репозиторіях.
  • yum очистити пакети / заголовки / всі: очистити різні частини кешу для економії місця.

Порівняно з ними, pacman пропонує дуже компактний набір команд: лише кількома опціями ви можете охопити практично все. весь життєвий цикл програмного забезпечення, від пошуку до повного видалення з глибокими залежностями.

Оновлення системи за допомогою Pacman

Підтримка актуальності Arch є критично важливим завданням, особливо в системі з поступовим випуском. Pacman надає набір команд для цієї мети. синхронізувати репозиторії та пакети оновлення як доречно.

Ключові команди для оновлення:

  • pacman-Sy: синхронізує базу даних репозиторію без оновлення будь-яких даних.
  • pacman -Сий: примусово синхронізує навіть пакети, які здаються оновленими.
  • Pacman-Syu: синхронізує репозиторії та оновлює всі системні пакети; це стандартний спосіб оновлення Arch.
  • пакман -Сйю: те саме, що й попередній, але вимагає ретельного оновлення баз даних.
  • Пакмен - Твій: оновлює пакети, використовуючи вже синхронізовану базу даних, без повторного завантаження репозиторіїв.

У багатьох похідних дистрибутивах також поширеним є запуск Судо Пакман-Сю за допомогою спеціального пакета для його встановлення одночасно з оновленням усієї системи, наприклад: sudo pacman - Сюй ДжоплінЦе гарантує, що ніщо не застаріває під час інтеграції нового програмного забезпечення.

  Дізнайтеся, як змусити iPhone надсилати текстовий вміст iMessage, а не SMS

Іноді підписи пакетів можуть змінюватися, а перевірки GPG можуть перешкоджати оновленням. У таких випадках оновлення зв'язки ключів Arch за допомогою такої команди часто працює добре:

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

Якщо з якоїсь причини вам потрібно дозволити глобальне зниження версії Під час оновлення існує така комбінація:

sudo pacman -Syuu

Ця команда синхронізує репозиторії та дозволяє замінювати пакети старішими версіями. Це корисно, наприклад, якщо ви переходите на старішу гілку або якщо збираєтеся використовувати знімок з архіву Arch Linux.

Пошук, інформація та перелік пакетів послуг

Перш ніж встановлювати щось, варто точно знати, що пропонує репозиторій. Pacman має дуже прості опції для шукати пакети, фільтрувати їх за назвою та отримувати детальну інформацію. як те, що є в репозиторіях, так і те, що вже встановлено.

Для пошуку у віддалених репозиторіях використовуйте:

  • Ключове слово pacman -Ss: показує пакети з репозиторіїв, що відповідають заданому тексту (наприклад, Пакмен - С.С. Джоплін).

Якщо ви хочете шукати серед того, що вже встановлено у вашій системі:

  • Ключове слово pacman -Qs: фільтрує встановлені пакети за назвою або описом (наприклад pacman -Qs joplin).

Коли вам потрібно переглянути конкретні деталі посилки, є два дуже схожих варіанти, але з важливими нюансами:

  • pacman -Якщо назва_пакета: відображає інформацію про пакет у репозиторіях (доступну версію, залежності, репозиторій, до якого він належить тощо).
  • pacman -Qi назва_пакета: відображає інформацію про пакет, який вже встановлено в системі.

Ви також можете заглибитися трохи глибше, використовуючи:

  • pacman -Так назва_пакета: розширена інформація про пакети в репозиторіях або про всі пакети, якщо не вказано назву.
  • pacman -Qii назва_пакета: розширені відомості про встановлений пакет, включаючи змінені файли та дані резервної копії.

Щодо списків, pacman дозволяє переглядати різні підмножини встановленого програмного забезпечення:

  • Пакмен -Qs: відображає встановлені пакети з їхнім описом (можна фільтрувати за назвою).
  • pacman-qe: явно показує встановлені пакети (не лише як залежності).
  • Пакмен -Qm: список встановлених пакетів, які не є частиною офіційних репозиторіїв, наприклад, тих, що взяті з AUR.
  • Пакмен -Qqte: показує пакети, які не є залежностями від жодного, корисні для очищення або перегляду.

Якщо ви хочете побачити, які файли належать до вже встановленого пакета, ви можете:

  • pacman -Ql назва_пакета: список файлів, пов'язаних з цим пакетом.
  • pacman -Qo /шлях/до/файлу: визначає, який пакет встановив певний файл (наприклад, pacman -Qo /usr/bin/joplin).

Встановлення пакетів за допомогою pacman

Найчастіше завдання з Pac-Man, логічно, це встановлення програмного забезпечення або груп пакетівБазовий синтаксис дуже компактний і підтримує як офіційні пакети репозиторіїв, так і локальні файли або прямі URL-адреси.

Щоб встановити пакет з офіційних репозиторіїв:

  • sudo pacman -S назва_пакета: встановлює або оновлює певний пакет та його залежності.
  • sudo pacman -S extra/назва_пакета: те саме, що й вище, але з явним зазначенням репозиторію, наприклад додатково.

Якщо пакет є частиною групи, ви можете витягувати дані з:

  • pacman -S група_пакетів: встановлює повну групу (типовий приклад: pacman -S гном).
  • pacman -Sg група_пакетів: перераховує пакети, що містяться в групі, перш ніж вирішити, що встановлювати.

Також можливо встановити з тестових репозиторіїв, за умови, що вони ввімкнені в /etc/pacman.conf:

  • pacman -S тестування/пакетВстановіть пакет з тестового репозиторію замість стабільного.

Якщо у вас є локальний пакет або URL-адреса з файлом .pkg.tar.xz, ви можете використовувати:

  • sudo pacman -U /шлях/до/файлу.pkg.tar.xz: встановлює локальний пакет.
  • sudo pacman -U https://url/del/paquete.pkg.tar.xz: встановлюється безпосередньо з віддаленої адреси.

Якщо ви просто хочете завантажити пакет для кешування, але ще не встановлювати його:

  • sudo pacman -Sw назва_пакета: опускає пакет і залишає його в /var/cache/pacman/pkg без встановлення.

Більш просунутий варіант – це перевстановіть усі системні пакети крім тих, що не походять з репозиторіїв (наприклад, встановлені з AUR):

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

Це змушує повністю перевстановити офіційні пакети, що корисно у випадках пошкодження файлів або суттєвих змін конфігурації.

Видалення пакетів та керування залежностями

Видалення програмного забезпечення в Arch також вимагає обережності, оскільки pacman пропонує різні режими видалення, які впливають на різні речі. залежності, конфігурації та пов'язані пакетиВажливо точно знати, що робить кожен варіант, перш ніж його виконувати.

Основні команди видалення:

  • sudo pacman -R назва_пакета: видаляє пакет, але залишає його залежності активними.
  • sudo pacman -Rs назва_пакета: видаляє пакет та залежності, які більше не використовуються жодним іншим встановленим пакетом.
  • sudo pacman -Rsu назва_пакетаПодібно до попереднього, переконайтеся, що ви видалили невикористовувані залежності та пов'язані з ними рекомендовані пакети.

Якщо ви хочете піти далі та видалити все, що залежить від цього (дуже агресивного) пакета:

  • sudo pacman -Rc назва_пакета: видаляє пакет та ті, що безпосередньо від нього залежать.
  • sudo pacman -Rcs назва_пакета`remove`: рекурсивно видаляє пакет, його залежності та всі пакети, що залежать від цих залежностей. Це операція з високий ризик збою половини вашої системи якщо ви не уважно переглянете попередній список.
  Фільтрація та сортування даних в Access: покроковий посібник і практичні приклади

Щодо файлів конфігурації та файлів .pacsave, також є певні опції:

  • sudo pacman -Rn назва_пакета: видаляє пакет, запобігаючи створенню резервних копій файлів .pacsave.
  • sudo pacman -Rcns назва_пакета: глибоко видаляє пакет, залежності та файли конфігурації.

У ситуаціях, коли pacman відмовляється видаляти, оскільки один пакет залежить від іншого, ви можете примусово виконати операцію за допомогою:

  • sudo pacman -Rdd назва_пакетаВидаліть пакет, навіть якщо про це попросять інші, не торкаючись їх. Надзвичайно делікатний підхід; рекомендується лише якщо ви знаєте всі наслідки.

Існує ще один небезпечний, але корисний варіант, коли з'являється повідомлення, що файл вже існує в системі під час встановлення або оновлення:

pacman --overwrite "*" -S paquete

або для повного оновлення:

pacman --overwrite "*" -Syu

Ці накази змушують перезапис конфліктуючих файлівЦе слід робити лише після перевірки джерела конфлікту та, якщо можливо, створення резервної копії.

Обробка осиротілих пакетів та очищення кешу

З часом їх накопичення в системі є нормальним явищем. пакети, встановлені як залежності і які більше не потрібні. Популярність Пак-Мена також зростає в /var/cache/pacman/pkg зі старими версіями пакетів, які ви більше не використовуєте.

Щоб знайти осиротілі пакети, вам потрібно:

  • pacman -Qdt: список встановлених пакетів, які більше не є залежностями від чогось.
  • pacman -Qtdq: те саме, але в беззвучному форматі (лише імена), ідеально підходить для використання в скриптах.

Дуже поширений спосіб очищення цих упаковок:

sudo pacman -Rs $(pacman -Qdtq)

Таке поєднання усуває всі осиротілі пакети разом з їхніми непотрібними залежностямизвільняючи багато місця на деяких системах.

Щодо кешу pacman, існує кілька варіантів обслуговування:

  • sudo pacman -Sc: видаляє з кешу ті пакети, які більше не встановлені.
  • sudo pacman -SccПовністю видаляє весь вміст кешу, включаючи встановлені пакети. Рекомендовано лише у випадках критичного нестачі місця на диску.
  • паккаче -rvk3: зберігає три останні версії кожного пакета та видаляє решту, показуючи деталі своїх дій.

Існує також pacman-оптимізація, інструмент, призначений для Дефрагментуйте та оптимізуйте базу даних pacmanЙого використання зараз рідше використовується, але він може бути корисним у довгих або дуже старих установках, продуктивність яких знизилася.

Налаштування, дзеркала та кольори Pacman

Суть конфігурації pacman знаходиться у файлі /etc/pacman.confЦе файл, що належить root, тому вам доведеться редагувати його за допомогою sudo (наприклад, sudo nano /etc/pacman.conf або подібне) щоразу, коли ви хочете щось змінити.

Ось деякі прості та дуже практичні налаштування:

  • Активуйте кольори у виводі терміналу, додаючи або розкоментувавши Колір.
  • Активуйте анімацію «Пакмен їсть таблетки», додавши iLoveCandy.

У файлі конфігурації ви також можете визначити потрібні пакети систематично ігнорувати в оновленняхЦе корисно, якщо певний пакет викликає проблеми або ви бажаєте підтримувати певну версію. Для цього використовується наступна директива:

IgnorePkg = linux-firmware linux-headers linux

які можна адаптувати до ваших потреб. Таким чином, ви уникаєте повторення опції –ігнорувати пакет1, пакет2 щоразу, коли ти біжиш Pacman-Syu.

З іншого боку, репозиторії, які використовує pacman, визначені в /etc/pacman.d/mirrorlistНаприклад, можна отримати список дзеркал для певної країни (наприклад, Іспанії) за допомогою таких утиліт, як awkабо повністю перегенерувати список дзеркал, завантаживши офіційний список:

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

Після цього вам потрібно буде відредагувати файл, щоб Розкоментуйте сервери, які ви хочете використовувати а потім запустіть щось на кшталт pacman -Syu pacman-mirrorlist щоб переконатися, що все актуальне.

Крім того, є URL-адреса зі статусом усіх дзеркал Arch, де ви можете побачити, чи одне з них не працює або працює повільно: https://www.archlinux.org/mirrors/status/Періодична перевірка допомагає уникнути проблем із синхронізацією.

Запити щодо файлів, залежностей та файлових баз даних

Pacman не просто встановлює та видаляє; це також дуже потужний інструмент для запитувати у системи, який пакет надає який файл, що від чого залежить і як пакети пов'язані один з одним..

Для запитів, пов'язаних з файлами, що належать до пакетів репозиторію, існує база даних файлів:

  • Пакмен -Фай: оновлює базу даних файлів.
  • pacman -F файл: шукає, до якого пакета належить заданий файл у репозиторіях.
  • Паттерн Pacman-Fx: дозволяє використовувати регулярні вирази; наприклад pacman -Fx fstrim.s* щоб знайти різні файли, пов'язані з fstrim.

У багатьох випадках, окрім Pac-Man, використовуються зовнішні утиліти, такі як pkgfile y пакт-дерево:

  • пакет pkgfile -l: перераховує файли, що містяться в пакеті в репозиторіях (не обов'язково встановлені).
  • pkgfile vim: шукає пакети, що містять рядок, вказаний у їхній назві або шляху до файлу.
  • дерево пактів nmap: відображає залежності пакета у деревоподібній структурі.
  • Пакет pactree -r: показує, які пакети залежать від зазначеного пакета.
  Як виправити помилку «Не вистачає віртуальної пам’яті» у Windows 11

За допомогою pacman ви також можете отримати список файлів, встановлених пакетом у вашій системі:

  • pacman -Ql назва_пакета: повний список файлів.
  • pacman -Qlq назва_пакета | grep -v '/$' | xargs du -h | сортувати -h: відображає розміри файлів (не каталогів), відсортовані від найменшого до найбільшого, дуже корисно для визначити, що займає найбільше місця на диску.

Якщо вам потрібно дізнатися, який файл належить до якого вже встановленого пакета:

  • pacman -Qo /шлях/до/файлу: повертає власника пакета цього маршруту.

Зрештою, для дослідження залежностей певного списку пакетів, pacman можна поєднати з awk, сортування та xargs, наприклад:

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

Цей рядок витягує всі залежності, оголошені різними пакетами, та розбиває їх на один список в алфавітному порядку.

Знімки, зниження версії та контроль версій за допомогою Arch Linux Archive

Ключова відмінність між Arch та іншими дистрибутивами полягає в тому, що згортання випускуНемає фіксованих точок версії. Незважаючи на це, спільнота підтримує Архів Arch Linux, система знімків, яка дозволяє фіксувати стан репозиторіїв на певну дату.

Це корисно для реплікації тестових середовищ, виконання діагностики або відновлення системи, яка почала давати збої після проблемного оновлення. Офіційна вікі Archive детально описує механізм, але основна схема така:

  • Редагувати /etc/pacman.d/mirrorlist щоб сервер вказував на певну дату, наприклад:
    Server=https://archive.archlinux.org/repos/2024/04/11/$repo/os/$arch
  • пробіг Пакмен - Сіюу щоб змусити всі пакети відповідати версіям цієї дати.

Цей метод слід використовувати з великою обережністю, оскільки налаштування старого знімка може порушити сумісність із... файли конфігурації, що генеруються новими версіями деяких програм (типовий приклад: браузери, такі як Firefox). Чим далі в минуле ви повертаєтеся і чим більше програмного забезпечення ви встановили, тим більша ймовірність того, що щось піде не так.

У файлі /var/log/pacman.log У вас є повна історія виконаних оновлень, тому ви можете легко перевірити останню дату, коли, на вашу думку, система працювала належним чином, і використовувати її як орієнтир для знімка.

Журнал операцій та команд, що використовуються з pacman

Все, що робить Пакмен, записується в /var/log/pacman.logЦей журнал – золота жила, коли тобі це потрібно Перегляньте, що було встановлено, що було видалено та коли.або коли потрібно відновити стан системи на іншому комп’ютері.

Наприклад, щоб перерахувати команди, які фактично встановили щось (транзакції, ініційовані за допомогою pacman -S), ви можете використовувати:

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

Якщо ви хочете фільтрувати за певною датою:

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

Також дуже практично експортувати список пакетів, явно встановлених на комп'ютері A, та скопіювати його на комп'ютер B:

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

Таким чином ви можете клонувати набір пакетів між машинами, підтримуючи узгодженість між робочими середовищами або серверами.

Зв'язок Пакмена з AUR: Ура та інші помічники

Хоча pacman відповідає за офіційні репозиторії, в екосистемі Arch дуже часто використовується... AUR (Архів користувача репозиторію) для пакетів, що підтримуються спільнотою. Pacman не має безпосереднього доступу до AUR, але є помічники, такі як яй які дозволяють керувати цими пакетами за допомогою практично тих самих команд.

За допомогою команди yay ви можете, наприклад, запустити yay -S назва_пакета і нехай програма шукає офіційні репозиторії та AUR, компілює, якщо потрібно, та встановлює його. Корисний цікавий факт полягає в тому, що багато команд pacman, які ви бачили (пошук, встановлення, глобальне оновлення), можна використовувати майже ідентичним чином з yay, що значно спрощує робочий процес.

Якщо ви хочете визначити, які пакети у вашій системі походять з AUR або зовнішніх джерел, скористайтеся командою:

pacman -Qqm

Він покаже вам пакети, які не входять до офіційних репозиторіїв. Це швидкий спосіб оцінити, наскільки ви покладаєтеся на AUR або пакети, зібрані вручну. makepkg наприклад, із завантаженого PKGBUILD за допомогою Wget від https://aur.archlinux.org.

В останньому випадку типовий потік буде приблизно таким:

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

Такий підхід підтримує все управління пакетами під егідою Pacmanнавіть якщо джерелом є AUR, а не офіційний репозиторій.

Оволодіння всім цим набором команд і хитрощів робить pacman майже неперевершеним інструментом для керування Arch та його похідними: від підтримки системи в актуальному стані та її легкої структури до дослідження залежностей, перебудови інсталяцій або гри зі знімками минулого, все проходить через серію команд, які з певною практикою стають частиною щоденної рутини, навіть без необхідності дивитися на них у шпаргалці.