- Установка софта в Manjaro
- Что лучше deb или rpm
- Основы
- RPM (Red Hat Package Manager)
- Deb (Debian Package Manager)
- Аналоги команд
- Популярные пакетные менеджеры Linux
- Теоретические основы
- Категории пакетных менеджеров
- Распространенные форматы пакетов
- Разрешение зависимостей
- Популярные пакетные менеджеры
- Особенности
- Оболочки APT
- Особенности
- Yum Extender
- Pacman
- Особенности
- Оболочки Pacman
- Portage
- Особенности
- Интерфейсы Portage
- Заключение
Установка софта в Manjaro
Поставил в виртуальной машине Manjaro, чтобы попробовать, всё ли у меня там будет работать, прежде чем переползать на него из под минта. Возникают вопросы, конечно. Например, вот такой. Я так понимаю, этот дистриб основан на арче, потому .deb и .rpm пакеты под него не годятся. На сайте хрома я нашёл только их. В репах же — только хромиум, но не хром. Как поставить хром (или любой другой софт), для которого есть только deb/rpm пакеты (а зачастую, именно только они и есть)?
для которого есть только deb/rpm пакеты (а зачастую, именно только они и есть)?
Почему-то из гуишной утилиты для установки софта хромиум ставится не захотел — ругался, мол, репы недоступны. Хотя, из консоли тут же поставился без проблем. Кроме того гуишная тулза просила проставить галочки на зависимости. будто я что-то соображаю в этих зависимостях.
Дистриб, как я понимаю, претендует на звание «готов к десктопу». Какого хрена я должен что-то там писать?
претендует на звание «готов к десктопу»
Не верь надписям на заборах.
Я так понимаю, этот дистриб основан на арче, потому .deb и .rpm пакеты под него не годятся. На сайте хрома я нашёл только их.
А я тебе говорил про это в прошлом треде!)
А я тебе говорил про это в прошлом треде!)
Можешь повторить, что ты говорил? Я или не прочитал или забыл.
Ubuntu как была главным десктоп-дистрибутивом, так и осталась, все остальное будет хуже.
Какой дистриб использовать в 2019 году? (комментарий)
В Манжаре (Арче) с софтом управляться гораздо удобнее. И софта не меньше, и лежит он в одном месте, без поиска и подключения всяких PPA.
Это я тебе как бубунтойд с большим стажем говорю.
Вот например твой Хром
В репах же — только хромиум, но не хром
yaourt -S google-chrome
Открыть пакетный менеджер, включить «Enable AUR support», через поиск найти chrome, нажать «установить»
Кроме того гуишная тулза просила проставить галочки на зависимости…
Это в manjaro для optdepends?
Да. Их необязательно ставить.
Manjaro — не Arch.
И лучше всяких бубунт, ибо вылизан немцом =)
Ну, я не в теме. Делал:
pacman -S google-chrome
И как ты слбирался пакет из аура ставить обычным пакетным менеджером?
Есть доп.репы прописываешь в конфиге пакмана и ставишь хром из них, без аура. А в манжаре стандартный менеджер позволяет подключать аур, галку только поставить.
deb ставится, но с костылями. короче: yay ставишь, а потом yay -Ss chrome, если есть что нужно yay -S пакет. удаление yay -Rsn пакет. обновить все пакеты yay -Syu. установленные пакеты yay -Q поиск по установленным yay -Qs text
И как ты слбирался пакет из аура ставить обычным пакетным менеджером?
А чем отличается аур от «обычного стирального порошка»(c)(tm)?
Просто yay пакет для поиска или yay для обновления. S не обязательно
Это ещё что за хрень? Я ещё не начал толком пользоваться системой, а уже знаю pacman, yaourt и вот теперь yay. 🙁
Это надстройка над пакманом заменяет их удобная штука
yay и yaourt — выполняют одну функцию. По сути, заменяют друг друга. Яорт старый, сейчас рекомендуют yay, но по умолчанию в Манджаре yaourt. Потому тебе сказал через него ставить.
Задача и yay и yaourt — ставить пакеты из дополнительного репозитория, которых нет в обычных репозиториях (через пакман просто).
yay можно установить через yaourt. Могут быть одновременно установлены оба. Используй тот, что больше нравится.
Это не обычная репа с пакетами программ. А «репа» с набором инструкций для сборки или установки пакетов. Устанавливать пакеты по этим инструкциям можео как в ручном режиме так и с помощью програм хелперов yay одна из таких программ.
Это как apt и apt-get?
Не совсем. Yay на модном go более современный, yaourt на скриптах устарел уже. А так по использованию мало отличаются
Если коротко ответить на вопрос — в манжаро (и арче впрниципе тоже) есть 2 пути установки ПО. Стандартный репозиторий ( apt в убунте) с которым идет работа через pacman (по умолчанию), который содержит в себе софта побольше и посвежее чем в убунте. Есть дополнительные репозитории (ppa убунтовские с ними схожи), из которых самый популярный aur (было что то еще вроде бы). Причем если в убунте в ppa идут несколько узкоспециализированных с зависимостями то в том же ауре есть все (я утрирую, но думаю потребности очень многих пользователей он с лихвой покрывает). Работа с ауром — доступно через гуи установки приложений в manjaro (там возможно переключатель в настройках включить нужно).
Также — deb/rpm пакеты можно сконвертировать в арчевские пакеты (как не помню, но легко гуглится).
для которого есть только deb/rpm пакеты (а зачастую, именно только они и есть)?
Большинство уже написаны. За почти два года на манджаре напейсал только один
BrightBig , в pamac’e — это гуй для манагера пакетов — в настройках ставишь галку «включить аур», ищешь хром и ставишь
Дистриб, как я понимаю, претендует на звание «готов к десктопу»
И он готов. Regular домохозяйке в терминал не придётся лезть ни разу, гуй для всего. Блин, даже ядра в пару кликов ставятся
Источник
Что лучше deb или rpm
Установка программного обеспечения — очень важный момент в работе с операционной системой. Сейчас есть две самые распространенные системы установки программного обеспечения. Это используемая в Debian и всех ее производных, в том числе и в Ubuntu — deb, а также разработанная в RedHat и используемая в Red Hat и всех основанных на ней дистрибутивов — rpm.
Обе системы и deb и rpm полнофункциональные, легкие в использовании и имеют очень большое количество программного обеспечения. Многих пользователей интересует в чем разница между этими двумя системами. Но в интернете мы находим только общие сведения вроде того что уже выше написано. В этой статье мы попытаемся разобраться что лучше deb или rpm. Также попытаемся вникнуть в суть их различий.
Основы
С точки зрения пользователя, эти два варианта установки пакетов не имеют очень больших различий. Оба файла и Deb и Rpm — это всего лишь архивы, созданные с помощью утилиты ar. Эти архивы включают в себя файлы программ, исполняемые файлы, библиотеки, или файлы конфигурации. Кроме этого, в каждый пакет входят метаданные системы управления пакетами, именно этим и отличаются rpm и deb. Собственно файлы пакетов отличаются в основном только этим, но еще есть система управления пакетами. А там уже различий в базе данных намного больше.
Давайте рассмотрим каждую систему управления пакетами подробнее, а затем сравним что же в них особенного, и что лучше rpm или deb.
RPM (Red Hat Package Manager)
Как мы уже говорили, RPM — это менеджер пакетов, используемый в операционных системах, основанных на Red Hat, это вся ветка дистрибутивов: Fedora, OpenSUSE, Red Hat, CentOS и т д. Изначально этот пакетный менеджер был разработан в компании Red Hat еще в 1997 году и только для их дистрибутива, но затем он распространился и в другие операционные системы. Вместо обычного сжатия здесь используется сжатие gzip по алгоритму cpio и особый формат файла архива, его мы рассмотрим ниже. Здесь в сравнении rpm или deb, первый кажется лучше, но не все так просто, если в системе нет нужных утилит, то вы не сможете распаковать такой пакет. Кроме cpio могут использоваться и другие алгоритмы сжатия, например, lzma или xz. В последнее время все программное обеспечение подписывается ключами для удостоверения подлинности, вот и RPM поддерживает подпись с помощью GPG и MD5. Технология PatchRPMs или DeltaRPMs позволяет грамотно обновлять RPM пакеты без больших затрат трафика.
Хоть и сказано, что файл rpm — это обычный архив, это не совсем так. Вначале файла находится заголовок, который идентифицирует файл как rpm архив, затем идет подпись, для проверки целостности и подлинности файла. Дальше идет заголовок, в котором содержаться данные о самом пакете, версия, архитектура, список файлов и т д. И только после всего этого идет сам архив с файлами пакета.
Для работы с RPM могут использоваться несколько различных пакетных менеджеров, это универсальная утилита rpm, пакетный менеджер zypper в OpenSUSE, dnf в Fedora, urpmi в Mageia, yum — во многих дистрибутивах, основанных на Fedora.
Рассмотрим основные особенности RPM:
- Автоматическое разрешение зависимостей в большинстве случаев корректно
- Файл архива имеет специальный формат
- Не поддерживается реализация зависимостей с выбором завистимости от пакет1 или пакет2.
- Не поддерживаются рекомендованные пакеты
- Позволяет настроить зависимость от файла, а не пакета
- Все данные об установленных пакетах хранятся в базе данных поэтому при надобности можно проверить контрольные суммы
- Поддерживаются сценарии как до, так и после установки программ
- Поддерживается формат SRPM, который содержит в себе исходники программы все патчи с инструкции по сборке, позволяющие собрать программу из исходников на локальной машине.
- Отличная поддержка Multilib пакетов
Deb (Debian Package Manager)
Файлы deb — это архивы, созданные с помощью утилиты ar. Они могут быть сжаты с помощью GZIP, Bzip2, lzma, или XZ. Чаще всего для управления пакетами deb в терминале используется утилита dpkg, Но могут и другие, например, gdebi, apt, aptitude и т д. Deb пакеты используются для установки программного обеспечения во многих операционных системах, основанных на Debian, это ветка Ubuntu со многими основанными на ней дистрибутивами и так далее. Поскольку Ubuntu в последнее время набирает популярность среди новичков, то пакетов для нее становится больше.
Из особенностей системы управления пакетами DEB можно назвать использование приоритетов для классификации пакетов по важности, а также поддержку рекомендованных пакетов. Это пакеты, которые не находятся в зависимостях программы, но желательны для установки вместе с ней. Рекомендованные утилиты устанавливаются автоматически в таком инструменте, как apt. Чтобы сравнить rpm vs deb рассмотрим особенности deb:
- Файл пакета — обычный архив
- Поддержка приоритетов для пакетов различной важности
- Поддержка рекомендованных пакетов
- Не поддерживаются файловые зависимости
- Не поддерживается технология Delta для экономии трафика
Аналоги команд
Давайте рассмотрим аналоги команд для выполнения одних и тех же действий в этих системах управления пакетами с помощью утилит rpm и dpkg:
Источник
Популярные пакетные менеджеры Linux
Содержание:
На заре разработки Linux установить приложение можно было только путем скачивания и компиляции исходников программы. Из-за использования сразу нескольких утилит и ошибок, возникавших в процессе сборки, установка одной программы отнимала много времени.
Чтобы сделать систему дружелюбней к пользователю, были разработаны пакетные менеджеры, которые полностью автоматизировали установку программ. Инсталляция приложений в них производится из пакетов – архивов с файлами скомпилированной программы. Исключение — система Gentoo, где менеджер компилирует программы по подготовленным скриптам.
Большинство популярных дистрибутивов на базе Unix/Linux уже оснащены пакетными менеджерами, способными устанавливать любое программное обеспечение. Будь то внешнее приложение или компоненты ОС. В этом заключается основное различие между пакетным менеджером и инсталлятором. Последний нужен для установки только одной специфической программы, тогда как система управления пакетами — универсальный установщик ПО.
Все пакетные менеджеры Linux имеют свой список репозиториев – серверов с базой пакетов. Во время установки алгоритм менеджера находит необходимый пакет в базе и производит автоматическое скачивание, установку и настройку.
О типах пакетных менеджеров и наиболее популярных вариантах реализации данного ПО расскажем в этой статье.
Теоретические основы
Категории пакетных менеджеров
- Высокоуровневые менеджеры. Применяются для поиска и скачивания пакетов из репозиториев. В процессе работы могут задействовать низкоуровневые менеджеры для инсталляции загруженных программ.
- Низкоуровневые менеджеры. Используются для установки локальных пакетов, загруженных вручную пользователем, или высокоуровневым пакетным менеджером.
Распространенные форматы пакетов
- DEB (.deb). Самый популярный формат пакетов дистрибутива Debian и его ближайших родственников — Ubuntu, MX Linux, Pop!_OS, elementary OS и других.
- RPM (.rpm). Разработан компанией Red Hat и внедрен в дистрибутив RHEL. Также применяется в таких системах как Fedora и CentOS.
- TAR.XZ. Стандартный тип пакетов для дистрибутива ArchLinux и его производных — Manjaro, ARCOLINUX и других.
- Ebuild (.ebuild). Скрипт bash-сценария для компиляции программ в дистрибутивах Gentoo и Calculate Linux.
Разрешение зависимостей
Для корректного функционирования пакетных менеджеров необходимо корректное отслеживание пакетных зависимостей. Зависимости – список дополнительных пакетов и библиотек, участвующие в работе программы. Во время установки приложения пакетный менеджер или компилятор считывают специальный файл со списком зависимостей, а после проверяют их наличие в системе.
Если важная зависимость будет не удовлетворена при установке программы низкоуровневым менеджером, то будет выдана ошибка с названием отсутствующего пакета. В подобной ситуации проблема решается отдельной установкой недостающего пакета.
При использовании высокоуровнего пакетного менеджера для установки программы, зависимые пакеты будут установлены в автоматическом режиме, без вмешательства пользователя.
Популярные пакетные менеджеры
DPKG (Debian Package) – система управления пакетами в Debian и дистрибутивах на его основе, например Ubuntu.
Утилита DPKG появилась в дистрибутиве Debian в 1995 году. Низкоуровневый пакетный менеджер создан только для работы с локальными DEB пакетами и не может самостоятельно разрешать зависимости, а также скачивать пакеты из репозиториев.
Особенности
- Поддерживает добавление архитектур из других дистрибутивов Linux.
- DPKG выполняет работу только с локальными пакетами.
- Под архитектуру DEB выпущено более 55000 пакетов.
Пакеты DEB – это архивы с набором установочных файлов. Для установки в систему необходимой программы из репозиториев создан высокоуровневый пакетный менеджер APT, который параллельно работает с DPKG.
APT (Advanced Packaging Tool) – консольная утилита, выполняющая роль «поисковика» и загрузчика пакетов из репозиториев. Установка скачанных пакетов производится утилитой DPKG. Благодаря эффективному разрешению зависимостей, пакетный менеджер APT используется по умолчанию в дистрибутивах с архитектурой Debian и поддерживает систему в актуальном состоянии.
Список репозиториев хранится в файле «/etc/apt/sources.list» и может быть изменён пользователем в любой момент для установки или обновления программы, не входящей в базу дистрибутива. Установка скачанных пакетов производится утилитой DPKG.
Изначально APT разрабатывался только для работы с пакетами DEB, использующихся в Debian и родственных ОС (Ubuntu, Linux Mint). Позже в него была добавлена поддержка rpm-файлов. Благодаря этому, установить софт привычным образом можно даже в дистрибутивах RED HAT и его производных (Fedora, CentOS и др.).
Оболочки APT
Для упрощения работы с APT можно использовать консольные оболочки APTITUDE или Synaptic.
APTITUDE
APTITUDE — это утилита, выполняющая роль «надстройки» для APT. Разработчики программы добавили полезные функции, оптимизирующие систему поиска пакетов, а также исправили ошибки, касающиеся разрешения зависимостей.
APTITUDE доступен в нескольких вариантах интерфейса:
- Графический интерфейс (GUI) на базе фреймворка GTK. Привычный для пользователя оконный интерфейс с возможностью управления мышью.
- Текстовый пользовательский интерфейс. Оболочка, открывающаяся в консоли. Интерфейс снабжается минимальным количеством графических элементов и может запускаться через протокол SSH. Управление осуществляется с помощью одиночных или групповых нажатий клавиш клавиатуры. Например, для переключения строк чаще всего используются клавиши со стрелками.
- Интерфейс командной строки. Подразумевает управление программой с помощью команд. Вариант позволяет полноценно пользоваться функционалом утилиты и подходит для продвинутых пользователей.
Если в дистрибутиве APTITUDE отсутствует по умолчанию, то выполнить установку можно следующими командами:
Synaptic
Synaptic — графический менеджер пакетов, работающий на основе APT. Программа пригодится новичкам, плохо знакомым с командной строкой. Несмотря на простоту интерфейса, утилита предоставляет весь необходимый функционал пакетного менеджера APT (установка, удаление, обновление и поиск пакетов).
Установить Synaptic можно следующими командами:
Открыть программу можно, найдя ярлык в меню рабочего окружения, или введя « sudo synaptic » в терминале.
RPM (Red Hat Package Manager) – формат пакетов и низкоуровневый пакетный менеджер систем RED HAT (RHEL, CentOS, Fedora и др.) Как и DPKG, способен работать только с локальными файлами.
Пакетный менеджер выпущен в 1997 году. Он работает с пакетами RPM. В отличие от DEB, пакеты RPM архивируются утилитой cpio, сжимающий пакет алгоритмом gzip.
Особенности
- Обновление программ производится в ускоренном режиме, благодаря замене только отредактированных разработчиком элементов пакета.
- Для скачивания, обновления пакетов, а также разрешения зависимостей придётся использовать пакетные менеджеры более высокого уровня (YUM, DNF).
- Начиная с 2010 года, пакеты подписываются с хешем MD5. Это исключает вероятность изменения файла RPM злоумышленником для внедрения вирусного кода.
YUM (Yellowdog Updater, Modified) – высокоуровневый пакетный менеджер, написанный на языке Python для систем RED HAT (RHEL, CentOS, Fedora). Программа представляет собой своеобразную оболочку для утилиты RPM.
В задачу YUM входит скачивание и обновление пакетов из репозиториев, а также удовлетворение зависимостей во время установки программы.
DNF (Dandified YUM) – модифицированная версия пакетного менеджера YUM на языке на Python. Разработка утилиты начата в 2011 году. В 2015 году DNF стал основным менеджером пакетов для системы Fedora 22. В DNF были исправлены такие недостатки YUM, как некорректная установка зависимостей, низкая скорость работы, большое потребление оперативной памяти.
Yum Extender
Yum Extender – лёгкая графическая оболочка для менеджеров пакетов YUM и DNF.
Yum Extender устанавливается следующей командой:
Pacman
Pacman – высокоуровневый пакетный менеджер системы Arch Linux и его родственных дистрибутивов (Manjaro, EndeavourOS и др.). Программа написана на языке C# и совмещает высокую функциональность, легкость и производительность. В качестве пакетов используются архивы pkg.tar.xz.
Особенности
- В Pacman совмещены функции работы с репозиториями и установка пакетов в систему, в отличие от систем Debian или Red Hat.
- В систему устанавливается новейшее ПО, благодаря модели обновлений «плавающий релиз» (rolling-release).
- В репозиториях Pacman располагаются заранее собранные пакеты, что значительно ускоряет процесс инсталляции программ.
- Поддержка работы с репозиторием AUR.
Компиляция программы производится только в том случае, если пакет взят из репозитория AUR (Arch User Repository). Он содержит более 54000 пакетов и активно поддерживается обычными пользователями и администраторами ArchLinux.
Перед тем, как попасть в официальный репозиторий дистрибутива, пакеты проходят тщательный отбор в репозиториях AUR. Репозиторий AUR, в отличие от официального репозитория, содержит скрипты PKGBUILD для самостоятельной сборки пакета в системе пользователя. Для компиляции используется скрипт MakePKG.
Оболочки Pacman
MakePKG
Скрипт, объединяющий работу компилятора, линкера и других вспомогательных приложений для сборки пакета из PKGBUILD. MakePKG установлен по умолчанию в системе с пакетным менеджером Pacman. Компонент входит в пакет base-devel и ABS (Система автоматической сборки пакетов).
Установка или обновление всех компонентов производиться командами:
Для установки программы и зависимостей согласно скрипту PKGBUILD, нужно перейти в каталог с файлом и выполнить команду:
Важно. Запуск скрипта с помощью MakePKG должен проводится без предоставления прав администратора. Это делается для защиты системы от выполнения вредоносных команд, находящихся в файле «pkgbuild».
Программа написана на языке GO и используется для поиска и установки пакета из репозитория AUR. Управления Yay производится посредством командной строки.
Для установки утилиты в дистрибутив с Pacman нужно задать следующие команды:
Утилита Yay упрощает весь алгоритм установки до ввода одной простой команды в консоль. Например, запрос к терминалу для инсталляции пакета из AUR строится следующим образом:
Примечание. Для установки пакетов через Yay не требуется предоставлять административный доступ утилите (добавлять «sudo» перед командой).
Pamac
Графический менеджер пакетов Pamac разработан специально для Manjaro, но может быть установлен в любой дистрибутив на основе Arch Linux. Программа сочетает лёгкость с большим функционалом. В качестве источников используются официальные репозитории дистрибутивов AUR и Snappy.
Установка программы Pamac выполняется командой:
Portage
Portage – система управления пакетами Gentoo или Calculate Linux. Установка программ для данного дистрибутива несколько отличается от остальных систем Linux. В Gentoo пакетный менеджер использует исключительно исходный код, а не готовые пакеты для установки программ.
Особенности
- Программы собираются под пользовательскую систему и железо, что обеспечивает стабильную работу ОС.
- По сравнению с распаковкой программ у других пакетных менеджеров, компиляция в Portage занимает много времени. Например, полный пакет LibreOffice компилируется от 4 часов и более.
- Пользователь может гибко настроить параметры компиляции и полностью управлять процессом сборки. Например, поставить операцию на паузу и продолжить позже.
- Для обновления установленного ПО используется система rolling-release, благодаря которой в репозитории дистрибутива поставляются пакеты последней версии, опубликованные разработчиком в течение 1-2 дней.
Установка программ из репозиториев чаще всего производится с помощью интерфейса Emerge. Для добавления дружелюбности системе, также можно использовать графическую оболочку Kuroo.
Интерфейсы Portage
Emerge
Консольный интерфейс Emerge предназначен для сборки и обновления программ и их зависимостей. Инструмент доступен «из коробки» и используется для работы с системой Portage по умолчанию.
Для компиляции программ используются ebuild-скрипты. Они содержатся в локальных репозиториях Gentoo (overlay), а сам исходный код программ скачивается с GitHub. Настроить список репозиториев можно самостоятельно, в файле «/etc/portage/repos.conf».
Kuroo
Графический интерфейс Kuroo по принципу работы почти не отличается от Emerge. Утилита написана на языке C++ с использованием фреймворка Qt.
Kuroo установлен по умолчанию в систему с рабочим окружением KDE. В случае отсутствия программы, инсталляция выполняется по данной инструкции.
Заключение
Каждый пакетный менеджер имеет собственные преимущества и недостатки, чаще всего не заметные без реального опыта использования. Выбирать систему и дистрибутив стоит, исходя из собственных потребностей и преимуществ каждого ПО.
- DPKG и RPM больше подойдут пользователям, ожидающим от системы лёгкой настройки и стабильной работы.
- Pacman оперативно обеспечивает систему новейшим ПО, благодаря системе rolling-release.
- Portage совмещает преимущества предыдущих пакетных менеджеров, но требует от пользователя внимательности и желания глубоко осваивать систему.
Чтобы даже самый требовательный дистрибутив Linux работал как швейцарские часы — выбирайте VDS от Eternalhost с оперативной техподдержкой 24/7 и бесплатной защитой от DDoS.
Источник