LINUX.ORG.RU

Centos7 установка rpm пакета

 , , ,


1

1

Доброе утро! Может кто сталкивался, при установке пакета squid-helpers-7.3.5.20-1.x86_64 .rpm выдает ошибку

«error: Failed dependecies: squid = 7:3.5.20-1 is needed by squid-helpers-7.3.5.20-1.x86_64».

Не пойму что еще нужно, squid то у меня установлен, версия 3.5.20


Ответ на: комментарий от anonymous

"-1" это номер пакета который я сгенерировал, пакет не генерировался если не поставить какой нибудь рандомный номер версии

mexces
() автор топика
Ответ на: комментарий от mexces

к примеру убрал я этот '-1', получился пакет squid-helpers-7.3.5.20-.x86_64, всё равно ошибка «error: Failed dependecies: squid = 7:3.5.20- is needed by squid-helpers-7.3.5.20-.x86_64»

mexces
() автор топика
Ответ на: комментарий от mexces

У тебя бардак какой-то с версиями, -1 не роляет совсем.

Failed dependecies: squid = 7:3.5.20 - подразумевается, что версия пакета должна быть 3.5.20, а 7 - это приоритет пакета, это странно.

Какая версия squid стоит 7.3.5.20 или 3.5.20?

Еще покажи что за спек накрутил.

anonymous
()
Ответ на: комментарий от mexces

Вообще, есть вариант установить, игнорируя отсутствие завимостей, емнип rpm -ivh --nodeps пакет (загугли), но лучше разобраться.

anonymous
()
Ответ на: комментарий от mexces

вот поэтому не пойму, для установки пакету нужен пакет??! squid = 7:3.5.20-1 is needed by squid-helpers-7.3.5.20-1 что за ерунда..

mexces
() автор топика
Ответ на: комментарий от mexces

Теперь я вообще ничего не понимаю)) Объясни поподробнее: ты собрал собрал свой патченный squid, установил, а squid-helpers из реп ставить? Или он тоже собрался и не хочет устанавливаться?

anonymous
()
Ответ на: комментарий от anonymous

Все, вижу в спеке

%package helpers
Group: System Environment/Daemons
Summary: Squid helpers
Requires: %{name} = %{epoch}:%{version}-%{release}
По идее Requires можно убрать, тогда не будет ругатся, но, опять же, лучше разобраться.

В спеке у тебя такое Release: %{release_number}, вроде вместо релиз-намбер нужно руками цифру поставить, нет?

Не пойму почему squid-helpers-7.3.5.20-1 у тебя такой (с точкой после epoch), а требует 7:3.5.20-1.

anonymous
()
Ответ на: комментарий от anonymous

хорошо) у меня стоит centos7 squid, пользователи прозрачно ходят в интернет, но cache.log постоянно выдает:

«SECURITY ALERT: Host header forgery detected on ... (local IP does not match any domain IP)

SECURITY ALERT: By user agent: ...

SECURITY ALERT: on URL: ...».

Лезу в гугл, единственное решение на хабре https://habrahabr.ru/sandbox/99037/.

Собираю по инструкции пакеты, (получается 3 штуки), собираются без ошибок, всё норм. Далее, два пакета ставятся, а третий вот ругается

mexces
() автор топика
Ответ на: комментарий от mexces

Дай еще вывод о версии squid через rpm (не помню как делается), интересно что там вообще, если не 7:3.5.20-1.

anonymous
()
Ответ на: комментарий от anonymous

Requires убрал, да сути то как --nodeps. Пакет установился но ничего не поменялось.

rpm -q squid

squid-3.5.20-10.el7.x86_64

mexces
() автор топика
Ответ на: комментарий от mexces

Пакет установился но ничего не поменялось.

То есть как не поменялось, если он установился? Oo

squid-3.5.20-10.el7.x86_64

Почему тут -10, у helpers тоже -10?

anonymous
()
Ответ на: комментарий от anonymous

То есть когда ставлю пакет с параметром --nodeps, он ставится, но ошибка из-за которой была вся затея, остаётся

«SECURITY ALERT: Host header forgery detected on ... (local IP does not match any domain IP)

Версия сквида rpm - squid-3.5.20-10.el7.x86_64

а сам пакет squid-helpers-3.5.20-1.x86_64.rpm

mexces
() автор топика
Ответ на: комментарий от mexces

Получилось! Сделал:

rpm -e squid

rpm -e squid-debuginfo

rpm -e squid-helpers

Только вот squid.conf полностью до исходного состояния сбросился, благо бэкапы сделал

mexces
() автор топика
Ответ на: комментарий от mexces

Получилось! Сделал:

осиль уже yum и ставь/удаляй пакеты им.

Только вот squid.conf полностью до исходного состояния сбросился

рядом должен был остаться твой старый, только переименованный.

squid.conf.rpmnew
смотри внимательнее. и вообще, зачем ты полез руками пересобирать свой сквид?

novitchok ★★★★★
()
Ответ на: комментарий от novitchok

О, точно, спасибо.

Делал это потому что squid в cache.log постоянно строчил:

«SECURITY ALERT: Host header forgery detected on ... (local IP does not match any domain IP)

SECURITY ALERT: By user agent: ...

SECURITY ALERT: on URL: ...».

mexces
() автор топика
Ответ на: комментарий от mexces

ну так с настройками разбираться надо было, а не тащить в рот всякую каку с швабры.

novitchok ★★★★★
()
Ответ на: комментарий от anonymous

есть вариант установить, игнорируя отсутствие завимостей, емнип rpm -ivh --nodeps пакет (загугли)

Была бы я модератором, я бы не за политоту банила, а за такие советы.

Пакетный менеджер - это не школьная училка которой надо делать назло, это инструмент твоей системы, сделанный чтобы этой самой системе обеспечить стабильную работу. И когда он говорит что «что-то не так», не надо пытаться его обжулить.

alpha ★★★★★
()

Версия исходников и версия пакета - это две разные вещи, не надо их путать.

У пакета squid в твоем примере есть версия исходников(Version) - 3.5.20, есть счетчик(Epoch) - 7 и есть версия самого спека (Release) - 1.

В итоге версия пакета получается 7:3.5.20-1

Release нельзя ставить пустым и игнорировать тоже нельзя.

Пакет squid-helpers - это подпакет пакета squid. Они собираются из одного общего спека и из общих исходников. Поэтому их нельзя разделять и ставить squid из апстримных репозиториев, а squid-helpers свой пересобранный. Надо пересобирать всё разом и ставить тоже всё, что получилось.

RPM в данном случае видит что у тебя в системе установлен squid из апстрима, а ты пытаешься подменить ему библиотеку на пересобранную тобой, при том что это явно запрещено в его спеке. И закономерно рапортует о проблеме. Либо устанавливай пересобранный squid, либо не трогай библиотеку.

alpha ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.