LINUX.ORG.RU

Статьи о пакетном менеджере RPM

 , , , ,


0

0

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

>>> Ссылка на первую статью серии

Ответ на: комментарий от dexpl

> В общем, если нужно собирать RPM

RPM вообще не нужно.

anonymous
()

Для использования этого говноменеджера пакетов нужно прочитать очень много документации? ЗАКОПАТЬ!

BZFLATER
()
Ответ на: комментарий от Guest_now

> Да, только там проверяется вот такой набор всего:

...


Круто. Тут признаю преимущество rpm, так уж и быть :-)

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

:) Вот поставлю себе еще демьяна и буду с dpkg конкретней разбираться, там и посмотрим.

Guest_now
()

Новая тема для холивора... Ура?

Видать, мало войн Win vs Lin, Gnome vs KDE и т. д. И вот, завели еще одну, deb или rpm. Можно подумать, эти пакетные менеджеры взаимозаменяемы на разных дистрибутивах: захотел - один поставил, захотел - другой. На самом деле ведь каким дистрибутивом пользуешься, такой и менеджер пакетов будет рабочим - коль скоро «родные» репозитории в «родном» формате пакеты хранят. Я, в общем-то, и к PuppyLinux'у rpm прикручивал, и через alien debian'овские пакеты на Mandriv'у ставил - но ведь это всё извраты. Так что вопрос скорее надо было бы переводить в плоскость «какой дистр лучше» - да только ответ-то на него давно известен: это зависит от задач и привычек. Так что тему, IMHO, можно закапывать :)

PVOzerski ★★★
()
Ответ на: Новая тема для холивора... Ура? от PVOzerski

В дополнение...

Ну вот разве что для дистростроителей вопрос может быть актуальным: на что завязываться, начиная «с нуля»? Но ведь я так понимаю, таковые здесь - птицы редкие :)

PVOzerski ★★★
()

как я вижу, непонятные войны ведут на ЛОРе... до сих пор их смысл не могу понять :)

krivedko-kun
()
Ответ на: комментарий от Cancellor

-q значит query, -f - file. всё очень логично и легко запоминается

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

Самый продвинутый - portage в Gentoo.

Вот список файлов пакета узнать надо если:
equery files [package name]

tar.gz2 рулит :) deb и rpm уже давно не использую и не собираюсь.

Или прочитать что изменилось в новой версии программы:
OS dragonions # equery changes mc
*mc-4.7.0.2-r1 (10 Feb 2010)
10 Feb 2010; Alex Alexander <wired@gentoo.org> +mc-4.7.0.2-r1.ebuild,
+files/mc-4.7.0.2_hotlist_fix.patch, +files/mc-4.7.0.2_syntax_fix.patch:
added patches that fix bugs #298997 and #300913
10 Feb 2010; Joseph Jezak <josejx@gentoo.org> mc-4.7.0.1.ebuild:
Marked ppc stable for bug #302733.
07 Feb 2010; Raúl Porcel <armin76@gentoo.org> mc-4.7.0.1.ebuild:
alpha/arm/ia64/s390/sh/sparc stable wrt #302733

Вообщем, Gentoo и его система portage получается уже давно превзошли deb, rpm?

Shalakhin
()
Ответ на: комментарий от Reset

>search чего и где? астральных сущностей в астрале? совершенно нелогичный ключ!

Вот что крест животворящий делает! ©

Deleted
()
Ответ на: комментарий от Shalakhin

> Или прочитать что изменилось в новой версии программы:

# equery changes mc


aptitude changelog mc
zless /usr/share/doc/mc/changelog.Debian.gz

Уже как минимум два способа нашлись :-)

Cancellor ★★★★☆
()

Мда, та еще статейка. С ляпсусами. На unixforum.org вроде заметно лучше была.

PS ну и к какому выводу пришли аналитики? У кого толще? у деба, эрпээма, портэйджа или порта во фряхе? (последняя тема нераскрыта, т.к. изен скорее всего спит, но я его сюда кастую авансом(

rave
()
Ответ на: комментарий от Cancellor

если такой умный (no offense intended) аналог

rpm -qa

покажи. Список _установленных_ пакетов то есть. Я знаю пару решений (с помощью aptitude и с помощью awk '..' /var/lib/dpkg/info) - вот только первое требует основательного копания в доках aptitude, второе - знание устройства базы данных dpkg.

А ещё есть

rpm --setugids --setperms package

для восстановления аттрибутов файлов пакета. Кстати, debsums не установлен по умолчанию.

А ещё у rpm есть возможность удаления пакета без запуска postrm скрипта, в случае dpkg приходится этот скрипт ручками удалять.

ЗЫ. у dpkg и у rpm свои достоинства.

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

>aptitude changelog mc

zless /usr/share/doc/mc/changelog.Debian.gz


Уже как минимум два способа нашлись :-)


Ну, это уже радует. :) Теперь увидел, что portage в этом не одинок))

Shalakhin
()
Ответ на: комментарий от Guest_now

Но пока лучше чем RPM альтернатив нет

ты не прав, а deb пакеты тебе чем неустраивает там все проще

enep ★★★★★
()

RPM, DEB... Удобнее t?z - пакетов в slackware для себя я ничего не нашел :) Вот уж что действительно легко понять и тем более собрать.

