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

«aptitude upgrade» погрязла в конфликтах.

 , , ,


0

1

Aptitude тужиться и выдает примерно такую строчку которая бесконечно меняется:

open: 37067; closed: 68995; defer: 68; conflict: 103

Я хотел бы найти источники конфликтов и разрешить их. Дело в том, что я по незнанию соединил unstable, testing и stable в своем source.list, теперь хочу исправить ситуацию перейдия полностью на testing. Собственно у меня в source.list теперь только testing. Осталось сделать апгрейд, и именно с этим у меня проблема. FAQsFromDebianUsers советует мне использовать apt-show-versions чтобы посмотреть с какой ветки какие программы, но проблема в том, что чтобы его установить synaptic требует удалить кучу другого софта. Например, требуется безвозвратно удалить ни в чем не повинный glogic.

Что мне делать? Переустанавливать с нуля очень не хочу.

Deleted

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

Помогло, он вышел из транса. Теперь пишет: http://freetexthost.in/15308

Хрен редьки не слаще, теперь он хочет удалить кучу софта.

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

Как мне найти все пакеты которые я установил «извне», дабы быть уверенным что я ничего не пропустил?



сам не делал, но вот http://askubuntu.com/questions/32007/how-to-find-manually-installed-packages

outsider ★★ ()
Последнее исправление: outsider (всего исправлений: 1)
Ответ на: комментарий от Deleted

ну так что тебе тут не нравится? я же написал что ничего криминального тут нет и можно соглашаться.

734 upgraded, 0 newly installed, 0 to remove and 897 not upgraded.

outsider ★★ ()

Плавный переход апт-пинингом.

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

Меня в этой ситуации смущяет то, что apt-get не видит конфликтов, а aptitude видит. У меня такое впечатление, что у aptitude больше мозгов, поэтому он видит то, что apt-get не видит.

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

В данном конкретном случае — скорее всего нет. Там уже солянка намешана. Единственный вариант это ручная работа

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

да обновляйся ты уже, после упдейта запускай apt-get dist-upgrade, если бы ты обновляся в срезе одной ветки тогда да упгрейд делаешь, а здесь ты перескакиваешь на другую версию дистра, это ничего что он полсистемы удалить хочет, так даже лучше, потом заново накатишь иксы и все остальное. можешь составить список установленного софта, чтоб после обновы вес доустановить из него (dpkg --get-selections, dselect) ну или сам нашамань. главное не ссы.

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

Меня в этой ситуации смущяет то, что apt-get не видит конфликтов, а aptitude видит. У меня такое впечатление, что у aptitude больше мозгов, поэтому он видит то, что apt-get не видит.

Прочитал об функции update из man apt-get " upgrade is used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list. Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, or packages not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. An update must be performed first so that apt-get knows that new versions of packages are available."

Короче, то что я принимал за тупость apt-get оказалось его фишкой. В отличие от aptitude он безопасно апгрейдит систему, ничего не удаляя. Поэтому я сейчас смело запустил apt-get upgrade.

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

Забыл добавить. До этого я ещё посмотрел список пакетов установленных вручную и удалил некоторые из них. Я думаю это была хорошая идея, ибо во-первых, среди них нашлось некоторые пакеты, которые я установил «извне»(CDemu и некоторые шрифты для Wine), а во-вторых мне придется разгребать меньше зависимостей.

Deleted ()

тс, в системах, где намешано несколько веток apt бессилен. Рулить зависимости может только aptitude. У самого система такая. А вообще aptitude пишет какой пакет приводит к поломке зависимостей, так что проблем особых быть не должно.

Deleted ()

можешь ещё попробовать это:

sudo aptitude -f install
только подключи все 3 ветки.
в этом случае либо aptitude сам порулит все зависимости, либо будет очевидно, какие пакеты всё ломают.
из мана:

-f Try hard to fix the dependencies of broken packages, even if it means ignoring the actions requested on the command line.

если бездумно не жмакать «y», то починить получится.

Deleted ()

Вот и последствия советования тестингов с нестабильными ветками. Чувак, ставь убунту с нужным DE последнюю и не парься с этим дерьмом.

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

aptitude есть труп

заменить-то нечем

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

это apt же, несравнимо

Чего? И apt и aptitude реализуют сходный функционал, только aptitude чуть больше кода содержит из-за реализации TUI.

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

За несколько лет использования не встретил ни одного бага в аптитюде. Может не стоит по шкафам лазать, как в старинном анекдоте?


В Исполком поступило заявление. Мужчина жаловался, что жить в комнате с видом на окна женской бани он больше не может и грозил суицидом. Пришла к жалобщику комиссия. Смотрят в окно комнаты на баню и спрашивают:
- Почему нам ничего не видно?
- А вы на шкаф залезьте!
Залез один из членов комиссии на шкаф.
- Все равно не видно!
- А вы чуть подвиньтесь.
Тот двигается.
- Все равно не видно!
- А вы еще подвиньтесь.
- Опять не видно!
Сидит на самом краю.
- А вы еще подвиньтесь.
Тот падает со шкафа.
- «И вот так каждый раз!» - говорит жалобщик.

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

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

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

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

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

в системах, где намешано несколько веток apt бессилен. Рулить зависимости может только aptitude

Чушь. Осильте уже man apt_preferences наконец. Также см. первый спойлер по ссылке выше.

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

За несколько лет использования не встретил ни одного бага в аптитюде

Вывод apt-mark showmanual в студию!

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

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

Чёртов кривой парсер! Вот правильная ссылка: http://unixforum.org/index.php?showtopic=52517&view=findpost&p=1247818

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

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

Грубо говоря, поведение apt при разрешении зависимостей более «тупое». Именно по причине более предсказуемого поведения его предпочитают использовать для скриптов и автоматики. Например, https://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.en.html

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

Я сидел, всё было нормально. ЧЯДНТ?

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

apt никогда не предложит сделать downgrade пакета, если это необходимо для решения зависимости

Естественно, не предложит, ведь downgrade официально не поддерживается. Кроме того, за более чем 10 лет не припомню случая, когда приходилось делать downgrade по зависимости. Вручную - приходилось, да.

Да зачем он вообще нужен с таким - то скудным функционалом?

Затем, что его хотя бы развивают (см. последние улучшения в sid, например), и он не превращает вашу систему в свалку.

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

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

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

А тебе зачем? Там дохрена всего, я много чего ставил.

Да потому что я уверен, что там у вас также дохрена всего, чего вы явным образом не ставили. (Можете свериться с /var/log/apt/history*.)

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

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

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

apt никогда не предложит сделать downgrade пакета, если это необходимо для решения зависимости. Уже это делает его не проф.пригодным.



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

outsider ★★ ()

проще всего, наверное, разрешить ему удалить всё что он хочет, даже если это будет de, так как кашу ты заварил удивительную. алсо, sid и unstable — одно и тоже (если ещё не ответили).

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

пфф. да легко. к примеру, если у тебя система стабильная, но есть тестируемые пакеты.
ты хочешь поставить что - то из стабильной ветки, а решатель апта грит, мол, либо ставь тестируемую версию, либо гуляй.
можно, конечно, отловить проблемные пакеты и сделать downgrade вручную, но зачем, если это может сделать aptitude за меня?
потом у aptitude удобнее. живой пример, если , к примеру, не хочешь ставить рекомендованные пакеты:

aptitude -R install
apt-get install --no-install-recommends
никому ничего не навязываю, но за годы на дебиане нашёл для себя более удобным именно aptitude.

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

Естественно, не предложит, ведь downgrade официально не поддерживается. Кроме того, за более чем 10 лет не припомню случая, когда приходилось делать downgrade по зависимости. Вручную - приходилось, да.

к сожалению, мир не идеален. downgrade периодически приходится делать по самым разным причинам. и удобнее когда это делает специально созданный для этого инструмент, а не отлавливать вручную каждый пакет и задавать ему версию. Пример: есть у тебя тестируемая программа с кучей зависимостей. apt - ом придётся делать downgrade зависимостей вручную, а aptitude сделает это за тебя.

Затем, что его хотя бы развивают (см. последние улучшения в sid, например), и он не превращает вашу систему в свалку.

тоже верно и про aptitude. Да, развивается менее динамично, но всё же улучшения и исправления имеются.

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

никогда не сталкивался с проблемами, когда с помощью aptitude нельзя было разрулить зависимости. Помимо всего, именно с помощью aptitude моя система успешно проапдейтилась с squeeze на wheezy, и в последствии на jessie.

Deleted ()

У меня получилось произвести апгрейд до Sid! Для этого мне понадобилось убить Иксы и уже в голой консоли запустить apt-get dist-upgrade. Где-то на середине операция апгрейда вылетела с ошибкой. Далее я не помню что точно делал, но у меня получилось сделать так, чтобы при попытке установить что-нибудь с помощью apt-get у меня вылезал список неудовлетворенных зависимостей. Меня тут спасло озарение, я написал apt-get remove и добавил справа все пакеты с неудовлетворенными зависимостями. Мне пришлось добавлять несколько раз, ибо несколько раз выводились новые пакеты с неудоволетворенными зависимостями. Эти новые пакеты видимо в свою очередь зависили от тех тех пакетов, которые я уже добавил на удаление. После этого обновление продолжилось как ни в чем не бывало. Однако я увидел, что у меня в системе появились ненужные пакеты, да и к тому же некоторые пакеты не обновились. Мне помогло избавиться от ненужных пакетов и обновить все нужные поочередное исполнениение команд apt-get autoremove и apt-get upgrade(возможно я еще лишний раз запустил apt-get dist-upgrade, точно не помню).

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)

Дело в том, что я по незнанию соединил unstable, testing и stable в своем source.list

Я когда впервые знакомился с debian тоже по незнанию так сделал, плюнул и отложил дальнейшее знакомство с Debian на несколько лет. Самым быстрым способом, имхо, была бы переустановка, как бы пошло это не звучало. Apt, емнип, не хочет в некоторых случаях автоматически даунгрейдить версию некоторых пакетов, сообщая, что уже стоит более новая. Нормально pin'ить пакеты я так и не научился, в gentoo с этим проще было.

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

Пример: есть у тебя тестируемая программа с кучей зависимостей. apt - ом придётся делать downgrade зависимостей вручную

root@debian:~# apt install hugin/stable
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '2014.0.0+dfsg-5' (Debian:8.1/stable [i386]) for 'hugin'
The following extra packages will be installed:
  hugin-data hugin-tools libboost-regex1.55.0 liblensfun-data liblensfun0
  libzthread-2.3-2
Suggested packages:
  python-wxgtk3.0
The following NEW packages will be installed:
  libboost-regex1.55.0 liblensfun-data liblensfun0 libzthread-2.3-2
The following packages will be DOWNGRADED:
  hugin hugin-data hugin-tools
0 upgraded, 4 newly installed, 3 downgraded, 0 to remove and 74 not upgraded.
Need to get 13.7 MB of archives.
After this operation, 4,696 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

Вы давно последний раз apt пробовали?

тоже верно и про aptitude

Как минимум насчёт непревращения системы в свалку - нет. Просмотрите вывод apt-mark showmanual.

К тому же, что-то не вижу особых улучшений в changelog aptitude за последнее время.

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

Я сталкивался, при обновлении squeeze до wheezy, когда safe-upgrade выполнялся, пока aptitude не сожрала всю доступную память. Обновление самой aptitude до версии из wheezy тогда помогло. Но не суть.

Дело не в том, что с помощью aptitude нельзя разрешить зависимости. Дело в том, что чтобы сделать это, приходится продираться сквозь многочисленные accept и reject или долбить дятлом по клавише N. Это уже какое-то полуручное разрешение зависимостей получается.

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

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

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

Вы давно последний раз apt пробовали?

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

Как минимум насчёт непревращения системы в свалку - нет. Просмотрите вывод apt-mark showmanual.

Посмотрел. Либо системные штуки, либо то, что лично ставил. Ключ -R позволяет не тянуть мусор) Сверяться с логом, как предлагали выше - бессмысленно, система стоит давно, а logrotate своё дело делает.

К тому же, что-то не вижу особых улучшений в changelog aptitude за последнее время.

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

Я сталкивался, при обновлении squeeze до wheezy, когда safe-upgrade выполнялся, пока aptitude не сожрала всю доступную память. Обновление самой aptitude до версии из wheezy тогда помогло. Но не суть.

Ну, так и надо делать. Сначала обновлять пакетник, потом - всё остальное.

Дело не в том, что с помощью aptitude нельзя разрешить зависимости. Дело в том, что чтобы сделать это, приходится продираться сквозь многочисленные accept и reject или долбить дятлом по клавише N. Это уже какое-то полуручное разрешение зависимостей получается.

Надо попробовать. Однако, судя по ману, функционал скудноват. У aptitude всё ещё остается козырь в рукаве в виде паттернов и юзерских тегов.
В любом случае, спасибо что пнули меня снова посмотреть в его сторону.

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

Как минимум насчёт непревращения системы в свалку - нет. Просмотрите вывод apt-mark showmanual.

только что провёл исследование как по ссылке выше
показываю:
проверяем количество установленных автоматически пакетов:

> date && aptitude search '?installed ?automatic' | wc -l                                                   
Wed Sep  2 14:01:50 EEST 2015
1283
ок, запомнили. теперь берём на выбор один из пакетов:
> date && aptitude show xserver-xorg-core | grep Automatically                                            
Wed Sep  2 14:02:17 EEST 2015
Automatically installed: yes
Отлично, для примера пойдёт. Проверяем ещё раз:
 > date && aptitude show xserver-xorg-core | grep Automatically                                          
Wed Sep  2 14:02:51 EEST 2015
Automatically installed: yes
хм.... может, с судо?
 > date && sudo aptitude show xserver-xorg-core | grep Automatically                                         
Wed Sep  2 14:03:18 EEST 2015
Automatically installed: yes
и ещё раз:
 > date && sudo aptitude show xserver-xorg-core | grep Automatically                                              
Wed Sep  2 14:03:31 EEST 2015
Automatically installed: yes
ладно, с этим пакетом не везёт. Может, поменялось количество автоматически установленных пакетов?
 > date && aptitude search '?installed ?automatic' | wc -l                                                        
Wed Sep  2 14:04:22 EEST 2015
1283
баз воспроизвести не удалось. Полистал багтреккер и попробовал воспроизвести это же поведение в других ситуациях, как в случае с safe-upgrade, тоже не получилось. Починили? состояние notfixed. В общем, чёрт его знает.

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