FastNetMon

Showing posts with label Репозитории ПО. Show all posts
Showing posts with label Репозитории ПО. Show all posts

Tuesday, 30 March 2010

Создание собственного репозитория для CentOS

Ставим служебный софт:
yum install -y createrepo


Создаем папку для хранения пакетов:

mkdir -p /var/www/html/centos_repository
cd /var/www/html/centos_repository


Теперь необходимо положить тестовый пакет в наше репозиторий:
wget http://fastvps.googlecode.com/files/mpt-status-1.2.0_RC7-3.i386.rpm


Запускаем генерацию метаданных репозитория:
createrepo .


После этого будет сгенерирована служебная папка repodata с данными о всех наших пакетах:

./mpt-status-1.2.0_RC7-3.i386.rpm
./repodata
./repodata/repomd.xml
./repodata/other.xml.gz
./repodata/filelists.xml.gz
./repodata/primary.xml.gz


Теперь нам необходимо настроить Apache, чтобы указанная папка была полностью доступна по протоколу HTTP, это осильте сами, пожалуйста.

В итоге у нас получится веб-страница http://repo.domain.ru/centos_repository с одним файлом mpt-status-1.2.0_RC7-3.i386.rpm и папкой repodata, но "правильные" репозитории выглядят немного иначе: http://mirror.yandex.ru/epel/5/

То есть внутри папки репозитория создается папка 5, соответствующая версии дистрибутива, далее создаются подпапки под требуемые архитектуры i386, x86_64 или даже SRPMS, а уже внутри них располагаются rpm пакеты и папка repodata. Если так делают сильные мира сего, то и мы поступим аналогично, чтобы не получить помойки с пакетами (например, такой как у OpenVZ репозитория - http://download.openvz.org/kernel/branches/rhel5-2.6.18/current/ и как следствие этой "помойки" при установке пакетов из их репозитория приходится явно указывать его (пакета) платформу, то есть вместо "package" приходится писать "package.x86_64", что крайне неудобно).

Переделываем на "как правильно":
rm -rf /var/www/html/centos_repository
mkdir /var/www/html/centos_repository
cd /var/www/html/centos_repository
mkdir 5
cd 5
mkdir {i386,x86_64,SRPMS}
cd x86_64
wget http://fastvps.googlecode.com/files/mpt-status-1.2.0_RC7-3.i386.rpm
cd ..


Создаем repodata:

createrepo i386

Saving Primary metadata
Saving file lists metadata
Saving other metadata

createrepo x86_64/
1/1 - mpt-status-1.2.0_RC7-3.i386.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata

createrepo SRPMS/

Saving Primary metadata
Saving file lists metadata
Saving other metadata


Если же в процессе эксплуатации репозитория Вы планируете добавлять новые пакеты, то используйте другой синтаксис createrepo:
createrepo --update x86_64
createrepo --update i386
createrepo --update SRPMS


Теперь немного автоматизации для удобного апдейта репо:
vi /var/www/html/centos_repository/5/Makefile


Со следующим контентом:
update:
createrepo --update x86_64
createrepo --update i386
createrepo --update SRPMS


Теперь обновление репозториев при добавлении новых пакетов можно делать вот так:

make -C /var/www/html/centos_repository/5 update


Теперь наш репозиторий необходимо подключить к клиентской машинке (у меня она 64 битная, и с 32 битной мой пример работать не будет), создаем файл описание репозитория:
vi /etc/yum.repos.d/myrepo-centos.repo


Со следующим содержанием:

[myrepo-centos]
name=My Personal Yum Repo
baseurl=http://domain.ru/centos_repository/5/$basearch
enabled=1
# not secure
gpgcheck=0


Теперь запускаем yum и убеждаемся, что не выдано никаких ошибок в отношении нашего репозитория:
yum update


Получаем информацию о тестовом пакете в нашем репозитории:

yum info mpt-status
Loaded plugins: fastestmirror, versionlock
Loading mirror speeds from cached hostfile
* addons: ftp.plusline.de
* base: centos.copahost.com
* epel: mirror.andreas-mueller.com
* extras: ftp.plusline.de
* openvz-kernel-rhel5: openvz.copahost.com
* openvz-utils: openvz.copahost.com
* updates: centos.copahost.com
Reading version lock configuration
Available Packages
Name : mpt-status
Arch : i386
Version : 1.2.0_RC7
Release : 3
Size : 27 k
Repo : myrepo-centos
Summary : MPT Fusion raid inquiry tool
URL : http://www.drugphish.ch/~ratz/mpt-status/
License : GPL
Description: mpt-status give informations about raid status for LSI Fusion controllers.
: This is quite a modified version to the original mpt-status-1.0 package.


Ставим его (собственно, ради этого все и затевалось):

yum install -y mpt-status


Ну вот и все :)

Добавление новых пакетов в репозиторий

Просто кладем новые rpm в папку, соответствующую архитектуре и после этого делаем --update, как указано выше. Как результат увидим следующее:
make
createrepo --update x86_64
2/2 - vzprocps-2.0.11-6.13.swsoft.i386.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
createrepo --update i386
2/2 - vzprocps-2.0.11-6.13.swsoft.i386.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
createrepo --update SRPMS

Saving Primary metadata
Saving file lists metadata
Saving other metadata

Источник: http://blog.kagesenshi.org/2007/01/howto-creating-your-own-yum-rpm.html

Thursday, 7 January 2010

Rpm-fusion репозиторий для CentOS

rpm -Uvh http://download1.rpmfusion.org/free/el/updates/testing/5/i386/rpmfusion-free-release-5-0.1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/testing/5/i386/rpmfusion-nonfree-release-5-0.1.noarch.rpm


Содержит в себе следующие пакеты:


software that the Fedora Project or Red Hat doesn't want to ship. That software is provided as precompiled RPMs for all current Fedora versions and Red Hat Enterprise Linux 5; you can use the RPM Fusion repositories with tools like yum and PackageKit.


Иными словами, всякие платные кодеки да прочую мультимедию.

Полный комплект серверного мультимеда-софта для CentOS 5

Подключаем rpm-forge: http://phpsuxx.blogspot.com/2009/08/rpmforge-rhel5-centos-5.html


yum -y install mencoder ffmpeg flvtool2 wget php-gd


Обращаю внимание, если подключен репо epel, его необходимо отключить! Иначе будет конфликт!

Tuesday, 8 September 2009

Как скачивать SRC RPM для Epel


sudo yum install yum-utils
yumdownloader --enablerepo=epel-source --source nginx


В итоге в текущей папке обнаружим файлик: nginx-0.6.38-1.el5.src.rpm

Monday, 24 August 2009

RpmForge репо, RHEL5 / CentOS-5

RpmForge репо, RHEL5 / CentOS-5


wget -O/tmp/rpm-forge.rpm http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm && rpm -ihv /tmp/rpm-forge.rpm

wget -O/tmp/rpm-forge.rpm http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm && rpm -ihv /tmp/rpm-forge.rpm

Friday, 20 March 2009

Ещё один сторонний репозиторий для Centos / RHEL, Epel

Ранее использовал только Rpm Forge, но недавно наткнулся на вот это http://fedoraproject.org/wiki/EPEL/FAQ#howtouse, сам теперь юзаю Epel и Вам советую -- в репо дофика полезных пакетов :)

Ставится очень легко:
rpm -Uhv http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm