LINUX.ORG.RU
ФорумTalks

Сравнение пакетных менеджеров

 , ,


0

5

apt - мощный и гибкий, сложно мейнтейнить пакеты. Но мне как пользователю на это плевать, да и несмотря на сложность - в .deb формате есть всё, и это жирный плюс в сторону apt.

aptitude - толку от него сейчас нет, не пользуюсь.

portage - мощный, сложный, и гибкий, собирает из исходников. Как по мне, в (2021 - 2 дня) смысла собирать пакеты самому - нет. Поддерживать систему сложно, прирост производительности не ощущается, места под пакеты и так всем хватает.

pacman - быстрый, но хилый. Пакетов часто нет и почти все лезут в AUR, который многие заслуженно сравнивают с мусорным баком, ломает систему мгновенно.

dnf - я лично почти им не пользовался, опыта работы с CentOS и Fedora практически нет. Но из того что было - мгновенно всплывали специфичные для dnf проблемы, что не есть хорошо.

Интересно услышать другое мнение. Также в последнее время интересуюсь CRUX и подобными, как у них дела с пакетными менеджерами?

apt

Жуткие корявые костыли на велосипедах. Чтобы пересобрать пакет самому, надо целый учебник освоить. Ломается от любого неосторожного движения. Буквально из последнего опыта: попытался установить portaudio-dev, на что апт заявил, что в таком случае он сносит wine и пару сотен пакетов i386, пришлось делать сборочное окружение в докере.

pacman

Лучший классический пакетный менеджер ever. Что там хилого? «Пакетов часто нет» - чушь собачья, там в родных репах пакетов больше, чем в Дебе. АУР нужен в первую очередь для тех, кому хочется странного - какой-нибудь патченный Compiz или ФФ на гтк2. Ну и да, АУР ничем не лучше и не хуже убунтовских ППА, только всё собрано в одном месте и чекнуть процесс сборки гораздо проще.

meliafaro ★★★★★
()
Ответ на: комментарий от crypt

ввот поэтому ты до сих пор и интересуешься вопросом, какой менеджер лучше:)

Ты меня явно путаешь с ТС.

hummer
()
Ответ на: комментарий от crypt

Ну CLI Linux всё ж таки на порядок лучше такового в Windows. Но ты ведь не живёшь исключительно в CLI и не сидишь в вебе в links, правда?

hummer
()
Ответ на: комментарий от tiinn

Понятно, десятый мандрайк.

Нет, не десятый. Но ты учти, что интернета тогда был диалап и выкачать все диски без безлима было нереально, поэтому то был мандрейк, котороый дошёл до меня через почту. Или типа того. А был точно не десятый и не девятый. Где-то 7 или 8. А ASP в 2000 где-то появился. Но на него я тоже не сразу прыгнул. Я до этого на BlackHat Linux сидел.

turtle_bazon ★★★★★
()
Ответ на: комментарий от crypt

ну да, я просто не помню, кто UI рисовал в debian… давно было.

Дело не в UI, а в резолвинге зависимостей.

на свою дату регистрации и на мою взгляни

Когда ты зарегистрировался я ещё на BBS’ках сидел, был противником интренета, который убил FIDO. В интернет я пришёл где-то в 2006 только, ибо устал сопротивляться прогрессу. :)

turtle_bazon ★★★★★
()
Ответ на: комментарий от meliafaro

«Пакетов часто нет» - чушь собачья, там в родных репах пакетов больше, чем в Дебе.

Видимо, ты первое января с первым апреля перепутал.

urxvt ★★★★★
()
Ответ на: комментарий от meliafaro

Буквально из последнего опыта: попытался установить portaudio-dev, на что апт заявил, что в таком случае он сносит wine и пару сотен пакетов i386, пришлось делать сборочное окружение в докере.

Вывод команды с добавленными опциями -o Debug::pkgDepCache::Marker=1 -o Debug::pkgProblemResolver=1 — в студию!

Лучший классический пакетный менеджер ever. Что там хилого?

Это тот, в котором нужно обновлять или сразу всё, или ничего?

Rootlexx ★★★★★
()
Ответ на: комментарий от hummer

Rpmbuild сам собирает requires и provides пакета, анализируя файлы, входящие в пакет. Если в пакет входит бинарник, то в requires попадут soname-ы динамических библиотек, которые ему требуются. Если в пакет входит динамическая библиотека, то в provides попадёт её soname. Если в пакет входит скрипт, то в requires попадёт имя интерпретатора из #!. И так далее. Эти автоматические зависимости правильные. Если пакет не испорчен кривыми ручными зависимостями, то он встанет на любую rpm систему.

iliyap ★★★★★
()
Ответ на: комментарий от hummer