some-body ★★
()

Хоть кто-нибудь статью прочитал?)

melkor217 ★★★★★
()

наверное тут и без меня уже тысячи раз успели сказать: «rpm не нужно» и «пусть катятся со своим корпоративным поделием».

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

И чего только люди не делают, лишь бы не использовать

rpmdev-setuptree.


Ну ка подскажи мне плиз где лежит это для ел5 ?
А то я как дурак все моск юзаю :(

P.S. Кстати вот недавно маемо с интелом объединилась ( МЕГО вроде )
так тама приняли пакет рпм и популярно объснили чем плох деб !

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

>> P.S. Кстати вот недавно маемо с интелом объединилась ( МЕГО вроде ) так тама приняли пакет рпм и популярно объснили чем плох деб !

Ссылочку бы в студию!

anonymous
()
Ответ на: комментарий от Cancellor

> Уже как минимум два способа нашлись :-)

а в каком из них используется deb ?

Reset ★★★★★
()

RPM - это бесчеловечное изобретение для угнетения настроений по переходу на Linux!

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

Пакет rpmdevtools из EPEL

Хм. Вот спасибо. А то моск не всегда удобен :(

mx_
()
Ответ на: комментарий от dexpl

я вот вообще не понимаю откуда пошла мода на всякие там дефайны? зачем дефайнить версию или имя, если они и там доступны через %{version} и %{name}, причем такой стиль с кучой дефайнов я часто наблюдаю в мандриве и альте, чуть реже в федоре, в опенсузе вообще такого не видел, разве что в некоторых импортированных из вышеназванных дистрибутивов пакетах

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

HighwayStar ★★★★★
()

Deb и rpm закапывайте, будущее за pacman.

sergijoo
()
Ответ на: комментарий от HighwayStar

> я вот вообще не понимаю откуда пошла мода на всякие там дефайны?

Иногда дефайны нужны-таки. Правда, навскидку пример не приведу

не знаю умеет ли вим такое в других дистрибутивах


В федоре умеет. Но мне rpmdev-newspec нравится больше (дело вкуса и привычек, да)

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

> rpm -qf /path/to/file намного интуитивнее, ага.
В два раза интуитивнее, как минимум.

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

> Да, имеется хреновина под названием debsums
Которая ни в демьяне, ни в погремушке не ставится в базовой установке. И знают про неё очень мало людей, которые man dpkg до ADDITIONAL FUNCTIONALITY дочитывают. :D

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

> так тама приняли пакет рпм и популярно объснили чем плох деб !

Подросли малось :)

Из достоинств deb - более внятный формат хранения: ar+gzip вместо cpio+бинарный заголовок в rpm.


Ну тут не все так однозначно - во-первых там еще tar , как-то так:
debian-binary
control.tar.gz
data.tar.gz

ar - не дебовская утилита для сборки либ, уже по ходу дела менялась, tar тоже не стандарт, в отличии от cpio. всё это хорошо подходит для подручных костелей, но свой формат более вменяем. Например в него добавили подпись - отсутствие которой сильно снижает защиту от взлома и подмены зеркалов у debian-a. И дальнейшее развитие - без оглядки на разработчиков ar/tar. A rpm2cpio полностью решает проблему извлечения файлов из rpm на коленках, это даже проще чем с ar/gzip/tar :)


Также то, что в deb база пакетов хранится в обычном текстовом файле, а не в BerleyDB как у rpm - это гут!


Хотя текстовый файл более устойчив к сбоям, а проблемы у BerleyDB были, тем не мение я давно не видел проблем с ней, а возможности по поиску через rpm заметно лучше чем у dpkg, теже ключи:

--whatrequires query/verify the package(s) which require a
--requires list capabilities required by package(s)
--filerequire list file names with requires
--redhatrequires find package name that contains a required
--whatprovides query/verify the package(s) which provide a
--provides list capabilities that this package provides
--fileprovide list file names with provides
--redhatprovides find package name that contains a provided

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


А я пользовался, когда надо левые пакеты ставил , то зарулевал их в /opt/... и руками донастраивал.

когда я давно сравнивал возможности deb/rpm то ничего не нашел полезного в моем случаи в deb. A сейчас уж и подавно.

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

Может в rpm поиск и хорош, но eix по-моему как минимум не уступает. Практически мгновенный ответ на запросы по списку пакетов еще и с полезной информацией. ;)

Так получается, что rpm популярен только в enterprise? Интересно как так выходит, что большинство пользователей используют тот же deb (хотя я за Gentoo :D ), но все же - по опросам того же LinuxForums - 1 место у той же Ubuntu и второе у Slackware, так получается что rpm-таки уступает? Или это большинство, кто использует те же pacman, dpkg, emerge - не знают что есть такой классный rpm? O_o

Shalakhin
()
Ответ на: комментарий от froggy

> Как устанавливать тарбол не содержащий ничего кроме бинарей и доков, например upx.sf.net

Первый вариант (правильный и простой) — распаковать в /opt/programname, написать скрипт запуска
Второй (простой и не совсем правильный) — в /usr/local/{bin,lib}
Третий (тоже правильный, но более сложный) — распаковать во временный каталог и завернуть в родной для системы пакет.

Lumi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.