FastNetMon

Показаны сообщения с ярлыком yum. Показать все сообщения
Показаны сообщения с ярлыком yum. Показать все сообщения

воскресенье, 2 октября 2011 г.

Как добавить SRPM репо в CentOS 6 (CentOS 6.0 source repository, SRPM)

Создаем файл репозитория:
vim /etc/yum.repos.d/CentOS-SRPMS.repo

Добавляем в него следующую информацию:
[base-SRPMS]
name=CentOS-$releasever - Base SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/os/SRPMS
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[updates-SRPMS]
name=CentOS-$releasever - Updates SRPMS
baseurl=http://mirror.centos.org/centos/$releasever/updates/SRPMS
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

четверг, 22 апреля 2010 г.

yum group install - установка групп пакетов

У yum есть супер возможность - связки пакетов. То есть вместо установки десятка пакетов для решения задачи, можно установить группу и все требуемые пакеты будут вытянуты на автомате.

Список всех имеющихся стандартных групп можно просмотреть вот так:
yum grouplist


Довольно интересны из них, например, группы: Virtualization, KVM.

Получить информацию о группе и список ее пакетов можно так:
yum groupinfo KVM


Ну и, наконец, установка группы:
yum groupinstall KVM


Из недостатков - ставится куча совершенно ненужных пакетов :(

четверг, 15 апреля 2010 г.

Error: database disk image is malformed

yum upgrade
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: centos.intergenia.de
* base: centos.copahost.com
* extras: centos.copahost.com
* updates: centos.copahost.com
Error: database disk image is malformed


Фикс очень прост:
yum clean all

воскресенье, 21 марта 2010 г.

There are unfinished transactions remaining. You mightconsider running yum-complete-transaction first to finish them.

Такая ошибка очень часто бывает, когда в процессе установки / обновления ПО процесс прерывается по какой-либо причине,

Ставим:
yum install -y yum-utils


Запускаем фикс:
yum-complete-transaction


Только БУДЬТЕ ОСТОРОЖНЫ, утилита себе на уме, мне разок предложила удалить 100+ пакетов для фикса транзакции :)

Обновление ядер и CentOS

При обновлении ядер в CentOS есть одна фишка - вновь установленное стандартное ядро всегда выбирается как default в GRUB, что очень неудобно при использовании нестандартных ядер (например, OpenVZ). Меня это долго бесило и вот сейчас я число случайно нашел, что такое поведение регулируется.


cat /etc/sysconfig/kernel
# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes

# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel


Полагаю, тут все очевидно. UPDATEDEFAULT - ставить ли новые ядра как стандартные. kernel - имя пакета со стандартным ядром:

rpm -qa | grep ^kernel
kernel-2.6.18-164.9.1.el5
kernel-2.6.18-164.11.1.el5
kernel-2.6.18-164.15.1.el5


Если же используется нестандартные ядра это имя может быть другим, например:
rpm -qa | grep ovzkernel
ovzkernel-2.6.18-128.2.1.el5.028stab064.8


Ну вот и все :) Корректировка пары параметров и Вам не придётся после каждого апдейта руками править grub.conf

понедельник, 18 января 2010 г.

Бага с ротацией лога yum.log в CentOS 5

-rw------- 1 root root 4982 Jan 15 16:16 yum.log
-rw-r--r-- 1 root root 32947 Dec 29 20:19 yum.log.1


Намек ясен? :) Хоят, возможно, бага имеет место только на серверах с с-панелью, хотя не уверен.

среда, 23 декабря 2009 г.

Уведомление при наличии обновлений, CentOS

Обновление системы - одн из тех задач, которые почти обязательно выполнять вручную, но проверять наличие апдейтов руками можно свихнуться. Поэтому будем автоматизировать :) Пойдем стандартным путем :)

Ставим пакет:
yum install yum-updatesd -y


Активируем запуск при старте:

chkconfig yum-updatesd on


Убеждаемся, что он добавился в автозапуск:

chkconfig --list | grep upda
yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off


Открываем конфиг:

vi /etc/yum/yum-updatesd.conf


Корректируем там следующие поля:

emit_via = syslog
# automatically download updates
do_download = yes
# automatically download deps of updates
do_download_deps = yes


Запускаем демона:

/etc/init.d/yum-updatesd start


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

Судя по интернетам, эту штуку юзать в продакшене НЕ стоит. Во-первых, она категорически отказывается отображать имеющиеся апдейты в сислоге и к тому же может легко съесть всю память.

P.S.: беру свои слова обратно, вот только что увидел в сислоге следующее
Dec 23 16:50:47 xen15 : 174 updates available


Так что все работает! А уедание памяти уж как-нибудь пофиксим :)

воскресенье, 20 декабря 2009 г.

Настройка исключений для yum update

Часто при установке "патченного" софта (конечно же, из rpm, а не сорцов) встает необходимость заблокировать последующие апдейты "патченного" пакета, иначе они отключат все его фичи.

Для этого есть плагин к yum:
yum-versionlock.noarch : Yum plugin to lock specified packages from being updated


Ставим его:
yum -y install yum-versionlock


Открываем список игнорируемых пакетов:
vi /etc/yum/pluginconf.d/versionlock.list


И вписываем туда (ну имя пакета, разумеется, Ваше):
kernel-xen*


Всё, при запуске yum update он появляться более не будет :)

воскресенье, 13 декабря 2009 г.

Another app is currently holding the yum lock; waiting for it to exit

Another app is currently holding the yum lock; waiting for it to exit...
The other application is: yum
Memory : 22 M RSS (258 MB VSZ)
Started: Sat Dec 12 12:17:55 2009 - 00:14 ago
State : Running, pid: 5905


Решается так:

killall -9 -r yum

четверг, 12 ноября 2009 г.

Аналог apt-get autoremove в Centos

yum install yum-utils -y
package-cleanup --leaves


Из хелпа: командой --leaves можно вывести список пакетов, от которых не зависят никакие другие компоненты

вторник, 8 сентября 2009 г.

вторник, 31 марта 2009 г.

Как избавиться от ошибки в YUM: "TypeError: unsubscriptable object"

Вылезла вот такая противная ошибка (а если вкратце -- "TypeError: unsubscriptable object"):


Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 229, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 145, in main
(result, resultmsgs) = base.buildTransaction()
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 647, in buildTransaction
(rescode, restring) = self.resolveDeps()
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 704, in resolveDeps
for po, dep in self._checkFileRequires():
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 939, in _checkFileRequires
if not self.tsInfo.getOldProvides(filename) and not self.tsInfo.getNewProvides(filename):
File "/usr/lib/python2.4/site-packages/yum/transactioninfo.py", line 414, in getNewProvides
for pkg, hits in self.pkgSack.getProvides(name, flag, version).iteritems():
File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 300, in getProvides
return self._computeAggregateDictResult("getProvides", name, flags, version)
File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 470, in _computeAggregateDictResult
sackResult = apply(method, args)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 861, in getProvides
return self._search("provides", name, flags, version)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 837, in _search
for pkg in self.searchFiles(name, strict=True):
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 586, in searchFiles
self._sql_pkgKey2po(rep, cur, pkgs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 470, in _sql_pkgKey2po
pkg = self._packageByKey(repo, ob['pkgKey'])
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 413, in _packageByKey
po = self.pc(repo, cur.fetchone())
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 68, in __init__
self._read_db_obj(db_obj)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 94, in _read_db_obj
setattr(self, item, _share_data(db_obj[item]))
TypeError: unsubscriptable object


Исправляется вот так:
yum clean all