Loaded plugins: fastestmirror
One of the configured repositories failed (Unknown), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail.

thunar ★★★★★
()
Ответ на: комментарий от cica

Помню при попытке даунгрейда пакета через apt-get, он предложил просто удалить пол системы.

Ну это штатное поведение apt.

meliafaro ★★★★★
()
Ответ на: комментарий от iliyap

Rpmbuild сам собирает requires и provides пакета, анализируя файлы, входящие в пакет. Если в пакет входит бинарник, то в requires попадут soname-ы динамических библиотек, которые ему требуются. Если в пакет входит динамическая библиотека, то в provides попадёт её soname. Если в пакет входит скрипт, то в requires попадёт имя интерпретатора из #!. И так далее. Эти автоматические зависимости правильные. Если пакет не испорчен кривыми ручными зависимостями, то он встанет на любую rpm систему.

Спасибо за подробный ответ по делу. А как пакет может быть «испорчен кривыми ручными зависимостями»? Зависимостями в стиле package based (ссылками на другие пакеты по имени или на so файлы без указания версий?), как в deb или о чём речь?

hummer
()
Ответ на: комментарий от leave

Все так, я просто не понимаю, зачем тащить откровенно десктопные решения в ОС широкого назначения.

Тут модератор ЛОР-а спалился, что не использует онтопик на десктопе.

meliafaro ★★★★★
()
Ответ на: комментарий от Eternellement

Я пользуюсь Debian Sid и пакеты есть на всё

Твои личные хотелки совпадают с хотелками мейнтейнеров Sid. Это не аргумент.

meliafaro ★★★★★
()
Ответ на: комментарий от meliafaro

там в родных репах пакетов больше, чем в Дебе

Ну не, тут дебиан рекордсмен, они же на каждый soшник по отдельному пакету делают (а то и по три! еще же хидеры и дебаг) :)

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от hummer

Да кстати вспомнил - rpmка OnlyOffice для centos/rhel встает на федоре, но не встает на зюзе - имена зависимостей разные. Можно конечно зафорсить (при условии что нужные библиотеки стоят), но это не тру

Midael ★★★★★
()
Ответ на: комментарий от crypt

Возможность пердолиться с соснолькой должна быть опциональной, а не единственно возможной.

meliafaro ★★★★★
()
Ответ на: комментарий от urxvt

О, вот и клоуны подъехали. В Арче пакеты большие и крупные, а в Дебе режутся на несколько частей. Количество пакетов в основном репе Арча сопоставимо с количеством пакетов Деба, а значит, РЕАЛЬНЫХ проектов в Арче опакечено сильно больше.

meliafaro ★★★★★
()
Ответ на: комментарий от Rootlexx

Вывод команды с добавленными опциями -o Debug::pkgDepCache::Marker=1 -o Debug::pkgProblemResolver=1 — в студию!

Следующие пакеты устанавливались автоматически и больше не требуются:
  gstreamer1.0-plugins-base:i386 libasn1-8-heimdal:i386 libatomic1:i386 libavahi-client3:i386
  libavahi-common-data:i386 libavahi-common3:i386 libcairo2:i386 libcap2:i386 libcapi20-3 libcapi20-3:i386
  libcdparanoia0:i386 libcups2:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386
  libdrm-radeon1:i386 libedit2:i386 libelf1:i386 libexif12:i386 libfontconfig1:i386 libfreetype6:i386
  libgd3:i386 libgl1:i386 libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libglib2.0-0:i386 libglu1-mesa:i386
  libglx-mesa0:i386 libglx0:i386 libgmp10:i386 libgnutls30:i386 libgphoto2-6:i386 libgphoto2-port12:i386
  libgsm1:i386 libgssapi-krb5-2:i386 libgssapi3-heimdal:i386 libgstreamer-plugins-base1.0-0:i386
  libgstreamer1.0-0:i386 libhcrypto4-heimdal:i386 libheimbase1-heimdal:i386 libheimntlm0-heimdal:i386
  libhogweed4:i386 libhx509-5-heimdal:i386 libicu60:i386 libidn2-0:i386 libieee1284-3:i386 libjbig0:i386
  libjpeg-turbo8:i386 libjpeg8:i386 libk5crypto3:i386 libkeyutils1:i386 libkrb5-26-heimdal:i386
  libkrb5-3:i386 libkrb5support0:i386 liblcms2-2:i386 libldap-2.4-2:i386 libllvm10:i386 libltdl7:i386
  libmpg123-0:i386 libnettle6:i386 libodbc1 libodbc1:i386 libopenal1:i386 libopus0:i386 liborc-0.4-0:i386
  libosmesa6 libosmesa6:i386 libp11-kit0:i386 libpcap0.8:i386 libpciaccess0:i386 libpixman-1-0:i386
  libpng16-16:i386 libroken18-heimdal:i386 libsamplerate0:i386 libsane1:i386 libsasl2-2:i386
  libsasl2-modules:i386 libsasl2-modules-db:i386 libsensors4:i386 libspeexdsp1:i386 libsqlite3-0:i386
  libssl1.1:i386 libstdc++6:i386 libtasn1-6:i386 libtheora0:i386 libtiff5:i386 libunistring2:i386
  libusb-1.0-0:i386 libv4l-0:i386 libv4lconvert0:i386 libvisual-0.4-0:i386 libwebp6:i386
  libwind0-heimdal:i386 libxcb-glx0:i386 libxcb-render0:i386 libxcb-shm0:i386 libxcomposite1:i386
  libxdamage1:i386 libxml2:i386 libxpm4:i386 libxslt1.1:i386 ocl-icd-libopencl1:i386 wine-stable-amd64
