Речь идет о YUM - утилите для обновления RedHat-систем.
Часть первая, и не последняя
Как-то в прошлом году довелось установить корпоративный сервер на CentOS 5.2.
И вот он успешно жужжал до сегодняшнего дня, намолотив 273 дня аптайма.
И поскольку первая заповедь админа "Если все работает нормально - ничего не трогай!" мною обычно соблюдается, то я и ничего не делал - как была версия 5.2 с текущими на тот момент обновлениями, так и осталась.
Кстати, "то я и ничего не делал" напомнило старый анекдот:
Прибегает к прапорщику запыхавшийся солдат:
- Товарищ прапорщик! Рядовой Зайцев ваше приказание выполнил!
- Гм... Так я вроде тебе ничего не приказывал?
- Так я ничего и не делал!
Так вот, вот в канун новогодних праздников, изнывая от желания чего-нибудь сделать, надумал я сотворить тотальный апгрейд Центоса на этом самом сервере. Вопреки админской заповеди, но ей есть оправдание - как-никак, пропустил переход на 5.3 и даже 5.4, нехорошо-с...
Не долго мудрствуя, запускаю на сервере секретную команду
Однако в ответ получаю ворох невнятных ошибок, некоторым образом указывающих на отсутствие доступа к Интернету.
Хотя pыng на все наружные все сайты проходит на ура.
Странно... Ведь точно помню, что текущую версию 5.2 я таки обновлял. Но тогда как?
Еще через некоторое усиленных воспоминаний вспомнил, что для этого пробивал на сервер порт, потому что сервер, как положено корпоративному серверу, находится внутри локалки и защищен всякими проксями и прочими защитами.
А когда заканчивал апдейт - снова отключал этот мапинг.
Конечно, можно было и сегодня поступить аналогично. Но чисто из научного любопытства мне стало интересно - неужели YUM не умеет работать через прокси?
Полез в man yum - о прокси ничего не сказано. Зато он нашелся в man yum.conf
После этого осталось дописать в конец конфига man yum.conf необходимые параметры
Но первая же попытка обновить дистрибутив снова выдала ошибку, теперь уже синтаксиса:
Не буду рассказывать о том, как долго гуглил Инет в поисках причины ошибки. Как всегда, помог знаменитый Tigro
Оказалось, что разработчики Юма изобрели ну офигенно оригинальный способ завершения строки с адресом прокси в своем конфиге - после номера порта должен непременно стоять знак слеша, вот такого - /
Зачем? Ахз... Не иначе, как от большого ума
И окончательный конфиг должен выглядеть так:
И только после этого YUM учуял наличие Интернета и поволок хидеры с с репозитариев Центоса.
Да как как? Набрал ту самую команду yum update и иди себе кофеёк попивай!
Логично. Но в Интернете нашелся интересный материал по особенностях обновления:
- Если обновится классическим "yum update", то иногда можно столкнуться с тем, что CentOS после ребута не загрузится совсем, или же обновит только часть своих пакетов.
Поэтому опытные центосоводы рекомендую сначала выполнить предварительную команду
2. Ну что, теперь уже можно запускать yum update ?
Да хоть вчера! Но опять таки, если вы не ходите ненужных сюрпризов, связанных с обрывам канала, ошибками в мета-списках пакетов и т.п. этот объемистый процесс целесообразно разбить на 3 этапа:
- загрузка сведений о загружаемых пакетах
- загрузка самих пакетов
- обновление системы загруженными пакетами
Выполнение каждого из этих этапов можно контролировать, и если он прошел успешно, начинать следующий.
И тогда полная процедура обновления системы будет выглядеть так:
Последние комментарии