Игорь Олемской — практические заметки по системному администрированию Linux CentOS

Архив тега ‘yum’

Проблема “Public key for … is not installed” при установке пакета из yum (перепечатка)

Комментариев нет

Если в процессе установки пакета с помощью yum из какого-либо недавно подключенного репозитория вы получаете ошибку: “Public key for … is not installed” это значит что публичный ключ данного репозитория, которым подписываются все входящие в него пакеты, отсутствует в вашей системе.
Далее два варианта:
1. Либо этот публичный ключ есть у вас на диске, находим его

find / -name "*GPG*"

2. Скачиваем его с оф. сайта репозитория. Он будет подписан примерно так “The packages are all signed with this GPG key.”

Теперь добавляем его в yum:

rpm --import [путь к ключу]

Upgrading Fedora 13 to Fedora 14 on Slicehost and Rackspace Cloud Servers (перепечатка)

Комментариев нет

On most systems, using Fedora's href="http://fedoraproject.org/wiki/PreUpgrade">preupgrade package is the most reliable way to update to the next Fedora release. However, this isn't the case with Slicehost and Rackspace Cloud Servers.

Here are the steps for an upgrade from Fedora 13 to Fedora 14 via yum:

class="wp_syntax"> class="code">
yum -y upgrade
wget http://mirror.rackspace.com/fedora/releases/14/Fedora/x86_64/os/Packages/fedora-release-14-1.noarch.rpm
rpm -Uvh fedora-release-14-1.noarch.rpm
yum -y install yum
yum -y upgrade

If you happen to be upgrading a 32-bit instance on Slicehost, simply replace x86_64 with i386 in the url shown above.

href="http://rackerhacker.com/2010/11/03/upgrading-fedora-13-to-fedora-14-on-slicehost-and-rackspace-cloud-servers/">Upgrading Fedora 13 to Fedora 14 on Slicehost and Rackspace Cloud Servers is a post from: Major Hayden's href="http://rackerhacker.com">Racker Hacker blog. style="display: none; visibility: hidden;">c0b6ad7e-f251-11df-b20b-4040336e00ef

03.11.2010

Отключение yum-updatesd в CentOS (перепечатка)

Комментариев нет

По умолчанию в системе присутствует сервис yum-updatesd, который проверяет наличие обновлений и информирует через email, syslog или dbus. Иногда он занимает довольно много CPU, а пользы на сервере от него не много. Отключаем:

chkconfig yum-updatesd off
/etc/init.d/yum-updatesd stop

12.10.2010

A simple guide to redundant cloud hosting (перепечатка)

Комментариев нет

Today, on my 28th birthday, I'm finally delivering on a promise to my readers which I made about two months ago. I've written a guide on how to host a web application redundantly in a cloud environment. While it's still a bit of a rough draft, it should be a good starting point for those who haven't worked in virtualized environments before. Also, it may show some of the more experienced systems administrators a new way to do things.

The guide: Redundant Cloud Hosting Guide

As always, if you find anything in the guide that needs improvement, I'm all ears. :-)

A simple guide to redundant cloud hosting is a post from: Major Hayden's Racker Hacker blog.

c0b6ad7e-f251-11df-b20b-4040336e00ef

18.08.2010

Создание локального репозитория для yum (перепечатка)

Комментариев нет

Это может пригодиться если вы скачали кучу RPM-пакетов из разных мест и хотите автоматически проапдейтить установленные пакеты на новые. Делаем так.
1. Складываем все новые пакеты в папку, например, /root/updates
2. Устанавливаем пакет createrepo

yum install createrepo

3. Запускаем его с указанием нашего каталога с пакетами:

createrepo /root/updates

4. Создаем файл /etc/yum.repos.d/local.repo

[local]
name=Local Repo
baseurl=file:///root/updates
enabled=1
gpgcheck=0

5. Обновляем, например, PHP:

yum --enablerepo=local update php

6. Если вы обновили пакеты в папке надо перезапустить:

createrepo --update /root/updates

08.08.2010

Как создать и подписать собственный RPM-репозиторий

2 комментария

Когда администрируешь множество серверов, возникает необходимость централизованного хранения собственных RPM-пакетов. В этой статье описано, как создать RPM-репозиторий и как сделать gpg-подпись пакетов, хранимых в этом репозитории.

Как создать подпись

Генерируем новый gpg-ключ

mkdir ~/.gnupg
gpg --gen-key

Если gpg выдаст ошибку типа

Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 277 more bytes)

можно параллельно выполнить трудоемкую операцию, к примеру,

tar -jcvf tmp.tar.bz2 /usr

Это ускорит генерацию ключа. Когда ключ будет создан, не забудьте удалить tmp.tar.bz2. ;-)

Теперь можно сделать экспорт ключа (к примеру, чтобы дальше он был доступен по ссылке rpms.southbridge.ru/RPM-GPG-KEY-southbridge).

gpg --list-keys
gpg --export -a 'Igor Olemskoi' > /var/www/rpms.southbridge.ru/htdocs/RPM-GPG-KEY-southbridge

Теперь ключ можно импортировать командой

rpm --import http://rpms.southbridge.ru/RPM-GPG-KEY-southbridge

Проверить список пакетов в RPM-базе можно командой

rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n'