Для их удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
  libasound2-dev libjack-dev libjack0 libportaudiocpp0 uuid-dev
Предлагаемые пакеты:
  libasound2-doc jackd1 portaudio19-doc
Следующие пакеты будут УДАЛЕНЫ:
  libasound2-plugins:i386 libjack-jackd2-0 libjack-jackd2-0:i386 wine-stable wine-stable-i386:i386
  winehq-stable winetricks
Следующие НОВЫЕ пакеты будут установлены:
  libasound2-dev libjack-dev libjack0 libportaudiocpp0 portaudio19-dev uuid-dev
Обновлено 0 пакетов, установлено 6 новых пакетов, для удаления отмечено 7 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 574 kB архивов.
После данной операции объём занятого дискового пространства уменьшится на 413 MB.
Хотите продолжить? [Д/н] 

И да, то есть обязательно знать все эти волшебные заклинания, чтобы пользоваться deb-based дистром?

Это тот, в котором нужно обновлять или сразу всё, или ничего?

? Что бы ты не имел в виду, это неправда.

meliafaro ★★★★★
()
Ответ на: комментарий от Midael

Надо ещё локализации и иконки по отдельным пакетам разнести, тогда Винду догоним и перегоним!

meliafaro ★★★★★
()
Ответ на: комментарий от meliafaro

Если опциональная возможность кастомизировать систему на 100% под свои нужды ограничивает пользовательскую базу, то фиг с ней с пользовательской базой. По факту - линукс сейчас является последним оплотом свободы в мире десктопов, которым можно худо-бедно пользоваться без особых плясок с бубном. Эти самые маркетплейсы гвоздями прибитые к онлайну - это всё от лукавого. Когда настанет чебурнет - это всё превратиться в тыкву, репы с обычными пакетами хоть в оффлайне можно будет передавать и работать с ними штатными методами.

DawnCaster ★★
()
Ответ на: комментарий от Midael

rpmка OnlyOffice для centos/rhel встает на федоре, но не встает на зюзе - имена зависимостей разные.

Имена какого типа зависимостей? Других пакетов? Но RPM, как тут уже говорилось, не package based, а capability based. Каких-то so файлов или мест их нахождений? Тогда это наверняка от нежелания следовать стандартам, например LSB. SUSE вообще довольно странный дистрибутив. А вот интересно, в Mageia эта rpmка OnlyOffice для centos/rhel встанет и заработает?

hummer
()
Последнее исправление: hummer (всего исправлений: 1)
Ответ на: комментарий от DawnCaster

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

meliafaro ★★★★★
()
Ответ на: комментарий от hummer

Попозже попробую в виртуалке. Насчет стандарта - может это разрабы онлиофиса криво запаковали?

Midael ★★★★★
()
Ответ на: комментарий от meliafaro

Я же просил привести вывод с этими опциями! Неужели это так сложно?

Впрочем, и так разобрался. Пакет libjack0, который подтягивается по зависимостям portaudio19-dev → libjack-dev → libjack0, конфликтует с установленным libjack-jackd2-0, поэтому раз вы запросили установку одного, должен быть удалён другой. Внезапно, ровно то же самое будет в любом другом классическом менеджере пакетов, включая pacman. В чём здесь вина apt?

? Что бы ты не имел в виду, это неправда.

Да неужели. https://wiki.archlinux.org/index.php/System_maintenance#Partial_upgrades_are_unsupported — в результате получаем что-то вроде такого.

Нахрен нужен менеджер пакетов, который не способен проконтролировать согласованность получаемой в результате его же операций системы? Ведь в этом-то и состоит главная задача менеджера пакетов!

И это я ещё не начал о его «скорости», которой некоторые так гордятся, и которая достигается за счёт полного игнорирования fsync(), т.е. за счёт надёжности…

