LINUX.ORG.RU
решено ФорумAdmin

APT + RPM --- defective by design?


0

1

Рассмотрим запись из sources.list в Debian:

deb ftp://mirror.yandex.ru/debian squeeze main contrib non-free

Иными словами, здесь имеем:

deb path-to-repository suite component...

Рассмотрим аналогичную запись в sources.list ALT Linux:

rpm ftp://mirror.yandex.ru/altlinux/5.0/branch i586 classic
rpm ftp://mirror.yandex.ru/altlinux/5.0/branch noarch classic

Таким образом, здесь имеем:

rpm path-to-repository-and-suite architecture component...

ALT Linux вынуждает меня помнить архитектуру машины, а также подключать репозиторий noarch. Это дефект конкретного ALT или APT + RPM вообще?

Кроме того, в ALT-овском apt-get отсутствует команда purge, хотя есть опция --purge. Это тоже дефект ALT или APT + RPM вообще?


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

>Что не избавляет меня от необходимости знать структуру этого дерева а также тот факт, что пакеты двоичной архитектуры могут зависеть от all.

о_О разве какой-то пакетный менеджер освобождает от знания названия репозитория?

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

> Дефект чего ? Мне кажется, у кого-то ЧСВ завышено. Сначала бы разобрался в сути вопроса...

Разобрался, и получше тебя. APT, yum, yast не требуют указания двоичной архитектуры и знают про all. Как бы производный apt4rpm единственный, кто требует. Настоящий APT всегда работал, работает и будет работать без явного указания архитектуры, в отличие от. Следовательно, apt4rpm is defective by design.

В ALT этот apt пришёл из другого rpm-based дистрибутива.

Не имеет никакого значения, сами они сочинили эту поделку или вставили, не разобравшись.

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

> разве какой-то пакетный менеджер освобождает от знания названия репозитория?

Название репозитория нужно знать всегда, я и не говорил, что APT поможет мне забыть ссылку на, допустим, mirror.yandex.ru. Но с APT (а также yum и yast) мне не нужно знать про наличие архитектуры all и вообще про то, что существует такое разделение. Даже про архитектуру своей машины я могу забыть. APT определит архитектуру самостоятельно.

Иными словами, все нормальные пакетные менеджеры сами справляются с архитектурами. Репозитории этих ПМ устроены так, что ПМ найдет пакеты другой архитектуры без моего вмешательства. apt4rpm единственный требует от меня самостоятельно разбираться с архитектурными зависимостями, поэтому it's defective by design.

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

>Название репозитория нужно знать всегда, я и не говорил, что APT поможет мне забыть ссылку на, допустим, mirror.yandex.ru

В данном случае i586 - это часть ссылки (как squeeze в твоем же примере)

/thread

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

> В данном случае i586 - это часть ссылки (как squeeze в твоем же примере)

Нет. squeeze не часть ссылки, между debian и squeeze есть пробел.

Смысл тоже разный. i586 --- архитектура, squeeze --- кодовое обозначение версии.

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

>Нет. squeeze не часть ссылки, между debian и squeeze есть пробел.

учи матчасть, прежде чем метанировать. squeeze - это название каталога на сервере. i586 (в твоем случае) - тоже каталог. Мб админ репозитория и м..к, но apt-rpm тут вообще не причем

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

учи матчасть. squeeze - это название каталога на сервере.

В отличие от тебя я давно собираю и deb-ы, и rpm-ы, и APT-репозитории, и даже apt4rpm-репозитории. Я знаю, что это каталоги.

apt-rpm тут вообще не причем

Уясни для себя по толковому словарю смысл слов «синтаксис» и «семантика». Дальше перечитай исходное сообщение и http://www.linux.org.ru/jump-message.jsp?msgid=5759259&cid=5760052. Если считаешь, что я переврал цитату, читай исходник: http://apt4rpm.sourceforge.net/web-apt-rep.html. После этого хотя бы кратко ознакомься с yum и yast. Если не поможет, просто покинь тред.

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

>> Сначала бы разобрался в сути вопроса...

Разобрался, и получше тебя.


Ни в коем случае.

APT, yum, yast не требуют указания двоичной архитектуры и знают про all.


И что ?

Следовательно, apt4rpm is defective by design.


Это просто психоз, и ничего более. В смысле требование отдельного индивидуума, чтобы не надо было указывать архитектуру: это совершенно ненужная фича. Фактически лишний код. Сделали в Debian ? Хорошо. молодцы. Нет в ALT - ну и нафиг не сдалось.

