LINUX.ORG.RU

Aptitude возвращается

 ,


0

0

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

Дэниел Бэрроус (Daniel Burrows), основной мейнтейнер Aptitude в течение уже очень длительного времени, благодаря работе которого данная программа является рекомендуемой к применению на протяжении последних лет, в настоящее время не располагает большим количеством свободного времени, что отрицательно сказалось на состоянии Aptitude — количество открытых багов достигло 800 в ноябре прошлого года (график). За возрождение программы взялись Дэниел Хартвиг (Daniel Hartwig) и Мануэль А. Фернандес Монтечело (Manuel A. Fernandez Montecelo), начав работу по устранению багов и одновременной подготовке новой версии Aptitude.

Желающие помочь проекту могут присоединиться к списку рассылки для разработчиков: http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/aptitude-devel

>>> Сообщение в блоге Кристиана Перье

Ох уж этот ваш APT... Когда ни сталкивался с debian-based - и apt-get, и aptitude устраивают такие жуткие пляски с зависимостями, что хочется взять и установить какой-нибудь арч. До сих пор поражаюсь, как на такой стабильной и популярной системе, как дебиан, не переписали пакетный менеджер по человечески.

Выдохнул.

vurdalak ★★★★★ ()

фронт-энд для dpkg, отличающийся от APT

Это ж фронт-энд для APT как раз, который, в свою очередь, фронт-энд к dpkg.

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

Ты конкретно говори, как проявился баг, при установке или удалении каких пакетов. Потому что УМВР. Как и, думаю, у 99% дебианщиков.

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

Когда ни сталкивался с debian-based - и apt-get, и aptitude устраивают такие жуткие пляски с зависимостями, что хочется взять и установить какой-нибудь арч

который просто ломается, когда захочет? нет, спасибо

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

Пример. Ставлю пакет unrar. Вместо того, чтобы ставить его, aptitude начинает процедуру конфигурации установленной кем-то до этого mysql. Почему нельзя просто поставить то, что я ему сказал, а операции с другими пакетами оставить для того, кто их ставил? Аналогичный пример - ставил, кажется, zip - получил установку иксов и падение с ошибкой. Ладно, я понимаю, что он не может поставить иксы на VPS. Но почему нельзя просто поставить zip, а иксы ставить тогда, когда я дам команду поставить иксы? Почему он пытается думать за меня и делать не то, что я ему говорю, а все сразу?

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

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

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

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

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

Я ставил unrar и все сработало четко и как положено. ЧЯСНТ?

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

Почему нельзя просто поставить то, что я ему сказал, а операции с другими пакетами оставить для того, кто их ставил?

С тобой все понятно.

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

Команда aptitude install пакет - это не установка пакета, а глобальное обновление системы и конфигурация приложений. Это, наверное, записано большими буквами в священном писании дебиана?

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

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

> aptitude начинает процедуру конфигурации установленной кем-то до этого mysql.

pacman поступает точно также, между прочим. И это, я скажу, правильно. А тем, кто начал устанавливать пакет, обрубил установку в момент конфигурации, и так это оставил - надо делать профилактическую клизму с перцем.

> Аналогичный пример - ставил, кажется, zip - получил установку иксов и падение с ошибкой.

Только что проверил на ВПС без иксов - отлично стал зип, без проблем. ЧЯДНТ?

И да, кривые зависимости пакетов - это не проблема самого package-manager'а.

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

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

эмм. почему у меня не так?

user@dearfriend:~$ sudo aptitude upgrade
Следующие пакеты будут обновлены:                
  cpp dictionaries-common g++ gcc gtk2-engines-pixbuf libgail18 libgssapi-krb5-2 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libk5crypto3 
  libkrb5-3 libkrb5support0 libplist1 libxvidcore4 
РЕКОМЕНДУЮТСЯ следующие пакеты, но автоматически они установлены НЕ БУДУТ:
  krb5-locales 
15 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 13,3 MB архивов. После распаковки освободится 174 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
user@dearfriend:~$ sudo aptitude install psi
Следующие НОВЫЕ пакеты будут установлены:        
  libaudio2{a} libqca2{a} libqca2-plugin-ossl{a} libqt4-dbus{a} libqt4-designer{a} libqt4-network{a} libqt4-qt3support{a} libqt4-script{a} 
  libqt4-sql{a} libqt4-xml{a} libqtcore4{a} libqtgui4{a} psi 
РЕКОМЕНДУЮТСЯ следующие пакеты, но автоматически они установлены НЕ БУДУТ:
  libqt4-sql-ibase libqt4-sql-mysql libqt4-sql-odbc libqt4-sql-psql libqt4-sql-sqlite libqt4-sql-sqlite2 sox 
0 пакетов обновлено, 13 установлено новых, 0 пакетов отмечено для удаления, и 15 пакетов не обновлено.
Необходимо получить 20,7 MB архивов. После распаковки 50,1 MB будет занято.
Хотите продолжить? [Y/n/?] n
Прервать.
feinsbot ()
Ответ на: комментарий от vurdalak

Пример. Ставлю пакет unrar. Вместо того, чтобы ставить его, aptitude начинает процедуру конфигурации установленной кем-то до этого mysql. Почему нельзя просто поставить то, что я ему сказал, а операции с другими пакетами оставить для того, кто их ставил? Аналогичный пример - ставил, кажется, zip - получил установку иксов и падение с ошибкой. Ладно, я понимаю, что он не может поставить иксы на VPS. Но почему нельзя просто поставить zip, а иксы ставить тогда, когда я дам команду поставить иксы? Почему он пытается думать за меня и делать не то, что я ему говорю, а все сразу?

потому, что на том VPS были проблемы с иксами, которые я случайно вызвал установкой не-headless жабой

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

Я тоже когда использовал Debian, сталкивался с проблемами зависимостей используя Aptitude, с apt-get такого не разу не было. Я тогда еще не понимал, почему его рекомендуют использовать, ведь с apt-get всё всегда работало.

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

тоже когда использовал Debian, сталкивался с проблемами зависимостей используя Aptitude, с apt-get такого не разу не было. Я тогда еще не понимал, почему его рекомендуют использовать, ведь с apt-get всё всегда работало.

Apt-get работает в более автоматическом режиме и часто просто игнорирует проблемы, из-за чего иногда становится невозможным ни установить пакет при конфликте, ни уладить эту ситуацию. А в особо тяжелых случаях использование apt-get может стать фатальным.

Говорю по своему опыту криворукого дебианщика.

feinsbot ()

расширенный механизм разрешения зависимостей

Что это? Зависимость она и есть зависимость, что тут расширять? Тем более в бинарном дистре они не делятся на build и runtime.

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

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

Тем более в бинарном дистре они не делятся на build и runtime.

Лолчто.

anonymous ()

фронт-энды не нужны
всегда достаточно косяков и багов бэк-энда

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

Я и так в генте и в арче. Ни в одном из них ни разу не сталкивался с проблемами при установке пакетов (не считая кривых ебилдов в генте, но там это легко обходится).

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

Что это? Зависимость она и есть зависимость, что тут расширять?

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

Тем более в бинарном дистре они не делятся на build и runtime.

Здрасьте.

GotF ★★★★★ ()

Отличная новость, аптитуду надо чинить, хорошо что нашлись смелые

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

Зависимости бывают разные: обязательные, рекомендуемые, предлагаемые.

Совершенно не понимаю смысла рекомендуемых и предлагаемых зависимостей.

Разрешить спорную ситуацию часто можно по-разному

Спорную ситуацию?

Здрасьте.

Эм, а зачем build зависимости, когда все уже скомпилированно за тебя?

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

Совершенно не понимаю смысла рекомендуемых и предлагаемых зависимостей.

