1

В squeeze поставил руками deb-пакет libcairo2 выше версии, которая была. Теперь не удаляется, ибо сломанные зависимости.

Нужно установить пакет от squeeze заново. Порылся в манах - не нашел.
Комп не выключаю, ибо все открытые приложения работают, но если закрыть, уже не запустятся (ибо libcairo2 не работает).

2

emlsch, Удаляй зависимости, потом ставь их же только свизные

3

emlsch, Вы в синаптике ведь сейчас это делаете(?),
выделите пакет и в меню-пакет-указать версию. Может и не сработать.
Да из sources.list выкиньте источник, откуда ставили неработающий.

Вариантов (по степени извращенности) несколько:
1.Возьите родную версию пакета, положите на рабочий стол, распакуйте, и вручную замените его начинку по местам в систему (самый извращенный метод, работать должно, но пакетная база так и будет битой)
или
2.Зайдите в базы dpkg и замените там руками версию пакета на родную,
базы тут:
/var/lib/dpkg/status
найдите там свой пакет и аккуртано замените версию на родную, сохраните, а потом уже через синаптик  просто переустановите(отметить для повторной установки). Вот это я давно уже не проделывал, так что могут быть нюансы ab
или
3.Забейте на открытые программы, укажите в sources.list родные репы , и через aptitude
снесите и установите этот пакет (с чем нибудь еще прицепом, чтобы зацепить этот пакет).

4. Надо спросить у durc'а , он занет кошерные методы.

Как-то так ab

4 (03.10.2011 12:15:11 отредактировано redux)

Да, вот в этих темах еще может что-нибудь полезное найдете:
http://linuxforum.ru/viewtopic.php?id=7734

http://linuxforum.ru/viewtopic.php?id=4486

5 (03.10.2011 12:37:46 отредактировано redux)

А вообще соображение такое:
Если пишет что сломанные зависимости при попытке указать версию через меню пакет в синаптике,=
значит чего то еще устанавливали новое и это новое хочет вот эту новую версию пакета libcairo2.
Тут вам лучше знать, что ставили,

укажите родные репы в sources.list (а все новые убрать).
Если плохо помните, что еще из неродных (более новых) реп постаилось,=
можно оптом снести то, что на подозрении и снова поставить.

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

А да, ну и традиционное начало для этого дела:
укажите только родные репы и
apt-get install -f

а потом уже всё остальное, если не получится. ab

6

redux, спасибо, решено.

Сначала удалил все файлы, по структуре распакованного пакета (который новой версии я ставил), потом просто скачал с сайта пакет squeeze-ветки и поставил dpkg'ом.
Только вот в /var/lib/dpkg/status я ничего не заменял, и вообще папка эта пуста.

7

emlsch пишет:

Только вот в /var/lib/dpkg/status я ничего не заменял, и вообще папка эта пуста.

да, по другому в сквизе , я уже тоже посмотрел ab
Ну да ладно. (вроде даже вот это должно было сработать apt-get install -f  )

8

redux, "apt-get install -f" я пробовал сразу (ибо подсказывал мне установщик это). В итоге apt мне предлагал удалить около 700 пакетов, в том числе и гном  smile

9

Я в принципе про это и хотел(только через aptitude). Сразу бы и накатили их обратно.
А вообще,- миксы дело не простое (для меня по крайней мере).  smile

10

 Консоль:
dpkg --force-all -P libcairo2
aptitude install -f
Можно так попробовать.