Не имеет никакого значения, сами они сочинили эту поделку или вставили, не разобравшись.


Не имеет никакого значения мнение ilias по данному вопросу. Это вот да. :-)

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

Неужели в Альт нельзя поставит какой-нибудь кошерный менеджер пакетов для RPM?

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

Да, так и есть.

(Кстати, я когда-то уже интересовался этим вопросом: http://lists.altlinux.org/pipermail/devel/2009-January/165586.html)

php-coder ★★★★★
()
Ответ на: комментарий от elipse

> так что ... «на самом деле» все было верно для прояснения «происхождения».

Изначально - да. Но http://apt4rpm.sourceforge.net:
28 Februari 2005: a new version (0.69.3) has been released.

А на http://apt-rpm.org:
Stable version 0.5.15lorg3 released (22.04.2006)
Stable version 0.5.15lorg2 released (06.02.2006)
Stable version 0.5.15lorg1 released (31.01.2006)

То есть, заметно позднее ещё движение было. В ALT базовая версия - 0.5.15lorg2.

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

>> В альтовских ссылках рассылки всегда такая перосянщина?

А где не бывает ?

Вопрос был «всегда ли». А вообще, в немногих листах, которые я читал, никогда не видел такого чванства.

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

> чтобы не надо было указывать архитектуру: это совершенно ненужная фича.

А то! И полудиски-полуразделы C, D, E --- тоже нормально, одно дерево --- ненужная фича, причуды отдельных юниксоидов.

Сделали в Debian ? Хорошо. молодцы.

А также в Fedora, CentOS, OpenSUSE, ...

Нет в ALT - ну и нафиг не сдалось.

Типичное мнение пользователя какого-нибудь говна. Нет в какой-нибудь ладаприоре АКПП --- так ведь и не нужно. Нет в ALT Linux или Windows нормального пакетного менеджера --- правильно, это никому не нужно!

Назови хотя бы еще один (живой) дистрибутив с такой же говенной структурой репозитория.

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

> А вообще, в немногих листах, которые я читал, никогда не видел такого чванства.

Это ты еще их вики не читал. ;-)

ilias
() автор топика

> ALT Linux вынуждает меня помнить архитектуру машины, а также подключать репозиторий noarch. Это дефект конкретного ALT или APT + RPM вообще?

Это РАЗНАЯ структура РЕПОЗИТОРИЯ. А apt обеспечивает ей ГИБКОСТЬ.

Кроме того, в ALT-овском apt-get отсутствует команда purge, хотя есть опция --purge.

В дебиановском apt-get ровно то же самое.

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

> Нет в какой-нибудь ладаприоре АКПП

Не знаю, что такое ладыприоры, но АКПП не нужно бешеными темпами. Почему-то заметил странную закономерность - на АКПП ездят 98%, и ненужных людей тоже 98%. Я вижу в этом какую-то связь.

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

Апт можно привязать к deb, можно к rpm. Можно привязать к структуре релизо-ориентированной, где оно работает только с текущей архитектурой, а можно к структуре архитектурно-ориентированной, и иметь возможность подключать разные секции архитектур.

И вообще, apt не msi, его знать надо.

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

> > Кроме того, в ALT-овском apt-get отсутствует команда purge, хотя есть опция --purge.

В дебиановском apt-get ровно то же самое.

man apt-get

SYNOPSIS

apt-get [-sqdyfmubV] [-o= config_string ] [-c= config_file ] [-t= target_release] {update | upgrade | dselect-upgrade | dist-upgrade | install pkg [ { =pkg_version_number | /target_release } ] ... | remove pkg... | purge pkg... | source pkg [ { =pkg_version_number | /target_release } ] ... | build-dep pkg... | check | clean | autoclean | autoremove | {-v | --version} | {-h | --help}}

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

> > Кроме того, в ALT-овском apt-get отсутствует команда purge, хотя есть опция --purge.

В дебиановском apt-get ровно то же самое.

И вообще, apt не msi, его знать надо.

Кто бы говорил!

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

Да, действительно, apt знать надо... надо бы возобновить чтение мануала по ночам.

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

> Кто бы говорил!

То, что приделали более удобный алиас, как в aptitude - это совсем не принципиально, и на знание никак не влияет, можно и дальше по старинке пользоваться отработанными методиками.

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

> Апт можно привязать к deb, можно к rpm.

Если учесть, что последнее обновление apt4rpm было аж 28.02.2005, к rpm привязать уже не можно.

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