Не понимаю, как этого можно не понимать. Рекомендуемые обычно добавляют необязательную функциональность или иным образом повышают полезность пакета. Примерно так же и с предлагаемыми. В общем, это дополнительная гибкость и удобство.

Спорную ситуацию?

Когда существует более одного способа разрешить зависимости.

Эм, а зачем build зависимости, когда все уже скомпилированно за тебя?

Когда скомпилированное не устраивает.

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

Совершенно не понимаю смысла рекомендуемых и предлагаемых зависимостей.

Это костыль вместо USE-флагов.

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

Дебиан - Ъ. А сервер о котором идет речь скорее исключение из правил. Пофиксили мускуль и заодно vzquota. Теперь он вполне рабочий и приятный, так что пересмотри свою позицию :)

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

Опять же: дай пример. Может я просто не понимаю, что ты называешь спорными ситуациями, но тот же арч при обновлении меня никогда ни о чем не спрашивал (разве что когда названия пакетов меняются).

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

Пример можно? Почему в других ПМ этого нет?

Лолчто?

$ equery g virtual/linux-sources
 * Searching for linux-sources in virtual ...

 * dependency graph for virtual/linux-sources-0
 `--  virtual/linux-sources-0  amd64 
   `--  sys-kernel/gentoo-sources-3.2.1-r1  (sys-kernel/gentoo-sources) ~amd64 
   `--  sys-kernel/vanilla-sources-3.2.1  (sys-kernel/vanilla-sources) ~amd64 
   `--  sys-kernel/cell-sources-2.6.24-r1  (sys-kernel/cell-sources) [missing keyword] 
   `--  sys-kernel/ck-sources-3.1.4  (sys-kernel/ck-sources) ~amd64 
   `--  sys-kernel/cluster-sources-2.6.39  (sys-kernel/cluster-sources) ~amd64 
   `--  sys-kernel/git-sources-3.3_rc1  (sys-kernel/git-sources) ~amd64 
   `--  sys-kernel/hardened-sources-3.1.10  (sys-kernel/hardened-sources) ~amd64 
   `--  sys-kernel/mips-sources-3.1.6  (sys-kernel/mips-sources) [missing keyword] 
   `--  sys-kernel/mm-sources-3.1_rc3  (sys-kernel/mm-sources) ~amd64 
   `--  sys-kernel/openvz-sources-2.6.32.44.11  (sys-kernel/openvz-sources) ~amd64 
   `--  sys-kernel/pf-sources-3.2.1-r1  (sys-kernel/pf-sources) ~amd64 
   `--  sys-kernel/rsbac-sources-3.1.5  (sys-kernel/rsbac-sources) ~amd64 
   `--  sys-kernel/rt-sources-3.0.14_p31  (sys-kernel/rt-sources) ~amd64 
   `--  sys-kernel/sparc-sources-2.4.34  (sys-kernel/sparc-sources) [missing keyword] 
   `--  sys-kernel/tuxonice-sources-3.0.17  (sys-kernel/tuxonice-sources) ~amd64 
   `--  sys-kernel/usermode-sources-2.6.18-r2  (sys-kernel/usermode-sources) M[package.mask] 
   `--  sys-kernel/vserver-sources-2.3.2.5  (sys-kernel/vserver-sources) ~amd64 
   `--  sys-kernel/xbox-sources-2.6.16.26  (sys-kernel/xbox-sources) [missing keyword] 
   `--  sys-kernel/xen-sources-2.6.38  (sys-kernel/xen-sources) ~amd64 
   `--  sys-kernel/zen-sources-2.6.38_p20110510  (sys-kernel/zen-sources) ~amd64 
[ virtual/linux-sources-0 stats: packages (21), max depth (1) ]

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

Это ты зависимости показал. На деле при установке ничего спорного не будет, просто подтянется первый из списка по умолчанию.

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

Я уже столько намучился с этим Ъ, что лучше не буду его трогать. Вдруг опять что-нибудь сломается :3

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

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

просто подтянется первый из списка по умолчанию.

И ты считаешь это правильным?

Или вот, например, не хочешь ты, чтобы akonadi использовал и ставил mysql — выбираешь пакет akonadi-backend-sqlite и ура.

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

Нужен какой-то определенный - его и ставь, а не виртуальный пакет. Дебиан же, если я попробую поставить linux-sources, выдаст мне простыню с марсианскими вариантами ответа y/n/a/?/wtf/etc.

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

Я считаю правильным, что пользователю ставится пакет по умолчанию, если не сказано иное. Если я хочу поставить именно определенный пакет - я сделаю aptitude install akonadi-backend-sqlite. Представь себе хомячка, который хочет поставить себе плеер, а ему выхлоп со списком бекэндов и зависимостей на выбор.

Впрочем, в генте это проще. Просто ставишь akonadi флаг sqlite, и он сам все выберет.

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

Пример можно?

Я сейчас бэкпортировал vim из testing, при установке из локального репозитория, имеющего низкий приоритет (плюс NotAutomatic, ButAutomaticUpgrades), возникает такая ситуация:

[/root] # aptitude -t squeeze-backports-local install vim-gtk vim-scripts 
The following packages will be upgraded: 
  vim-common vim-gtk vim-gui-common vim-runtime vim-scripts vim-tiny 
6 packages upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Need to get 0 B/8,891 kB of archives. After unpacking 1,298 kB will be used.
The following packages have unmet dependencies:
  vim: Depends: vim-common (= 2:7.2.445+hg~cb94c42c0e1a-1) but 2:7.3.363-1~bpl60 is to be installed.
       Depends: vim-runtime (= 2:7.2.445+hg~cb94c42c0e1a-1) but 2:7.3.363-1~bpl60 is to be installed.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     vim                         



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Keep the following packages at their current version:                
1)     vim-common [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]    
2)     vim-gtk [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]       
3)     vim-gui-common [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]
4)     vim-runtime [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]   
5)     vim-tiny [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]      



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Remove the following packages:                                       
1)     vim-tiny                                                           

     Keep the following packages at their current version:                
2)     vim-common [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]    
3)     vim-gtk [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]       
4)     vim-gui-common [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]
5)     vim-runtime [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]   



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Remove the following packages:                                    
1)     vim-gtk                                                         

     Keep the following packages at their current version:             
2)     vim-common [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)] 
3)     vim-runtime [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]
4)     vim-tiny [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]   



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Remove the following packages:                                    
1)     vim-gtk                                                         
2)     vim-tiny                                                        

     Keep the following packages at their current version:             
3)     vim-common [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)] 
4)     vim-runtime [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable)]



Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

     Upgrade the following packages:                                            
1)     vim [2:7.2.445+hg~cb94c42c0e1a-1 (now, squeeze, stable) -> 2:7.3.363-1~bp



Accept this solution? [Y/n/q/?] y
The following packages will be upgraded:
  vim vim-common vim-gtk vim-gui-common vim-runtime vim-scripts vim-tiny 
7 packages upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Need to get 0 B/9,871 kB of archives. After unpacking 1,413 kB will be used.
Do you want to continue? [Y/n/?] y

Почему в других ПМ этого нет?

Потому что не запилили?

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

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

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

его и ставь, а не виртуальный пакет

притягивается по зависимостям сам же, ну

Дебиан же … выдаст мне простыню с марсианскими вариантами ответа

например

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

Ага, было подобное. Я ставил в Убунту много пакетов из реп будущего релиза и в конце концов apt-get при любой команде стал предлагать снести всё кроме ядра. Посоветовали Aptitude, с ним этой проблемы не было.

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

Нифига себе. И такой ребус из-за установки вима?

install vim-gtk

Remove the following packages: 1) vim

Лолшто? Для установки вима надо удалить вим?

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

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

Ну, не знаю, считать ли это сложным случаем, но, к примеру, такое происходит при установке kde — пакман спрашивает про бекенд для phonon.

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