Материал из Wiki.X-news.org
Перейти к: навигация, поиск

На сервере с отсутствующим Интернетом появилась необходимость настроить локальный репозиторий с целью облегчить установки пакетов .rpm и их зависимостей.

Для настройки необходимо выполнить следующие шаги:

1. Устанавливаем с компакт-диска пакет createrepo

rpm -ivh createrepoxx.rpm

2. Создаем репозиторий командой:

createrepo /path/to/rpm/files

3. Редактируем файлы настроек репозиториев yum: в каждый раздел файла CentOS-Base.repo добавляем строку enabled=0, отключая тем самым сетевые репозитории, в файле CentOS-Media.repo добавляем строку enabled=1 и указываем "baseurl=file:///path/to/rpm/files":

cat /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#packages used/produced in the build but not released
[addons]
name=CentOS-$releasever - Addons
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
#baseurl=http://mirror.centos.org/centos/$releasever/addons/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
#######################################################
cat /etc/yum.repos.d/CentOS-Media.repo
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///path/to/file-rpm/distrib/RPM_CentOS_5.5/
       file:///media/CentOS/
       file:///media/cdrom/
       file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
################################################
cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1

# Note: yum-RHN-plugin doesn't honor this.
metadata_expire=1h

installonly_limit = 5

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

# The proxy server - proxy server:port number
#proxy=http://aup-igate.belarusneft.beloil.by:8080

# The account details for yum connections
#proxy_username=belarusneft\test
#proxy_password=test

[local]
name=local
baseurl=file:///path/to/rpm-file-dir/distrib/RPM_CentOS_5.5
#####################################


Сохраняем изменения. Теперь при вводе, например, команды

yum install kdegraphics

будет предложено установить не только пакет kdegraphics, но и зависимые пакеты, исходники которых система будет искать в папке /path/to/rpm/files


P.S. Если при попытке установки библиотек через yum возникает ошибка:

warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID db42a60e
Public key for autoconf-2.59-5.noarch.rpm is not installed

Выполняем команду:

rpm --import /etc/pki/rpm-gpg/RPM*