Rootlexx ★★★★★
()
Ответ на: комментарий от meliafaro

«Пакетов часто нет» - чушь собачья, там в родных репах пакетов больше, чем в Дебе.

Количество пакетов в основном репе Арча сопоставимо с количеством пакетов Деба, а значит, РЕАЛЬНЫХ проектов в Арче опакечено сильно больше.

И сколько же?

Rootlexx ★★★★★
()
Ответ на: комментарий от meliafaro

Дай угадаю, а в aur столько мусора развели потому что им пакеты из реп просто не нравятся?

В Debian любая мелочь есть. В отличии от.

$ apt-cache search kbdd           
kbdd - Per-window keyboard layout switching daemon for X
$ 

$ yaourt -Ss kbdd
aur/kbdd-git 0.7.1.r11.g7f3d9d2-1 [installed: 0.7.1.r8.g0e1056f-1] (38) (0.01)
    Simple daemon and library to make per window layout
aur/swaykbdd 1.0-1 (1) (0.49)
    Per-window keyboard layouts for Sway (KBDD replacement)
$

P. S.
То не клоуны, то медработники. Будь с ними вежлив.

urxvt ★★★★★
()
Ответ на: комментарий от thunar

Флатпак хорошо для мазохистов, как и Снап. Калькулятор на SSD пару секунд стартует, ну норм, чё. Ещё и буковки квадратиками и прочее говно, а песочница то дырявая. Пожалуйста, любители флатпаков, снапов и прочих докеров идите на мак/виндоус и не подходите к линуксам. Линуксы это не для вас.

peregrine ★★★★★
()
Ответ на: комментарий от meliafaro

Модератор не наркоман, в отличии от некоторых.

peregrine ★★★★★
()
Ответ на: комментарий от hummer

Да, ручные зависимости почему-то зачастую делают на имена пакетов. Это плохие, кривые зависимости. Но это вина мейнтейнеров, а не вина формата rpm.

iliyap ★★★★★
()
Ответ на: комментарий от turtle_bazon

А ASP в 2000 где-то появился

Вот и я о том же.

Где-то 7 или 8.

7 на двух CD шёл. На одном, собственно, инсталлятор, на втором - .srpm

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от hummer

А как пакет может быть «испорчен кривыми ручными зависимостями»?

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

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от iliyap

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

хотя повторю, особой разницы между deb и rpm репозитарием с практической стороны не вижу.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 2)
Ответ на: комментарий от Rootlexx

Внезапно, ровно то же самое будет в любом другом классическом менеджере пакетов, включая pacman.

В Арче или Федоре я с такими проблемами не сталкиваюсь. Возможно, это и вправду не вина апта, а криворуких мейнтейнеров или ущербной политики пакетирования в деб-бэйсд. От этого проблема не перестаёт быть проблемой.

Да неужели. https://wiki.archlinux.org/index.php/System_maintenance#Partial_upgrades_are_... — в результате получаем что-то вроде такого.

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

которая достигается за счёт полного игнорирования fsync()

У скорости целый ряд причин: единый стройный пакетный менеджер, а не костыль поверх костылей; пакман написан на Си, а не на томозной скриптоте; формат пакетов простой и понятный, на обработку пакетной базы уходит меньше времени; наконец, пакеты большие, включают в себя сразу и документацию, и библиотеки, и дев-файлы, а не разбиты на кучу мелких пакетов.

meliafaro ★★★★★
()
Ответ на: комментарий от urxvt

Дай угадаю, а в aur столько мусора развели потому что им пакеты из реп просто не нравятся?

Ну да, это же не как в Дебиане, где жрут только то, что дают.

meliafaro ★★★★★
()
Ответ на: комментарий от peregrine

Пожалуйста, любители флатпаков, снапов и прочих докеров идите на мак/виндоус и не подходите к линуксам. Линуксы это не для вас.

Лол. Кажется, Дебиан скоро снова форкнут, на этот раз флатпак-хейтеры)

meliafaro ★★★★★
()
Ответ на: комментарий от crypt

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

Встал не с той ноги?

papin-aziat ★★★★★
()
Ответ на: комментарий от peregrine

Калькулятор на SSD пару секунд стартует, ну норм, чё. Ещё и буковки квадратиками

Если ты ставишь flatpak на наколенное поделие, вот и результат, надо самому всё настраивать. Поставь нормальную ось, посмотри как работает там, сделай выводы.

papin-aziat ★★★★★
()
Ответ на: комментарий от tiinn

Помню, был rpm и к нему yum - а что потом пошло не так?

Буквально, bus factor.

(А, ну, вижу уже ответили)

zendrz ★★
()
Последнее исправление: zendrz (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.