LINUX.ORG.RU

Использование APT в Red Hat 8.0


0

0

Появилась статья, в которой рассказывается, как установить apt - Advanced Package Tool в операционной системе RedHat 8.0. Система управления пакетами apt первоначально появилась в Debian GNU/Linux и работала лишь в связке с менеджером пакетов dpkg. Но позже разработчики дистрибутива Connectiva Linux добавили в нее поддержку rpm. Следует отметить, что apt позволяет провести полное автоматическое обновление системы Debian GNU/Linux от 1.2 до 3.0 (между ними разница в 5 лет).

>>> Текст статьи

anonymous

Проверено: maxcom

Вопрос к пользующим - как заставить apt-get игнорировать broken dependencies ? Или как сказать rpm'у, что пакет с данным именем у меня установлен.

anonymous
()

apt по определению не может игнорировать broken dependencies
первое и непреложное условие его фунционирования - полная замкнутость системы по зависимостям

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

Это не есть гуд, у меня вот некоторые проги из tar.gz стоят...

rust
()

rust (*) (2002-12-30 17:16:46.417)
это значит, что ты делал что-то не так, проги из .tar.gz в систему с apt-get ставить нельзя, этим ты нарушаешь идеологию, и обрекаешь себя на проблемы, если что-то надо собрать и сорцов, то надо из этого делать пакет.

anonymous
()

Идеология идеологией, а вот есть у меня cmucl-18d-1 и cmucl-extras-18d-1, скачаны из одного места, собраны одним человеком и прекрасно работают вместе, но формально второй пакет хочет cmucl-18d (без -1) и без --nodeps не ставится (видать, ошибся сборщик). Пересобирать руками или пинать автора и заново качать эти мегабайты не хочется, хотелось бы иметь способ сказать системе, что конкретно с этими пакетами всё в порядке и обращать внимание на глюки не стоит.

anonymous
()

Почему не поставить этот пакет без apt, просто rpm'ом?

yvv ★★☆
()

А нет бы просто определить, установлена прога в системе или нет. Вызвал lib'у, спросил версию... Ну и впрямь, собрал я из исходников, и что?

PitStop
()

to anonymous (*) (2002-12-30 17:36:09.247)
Да я вообще-то apt-get с rpm не юзал, но, блин, идея хорошая
- самому собирать rpm из сорцов. Пожалуй стоит потратить лишний час на написание speca...

rust
()

2yvv Так и стоит, только при его наличии apt-get приницпиально отказывается работать - пока не разрешите зависимости, ничего делать не буду.

anonymous
()

2anonymous (*) (2002-12-30 17:41:35.203)
нормального apt-get для rpm сделать нельзя из-за ограничений, которые накладывает rpm. Если какой-то пакет чего-то хочет, то apt должен иметь возможность это поставить, в противном случае возникнет конфликт и apt откажется устанавливать пакет. В твоем случае надо либо самому править пакеты, либо пинать автора. С apt'ом такая система зависимостей работать не будет.

yvv (*) (2002-12-30 18:25:12.63)
нет разницы как ставить, как только ты попробуешь что-нть сделать apt'ом, он сразу же будет стараться удволетворить все зависимости, так что ставить пакеты с --nodeps не имеет смысла.

Всем кто хочет реально поработать с apt'ом надо использовать debian в других дистрибутивах он не может реализовать свой потенциал из-за ораниченности rpm'а и не столь отлаженной системы зависимостей как в debian.

anonymous
()

to anonymous (*) (2002-12-30 20:00:06.542)

А чем система зависимостей в dpkg лучше, чем в rpm?
И чем это rpm ограничен?

rust
()

2 rust Я не много имел дело с RPM, поэтому могу ошибаться, но если один rpm-пакет "зависит" от другого, то без установки второго пакета первый не поставишь. В deb же есть несколько уровней зависимости: и в зависимости от них пакет может ставиться как автоматически так и исключительно по желанию пользователя.

syomin
()

apt в debian на самом деле имеет решение по этому поводу

http://www.debian.org/doc/manuals/apt-howto/ch-helpers.en.html#s-equivs

