Збірка rpm пакетів, friendsland s wiki, fandom powered by wikia

Якщо на працюючих хостах збирати ПО з вихідних кодів за допомогою сonfigure; make; make install - можна дуже швидко загидити систему, більш того неможливо буде відстежити на якому хості які версії ПО встановлені, і відповідно неможливо робити оновлення.







Адміністрування передбачає можливість відновити систему з нуля по документації, при використанні тільки RPM-пакетів це досягається за дуже малий час, а необхідність документування зводиться до простого перерахування RPM-пакетів + ​​резервуванню файлів налаштувань і конфігурації (/ etc / *).

Тому якщо робити все грамотно (а ми інакше не робимо) вся розробка ПО повинна йти на окремих машинах або спеціально створюваних віртуальних серверах, вихідні коди різних версій зберігається в CVS або SVN репозиторіях, а після скачування / створення / збірки вихідних кодів стабільної версії програми повинні створюватися RPM пакети, зручні в подальшому адмініструванні.

Збірка rpm-пакетів з вихідних текстів (* .src.rpm) Правити

Підготовка до складання

У своїй домашній директорії (

/) Необхідно створити таку структуру каталогів:

Створення дерева каталогів для збирання:

Відкриваєте mcedit (vi) і створюєте також в домашньому каталозі файл .rpmmacros приблизно такого змісту:

Отже, необхідні перші кроки зроблені і тепер залишилося власне спробувати щось зібрати. Яким чином.

Для складання пакетів з архівів виду paket.src.rpm необхідно:

помістити цей пакет в каталог

зайти в каталог

/ RPM / SRPMS з консолі:

запустити програму збирання:

Процес складання може зайняти деякий кількість часу, який залежить як від того, який пакет ви вирішили пересобрать, а також від потужності вашого комп'ютера і може варіьіроваться від декількох секунд до декількох годин.
Якщо все пройшло нормально (не з'явились повідомлення про пакетних залежностях наприклад), то після закінчення складання будуть записані готові до установки бінарні пакети, які ви знайдете в каталогах







/ RPM / noarch (залежить від пакета). У разі появи зазначених повідомлень, потрібно уважно їх вивчити і задовольнити вимогам, які будуть міститися в цих повідомленнях (доустановити необхідні пакети).

Збірка rpm-пакетів з вихідних текстів (* .tar.gz, * .tar.bz2) Правити

При необхідності складання з архівів виду paket.tar.gz необхідно помістити файл архіву в каталог:

/ RPM / SOURCES. а в каталог

/ RPM / SPECS помістити файл специфікації - paket.spec *

Тепер потрібно зайти в каталог з файлом специфікації:

і запустити програму збирання:

Готові пакети будуть записані в той же каталог, що і в разі складання з * .src.rpm, а також сам архів .src.rpm (в

За замовчуванням, всі пакети збираються для архітектури самої системи (наприклад i386). Якщо захочете примусово вказати платформу для пакетів даної збірки, то додайте потрібні вам ключі:

де, ключі: --target i386 --target i686 --target x86_64, задають збірку результуючого пакета для архітектури i386, i686 і x86_64 відповідно.

  • Також існує спосіб збирання, з використанням ключа -tb безпосередньо з пакунків, - архівів * .tar.gz, * .tar.bz2, в яких міститься вже готовий файл специфікації:

Примітки Правити

  • Деякі розробники доповнюють архіви з вихідними текстами файлом .spec, але так буває не завжди. У таких випадках вам доведеться або написати свій власний spec, або спробувати знайти відповідний в інтернеті і підредагувати під свій випадок. В останньому варіанті до речі можна витягти ** файл специфікації з архіву * .src.rpm і правити вже його.
    • У процесі складання додатків, або з якої-небудь іншої причини у вас може виникнути необхідність отримати вміст пакетів RPM - наприклад файл специфікації з * .src.rpm. Для їх розпакування, необхідно скористатися скриптом rpm2cpio. Файл rpm - вдає із себе спеціальний архів, розпакувати який можна зазначеним скриптом.

зайдіть в директорію з потрібним пакетом * .rpm і виконайте:

де: /usr/lib/rpm/rpm2cpio.sh - сам скрипт foo * .rpm - файл, содежімое якого потрібно витягти.

Інформація про rpm2cpio.sh запозичена зі сторінки listman.redhat.com

Крім цього, розпакувати rpm-пакет з вихідними текстами можна також за допомогою команди установки бінарних пакетів:

Після виконання цієї команди, знайдете вміст архіву у відповідних каталогах (paket.spec в

/ RPMS / SPECS; вихідні тексти і патчі в

/ RPMS / SOURCES і т.д.)

Збірка rpm пакетів, з правами звичайного користувача Правити

Збирати установчі пакети rpm з правами звичайного користувача.

У домашньому каталозі створюємо ієрархію:

Далі в корені домашнього каталогу даємо команду

myusernamed відповідно замінюємо на своє ім'я. От і все.

Виявлено використання розширення AdBlock.







Схожі статті