Как установить pacman linux

Обновлено: 02.07.2024

Pacman и пользовательский репозиторий Arch (AUR) — это две основные причины, по которым я остаюсь с Arch Linux в течение последних нескольких лет. С того дня, как я начал использовать Arch Linux, я не часто использую другие дистрибутивы Linux. Время от времени я буду пробовать другие дистрибутивы Linux только на Virtualbox для тестирования различных приложений/инструментов. Поскольку я использую Arch LInux весь день и каждый день, иногда я забываю или путаю использование Pacman с менеджерами пакетов других дистрибутивов, такими как APT, DNF, YUM и т. д. Если вы чем-то похожи на меня, у меня есть для вас хорошие новости. Поздоровайтесь с Pacapt, менеджером пакетов Arch, похожим на pacman, для некоторых Unices.

Pacapt на самом деле является скриптом-оболочкой для различных менеджеров пакетов, таких как YUM, DNF, APT, Zypper и т. д. Используя Pacapt, вы можете использовать команды pacman так же, как вы используете его в Arch Linux, для установки, обновления, обновления, удалить пакеты в других Unix-подобных операционных системах. При этом вам не нужно запоминать различные команды/параметры разных ОС. Pacapt предоставляет наиболее часто используемые команды Pacman для многих других Unix-подобных операционных систем. Имейте в виду, что не все опции родного менеджера пакетов портированы. Инструмент Pacapt предоставляет только очень простой интерфейс для поиска, установки, удаления пакетов и/или обновления системы.

В настоящее время Pacapt поддерживает следующие менеджеры пакетов:

  • pacman от Arch Linux, ArchBang, Manjaro и т. д.
  • dpkg/apt-get от Debian, Ubuntu и т. д.
  • домашнее приготовление на Mac OS X
  • macports для Mac OS X
  • yum/rpm от Redhat, CentOS, Fedora и т. д.
  • перенос от Gentoo
  • zypper от OpenSUSE
  • pkgng от FreeBSD
  • пещера от Exherbo Linux
  • pkg_tools от OpenBSD
  • sun_tools от Solaris (SunOS)
  • apk от Alpine Linux
  • tazpkg от SliTaz Linux
  • swupd от Clear Linux
  • tlmgr от TeX Live
  • conda от Conda

Будем надеяться, что в будущем разработчики расширят поддержку многих других менеджеров пакетов.

Установка Pacapt

Помните, что Pacapt не следует устанавливать в системе на базе Arch. Кроме того, в FreeBSD и Alpine Linux сначала установите пакет bash.

Pacapt можно установить двумя способами. Загрузите стабильный скрипт с GitHub и поместите его в свой PATH, как показано ниже.

В некоторых системах /usr/local/bin отсутствует в путях поиска, когда команда выполняется sudo. В таких случаях вы можете вместо этого использовать /usr/bin/pacman или /usr/bin/pacapt.

В качестве альтернативы мы можем установить Pacapt из репозитория Pival81, как показано ниже.

В CentOS 7 выполните следующие команды от имени пользователя root:

В CentOS 6 запустите от имени root следующее:

Для Debian 8.0 запустите от имени root следующее:

В Fedora 25 запустите от имени root следующее:

В Fedora 24 запустите от имени root следующее:

В openSUSE Tumbleweed запустите от имени root следующее:

В openSUSE Leap 42.2 запустите от имени root следующее:

В RHEL 7 запустите от имени root следующее:

В RHEL 6 запустите от имени root следующее:

В xUbuntu 16.04 выполните следующее:

Использование диспетчера пакетов ArchLinux Pacman в других дистрибутивах Linux

Типичный синтаксис для использования pacapt:

Вы также можете использовать "pacman" вместо "pacapt", как показано ниже.

Теперь давайте посмотрим на несколько примеров.

Чтобы установить пакет, например vim, на RHEL, CentOS, мы используем:

Для установки vim в системах на основе Debian мы используем:

Действительно! Вот как мы выполняем установку с помощью родного менеджера пакетов. Теперь в этом нет необходимости!

Например, чтобы установить сервер CentOS пакета vim, просто запустите:

Эта команда автоматически вызовет команду «yum install vim» и установит редактор vim в вашей системе CentOS. Проще говоря, скрипт pacapt позволяет использовать pacman вместо Apt, DNF, Zypper, Yum и других популярных менеджеров пакетов, поэтому устанавливать пакеты очень просто! Вам не нужно запоминать команды для разных дистрибутивов. Эту же команду можно использовать для установки редактора vim в любой системе Linux, в которой установлен pacapt. Понятно? отличный! Если вы уже знакомы с Pacman, вы знаете, как использовать его для установки, обновления, обновления и удаления пакетов.

Вот список поддерживаемых в настоящее время опций.

Чтобы получить список всех установленных пакетов, выполните:

Чтобы показать журнал изменений пакета:

Чтобы распечатать статус пакета:

Чтобы получить список файлов пакета:

Чтобы вывести список установленных пакетов, недоступных ни в одном источнике установки:

Менеджер пакетов pacman — одно из основных отличий Arch Linux от других основных дистрибутивов, таких как Red Hat и Ubuntu/Debian. Он сочетает в себе простой формат двоичного пакета с простой в использовании системой сборки. Цель pacman — легко управлять пакетами, как из официальных репозиториев, так и из собственных сборок пользователя.

Если вы когда-либо использовали дистрибутивы на основе Ubuntu или Debian, возможно, вы использовали команды apt-get или apt.Pacman является эквивалентом в Arch Linux. Если вы только что установили Arch Linux, первое, что нужно сделать после установки Arch Linux, — это научиться использовать команды pacman.

В этом руководстве для начинающих я объясню некоторые важные моменты использования команды pacmand, которые вам следует знать для управления системой на базе Arch.

Основные команды pacman, которые должны знать пользователи Arch Linux

Как и другие менеджеры пакетов, pacman может синхронизировать списки пакетов с репозиториями программного обеспечения, чтобы пользователь мог загружать и устанавливать пакеты с помощью простой команды, разрешая все необходимые зависимости.

Установка пакетов с помощью pacman

Вы можете установить один пакет или несколько пакетов с помощью команды pacman следующим образом:

-S означает синхронизацию. Это означает, что pacman сначала синхронизируется

База данных pacman разделяет установленные пакеты на две группы в зависимости от причины их установки:

  • явно установленные: пакеты, которые были установлены общей командой pacman -S или -U
  • зависимости: пакеты, которые были установлены неявно, поскольку требуются другим пакетом, который был установлен явно.

Удалить установленный пакет

Чтобы удалить один пакет, оставив все его зависимости установленными:

Чтобы удалить пакет и его зависимости, которые не требуются никакому другому установленному пакету:

Чтобы удалить зависимости, которые больше не нужны. Например, пакет, которому требовались зависимости, был удален.

Обновление пакетов

Pacman предоставляет простой способ обновления Arch Linux. Вы можете обновить все установленные пакеты всего одной командой. Это может занять некоторое время в зависимости от того, насколько актуальна система.

Следующая команда синхронизирует базы данных репозитория и обновляет системные пакеты, исключая «локальные» пакеты, которых нет в настроенных репозиториях:

  • S – синхронизация.
  • y для обновления (локальный кеш)
  • u для обновления системы

По сути, речь идет о синхронизации с центральным репозиторием (основной базой данных пакетов), обновлении локальной копии основной базы данных пакетов, а затем выполнении системного обновления (путем обновления всех пакетов, для которых доступна более новая версия).

Если вы являетесь пользователем Arch Linux перед обновлением, рекомендуется посетить домашнюю страницу Arch Linux, чтобы узнать последние новости о необычных обновлениях. Если потребуется ручное вмешательство, будет сделан соответствующий новостной пост. В качестве альтернативы вы можете подписаться на RSS-канал или список рассылки Arch-announce.

Также не забудьте просмотреть соответствующий форум перед обновлением основного программного обеспечения (такого как ядро, xorg, systemd или glibc) на предмет любых обнаруженных проблем.

Частичные обновления не поддерживаются в скользящих выпусках, таких как Arch и Manjaro. Это означает, что когда новые версии библиотек помещаются в репозитории, все пакеты в репозиториях необходимо пересобирать для библиотек. Например, если два пакета зависят от одной и той же библиотеки, обновление только одного пакета может привести к поломке другого пакета, зависящего от более старой версии библиотеки.

Используйте pacman для поиска пакетов

Pacman запрашивает локальную базу данных пакетов с флагом -Q, базу данных синхронизации с флагом -S и базу данных файлов с флагом -F.