equivs создаёт пустой пакет с нужным именем для удовлетворения зависимостей, а сам пакет устанавливается из исходников (configure, make, make install).

Может и в apt для rpm есть что-либо подобное?

yvv ★★☆
()

2 yvv Есть еще dh_make. Минут за 15 можно сделать из иходников пакет (если не учитывать время компиляции) 8)

syomin
()

есть rpm --justdb
но это для ущербных.
правильно настроенная система не должна требовать таких подпорок.

AVL2 ★★★★★
()

> А нет бы просто определить, установлена прога в системе или нет.
> Вызвал lib'у, спросил версию... Ну и впрямь, собрал я из исходников, и
> что?

В этом случае можно забыть, к чему эта либа, и грохнуть ее, не получив предупреждения о том, что она кому-то нужна.

> Я не много имел дело с RPM, поэтому могу ошибаться, но если один
> rpm-пакет "зависит" от другого, то без установки второго пакета первый
> не поставишь.

rpm --nodeps

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

Ага, не должна. А вот маленький примерчик. Берем ноне ибм'овский Informix Client SDK в rpm (а иначе и нету для линукса), ставим. Берем src.rpm для PHP - собираем с поддержкой информикса. Пишем rpm -q --requires php. Получаем список библиотек, среди которых всякие libifsql и так далее, то есть информиксовские библиотеки, но csdk.rpm их не провайдит. Вот и имеем в результате неразрешенные зависимости и неработающий апт при том, что все вроде бы на месте.

anonymous
()

Если всё вышесказанное о проблемах относится к RH, то это значит, что в RH криво отлажены зависимости. Требовать же от сторонних коммерческих пакетов совместимости с основанной на apt системой практически бесполезно. Ведь сетка связей своя в разных дистрибутивах и версиях. По собственному опыту знаю, что коммерческие пакеты должны иметь минимальное количество элементарных зависимостей и нести всё своё с собой.

anonymous
()

А здесь коннективовский апт-рпм (rapt) или apt4rpm?

Кстати, а чем yum не угодил?, ИМХО, проще прикручивается..

asoneofus
()

Yum всем угодил, но нормально пользовать можно только АСПшную версию, с кучей патчей.

anonymous
()

Ну, :-) Я ту версию и имел в виду :-)

asoneofus
()

anonymous (*) (2002-12-31 12:00:22.133)

а теперь идем и читаем что такое автоматические зависимости. *.so твой SDK провайдит. Неявно. При попытке удаления пакета в котором сожержиться libifsql.so тебе rpm скажет "мужик, я не могу удалить пакет, потому что libifsql.so нужна для работы php". если либа статическая, то никаких проблем.

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

Не нельзя, а типа можно. Для чего во все времена в унихах был /usr/local. Однако, даже туда надо бы с пакаджманагером вроде Stow ставиться. А по хорошему, даже локальные для пользователя пакеты (e.g. в $HOME/priv/) должны через Stow вешаться.

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

Вот в том-то и дело, что удалить этот самый SDK можно без проблем - rpm не ругнется даже в такой ситуации, а вот вот работать ни хрена не будет. Впрочем, история Informix на Linux - это вообще отдельная песня...

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

странно, ооочень странно. Про SDK ничего не скажу, может чего собрали без provides? При енкотором несильном делании такое реально.

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

Скорее всего. Судя по запросу он вообще ничего не провайдит. Причем, кстати, разницы никакой - ни древний 2.40, ни последний 2.80. Ну я говорю - Informix и Linux - это вообще нечто странное. По-моему, первые версии Informix были сделаны для линукс исключительно 'шоб було', и в общем-то нормальной серверной платформой для Informix линукс так и не стал. И не станет уже...

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

2anonymous (*) (2003-01-04 13:30:52.047): подпорка, для ремонтных целей.

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

Наверное криво собран rpm, у меня такая проблема с Oracle
(он вообще не в rpm идет), собираешь свой XXX-libs-provider.rpm и устанавливаешь ;-)

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

что я в результате и сделал. с информиксом, правда, еще одна интересная проблема - он при установке еще и обрабатывает все файлы в пакете программкой brand, связывая их с серийным номером и ключом активации, поэтому rpm совсем фэйковый делать пришлось.

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