В squeeze поставил руками deb-пакет libcairo2 выше версии, которая была. Теперь не удаляется, ибо сломанные зависимости.
Нужно установить пакет от squeeze заново. Порылся в манах - не нашел.
Комп не выключаю, ибо все открытые приложения работают, но если закрыть, уже не запустятся (ибо libcairo2 не работает).
Установка пакета ниже версией
emlsch, Удаляй зависимости, потом ставь их же только свизные
emlsch, Вы в синаптике ведь сейчас это делаете(?),
выделите пакет и в меню-пакет-указать версию. Может и не сработать.
Да из sources.list выкиньте источник, откуда ставили неработающий.
Вариантов (по степени извращенности) несколько:
1.Возьите родную версию пакета, положите на рабочий стол, распакуйте, и вручную замените его начинку по местам в систему (самый извращенный метод, работать должно, но пакетная база так и будет битой)
или
2.Зайдите в базы dpkg и замените там руками версию пакета на родную,
базы тут:
/var/lib/dpkg/status
найдите там свой пакет и аккуртано замените версию на родную, сохраните, а потом уже через синаптик просто переустановите(отметить для повторной установки). Вот это я давно уже не проделывал, так что могут быть нюансы :)
или
3.Забейте на открытые программы, укажите в sources.list родные репы , и через aptitude
снесите и установите этот пакет (с чем нибудь еще прицепом, чтобы зацепить этот пакет).
4. Надо спросить у durc'а , он занет кошерные методы.
Как-то так :)
Да, вот в этих темах еще может что-нибудь полезное найдете:
http://linuxforum.ru/viewtopic.php?id=7734
http://linuxforum.ru/viewtopic.php?id=4486
А вообще соображение такое:
Если пишет что сломанные зависимости при попытке указать версию через меню пакет в синаптике,=
значит чего то еще устанавливали новое и это новое хочет вот эту новую версию пакета libcairo2.
Тут вам лучше знать, что ставили,
укажите родные репы в sources.list (а все новые убрать).
Если плохо помните, что еще из неродных (более новых) реп постаилось,=
можно оптом снести то, что на подозрении и снова поставить.
aptitude используйте он лучше с такими делаами справляется. Как скажет, мол для таких-то пакетов будут установлены более старые версии,- значит получилось.
А да, ну и традиционное начало для этого дела:
укажите только родные репы и
apt-get install -f
а потом уже всё остальное, если не получится. :)
redux, спасибо, решено.
Сначала удалил все файлы, по структуре распакованного пакета (который новой версии я ставил), потом просто скачал с сайта пакет squeeze-ветки и поставил dpkg'ом.
Только вот в /var/lib/dpkg/status я ничего не заменял, и вообще папка эта пуста.
Только вот в /var/lib/dpkg/status я ничего не заменял, и вообще папка эта пуста.
да, по другому в сквизе , я уже тоже посмотрел :)
Ну да ладно. (вроде даже вот это должно было сработать apt-get install -f )
redux, "apt-get install -f" я пробовал сразу (ибо подсказывал мне установщик это). В итоге apt мне предлагал удалить около 700 пакетов, в том числе и гном smile
Я в принципе про это и хотел(только через aptitude). Сразу бы и накатили их обратно.
А вообще,- миксы дело не простое (для меня по крайней мере). smile
[console]dpkg --force-all -P libcairo2
aptitude install -f[/console]Можно так попробовать.