Arch linux установщик пакетов

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

Все существующие дистрибутивы Linux для того, чтобы осуществлять операции по обновлению ПО и библиотек ОС в основном используют пакетные менеджеры. Пакетный менеджер является ключевой программой, который зачастую и отличает различие одного дистрибутива Linux от другого.

Общее описание технологии

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

Pacman сам по себе может использоваться не только в ArchLinux и его производных, но и в прочих дистрибутивах. Возможна адаптация pacman для использования RPM, а также пакетов прочего типа, несовместимого со стандартным ArchLinux.

Pacman, как и RPM имеет возможность загрузки части пакета при обновлении. При работе pacman зачастую значительно быстрее обрабатывает транзакции, нежели это делает DPKG или RPM.

История разработки ArchLinux

Первые версии ArchLinux на самом деле являлись просто некоторой сборкой LFS, содержащим набор скриптов для сборки и развертывания дистрибутива. Очень долго, для установки самого дистрибутива pacman вообще не использовался, установочный образ содержал специализированную программу, называемую Arch Install Frimewere (AIF).

Сам по себе, дистрибутив в первых своих версиях содержал примитивную скрипт-сборочную пакетную систему, называемую Arch Build System (ABS). Суть такой примитивной пакетной системы заключался в предоставлении быстрого и удобного метода сборки пакетов из исходного кода. Но это не то, что хотел иметь собственно разработчик Arch Linux. По этой причине была разработана утилита pacman, которая и предназначалась для оперирования с уже собранными бинарными пакетами. ABS затем была переназначена для того, чтобы заниматься сборкой пакетов для pacman.

В дальнейшем, ABS в Archlinux позволил создать пользовательский репозиторий рецептов для сборки пакетов, называемый AUR. Из AUR возможна установка пакетов ArchLinux, которых нет даже в официальных репозиториях.

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

Установка пакетов ArchLinux, их обновление, а также их удаление как мы уже поняли выше, осуществляются при помощи pacman. Данная утилита достаточно проста. Рассмотрим команды ее синтаксис:

$ sudo pacman [опция]

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

  • -S – установка программ в archlinux;
  • -Sw — скачать пакет но не устанавливать;
  • -U — установить локальный пакет;
  • -s – поиск пакета;
  • -i – информация;
  • -u – обновить пакеты;
  • -y – обновить списки пакетов из репозиториев;
  • -dd – игнорирование зависимостей;
  • -g – запрос информации о группе;
  • -l – вывод пакетов в виде списка;
  • -o – вывод в файл;
  • -R – удаление;
  • -Q – запрос к базе данных установленных пакетов;
  • -F – поиск по файлам;
  • -D – задание и изменение цели установки уже имеющегося пакета;
  • -R — удалить пакет;
  • -Rn — удалять резервные копии конфигурационных файлов;
  • -Rs — удалять зависимости пакета;
Читайте также:  Все линуксы загрузочный диск

Это основные опции, которые будут применяться в этой инструкции.

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

Сначала рассмотрим как выполняется установка программ ArchLinux с помощью Pacman из официальных репозиториев, а потом остановимся на пользовательском репозитории AUR. Теперь рассмотрим основные команды pacman archlinux.

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

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

sudo pacman -Suy

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

Установка конкретного пакета:

sudo pacman -S [имя пакета]

Удаление конкретного пакета:

sudo pacman -R [имя пакета]

Принудительное удаление конкретного пакета, с игнорированием зависимостей:

sudo pacman -Rdd [имя пакета]

Поиск пакета в репозиториях:

pacman -Ss [имя пакета]

Получение информации о пакете:

pacman -Si [имя пакета]

Поиск только среди установленных пакетов:

pacman -Qs [имя_пакета]

Просмотр списка всех установленных пакетов:

Просмотр списка файлов пакета:

pacman -Ql [имя_пакета]

sudo pacman -Scc

Установка пакетов из AUR

К сожалению, не все пакеты есть в официальных репозиториях, многие вам придется искать пакеты на стороне. Большинство пакетов уже собраны и подготовлены пользователями в репозитории AUR. Для этого можно использовать пакет pacaur. Его можно установить командой:

curl -o install.sh https://gist.githubusercontent.com/Tadly/0e65d30f279a34c33e9b/raw/pacaur_install.sh
$ sudo sh install.sh

Теперь вы можете использовать те же опции что и в утилите pacman в pacaur чтобы пользоваться AUR, например, поиск пакета:

pacaur -Ss firefox

pacaur -S firefox

Графический интерфейс Pacman

Для любителей пользоваться графическим интерфейсом вместо терминала в ArchLinux есть утилита pamac. Это простой менеджер приложений, чем-то похожий на стандартный менеджер приложений Ubuntu:

Для установки пакета достаточно открыть для него контекстное меню и нажать «Установить»:

Удаление пакетов выполняется тем же образом.

Выводы

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

Источник

Записки программиста

Управление пакетами в Arch Linux с помощью ABS и pacman

Сегодня мы поговорим об основах управления пакетами в Arch Linux. В общем и целом, идея напоминает ports и packages из мира FreeBSD. То есть, можно как компилировать софт из исходников, так и ставить бинарные пакеты. Но есть ряд существенных отличий. Итак, давайте же во всем разберемся!

Использование pacman

Pacman (название означает package manager) — это местная утилита для управления бинарными пакетами, аналог apt-get из мира Debian / Ubuntu или yum из мира RHEL / CentOS / Fedora. Пользоваться им очень просто.

Получение общей справки или справки по конкретным командам:

Флаги с буквами в верхнем регистре означают команды. Из них основные — это -S (sync), -Q (query) и -R (remove). Все они имеют дополнительные флаги, которые пишутся в нижнем регистре. Например, s означает search. Зная типичные дополнительные флаги, получаем сравнительно простую и понятную схему. Например, -Ss означает поиск по всем пакетам, а -Qs означает поиск только по установленным пакетам. В итоге, основные действия с пакетами выполняются следующим образом.

Читайте также:  Raw чем открыть windows

Установка группы пакетов:

Список пакетов, входящих в группу:

Список всех доступных групп:

Обновить базу данных пакетов:

Обновить установленные пакеты:

Список пакетов, для которых есть обновления:

Список установленных пакетов:

Поиск установленного пакета по регулярному выражению:

Список файлов, принадлежащих пакету:

Определить, к какому пакету относится заданный файл:

Удаление пакетов, установленных, как зависимости, и ставших ненужными (autoremove):

Некоторые пакетные менеджеры умеют «замораживать» пакеты, то есть, не обновлять их при наличии обновлений (hold в Debian и деривативах, lock во FreeBSD). Для достижения того же эффекта в Arch Linux в файле /etc/pacman.conf в секцию [options] нужно дописать что-то вроде:

Заканчивая рассказ про pacman, хочется отметить, что список серверов с пакетами находится в /etc/pacman.d/mirrorlist, а кэш загруженных пакетов следует искать в /var/cache/pacman/pkg/. Для очистки кэша используйте команду:

Логи пишутся в /var/log/pacman.log. В них вы всегда найдете, что, на что, и когда было обновлено.

Пример использования AUR

AUR (аббревиатура от Arch User Repository) — это каталог пакетов для Arch Linux, поддерживаемых пользователями (типа как PPA в мире Ubuntu). На сайте aur.archlinux.org есть поиск, комментарии к пакетам, и многое другое.

Для примера рассмотрим установку пакета ttf-ms-fonts, который содержит шрифты от Microsoft, и по более-менее понятным причинам доступен только в AUR:

В репозитории вы найдете файл PKGBUILD (используется синтаксис bash), и плюс к нему, возможно, какие-то патчи и подобные вещи. Файл PKGBUILD содержит информацию о том, откуда качать исходники пакета и какие контрольные суммы у этих исходников, с какими флагами их собирать, и так далее. Таким образом, немного подправив PKGBUILD, можно собрать пакет со своими флагами. Хорошей практикой считается держать репозитории AUR-пакетов где-нибудь в

/packages, время от времени делая им git pull и обновляясь на новую версию.