Чтобы в пакеты автоматом добавлялась подпись, можно создать ~/.rpmmacros со следующим содержанием («Igor Olemskoi» нужно заменить на данные, которые заполняли при создании ключа)

%_signature gpg
%_gpg_name  Igor Olemskoi

Чтобы подписать уже существующий rpm, нужно запустить

rpm --addsign mytool.x64_86.rpm

Если пакет ранее уже был подписан, --addsign замените на --resign.

Чтобы подписать пакет во время сборки, нужно добавить опцию --sign, к примеру

rpmbuild -ba --sign mytool.spec

Как создать RPM-репозиторий

Создайте сайт, на котором будут размещены пакеты, а на нем дерево папок, к примеру (htdocs — корень сайта rpms.southbridge.ru)

htdocs/SRPMS
htdocs/i386
htdocs/x86_64
htdocs/RPM-GPG-KEY-southbridge

Остается лишь разместить готовые rpm/srpm-пакеты в соответствующие папки, после чего для каждой из папок запустить createrepo (эту операцию следует выполнять после каждого изменения файлов)

createrepo htdocs/SRPMS
createrepo htdocs/i386
createrepo htdocs/x86_64

В случае, если createrepo в системе нет, установить можно командой

yum install createrepo

Как использовать собственный RPM-репозиторий

Добавьте файл /etc/yum.repos.d/southbridge.repo, к примеру, такого содержания

[southbridge]
name=Southbridge Repository
gpgcheck=1
gpgkey=http://rpms.southbridge.ru/RPM-GPG-KEY-southbridge
enabled=1
baseurl=http://rpms.southbridge.ru/$basearch/

19.06.2009

Написал Игорь Олемской

CentOS 5: особенности установки memcached и pgbouncer на одной машине

Один комментарий

В этой заметке описано, как установить memcached на ту же машину, где уже запущен pgbouncer (из репозитория pgdg). Сложность в том, что pgbouncer использует более новую версию libevent, чем memcached, в результате чего memcached при установке выдает «transaction failed».

Один из наиболее красивых выходов из ситуации — пересборка SRPM с новой библиотекой libevent, а заодно и новой версией memcached.

В случае, если репозиторий pgdg еще не установлен, его можно инсталировать следующей командой (версию можно выбрать на странице http://yum.pgsqlrpms.org/reporpms/repoview/pgdg-centos.html)

rpm -ihv http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm

Из репозитория pgdg необходимо установить новый libevent-devel (вместо 83 может быть ваша версия pgdg)

yum --disablerepo=\* --enablerepo=pgdg83 install libevent-devel

Теперь необходимо загрузить srpm memcached (выбрать версию из репозитория можно по адресу: http://download.fedora.redhat.com/pub/epel/5/SRPMS/repoview/memcached.html) и последнюю версию самого memcached

rpm -Uhv http://download.fedora.redhat.com/pub/epel/5/SRPMS/memcached-1.2.5-2.el5.src.rpm
wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz -O /usr/src/redhat/SOURCES/memcached-1.2.8.tar.gz

В файле /usr/src/redhat/SPECS/memcached.spec необходимо актуализировать версии memcached и rpm

Version:        1.2.8
Release:        1%{?dist}

Осталось собрать rpm

rpmbuild -bb /usr/src/redhat/SPECS/memcached.spec

В случае, если не хватает каких-то дополнительных библиотек, их можно установить командой «yum install».

Готовые пакеты можно найти в папке /usr/src/redhat/RPMS/

28.05.2009

Написал Игорь Олемской

Установка mod_rpaf на CentOS 5

Комментариев нет

К сожалению, в базовых репозиториях CentOS apache-модуля mod_rpaf нет. Для его установки можно пойти двумя путями: найти готовый пакет или собрать его из SRPM самостоятельно. В этой заметке описано, как собрать пакет из SRPM.

Для установки понадобятся пакеты gcc, rpm-build и httpd-devel

yum install rpm-build httpd-devel

А теперь можно собрать и mod_rpaf

rpmbuild --rebuild http://rpms.southbridge.ru/stable/SRPMS/mod_rpaf-0.6-1.southbridge.src.rpm

В случае, если rebuild ругается, что не хватает какой-то devel-библиотеки, ее можно без труда установить используя «yum install» (так же может не хватать which, gcc, make и т.п.).

Готовый rpm-пакет можно найти в папке /usr/src/redhat/RPMS/, откуда можно его установить командой

rpm -ihv mod_rpaf-0.6-1.southbridge.x86_64.rpm

28.05.2009

Написал Игорь Олемской

Рубрики: Мои записи

Теги: , , , , ,

Установка свежей версии ffmpeg на CentOS 5

Комментариев нет

UPD: Используйте репозиторий Rpmforge для установки ffmpeg :-)

Сравнительно свежая версия ffmpeg доступна в RPMFusion.

Устанавливается так (http://rpmfusion.org/Configuration):

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

Ввиду того, что для CentOS поддержка сравнительно сыровата, будет не лишним в файлах /etc/yum.repos.d/rpmfusion-free-updates.repo и /etc/yum.repos.d/rpmfusion-free-updates.repo отключить параметр «enabled», чтобы из этого репозитория по-умолчанию пакеты не устанавливались:

enabled=0

Теперь собственно можно установить и ffmpeg:

yum --enablerepo=rpmfusion-free-updates-testing install ffmpeg

25.05.2009

Написал Игорь Олемской