Покажи мне хотя бы один дистрибутив, кроме ALT Linux, где есть т. н. «архитектурно-ориентированная» структура.

ilias
() автор топика

Надежнее установки из исходников ничего быть не может. У меня самого система - не пойми что. Мандрива 2009.1 + куча пакетов из 2010.0 + пакеты из 2010.1 + уйма скомпилированных из джентовских реп (т.к. для установки одного rpm пришлось бы скачивать с полгига зависимостей).

rpm - дебильная система. Зачастую важными зависимостями она считает всякую мелочевку, а мой любимый rpm -[iU] --nodeps --force иногда приводит к отказу половины (а то и всей) системы.

Так что, лучше из исходников...

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

Будто бы deb не имеет такой же задницы с зависимостями, как rpm. Или вы хотите сказать, что сможете установить пакет, требующий glibcVa на систему с glibcVb без указания аналогов --nodeps --force ?

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

> rpm - дебильная система. Зачастую важными зависимостями она считает всякую мелочевку

RPM здесь вообще не причем - он проверяет то, что ему сборщики пакетов задали.

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

> Или вы хотите сказать, что сможете установить пакет, требующий glibcVa на систему с glibcVb без указания аналогов --nodeps --force?

Честно говоря, никогда такой потребности не возникало, потому не пробовал. Но вот собирать что-то извне приходится редко: в Дебиане я нахожу чуть менее, чем все.

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

На генту перейти не могу: нет испытательного полигона, да и непонятно, где можно купить диски со всем нужным мне софтом из джентовских репозиториев.

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

Честно говоря, никогда такой потребности не возникало

Она запросто может возникнуть, если вы захотите установить или обновить какой-либо пакет, не переустанавливая всю систему.

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

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

У меня все стандартное, просто в обычном dvd мандривы нет огромного количества нужных мне пакетов. Качать с интернета большие объемы я возможности не имею (дорого и медленно), поэтому пользуюсь тем, что есть (раньше выписывал LXF, брал пакеты с других дистрибутивов, сейчас я эту дрянь уже не выписываю - дистрибутивы буду покупать, а нужные пакеты брать с локального «кастрированного» джентовского зеркала).

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

> Она запросто может возникнуть, если вы захотите установить или обновить какой-либо пакет, не переустанавливая всю систему.

А зачем ее переустанавливать? Просто обновите пакет. Сколько оно потянет за собой зависимостей --- это как повезет. Что касается Debian, то я ставил нестабильное ядро в тестовую систему, два ядра работали (попеременно, конечно) без проблем.

Зато высок шанс потерять все старые настройки или вообще получить неработающую систему...

Я не знаю за rpm, но dpkg таки проверяет версии конфигурационных файлов. В процессе обновления он делает diff и спрашивает, что с ними делать. Старые версии файлов с вашими настройками он скопирует и оставит там же, дописав к имени суффикс .dpkg-old. Я так делал много раз.

Вообще у apt-get есть команды upgrade и dist-upgrade. upgrade, к примеру, не будет обновлять ядро. dist-upgrade максимально обновит систему.

Для обновления таких дистрибутивов лучше просто установить более свежий дистрибутив, предварительно зарезервировав нужные настройки со старого и отформатировав корень.

Для сервера это, извините, не вариант. К тому же нет никакой гарантии, что очень новая версия программы заработает с вашим очень старым конфигурационным файлом.

Что касается нескольких версий программы, то у меня сейчас стоят python2.5, python2.6, python3.1. И это не я колдовал, это в Debian есть dpkg-divert, которая позволяет иметь несколько версий программы.

На библиотеки это тоже распространяется: libGL.so может быть ссылкой как на libGL из MESA, так и на libGL из, допустим, ATI. Я думаю, с glibc такое тоже можно сделать.

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

>Она запросто может возникнуть, если вы захотите установить или обновить какой-либо пакет, не переустанавливая всю систему.

Имхо лучше поправить зависимости в пакете)

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

Там почти отсутствуют пакеты разработки (всякие там SDL, openGL-devel, gtk-devel и т.п.); нет IceWM, geany и прочего, без чего придется сидеть в «чорной консоли»; нормальный mplayer вообще можно только из исходников собрать...

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

Линуксцентр - дрянной магазин. С ним лучше не связываться. Да и нет у них приличных дистрибутивов. Я, например, купил бы мандриву «мощную упаковку», но нафига мне техподдержка? А без техподдержки ее не продают - только скачать предлагают...

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