вторник, 19 января 2010 г.

установка yum на esx4

И был сначала esx3.5 и все было хорошо…. :)

Особенно меня радовало что в нем была поддержка yum репозитариев. За долгие годы кручение *nix систем, выработались привычки и утилиты, без которых жить на оных системах было не комфортно. Привык что есть mc, вместо стандартного vi я использовал joe, tcpdump, wget и много много другого… Все это, на системе esx3.5. при подключении репозитариев из RedHat Enterprise Linux 4 (RHEL4) устанавливалось через yum и работало.

А еще снималось по snmp состояние железа (температура, вентиляторы, состояние блоков питания, алерты с UPS подключенного по COM порту). Правда для этого необходимо было установить утилиту ipmitool.

После апгрейда на esx4 это все пропало. Нету yum вообще. Начинаем восстанавливать.

 
СРАЗУ ОГОВОРЮСЬ – ВСЕ ЧТО ВЫ ДЕЛАЕТЕ, ВЫ ДЕЛАЕТЕ НА СВОЙ СТРАХ И РИСК!

Чем я пользовался:



  • WinSCP
  • DaemonTools
  • Putty
  • /dev/hands /dev/brain :-)

Начнем с того, что нам нужны пакеты из репозитария что бы этот самый yum установить. Как известно esx4 - 64 битная система, соответственно и все пакеты нужно ставить 64 битные (с эмуляцией 32бит я еще не разбирался). Т.к. RHEL5 система очень даже платная, и не дает просто так доступ к своим репозитариям, было решено использовать репозитарий и образ от CentOS 5 64bit.

Скачиваем образ из http://isoredirect.centos.org/centos/5/isos/x86_64/

Можно скачать несколько образов CD или один DVD. Дабы не заморачиваться, я скачал сразу DVD образ. Монтируем этот образ в DaemonTools.

Далее подключаемся к хосту где у вас установлен esx4 с помощью WinSCP. Напомню, для этого у вас должен быть заведен в сервис консоли еще один пользователь, т.к. по умолчанию есть только root. Если очень хочется рутом, то тогда нужно изменить параметр в «PermitRootLogin Yes» в файле /etc/ssh/sshd_config. Копируем на esx файлы:

  • yum-3.2.22-20.el5.centos.noarch.rpm
  • yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
  • yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
  • python-iniparse-0.2.3-4.el5.noarch.rpm
Заходим с помошью Putty (по протоколу ssh конечно) на машину с esx. Счастливые обладатели IP-KVM, iLO или у кого сервер под рукой могут зайти через локальную консоль :)

При попытке просто инсталляции yum получаем ошибку о зависимостях:

rpm -i yum-3.2.22-20.el5.centos.noarch.rpm
warning: yum-3.2.22-20.el5.centos.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
error: Failed dependencies:

python-iniparse is needed by yum-3.2.22-20.el5.centos.noarch

yum-fastestmirror is needed by yum-3.2.22-20.el5.centos.noarch

yum-metadata-parser >= 1.1.0 is needed by yum-3.2.22-20.el5.centos.noarch


Ставим Питон:

rpm –i python-iniparse-0.2.3-4.el5.noarch.rpm



Ставим yum-metadata-parser

rpm –i yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm



Но при попытке поставить yum-fastestmirror получаем замкнутую зависимость :-)
Т.е. что бы поставить модуль yum’a нужен yum. И без этого модуля yum не хочет ставиться.

rpm –i yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
error: Failed dependencies:
yum >= 3.0 is needed by yum-fastestmirror-1.1.16-13.el5.centos.noarch

Забиваем на этот модуль, и ставим yum принудительно:

rpm -i --nodeps yum-3.2.22-20.el5.centos.noarch.rpm

А потом уже снова:


rpm –i yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm


И установка прошла гладко.



Теперь нам нужно настроить доступ к репозитарию. Для этого в папке /etc/yum.repos.d/ создаем файл centos.repo c следующим содержанием


[centos-base]
name=CentOS-5 - Base

mirrorlist=http://mirrorlist.centos.org/?release=5&arch=$basearch&repo=os

enabled=1

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5



#released updates

[centos-updates]

name=CentOS-5 - Updates

baseurl=http://mirror.centos.org/centos/5/updates/$basearch/

enabled=1

gpgcheck=1

gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

EOF (эту строку копировать не нужно J)

Проверяем:



# yum search wget
Loaded plugins: fastestmirror
Determining fastest mirrors
* centos-base: ftp.tlk-l.net
centos-base 100% |=========================| 2.1 kB 00:00
centos-base/primary_db 100% |=========================| 2.0 MB 00:00
centos-updates 100% |=========================| 1.9 kB 00:00
centos-updates/primary_db 100% |=========================| 517 kB 00:00
================================ 
Matched: wget =================================
wget.x86_64 : A utility for retrieving files using the HTTP or FTP protocols.



Первый раз оно подтягивает список файлов и описание доступные в репозитории, что видно из ката…



Ну и инсталлируем:



>yum install wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* centos-base: ftp.tlk-l.net
Setting up Install Process
Resolving Dependencies
> Running transaction check
---> Package wget.x86_64 0:1.11.4-2.el5_4.1 set to be updated
--> Finished Dependency Resolution



Dependencies Resolved
================================================================================

Package Arch Version Repository Size

================================================================================

Installing:

wget x86_64 1.11.4-2.el5_4.1 centos-updates 582 k

Transaction Summary

================================================================================

Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)


Total download size: 582 k
Is this ok [y/N]: y
Downloading Packages:
wget-1.11.4-2.el5_4.1.x86 100% |=========================| 582 kB 00:00
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
centos-updates/gpgkey 100% |=========================| 1.5 kB 00:00
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) " from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : wget 1/1

Installed:
wget.x86_64 0:1.11.4-2.el5_4.1
 

Complete!


И проверяем:

>wget
wget: missing URL
Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.


Наслаждаемся….. :-)



thx камрад Артем Пименов

6 комментариев:

  1. Не зря vmware планирует отказаться от сервисной консоли.

    ОтветитьУдалить
  2. Как заядлый Linuxоид не могу пройти мимо.
    1. RPM можно поставить все и сразу и не думать о зависимостях rpm -ivh *.rpm
    2. Репозиторий CentOS лучше сделать локальный и закачивать пакеты с него. Если ESX больше чем 1, то экономия трафика и времени.

    ОтветитьУдалить
  3. Ну и зачем все это надо? VmWare свои обновления выпускает, для чего нужно обновлятся с центосовского репозитария.

    ОтветитьУдалить
  4. Речь не об обновлении, а об установке недостающего...
    и последующего обновления этого самого недостающего

    ОтветитьУдалить
  5. IMHO чем меньше соваться в Service Сonsole - тем лучше. В итоге на ESXi переходить проще будет, туда-то как раз ставить точно ничего не стоит.

    ОтветитьУдалить
  6. Добрый день Артем,

    поддерживаю идею, но очень советую RHLE 5 для этого дела и достать его можно абсолютно бесплатно зарегестрировавшись на Redhat вэбсайте и попросив evaluation на 30 дней.
    проверено, ибо примерно таким же уже занимался...

    Андрей

    ОтветитьУдалить