<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://adm30.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2%3A_%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_RPM</id>
	<title>Репозиторий пакетов: Сборка RPM - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://adm30.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A0%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2%3A_%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_RPM"/>
	<link rel="alternate" type="text/html" href="https://adm30.ru/index.php?title=%D0%A0%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2:_%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_RPM&amp;action=history"/>
	<updated>2026-10-21T01:03:01Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://adm30.ru/index.php?title=%D0%A0%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2:_%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_RPM&amp;diff=2947&amp;oldid=prev</id>
		<title>Admin в 06:44, 9 июня 2026</title>
		<link rel="alternate" type="text/html" href="https://adm30.ru/index.php?title=%D0%A0%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2:_%D0%A1%D0%B1%D0%BE%D1%80%D0%BA%D0%B0_RPM&amp;diff=2947&amp;oldid=prev"/>
		<updated>2026-06-09T06:44:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Сценарии ==&lt;br /&gt;
&lt;br /&gt;
[[Репозиторий пакетов: Сборка RPM: Шаблон SPEC|Шаблон SPEC]]&lt;br /&gt;
&lt;br /&gt;
==== Основные директивы ====&lt;br /&gt;
&lt;br /&gt;
Name - Название для пакета RPM (nginx)&lt;br /&gt;
&lt;br /&gt;
Version - Версия собираемого пакета (1.20.2)&lt;br /&gt;
&lt;br /&gt;
Release	- Релиз или версия программы (1)&lt;br /&gt;
&lt;br /&gt;
Summary - Краткое описание пакета (http server)&lt;br /&gt;
&lt;br /&gt;
Group - Пакет принадлежит к группе (System Environment/Base)&lt;br /&gt;
&lt;br /&gt;
License - Способ лицензирования (GPL)&lt;br /&gt;
&lt;br /&gt;
URL	- Адрес источника пакета (https://nginx.org)&lt;br /&gt;
&lt;br /&gt;
BuildArch - Архитектура системы (noarch)&lt;br /&gt;
&lt;br /&gt;
Provides - предоставляемые имена пакета/библиотек: usbip, libusbip.so()(64bit)&lt;br /&gt;
&lt;br /&gt;
Requires - Зависимости (packagename &amp;gt;= 1.10-1)&lt;br /&gt;
&lt;br /&gt;
Source0 - Источник данных, из которых должен собираться пакет (%{name}-%{version}.tar.gz)&lt;br /&gt;
&lt;br /&gt;
==== Сценарии ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;%description&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Описание пакета. Может состоять из нескольких строк, но каждая строка должна содержать до 73 символов&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;%files&amp;lt;/u&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Перечисление файлов, которые должны попасть в конечную систему при установке пакета&amp;lt;br&amp;gt;&lt;br /&gt;
Макрос &amp;lt;u&amp;gt;%defattr(&amp;amp;lt;mode&amp;amp;gt;,&amp;amp;lt;user&amp;amp;gt;,&amp;amp;lt;group&amp;amp;gt;)&amp;lt;/u&amp;gt; глобально задает Unix-права, чаще используется %defattr(-,root,root)&amp;lt;br&amp;gt;&lt;br /&gt;
Макрос &amp;lt;u&amp;gt;%attr(&amp;amp;lt;mode&amp;amp;gt;,&amp;amp;lt;user&amp;amp;gt;,&amp;amp;lt;group&amp;amp;gt;)&amp;lt;/u&amp;gt; задает права для конкретных файлов, например %attr(644,postgres,postgres) %{_libdir}/pgsql/redis.so&amp;lt;br&amp;gt;&lt;br /&gt;
%config [/opt/progname/conf/file.conf] - помечает файл как конфигурационный, при удалении пакета файл будет переименован с окончанием .rpmsave&amp;lt;br&amp;gt;&lt;br /&gt;
%dir [/opt/progname] - при удалении пакета будет удалена указанная папка&lt;br /&gt;
&lt;br /&gt;
Тело скрипта, выполняющегося &amp;lt;u&amp;gt;%pre&amp;lt;/u&amp;gt; (перед) / &amp;lt;u&amp;gt;%post&amp;lt;/u&amp;gt; (после) установкой пакета в систему&amp;lt;br&amp;gt;&lt;br /&gt;
Тело скрипта, выполняющегося &amp;lt;u&amp;gt;%preun&amp;lt;/u&amp;gt; (перед) удалением / &amp;lt;u&amp;gt;%postun&amp;lt;/u&amp;gt; (после) пакета из системы&lt;br /&gt;
&lt;br /&gt;
 %pre&lt;br /&gt;
 if [ $1 == 1 ];then&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting installed&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here&amp;quot;&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
 elif [ $1 == 2 ];then&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting upgraded&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here&amp;quot;&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 %post&lt;br /&gt;
 if [ $1 == 1 ];then&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting installed&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here&amp;quot;&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
 elif [ $1 == 2 ];then&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting upgraded&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here&amp;quot;&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 %preun&lt;br /&gt;
 if [ $1 == 1 ];then&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting upgraded&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here which will be called when this rpm is removed&amp;quot;&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
 elif [ $1 == 0 ];then&lt;br /&gt;
   echo &amp;quot;--------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting removed/uninstalled&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here which will be called before uninstallation of this rpm&amp;quot;&lt;br /&gt;
   echo &amp;quot;--------------------&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 %postun&lt;br /&gt;
 if [ $1 == 1 ];then&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting upgraded&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here which will be called when this rpm is removed&amp;quot;&lt;br /&gt;
   echo &amp;quot;-----------------------&amp;quot;&lt;br /&gt;
 elif [ $1 == 0 ];then&lt;br /&gt;
   echo &amp;quot;--------------------&amp;quot;&lt;br /&gt;
   echo &amp;quot;RPM is getting removed/uninstalled&amp;quot;&lt;br /&gt;
   echo &amp;quot;Put your script here which will be called after uninstallation of this rpm&amp;quot;&lt;br /&gt;
   echo &amp;quot;--------------------&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
'''Макросы команд'''&amp;lt;br&amp;gt;&lt;br /&gt;
%{__rm}&amp;lt;br&amp;gt;&lt;br /&gt;
%{__mv}&amp;lt;br&amp;gt;&lt;br /&gt;
%{__tar}&amp;lt;br&amp;gt;&lt;br /&gt;
%{__sed}&amp;lt;br&amp;gt;&lt;br /&gt;
%{__ln_s}&amp;lt;br&amp;gt;&lt;br /&gt;
%{__mkdir}&amp;lt;br&amp;gt;&lt;br /&gt;
%{__mkdir_p}&lt;br /&gt;
&lt;br /&gt;
'''Макросы директорий'''&amp;lt;br&amp;gt;&lt;br /&gt;
%{_prefix} : /usr&amp;lt;br&amp;gt;&lt;br /&gt;
%{_usr} : /usr&amp;lt;br&amp;gt;&lt;br /&gt;
%{_libdir} : %{_prefix}/lib64&amp;lt;br&amp;gt;&lt;br /&gt;
%{_datarootdir} : %{_prefix}/share&amp;lt;br&amp;gt;&lt;br /&gt;
%{_datadir} : %{_datarootdir}&amp;lt;br&amp;gt;&lt;br /&gt;
%{_sysconfdir} : /etc&amp;lt;br&amp;gt;&lt;br /&gt;
%{_var} : /var&amp;lt;br&amp;gt;&lt;br /&gt;
%{_localstatedir} : /var&amp;lt;br&amp;gt;&lt;br /&gt;
%{_sharedstatedir} : /var/lib&amp;lt;br&amp;gt;&lt;br /&gt;
%{_docdir} : %{_datadir}/doc&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>