- Home
- Packages
- Forums
- Wiki
- Bugs
- AUR
- Download

# pacman (Українська)

From ArchWiki

Резюме
Pacman це менеджер пакунків в Arch Linux. Менеджер пакунків використовується для встановлення, оновлення та видалення програм. В даній статті розглядаються основні прийоми і поради з усунення несправностей.
Огляд
Пакунки в Arch Linux будуються з використанням makepkg і користувацького сценарію збірки для кожного пакунку (відомого як PKGBUILD). Після складання, програмне забезпечення може бути встановлене і управлятися з pacman. PKGBUILD'и на програмне забезпечення в офіційному репозиторії доступні з дерева ABS; тисячі доступні (офіційно не підтримується) в Arch User Repository (репозиторій користувачів Arch, скорочено AUR).
Стосуються сабжа
Downgrading Packages
Improve Pacman Performance
pacman GUI Frontends
pacman Rosetta
pacman Tips
Pacman package signing
FAQ#Package_Management
Pacman-key
Pacnew and Pacsave Files
Джерела
libalpm(3) Manual Page
pacman(8) Manual Page
pacman.conf(5) Manual Page
repo-add(8) Manual Page

Pacman це менеджер пакунків, який є однією з основних характерних особливостей Arch Linux. Він поєднує в собі простий формат двійкових пакунків з простою у використанні Arch Build System(система збірки Арча, скорочено ABS). Мета розробників pacman - зробити його, як можна легшим у керуванні пакунками, чи є вони з офіційних репозиторіїв Arch або власні версії користувачів.

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

Pacman написана на мові програмування C і використовує `.pkg.tar.xz` формат пакунків.

Tip: Офіційний пакунок pacman також містить інші корисні інструменти, такі як makepkg, pactree, vercomp і багато іншого. Ви можете отримати повний список виконавши `pacman -Ql pacman | grep bin`

## Конфігурація

Налаштування pacman розташовані в `/etc/pacman.conf`. Це місце, де користувач настроює програму для роботи, як йому треба. Докладнішу інформацію про файл конфігурації можна знайти в man pacman.conf

### Загальні параметри

Загальні параметри знаходяться в розділі `[options]`. Читайте man сторінки або дивіться в `pacman.conf` інформацію за замовчуванням про те, що можна зробити тут.

#### Заборона оновлення пакунків

Для заборони оновлення конкретного пакунку, вкажіть його в такому вигляді:

    IgnorePkg=linux

При зазначенні декількох пакунків, розділяйте їх пробілами, або використовувати додаткові `IgnorePkg` лінії.

#### Заборона оновлення груп пакунків

Як і з пакунками, пропускати цілі групи пакунків також можливо:

    IgnoreGroup=gnome

#### Заборона встановлення файлів в систему

Щоб уникнути встановлення у деякі каталоги, зазначте їх у `NoExtract`. Наприклад, щоб уникнути встановлення юнітів systemd вкажіть:

    NoExtract=usr/lib/systemd/system/*

### Репозиторії

Ця секція визначає, які репозиторії використовуються. Вони можуть бути зазначені у `/etc/pacman.conf` прямо або включені з іншого файлу (наприклад, `/etc/pacman.d/mirrorlist`), що робить його необхідним для підтримання лише одного списку. Докладніше про налаштування дзеркал читайте тут.

    /etc/pacman.conf

    #[testing]
    #SigLevel = PackageRequired
    #Include = /etc/pacman.d/mirrorlist

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

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

    #[community-testing]
    #SigLevel = PackageRequired
    #Include = /etc/pacman.d/mirrorlist

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

    # Users If you want to run 32 bit applications on your x86_64 system,
    # enable the multilib repositories as required here.

    #[multilib-testing]
    #SigLevel = PackageRequired
    #Include = /etc/pacman.d/mirrorlist

    #[multilib]
    #SigLevel = PackageRequired
    #Include = /etc/pacman.d/mirrorlist

    # An example of a custom package repository.  See the pacman manpage for
    # tips on creating your own repositories.
    #[custom]
    #SigLevel = Optional TrustAll
    #Server = file:///home/custompkgs

Warning: Слід проявляти обережність при використанні [testing] репозиторія. Він знаходиться в активній розробці та оновленні, що може викликати неправильну роботу деяких пакунків. Людям, які використовують [testing] репозиторій рекомендується підписатися на arch-dev-public mailing list для отримання поточної інформації.

### Безпека пакунків

Pacman 4 підтримує підписання пакунків, яке додає додатковий рівень безпеки. Щоб налаштувати це підписання, можна використовувати `SigLevel` на глобальному або для кожного сховища рівні. Конфігурація за замовчуванням

    /etc/pacman.conf

    SigLevel = Required DatabaseOptional

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

## Використання

Нижче наводиться лише невелика вибірка з операцій, які може виконати pacman. Щоб дізнатися більше прикладів, зверніться до man pacman. Для початку дивіться pacman - An Introduction.

### Встановлення пакунків

#### Встановлення окремих пакунків

Для встановлення одного пакунку або списку пакунків (включаючи залежності), виконайте наступну команду:

    # pacman -S ім'я_пакунку1 ім'я_пакунку2 ...

Іноді є кілька версій пакунку в різних сховищах, наприклад, [extra] і [testing]. Для установки попередньої версії, репозиторій повинен бути зазначен явно (інакше буде встановлений перший знайдений пакунок):

    # pacman -S extra/ім'я_пакунку

#### Встановлення груп пакунків

Певні пакунки належать до групи пакунків, які можуть бути встановлені одночасно. Наприклад, ввівши таку команду:

    # pacman -S gnome

встановите всі пакунки, які належать до групи `gnome`. Щоб дізнатися, які пакунки належать до групи gnome, виконайте:

    # pacman -Sg gnome

Також завітайте https://www.archlinux.org/groups/ щоб побачити, в яких групах є пакунок.

Note: Якщо пакунок у списку вже встановлений в системі, він буде повторно встановлений, навіть якщо він не застарілий. Ця поведінка може бути змінена з опцією `--needed`.
Warning: При встановленні пакунків, не оновлення списку пакунків, таким чином не модернізація системи (тобто `pacman -Sy ім'я_пакунку`); може призвести до проблем з залежностями. Докладніше дивіться #Часткова модернізація не підтримується та https://bbs.archlinux.org/viewtopic.php?id=89328.

### Видалення пакунків

Щоб видалити один пакунок, залишивши всі його залежності встановленими:

    # pacman -R ім'я_пакунку

Для видалення пакунка і його залежностей, які не вимагаються будь-яким іншим встановленим пакунком:

    # pacman -Rs ім'я_пакунку

Для видалення пакунка, його залежностей і всі пакунки, які залежать від цільового пакунку:

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

    # pacman -Rsc ім'я_пакунку

Для видалення пакунка, який потрібно іншому пакунку, не видаляючи залежний пакунок:

    # pacman -Rdd ім'я_пакунку

Pacman зберігає файли конфігурації при видаленні деяких додатків з розширенням: `.pacsave`. Для запобігання створення цих файлів резервних копій використовувати опцію `-n`:

    # pacman -Rn ім'я_пакунку

Note: Pacman не буде видаляти конфігурації, що програма саме по собі створює (наприклад, "dotfiles" в домашній теці).

### Оновлення пакунків

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

    # pacman -Syu

Warning: Не поспішайте відразу ж оновлюватися, як тільки доступні оновлення, ви повинні розуміти, що у зв'язку з тим, що Arch це ролінг-дистрибутив, оновлення може мати непередбачені наслідки. Це означає, що не розумно оновлювати, якщо, немає часу. Оновлюйтесь у вільний час і будьте готові вирішувати проблеми, які можуть виникнути.

Pacman це потужний інструмент для керування пакунками, але можливо існують ситуації в яких він не впорається. Читайте The Arch Way (Українська), якщо вас щось турбує. Користувачі повинні бути пильними і взяти на себе відповідальність за підтримання своєї власної системи. При виконанні оновлення системи, дуже важливо, щоб користувачі читали всю інформацію, яку видає pacman і мали здоровий глузд. Якщо користувач модифікував файл конфігурації пакунку, то при оновлені пакунка буде створений `.pacnew` файл, щоб уникнути перезапису налаштувань, які задав користувач. Pacman буде пропонувати користувачу об'єднати їх. Ці файли вимагають ручного втручання з боку користувача, і це хороша практика, обов'язково треба впоратися з цим відразу після оновлення чи видалення.Читайте Pacnew and Pacsave Files щоби дізнатися про це більше.

Tip: Пам'ятайте, що pacman зберігає свій вихід у `/var/log/pacman.log`.

Перед оновленням бажано відвідати домашню сторінку Arch Linux, щоб перевірити останні новини (або підписатися на стрічку RSS): коли оновлення потребують надзвичайного втручання користувача (більше, ніж може бути зроблено, просто дотримуючись вказівок pacman), відповідне повідомлення буде розміщене.

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

### Запити до баз даних пакунків

Pacman шукає в локальній базі даних пакунків з опцією `-Q`, дивиться:

    $ pacman -Q --help

та шукає у базі даних(репозиторіях) з опцією `-S`, дивиться:

    $ pacman -S --help

Pacman можете шукати пакунки в базі даних(репозиторіях), пошук як в назвах пакунків так й в описах:

    $ pacman -Ss умова1 умова2 ...

Для пошуку вже встановлених пакунків:

    $ pacman -Qs умова1 умова2 ...

Пошук пакунка за ім'ям в базі даних(репозиторіях)(виводиться без додаткової інформації):

    $ pacman -Sqs умова1 умова2 ...

Щоб показати детальну інформацію по пакунку:

    $ pacman -Si ім'я_пакунку

Показати детальну інформацію по пакунку вже встановленому:

    $ pacman -Qi ім'я_пакунку

Вказавши подвійно опцію `-i` - буде також відображати список файлів резервних копій і їх модифікацій:

    $ pacman -Qii ім'я_пакунку

Для отримання списку файлів встановленого пакунку:

    $ pacman -Ql ім'я_пакунку

Для не встановлених пакунків, можна використовувати pkgfile.

Можна також надсилати запити до бази даних, щоб дізнатися, якому пакунку належить файл:

    $ pacman -Qo /шлях/до/файлу

Отримати список всіх пакунків, які більше не потрібні:

    $ pacman -Qdt

Отримати дерево залежностей пакунку:

    $ pactree ім'я_пакунку

Для отримання списку пакунків які залежать від встановленого пакунку можете скористатися `whoneeds` з пакунка pkgtools:

$ whoneeds ім'я_пакунку

### Додаткові команди

Оновити систему та встановити деякі пакунки:

    # pacman -Syu ім'я_пакунку1 ім'я_пакунку2 ...

Завантажити пакунок без встановлення:

    # pacman -Sw ім'я_пакунку

Встановити 'локальний' пакунок, який не з віддаленого репозиторію (наприклад, пакунок з AUR):

    # pacman -U /шлях/до/пакунку/ім'я_пакунку-версія.pkg.tar.xz

Tip: Щоб зберегти копію локального пакунка в кеш pacman, використовуйте:

    # pacman -U файл://шлях/до/пакунку/ім'я_пакунку-версія.pkg.tar.xz

Встановити "віддалений" пакунок (не з репозиторіів зазначених в файлах конфігурації pacman):

    # pacman -U http://www.example.com/repo/example.pkg.tar.xz

Очистити кеш пакунків, які в даний час не встановлені (`/var/cache/pacman/pkg`):

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

    # pacman -Sc

Очистити весь кеш пакунків:

Warning: Це очищає весь кеш пакунків. Робити це вважається поганою практикою, бо не дає можливості відкотити щось прямо з теки кеша. Користувачі будуть змушені використовувати альтернативні джерела застарілих пакунків, такі як Arch Rollback Machine(Машина Часу Arch'а).

    # pacman -Scc

Tip: В якості альтернативи `-Sc` і `-Scc` перемикачам, розгляньте можливість використання `paccache` з pacman. Це забезпечує більший контроль над тим, які і скільки пакунків будуть видалені. Виконайте `paccache -h` для отримання інструкцій.

### Часткова модернізація не підтримується

Arch Linux це ролінг-дистрибутив, і нова версія бібліотеки буде включена до репозиторія. Розробники та довірені користувачі будуть відновлювати всі пакунки в репозиторіях, які повинні бути перебудовані у відношенні бібліотек. Якщо у системі є локально встановлені пакунки (наприклад, AUR пакунки), користувачам потрібно буде відновити залежності використовуючи інформацію soname.

Це означає, що часткові оновлення не підтримуються. Не використовуйте `pacman -Sy пакунок` або еквівалентний `pacman -Sy`, а потім `pacman -S пакунок`. Завжди оновлюйтесь перед установкою пакунку - особливо, якщо pacman оновив репозиторії. Будьте дуже обережні при використанні `IgnorePkg` і `IgnoreGroup` з тієї ж причини.

Якщо частковий сценарій оновлення був створений, і бінарні файли розбиті, тому що не можуть знайти пов'язаних бібліотек, тоді вже не "виправити" проблему шляхом символічних посилань. Бібліотеки отримують soname помилки, коли вони не мають зворотньої сумісності. Просте `pacman -Syu`, щоб правильно синхронізувати дзеркала вирішить проблему, як-що pacman не зламаний.

## Пошук і усунення несправностей

#### Q: Оновлення пакунку XYZ зламало мою систему!

A: Arch Linux це ролінг-дистрибутив з найсвіжішим ПЗ. Пакунки оновлення доступні, як тільки вони вважаються досить стабільними для загального використання. Тим не менш, оновлення іноді вимагає втручання користувача: файли конфігурації може знадобитися оновити, додаткові залежності можуть змінитися, і т.і.

Найважливіша порада, пам'ятайте - не робіть "наосліп" оновлення системи. Завжди уважно читайте список пакунків для оновлення. Примічайте чи "критичні" пакунки будуть оновлені (linux, xorg-server, і так далі). Якщо так, то, гарною ідеєю буде перевірити наявність новин на https://www.archlinux.org/ і читання останніх повідомлень форуму, щоб побачити, чи відчувають люди проблеми в результаті оновлення.

Якщо пакунок оновлення, як очікується / відомо, викликає проблеми, пакувальник гарантує, що pacman виведе відповідне повідомлення, коли пакунок буде оновлюватися. Якщо виникли проблеми після оновлення, перевірте вихід pacman, дивись лог (`/var/log/pacman.log`).

Наразі, тільки після того, якщо немає ніякої інформації, доступної через pacman, не існує новин на https://www.archlinux.org/, і немає ніяких повідомлень на форумі відносно оновлення, можете розглянути питання про звернення за допомогою на форум, IRC, або відкотитися до працюючої версії.

#### Q: Я знаю, оновлення пакунку ABC було реалізовано, але pacman каже, що моя система знаходиться в актуальному стані!

A: Дзеркала pacman не синхронізуються негайно. Може зайняти більше 24 годин, перш ніж оновлення буде доступно для Вас. Варіянти - бути терплячим або використовувати інше дзеркало. MirrorStatus може допомогти вам визначити останню інформацію по дзеркалу.

#### Q: Я отримую помилку при оновленні: "файл існує у файловій системі"!

A: Додатково: Взято з https://bbs.archlinux.org/viewtopic.php?id=56373 y Misfit138.

    error: could not prepare transaction
    error: failed to commit transaction (conflicting files)
    package: /path/to/file exists in filesystem
    Errors occurred, no packages were upgraded.

Чому це відбувається: pacman виявив файли, що конфліктують, і по замовчанню, не буде переписувати файли для вас. Це конструктивна особливість, а не недолік.

Питання, як правило, має тривіальне рішення. Безпечний спосіб, щоб спочатку перевірити, якому пакунку належить файл (`pacman -Qo /шлях/до/файлу`). Якщо файл належить іншому пакунку, відправте рапорт про помилку. Якщо файл не належить іншому пакунку, перейменуйте файл, який 'існує у файловій системі' і віддайте команду на оновлення. Якщо все піде добре, файл може бути видалений.

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

Кожен встановлений пакунок надає `/var/lib/pacman/local/$package-$version/files` файл, що містить метадані про цей пакунок. Якщо цей файл буде пошкоджений - буде порожнім або відсутнім - це призводить до помилки "файл існує у файловій системі" при спробі оновити пакунок. Така помилка зазвичай стосується тільки одного пакунка і замість того, щоб вручну перейменовувати, а потім видаляти всі файли, які відносяться до відповідного пакунку, ви можете запустити `pacman -S --force $пакунок`, щоб змусити pacman перезаписати ці файли.

Ніколи не віддавайте команду`pacman -Syu --force`.

#### Q: Я отримую повідомлення про помилку при установці пакунку: "not found in sync db"

A: По-перше, переконайтеся, що пакунок існує насправді (і стежте за помилками при наборі команди!). Якщо певний пакунок існує, список пакунків може бути неактуальним або ваші репозиторії можуть бути неправильно налаштовані. Спробуйте запустити `pacman -Syy` для примусового поновлення всього переліку пакунків.

#### Q: Pacman неодноразово оновлює той-самий пакунок!

A: Це пов'язано з дублюванням записів в `/var/lib/pacman/local/`, наприклад є два екземпляра `linux`. `pacman-Qi` видасть правильну версію, але `pacman-Qu` визнає її застарілою, отже, буде намагатися оновити. Рішення: видалити неправильний запис з /var/lib/pacman/local/.
.
Note: У pacman версії 3.4 повинні відображатися повідомлення про помилку у випадку дублювання записів.

#### Q: Pacman падає під час оновлення!

A: У разі падіння pacman'а з помилкою "database write"("запис в базу даних") під час видалення, перевстановлення або оновлення пакунків:

1. Завантажтеся з Arch live CD.
2. Змонтуйте вашу кореневу файлову систему.
3. Оновіть бази даних за допомогою `pacman -Syy`.
4. Перевстановіть поламані пакунки `pacman -r /шлях/до/кореневого_розділу -S пакунок`.

#### Q: Я встановив програмне забезпечення, використовуючи "make install"; ці файли не належать жодному пакунку!

A: При отриманні помилки про "файли, що конфліктують", зверніть увагу, що pacman буде перезаписувати вручну встановлене програмне забезпечення, якщо давати команду з опцією `--force`(`pacman -S --force`). Читайте Pacman Tips#Identify files not owned by any package про скрипт, який шукає в файловій системі покинуті файли.
Warning: Будьте обережні при використанні `--force`. Тому що це може викликати серйозні проблеми при неправильному використанні.

#### Q: Мені потрібен пакунок з конкретним файлом. Як я дізнаюся, якому пакунку належить цей файл?

A: Встановіть pkgfile, який використовує окрему базу даних з усіма файлами і пов'язаними з ними пакунками.

#### Q: Pacman повністю зламаний! Як мені перевстановити його?

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

#### Q: Після оновлення моєї системи, я отримую помилку "unable to find root device"("не вдалося знайти корінь пристрою"), після перезавантаження моя система більше не зантажується.

A: Швидше за все, ваш initramfs зламався під час оновлення ядра (неналежне використання pacman з опцією `--force` може бути причиною). У вас є два варіанти:

1. СпробуйтеFallback (резервний) образ.

  Tip: У випадку, якщо ви видалили цей запис з якихось причин, ви завжди можете натиснути клавішу `Tab`, якщо використовуєте Syslinux, або `e` у випадку використання GRUB, перейменувати його `initramfs-linux-fallback.img` та натиснути `Enter` або `b` (в залежності від вашого завантажувача) для завантаження з новими параметрами.

  Після запуску системи, виконайте наступну команду (для перезбирання ядра linux) або з консолі або з терміналу, щоб відновити initramfs образ:

      # mkinitcpio -p linux

2. Якщо це не працює, з дистрибутиву Arch 2012(або пізніше)року випуску (CD / DVD або USB флешки), виконайте:

  Note: Якщо ви не маєте релізу 2012 р. в., або якщо у вас є якійсь інші "живий" дистрибутив, ви можете зайти під chroot за допомогою старого способу. Очевидно, що там буде більше мороки, ніж просто набравши скрипт `arch-chroot`.

      # mount /dev/sdxY /mnt         #Монтуємо ваш кореневий розділ.
      # mount /dev/sdxZ /mnt/boot    #У випадку, якщо ви використовуєте окремий /boot розділ.
      # arch-chroot /mnt
      # pacman -Syu mkinitcpio systemd linux

  Перевстановлення ядра (пакунок linux) автоматично регенерує образ initramfs - `mkinitcpio -p linux`. Немає необхідності робити це окремо.

  Після цього, рекомендується запустити `exit`, `umount /mnt/{boot,}` та `reboot`.

  Note: Якщо Ви не можете увійти в arch-chroot або chroot середовище, але потрібно повторно встановити пакунки, ви можете використовувати команду `pacman -r /mnt -Syu` в змонтованому у /mnt вашому кореневому розділі.

#### Q: Підпис від "User <email@gmail.com>" не має довіри, інсталяція не вдалася

A: Слідуйте pacman-key#Resetting all the keys. Або ж ви можете спробувати вручну оновити `archlinux-keyring` першим пакунком, тобто `pacman -S archlinux-keyring`.

#### Q: Я постійно отримую

  Помилка: Ім'яПакунку: підпис "User <email@archlinux.org>" не є дійсним
  Помилка: не вдалося завершити транзакцію (невірний або пошкоджений пакунок (PGP підпису))
  Відбулися помилки, пакунки не були оновлені.

A: Це відбувається, коли системний годинник неправильно встановлений. Читайте time та виконайте:

    # hwclock -w

перш ніж намагатися встановити / оновити пакунок знову.

#### Q: Я постійно отримую помилку "не вдалося завершити транзакцію (невірний або пошкоджений пакунок)"

A: Шукайте файли `*.part` (частково завантажені пакунки) в `/var/cache/pacman/pkg` і видаліть їх (часто викликано використанням користувацьких `XferCommand` у `pacman.conf`).

#### Q: Я отримую помилку кожен раз, коли я використовую pacman: 'Попередження: поточний стандарт є недійсним; використовується за замовчанням "C" локаль'. Що мені робити?

A: У повідомленні про помилку говориться, що ваша мова не правильно налаштована. Докладніше Locale.

#### Q: Як я можу отримати для Pacman параметри мого проксі-сервера?

A: Переконайтеся, що відповідні змінні середовища (`$http_proxy`, `$ftp_proxy` й т.і.) встановлені. Якщо ви використовуєте Pacman з sudo, вам потрібно налаштувати sudo для змінних середовищ Pacman.

## Дивись також

- Common Applications/Utilities#Package management

Retrieved from "https://wiki.archlinux.org/index.php?title=Pacman_(Українська)&oldid=273701"
Categories:

- Українська
- Package management (Українська)

## Navigation menu