Небольшой FAQ как "правильно" жить в linux. Ибо слишком много возникает глупых вопросов о сорсинсталах. CentOS - свободно-распостраняемый дистрибутив GNU/Linux, основанный на коммерческом Red Hat Enterprise Linux от компании Red Hat, и бинарно совместимый с ним. CentOS - это сервер-ориентированная система, хотя многие, включая меня, используют ее в том числе и на десктопах. В основном данное хауту фокусируется на CentOS5, хотя будет справедливо и для CentOS4, а также RHEL.
Формат пакетов в RHEL\ CentOS\Fedora - rpm. Для обвноления и установки пакетов из репозитариев применяется yum
Почему в RHEL\ CentOS так много "устаревших" программ? - Это не устаревшие программы. RHEL\ CentOS использует версионизированную пакетную систему. Это означает что версия любого софта закреплена (например, httpd-2.2.3) в течении всего цикла поддержки версии дистрибутива (7лет). При этом все security fixes и bugfixes бекпортируются в данный софт. Это сделано для того, чтобы ваша система имела определенную гарантированную функциональность независимо от апдейтов. Backporting of Security Fixes Подобную модель использует Debian linux, а также SLES (Suse Linux).
Наиболее часто используемые команды yum:
yum check-update #посмотреть список обновлений
yum search ${keyword} #поиск пакета
yum install ${package name/s} #установить новый пакет\пакеты
yum localinstall ${absolute path to package name/s} #установить локально-расположенный пакет
yum update #обновление всех пакетов; обновление между версиями centos 5.2 -> 5.3 происходит аналогично.
rpm -Uvh ${path or url to package name/s} #установка\обновления отделно взятого rpm
Дополнительные репозитории.
В базовых репозиториях не так то много пакетов. По этому существуют дополнительные репозитарии. http://wiki. centos.org/AdditionalResources/Repositories
Наиболее распостраненные и широкоиспользуемые дополнительные репозитории - EPEL (Extra Packages for Enterprise Linux) http:// centos.alt.ru/?p=120 - centos.alt репозитарий. Сдесь очень много замечательных серверных пакетов, таких как nginx-stable,nginx-devel, php-fpm, clamav и т.п. - рекомендую. RPMforge http://elrepo.org/ ELrepo - хороший репозитарий, содержащий свежие драйвера. (ELRepo currently focuses on hardware related packages to boost your experience with Enterprise Linux, this includes filesystem drivers, network drivers, webcams and video drivers.)
В качестве серверных репозитариев очень устраивают epel + centos.alt репозитарии. Если вы используете centos в качестве десктопа, то вероятно прийдется подключить большее колличество репозитариев. Ссылка выше.
Кроме того в доп. репозитариях как правило более новые пакеты. Например, версии nginx обновляется регулярно. Для подключения репозитариев см. ссылке выше. Как правило нужно просто установить соотвествующий rpm. Например,
Что делать если и в базовом репозитарии и в дополнительных есть одни и теже пакеты? конечно, предпочтительней использовать базовые репозитарии (т.к. они стабильнее и официально поддерживаются security team). Чтобы в системе был порядок, после подключения доп. репозиториев следует настроить приоритеты репозиториев.
далее в /etc/yum.repos.d/ CentOS-Base.repo в секциях добавляем priority=N, где N - число от 1 до 100, определяющее приоритет. Чем меньше число - тем больше приоритет. т.е. наша секция [base] будет выглядеть так:
аналогично поступаем для [updates], [addons], [extras]. [centosplus] можно подключить с чуть низшим приоритетом, например 5. Хотя данный репозитарий редко бывает нужен.
Дополнительные репозитарии, EPEL, подключаем соотвественно с еще более низким приоритетом.
[epel]
name=Extra Packages for Enterprise Linux 5 - $basearch
...
priority=22
Все ;) теперь можно наслаждаться установкой\обновлением пакетов из репозитариев!