Будучи в репозитории говорим:

Здесь ключ -s означает необходимость установить недостающие зависимости с помощью pacman. Настройки makepkg хранятся в файле /etc/makepkg.conf. Это местный аналог /etc/make.conf из мира FreeBSD. В нем можно указать CFLAGS, CXXFLAGS и подобные вещи. Очень рекомендуется указать в параметре PACKAGER свое имя и email. Это позволит отличать пакеты, собранные вами, от всех остальных.

Наконец, ставим собранный пакет:

Кстати, с помощью pacman -U также можно откатываться к более ранним версиям пакетов. Где искать кэш со скаченными пакетами, вы уже знаете. Если же пакета нет в кэше, его всегда можно найти на archive.archlinux.org.

Дополнение: На случай, если пакет из AUR зависит от других пакетов из AUR, предусмотрено ряд утилит, благодаря которым не придется ставить все эти пакеты вручную, как описано выше. Методом тыка я решил попробовать yaourt и оказался им вполне доволен. Утилита работает в точности, как pacman, только дополнительно позволяет устанавливать пакеты из AUR.

Читайте также:  Как узнать зарегистрирован ли мой windows

Единственная неприятная особенность этой утилиты заключается в том, что при сборке пакетов из AUR она задает кучу разных вопросов в стиле:

Исправить такое поведение можно, прописав в

Из интересных фишек yaourt стоит упомянуть, что утилита выводит в консоль обсуждения пакетов на AUR. Это очень удобно, например, в случае, если пакет вдруг не собирается, так как в комментариях нередко можно найти воркэраунд.

Собираем пакеты из исходников с помощью ABS

Под аббревиатурой ABS (Arch Build System) понимается сразу несколько довольно разных вещей. Это (1) сам механизм сборки пакетов в Arch Linux, с файлами PKGBUILD, утилитой makepkg и прочим, как было описано выше. ABS называется и (2) аналог дерева портов из мира FreeBSD, использующий (1), и о котором пойдет речь в этом параграфе. Также (3) ABS может означать утилиту abs, предназначенную для работы с (2). Наконец, (4) поскольку официальные пакеты собираются из ABS в смысле (2), аббревиатуру ABS часто используют в смысле «противоположность AUR». Несмотря на всю эту неразбериху, значение «ABS» обычно легко понять по контексту.

Итак, для работы с ABS в смысле (2) первым делом ставим утилиту abs:

С помощью этой утилиты скачиваем ABS:

Все исходники сваливаются в /var/abs. У меня они заняли около 82 Мб. Далее работа с ABS осуществляется точно так же, как с AUR. Интересно, что makepkg не позволяет запускать себя из под рута, в связи с чем приходится копировать исходники пакетов из /var/abs к себе в

/packages, и держать их там вместе с AUR. Это разумно сразу по нескольким причинам. Во-первых, вы всегда точно знаете, какие пакеты вы собираете из исходников, а какие — нет. Во-вторых, сборка пакетов из ABS часто означает их сборку со своими параметрами, то есть, с изменением PKGBUILD. Чтобы эти изменения не терялись при обновлении ABS, вы можете держать у себя в

/packages не только измененный PKGBUILD, но и патч к нему.

В файле /etc/abs.conf можно указать, что утилита abs должна тянуть, а что нет. Например, можно не тянуть каталог core и дополнительно тянуть testing.

Обновление ABS производится так:

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

… а в /etc/pacman.conf:

Помимо прочего, при помощи ABS можно собрать кастомное ядро Linux. Сорцы соответствующего пакета вы найдете в /var/abs/core/linux.

Заключение

Увы, невозможно рассказать все в рамках одного поста. Например, мы не рассмотрели создание собственных пакетов и их заливку на AUR или такую интересную возможность pacman, как хуки. Надеюсь, что мне удалось дать вам 10% информации, которая помогает решить 90% всех проблем. Остальные 90% информации ищите в официальной вики и манах. Повторюсь, у Arch Linux они действительно классные.

Буду рад вашим вопросам и дополнениям. Можно подумать, я когда-то не был им рад 🙂

Источник

Оцените статью