Pacman может искать пакеты в базе данных, как по именам пакетов, так и по описаниям:

Чтобы найти уже установленные пакеты:

Чтобы найти имена файлов пакетов в удаленных пакетах:

Чтобы просмотреть дерево зависимостей пакета:

Очистка кэша пакетов

Pacman хранит загруженные пакеты в /var/cache/pacman/pkg/ и не удаляет старые или неустановленные версии автоматически. Это имеет некоторые преимущества:

  1. Это позволяет понизить версию пакета без необходимости получения предыдущей версии из других источников.
  2. Пакет, который был удален, можно легко переустановить прямо из папки кеша.

Однако необходимо периодически очищать кеш, чтобы папка не увеличивалась в размере.

Сценарий paccache(8), входящий в состав пакета pacman-contrib, по умолчанию удаляет все кешированные версии установленных и неустановленных пакетов, за исключением последних трех:

Чтобы удалить все кешированные пакеты, которые в данный момент не установлены, и неиспользуемую базу данных синхронизации, выполните:

Чтобы удалить все файлы из кеша, дважды используйте переключатель очистки, это самый агрессивный подход, который ничего не оставит в папке кеша:

Установка локальных или сторонних пакетов

Установите «локальный» пакет не из удаленного репозитория:

Установите «удаленный» пакет, которого нет в официальном репозитории:

Бонус: устранение распространенных ошибок с помощью pacman

Вот некоторые распространенные ошибки, с которыми вы можете столкнуться при управлении пакетами с помощью pacman.

Не удалось зафиксировать транзакцию (конфликтующие файлы)

Если вы видите следующую ошибку:

Это происходит из-за того, что pacman обнаружил конфликт файлов и не будет перезаписывать файлы вместо вас.

Безопасный способ решить эту проблему — сначала проверить, не владеет ли файл другим пакетом (pacman -Qo /path/to/file). Если файл принадлежит другому пакету, отправьте отчет об ошибке. Если файл не принадлежит другому пакету, переименуйте файл, который «существует в файловой системе», и повторите команду обновления. Если все пойдет хорошо, файл можно будет удалить.

Вместо ручного переименования и последующего удаления всех файлов, принадлежащих рассматриваемому пакету, вы можете явно запустить pacman -S –overwrite glob package, чтобы заставить pacman перезаписать файлы, соответствующие шар.

Не удалось зафиксировать транзакцию (недопустимый или поврежденный пакет)

Найдите файлы .part (частично загруженные пакеты) в /var/cache/pacman/pkg/ и удалите их. Часто это вызвано использованием специальной XferCommand в pacman.conf.

Не удалось инициировать транзакцию (не удалось заблокировать базу данных)

Когда pacman собирается изменить базу данных пакетов, например, установить пакет, он создает файл блокировки в /var/lib/pacman/db.lck. Это предотвратит попытку другого экземпляра pacman одновременно изменить базу данных пакетов.

Если работа pacman будет прервана во время изменения базы данных, этот устаревший файл блокировки может остаться. Если вы уверены, что не запущен ни один экземпляр pacman, удалите файл блокировки.

Проверить, не удерживает ли процесс файл блокировки:

Если приведенная выше команда ничего не возвращает, вы можете удалить файл блокировки:

Если вы обнаружите PID процесса, содержащего файл блокировки, с выводом команды lsof, сначала завершите его, а затем удалите файл блокировки.

Надеюсь, вам понравились мои скромные усилия по объяснению основных команд pacman. Пожалуйста, оставьте свои комментарии ниже и не забудьте подписаться на наши социальные сети. Берегите себя!

Я пользуюсь Arch, и мне это нравится, но мне приходится использовать CentOS в моем офисе и на моем ноутбуке, чтобы соответствовать политике моего офиса. Поэтому я хочу использовать CentOS 7 в качестве рабочего стола, и я также не хочу полностью отказываться от Arch Linux. Итак, есть ли способ установить pacman в CentOS 7 и протестировать два разных дистрибутива?


3 ответа 3

Вы можете установить и использовать pacman, но не можете использовать репозиторий AUR в CentOS 7

Пользователи Arch, которым приходится временно работать с другим дистрибутивом Linux, могут использовать pacapt, простую оболочку для других менеджеров пакетов.

Чтобы установить pacapt, выполните следующие команды:

Спасибо за ответ. Но я хочу установить pacman и yaourt. Я пытаюсь сделать pcaman в centos, чтобы посмотреть, как он работает, тогда я попробую yaourt. Но спасибо за идею abt pacapt. Звучит интересно, и я попробую это на Debian.

Нет (вернее, вам не следует пытаться это сделать) — вам нужно использовать диспетчер пакетов вашего дистрибутива.

pacman не зависит от дистрибутива; так что теоретически возможно. Это, конечно, не означает, что это хорошая идея.

Верно, но это не даст вам AUR, который, кажется, является тем, что требуется многим пользователям Arch с этим типом запроса.

вы можете просто установить archlinux в chroot. Насколько я знаю, это не недостатки производительности.

  1. вы можете скачать archlinux-bootstrap-2016.08.01-x86_64.tar.gz с любого официального зеркала archlinux.
  2. извлеките его и вставьте в него компакт-диск.
  3. запустите следующие команды монтирования: mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/
  4. наконец запустите chroot chroot . /bin/баш

и теперь у вас должна быть рабочая среда chroot для archlinux.


Спасибо за готовый ответ, но вы пробовали?? Разве это не рискованный подход в серверной среде? Я говорю не о сервере моего офиса, а о моем сервере.

Chroot — это ярлык для «Изменить корень». его первый аргумент - это то, где у нас есть корневая файловая система archlinux, второй аргумент - это то, какую программу вы хотите выполнить. chroot безопасен, и он предназначен для безопасности. разработчики используют его для тестирования программного обеспечения, не затрагивая саму ОС. у вас есть другие альтернативы, такие как systemd-nspawn, lxc. но chroot — это простое, достаточно безопасное решение старой школы, которое не требует столько ресурсов.

Arch Linux — один из самых известных и популярных дистрибутивов Linux. Это непросто. Вот почему не каждому пользователю Linux это нравится. Среди всех отличительных особенностей менеджер пакетов «pacman» является основным.Цель состоит в том, чтобы предложить простой способ использования системы сборки и управления пакетами, взятыми из официальных репозиториев или собственных сборок пользователя.

Pacman, в отличие от APT или YUM, имеет собственную структуру команд. Это простое руководство по всем необходимым и некоторым интересным дополнительным командам для «pacman».

Следующее руководство относится к Arch Linux и всем другим дистрибутивам Linux на основе Arch, использующим pacman в качестве менеджера пакетов. Иногда люди предпочитают использовать дистрибутивы на основе Arch вместо оригинального из-за сложного механизма установки. Но факт в том, что это очень просто! Это просто вопрос немного больше внимания и терпения. Узнайте, как установить Arch Linux.

Команда Pacman

Существует множество способов использования pacman. Конечно, постоянно они вам не нужны. Следующее руководство представляет собой краткий набор всех необходимых и интересных методов использования pacman. Полное руководство по «pacman» доступно на официальной вики-странице Arch Linux.

Обновить базу данных

Чтобы любой менеджер пакетов работал правильно, он должен быть синхронизирован с главными серверами. То же самое касается пакмана. Чтобы обновить базу данных пакетов pacman, выполните следующую команду:


Можно заставить pacman обновить базу данных пакетов. Это позволит воссоздать базу данных пакетов. Используйте следующую команду:


Обновление программного обеспечения

Вы можете попросить pacman выполнить полное обновление системы. При этом все обновляемые пакеты будут обновлены до последней версии.


Вы можете комбинировать принудительное обновление базы данных пакетов с командой обновления. Это будет выглядеть примерно так:


Следующая команда укажет pacman обновить/откатить установленные пакеты до версии, доступной на главных серверах.

Например, если в вашей системе установлен пакет «xyz-1.5», но последней версией на главном сервере является «xyz-1.4.9», pacman понизит версию до «xyz-1.4.9».


И то, и другое можно комбинировать для выполнения аналогичного действия.


Установка пакетов

Установить пакет с pacman очень просто. Просто запустите следующую команду:


Этот процесс автоматически определит все необходимые зависимости и позаботится об этом.

В некоторых случаях пакеты имеют схожие шаблоны. Вместо того, чтобы вводить одно и то же имя снова и снова, используйте квадратные скобки в качестве ярлыка. Например, для установки таких пакетов Python, как pip, py, pytest и pytest-runner, выполните следующую команду:

Примечание. Между запятой и именем следующего пакета НЕ ДОЛЖНО быть пробелов. В противном случае команда не будет работать.


В некоторых случаях вы можете просто загрузить пакет. Pacman может быть использован для выполнения действия за вас. Просто используйте флаг «-Sw».


Pacman уведомит вас только о размере загружаемого файла, так как пакет только загружается, а не устанавливается.

Pacman загрузит пакет как

.tar.xz и сохраните его в каталоге «/var/cache/pacman/pkg». На самом деле все пакеты Arch Linux доступны в формате .TAR.XZ. Не волнуйтесь; pacman может напрямую установить файл .TAR.XZ при условии, что это легальный файл пакета Arch Linux.


Если вы не знали, все пакеты, которые вы загружаете с помощью pacman, всегда будут там. Проверьте, какие есть пакеты.


Нужно узнать конкретные пакеты? Используйте «grep» для поиска определенного пакета.


Если вам когда-нибудь понадобится установить/обновить/понизить версию какого-либо пакета, вы знаете, где его найти.

Поиск

Если вас смущает название пакета, попросите pacman найти его для вас!


В этом методе нет выделения цветом. Облом! Не волнуйтесь; pacman уже умеет раскрашивать вывод, но по умолчанию эта функция отключена. Хотите увидеть красочный результат? Отредактируйте «pacman.conf» и раскомментируйте параметр «Цвет».



Не забудьте проверить результат!


Помимо основного механизма поиска, существуют различные способы поиска пакетов. Базовый способ весьма полезен, но иногда знание других способов сделать то же самое может принести больше пользы.

Мне нравится использовать для этой цели grep. Используйте pacman, чтобы вывести список всех доступных пакетов, а затем направьте вывод в «grep», чтобы отобразить все необходимые пакеты.

Вы заметили флаг "-Ssq"? Он говорит pacman распечатать ВСЕ доступные пакеты, по одному в строке. Я передал его в grep, чтобы показать только пакеты python3. Конечно, вы не получите краткое описание пакета.

Есть еще один встроенный инструмент для поиска за вас: pacsearch. Он предлагает лучшее представление вывода с хорошей окраской и форматированием. Он должен быть доступен в вашей системе. Однако по какой-то причине, если в вашей системе он не установлен, установите его прямо сейчас! Это часть пакета «pacman-contrib». Попросите pacman выполнить установку за вас.


Теперь позвольте pacsearch выполнить предыдущее действие.


Информация о пакете

Следующая команда выведет список всех установленных пакетов в вашей системе.


Это всегда будет довольно долго и запутанно. Если вы ищете какой-либо конкретный пакет, используйте «grep».


Если вам нужна подробная информация об определенном пакете, используйте флаг "-Qi" с pacman.


Если вы не передадите имя пакета в аргументе, будет показана информация обо всех пакетах в базе данных пакетов pacman. Используя «grep», можно изменить вывод, чтобы отображалась только нужная информация.


Этот командный флаг «-Q» покажет только информацию об установленном пакете. Нужно проверить последнюю информацию о пакете? Вместо этого используйте флаг «-Si».



Удаление

С pacman удаление пакета более безопасно. Просто запустите следующую команду:


Примечание. Это ВСЕГДА гарантирует, что зависимости не будут нарушены. Если вы когда-нибудь попытаетесь удалить зависимость, это заблокирует процесс удаления.

Можно заставить pacman удалить пакет, независимо от того, нарушает ли он другие зависимости или нет. Это чрезвычайно опасный способ удаления пакета и настоятельно НЕ РЕКОМЕНДУЕТСЯ, если вы не уверены в том, что делаете.

Заключительные мысли

Pacman — это мощный менеджер пакетов для Arch Linux. Ни один пакет не проходит мимо него. Даже если вы устанавливаете пакеты из других источников, таких как репозиторий AUR, для завершения установки необходимо пройти через pacman. Поскольку это один из наиболее важных компонентов экосистемы Arch, неудивительно, что вы должны стоять перед окном консоли и просить pacman выполнить определенные задачи. Надеюсь, это краткое руководство было полезным в вашем путешествии с Arch Linux.

Об авторе

Сидратул Мунтаха

Студент CSE. Я люблю Linux и играю с технологиями и гаджетами. Я использую как Ubuntu, так и Linux Mint.

Читайте также: