LINUX.ORG.RU — Русская информация об ОС Linux

[#]  

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

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

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

Метки: fedora, redhat, rpm, документация, менеджер пакетов

vikos *** (24.02.2010 20:19:40)
Проверено: anonymous_incognito (24.02.2010 21:28:41)
Juick

[#] Ответ на: комментарий от mikhalich 24.02.2010 22:33:30  

> А статью то просматривал кто нибудь?

Нет конечно, незачем просматривать статьи про всякое гумно типа rpm, mono и т.п.

anonymous (24.02.2010 22:36:14)
[#] Ответ на: комментарий от Mystra_x64 24.02.2010 22:32:47  

Простые пользователи могут использовать Synaptics или yast2 и не думать о том, что там используется для хранения пакетов.

e3d08dff (24.02.2010 22:36:26)
[#] Ответ на: комментарий от e3d08dff 24.02.2010 22:36:26  
Mystra_x64

>Простые пользователи … не думать

Ты сейчас идиотов описал, а не пользователей.

Mystra_x64 ***** (24.02.2010 22:37:40)
[#] Ответ на: комментарий от Mystra_x64 24.02.2010 22:37:40  

Нет, я описал людей, которым нужно чтобы "просто работало".

e3d08dff (24.02.2010 22:38:47)
[#] Ответ на: комментарий от Cancellor 24.02.2010 22:30:55  

К стати у dpk есть аналог rpm -Va?

Guest_now * (24.02.2010 22:39:13)
[#] Ответ на: комментарий от Guest_now 24.02.2010 22:36:05  

> А вот с dpkg не все так очевидно и соответственно хуже воспринимается. Так что imho rpm намного удобней и логичней что ли.

Объяснение этому простое - ты слишком глуп.

anonymous (24.02.2010 22:40:15)
[#] Ответ на: комментарий от Guest_now 24.02.2010 22:36:05  

> А rpm использует более стройную концепцию query file? query info, query list, query requires и все остальное в том же духе и главное легко и быстро запоминается. А вот с dpkg не все так очевидно и соответственно хуже воспринимается. Так что imho rpm намного удобней и логичней что ли.

Логика? Удобство? Там где зависимости не входят в состав пакета как это и должно быть, о логике и удобстве приходится забыть. Неужели так трудно сделать дистрибутив линукса в котором программы просто скачивались бы из сети и устанавливались кликом по архиву и все. До тех пор пока в линуксе прокраммы будут устанавливаться из репозитариев он так и будет занимать 0,00000001% на десктопе

anonymous (24.02.2010 22:40:54)
[#]  

Чем сабж лучше этого — https://fedoraproject.org/wiki/Category:Package_Maintainers, http://www.rpm.org/wiki/Docs ?

anonymous (24.02.2010 22:42:38)
[#] Ответ на: комментарий от anonymous 24.02.2010 22:40:54  

Зависимости и не должны быть в пакете. Все что нужно есть на диске.

Guest_now * (24.02.2010 22:43:33)
[#] Ответ на: комментарий от anonymous 24.02.2010 22:40:54  

> Там где зависимости не входят в состав пакета как это и должно быть, о логике и удобстве приходится забыть. Неужели так трудно сделать дистрибутив линукса в котором программы просто скачивались бы из сети и устанавливались кликом по архиву и все.

Это тебе, пупсик, в макось с её .dmg, или в винду с её dll hell. А тут ни-ни.

anonymous (24.02.2010 22:52:12)
[#]  
real_kas

Повторенье - мать ученья

См.сабж

real_kas * (24.02.2010 22:53:10)
[#]  
$ cd ~
$ mkdir mywget
$ cd mywget
$ mkdir BUILD RPMS SOURCES SPECS SRPMS
$ cd SOURCES
$ cp wget-latest.tar.gz . 
$ mv wget-latest.tar.gz wget-1.12.tar.gz
$ cd ..

И чего только люди не делают, лишь бы не использовать rpmdev-setuptree. Плюс, «скелет» .spec-файла можно создать rpmdev-newspec'ом, а выкачать исходники — spectool'ом

./configure
Лучше %configure
%files
%defattr(-,root,root)
/usr/local/bin/wget

%doc %attr(0444,root,root) /usr/local/share/man/man1/wget.1
/usr/local — убило и разорвало труп
%define name                    wget 
%define release         1
%define version         1.12
%define buildroot %{_topdir}/%{name}-%{version}-root

BuildRoot:      %{buildroot}
Name:                   %{name}
Version:                %{version}
Release:                %{release}
Source:                 %{name}-%{version}.tar.gz
Prefix:                 /usr
Group:                  Development/Tools
Собрало разорванный труп, оживило, еще раз убило, растерзало труп и разнесло фрагменты трупа на большой площади. В чем смысел переопределения %{name}, %{version} и т. п.?

В общем, если нужно собирать RPM для Fedora/RHEL, то стоит читать "Maximum RPM" и "Fedora Packaging Guidelines"

dexpl *** (24.02.2010 22:56:10)
[#] Ответ на: комментарий от ArtemZ 24.02.2010 22:19:04  
real_kas

RPM - наиболее продвинутый. Закапывать нужно деб и всех его сторонников

Не нужно никого закапывать. Пользуйтесь чем хотите, и не закапывайте. Аминь

real_kas * (24.02.2010 22:57:02)
[#] Ответ на: комментарий от Guest_now 24.02.2010 22:39:13  

> К стати у dpkg есть аналог rpm -Va?

Это проверка всех установленных пакетов на предмет несовпадения контрольных сумм? (давно уже не имел дела с rpm)

Да, имеется хреновина под названием debsums

Cancellor *** (24.02.2010 22:58:39)
[#] Ответ на: комментарий от Cancellor 24.02.2010 22:58:39  

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

S размер (Size) файла отличается
M режим (Mode) доступа отличается (включая права доступа и тип файла)
5 отличается контрольная MD5 сумма
D отличается старший/младший номер файла устройства (Device)
L отличается путь ссылки при readLink(2)
U отличается владелец (User)
G отличается групповое владение (Group)
T отличается время изменения (mTime)

Guest_now * (24.02.2010 23:00:50)
[#] Ответ на: комментарий от dexpl 24.02.2010 22:56:10  

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

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

anonymous (24.02.2010 23:04:45)
[#]  
BZFLATER

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

BZFLATER (24.02.2010 23:08:31)
[#] Ответ на: комментарий от BZFLATER 24.02.2010 23:08:31  

Для dpkg не меньше, гарантирую.

Cancellor *** (24.02.2010 23:08:59)
[#] Ответ на: комментарий от Guest_now 24.02.2010 23:00:50  

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


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

Cancellor *** (24.02.2010 23:11:10)
[#] Ответ на: комментарий от Cancellor 24.02.2010 23:11:10  

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

Guest_now * (24.02.2010 23:13:27)
[#]  

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

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

PVOzerski * (24.02.2010 23:19:51)
[#] Ответ на: Новая тема для холивора... Ура? от PVOzerski 24.02.2010 23:19:51  

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

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

PVOzerski * (24.02.2010 23:27:31)
[#]  
krivedko-kun

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

krivedko-kun (25.02.2010 0:00:43)
[#] Ответ на: комментарий от Cancellor 24.02.2010 22:25:05  
Reset

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

Reset ***** (25.02.2010 0:20:40)
[#] Ответ на: комментарий от Cancellor 24.02.2010 22:30:55  
Reset

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

Reset ***** (25.02.2010 0:24:42)
[#] Ответ на: комментарий от Reset 25.02.2010 0:24:42  

Самый продвинутый - 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 * (25.02.2010 0:31:49)
[#]  
applesin

Ещё раз убедился, что pacman + aur самый удобный способ работать с пакетами.

applesin * (25.02.2010 0:35:03)
[#] Ответ на: комментарий от Reset 25.02.2010 0:24:42  
Mystra_x64

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

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

Mystra_x64 ***** (25.02.2010 0:45:35)
[#] Ответ на: комментарий от Shalakhin 25.02.2010 0:31:49  

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


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

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

Cancellor *** (25.02.2010 1:24:17)
[#]  
rave

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

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

rave * (25.02.2010 1:37:57)
[#] Ответ на: комментарий от Cancellor 25.02.2010 1:24:17  

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

rpm -qa

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

А ещё есть

rpm --setugids --setperms package

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

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

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

gorilych * (25.02.2010 1:55:38)
[#] Ответ на: комментарий от gorilych 25.02.2010 1:55:38  

aptitude search ~i
?

dogmeat * (25.02.2010 2:03:42)
[#] Ответ на: комментарий от gorilych 25.02.2010 1:55:38  

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


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


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

Shalakhin * (25.02.2010 2:08:11)
[#] Ответ на: комментарий от Shalakhin 25.02.2010 2:08:11  

rpm -q --changelog mc

Slavaz **** (25.02.2010 2:12:10)
[#] Ответ на: комментарий от dogmeat 25.02.2010 2:03:42  

чтото типа того

gorilych * (25.02.2010 2:22:16)
[#] Ответ на: комментарий от Guest_now 24.02.2010 21:46:43  
enep

>>Но пока лучше чем RPM альтернатив нет ты не прав, а deb пакеты тебе чем неустраивает там все проще

enep ** (25.02.2010 2:55:41)
[#]  

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

some-body ** (25.02.2010 6:20:52)
[#]  

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

melkor217 *** (25.02.2010 6:46:30)
[#]  
tommy

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

tommy *** (25.02.2010 7:16:17)
[#] Ответ на: комментарий от anonymous 24.02.2010 22:42:38  

Наверное тем что по-русски, нет?

Xandry * (25.02.2010 7:53:13)
[#] Ответ на: комментарий от dexpl 24.02.2010 22:56:10  

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

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

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

mx_ * (25.02.2010 8:12:24)
[#] Ответ на: комментарий от applesin 25.02.2010 0:35:03  
dotbg

+очень много

dotbg *** (25.02.2010 8:13:26)
[#] Ответ на: комментарий от mx_ 25.02.2010 8:12:24  

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

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

anonymous (25.02.2010 8:29:50)
[#] Ответ на: комментарий от anonymous 25.02.2010 8:29:50  

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

Так вроде здесь это было.
http://pda.opennet.ru/opennews/art.shtml?num=25425
тама грепни по рпм и сходи по ссылке на англ сайт ....

mx_ * (25.02.2010 8:40:26)
[#] Ответ на: комментарий от Kataklysm 24.02.2010 22:22:52  
thunar

> zypper(например)

ага, я это метаговнищще в мегатормозной опенсузе попробовал. дропнул, когда он банальный поиск выполнял втечение минут 15-и

thunar * (25.02.2010 9:32:44)
[#] Ответ на: комментарий от Cancellor 25.02.2010 1:24:17  
Reset

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

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

Reset ***** (25.02.2010 10:18:42)
[#]  
Unnamed_Hero

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

Unnamed_Hero *** (25.02.2010 12:58:46)
[#] Ответ на: комментарий от mx_ 25.02.2010 8:12:24  
>>-----Цитата---->>

Ну ка подскажи мне плиз где лежит это для ел5 ?

<<-----Цитата----<<

Пакет rpmdevtools из EPEL

dexpl *** (25.02.2010 13:19:00)
[#] Ответ на: комментарий от dexpl 25.02.2010 13:19:00  

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

mx_ * (25.02.2010 13:33:00)
[#] Ответ на: комментарий от dexpl 24.02.2010 22:56:10  
HighwayStar

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

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

HighwayStar **** (25.02.2010 15:31:31)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru