Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программное обеспечение под *NIX системы > не удаляется пакет


Автор: BSOD 6.2.2008, 21:56
Вобщем непомню как, но у меня появился (установился(!)) пакет education-desktop-kde (походу его что-то за собой притянуло, как зависимость). Только нормально он не установился, выдал какую-то ошибку, а в списке установленных появился. Дальше я его не трогал, каждый раз, когда что-то ставил, при помощи synaptic или aptitude, система пыталась его переустановить, каждый раз безуспешно. Пока мне это не мешало, все пакеты ставились до него и я как обычно откладывал на потом. Теперь стало немного подругому. Пытаемся что-нить поставить (например в синаптике), все выбираем, ОК, начинает ставиться, первым лезет этот пакет, выдает ошибку и все. Попытался его удалить - никак

Код

BSOD:/var/cache/apt/archives# dpkg -r --force-all education-desktop-kde
dpkg: предупреждение -- проблема игнорируется, поскольку задан параметр --force:
 Пакет абсолютно неработоспособен -- перед удалением его
 следует переустановить.
(Чтение базы данных... на данный момент установлено 335906 файлов и каталогов.)
Удаляется пакет education-desktop-kde...
err 67: Custom distribution education does not exist
dpkg: не удалось обработать параметр education-desktop-kde (--remove):
 подпроцесс post-removal script возвратил код ошибки 67
При обработке следующих пакетов произошли ошибки:
 education-desktop-kde
BSOD:/var/cache/apt/archives# dpkg -r education-desktop-kde
dpkg: не удалось обработать параметр education-desktop-kde (--remove):
 Пакет абсолютно неработоспособен -- перед удалением его
 следует переустановить.
При обработке следующих пакетов произошли ошибки:
 education-desktop-kde


BSOD:/var/cache/apt/archives# dpkg -r --force-all education-desktop-kde

dpkg: предупреждение -- проблема игнорируется, поскольку задан параметр --force:
 Пакет абсолютно неработоспособен -- перед удалением его
 следует переустановить.
(Чтение базы данных... на данный момент установлено 335906 файлов и каталогов.)
Удаляется пакет education-desktop-kde...
err 67: Custom distribution education does not exist
dpkg: не удалось обработать параметр education-desktop-kde (--remove):
 подпроцесс post-removal script возвратил код ошибки 67
При обработке следующих пакетов произошли ошибки:
 education-desktop-kde




Пробовал по разному, не удаляет никакю. Пишет, что для удаления нужно его переустановить О_о, а переустановить нельзя. При попытке сделать что-нибудь другое пишет "Пакет абсолютно не работоспособен".
Еще попробовал установить все, что нашел синаптик по запросу "Custom distribution education", слилось ~400 метров всякой ерунды (благо зеркало бесплатное), но ничего не установилось.
Собсно как его удалить? 

Debian sid.

Спасибо.

Автор: JackYF 7.2.2008, 00:00
Цитата(BSOD @  6.2.2008,  20:56 Найти цитируемый пост)
а переустановить нельзя.

что говорит 
Цитата

aptitude install education-desktop-kde
?
попробуй также
Цитата

dpkg-reconfigure education-desktop-kde

Автор: bilbobagginz 7.2.2008, 02:59
можно полазать по базам dpkg, стереть оттуда, и стереть все файлы, которые принадлежат пакету:
1. dpkg -L <имя пакета>
2. стираем все файлы полученные из списка
3. лазаем по базам dpkg и стираем все упоминания.

ессно стоит понять что можно стирать, а что нет.

удачи.

Автор: BSOD 7.2.2008, 17:14
Цитата

3. лазаем по базам dpkg и стираем все упоминания.


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

Автор: ZeeLax 7.2.2008, 17:24
BSOD, как насчёт "почитать документацию"?

Автор: BSOD 7.2.2008, 17:35
Ну так я думаю то, где и как хранится база dpkg - инфа немножко не для простого пользователя и ее я думаю по сложнее чем man dpkg... Вот собсна и интересуюсь, может здесь кто-нибудь уже знает, что нужно делать

Автор: ZeeLax 7.2.2008, 17:54
Linux - вообще система не для простого пользователя. Что делать, вам уже сказали. Вместо размышлений "читать или не читать" всё же прочитайте man dpkg. То что вам нужно там есть. Если не удовлетворитесь - документация по dpkg вам в помощь.

Автор: BSOD 7.2.2008, 18:44
Гм. А ведь помогло!
нет, честно, не ожидал найти эту информацию в man page... ведь то, где и как система хранить информацию о пакетах - это детали реализации, которые по идее должны быть скрыты от пользователя... 
Ну правда там не расписано что и как, но есть 
Цитата


--admindir=dir
              Change  default  administrative directory, which contains many files that give information about status of installed or uninstalled
              packages, etc.  (Defaults to /var/lib/dpkg)

Что вобщем-то показывает что где и как лежит smile

Автор: ZeeLax 7.2.2008, 20:37
Цитата(BSOD @  7.2.2008,  21:44 Найти цитируемый пост)
нет, честно, не ожидал найти эту информацию в man page... ведь то, где и как система хранить информацию о пакетах - это детали реализации, которые по идее должны быть скрыты от пользователя... 

Ну, это вы, видимо, от продуктов ms такое мнение приобрели smile Тут всё открыто, т.к. пользователь обычно не совсем пользователь, скажем так. Документируется всё (ну, почти всё - что не документируется, до того, значит, руки не дошли). Не хватает man, есть info, документация пакета , ну и исходники smile Воистину, рай для программистов

Автор: BSOD 7.2.2008, 21:15
Цитата

Ну, это вы, видимо, от продуктов ms такое мнение приобрели


Скорее от C++ и ООП ;) (Сокрытие деталей реализации (всмысле что пользователь совсем не обязан о них знать) )

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

Автор: ZeeLax 7.2.2008, 21:26
Цитата(BSOD @  8.2.2008,  00:15 Найти цитируемый пост)
Скорее от C++ и ООП ;) (Сокрытие деталей реализации)

хехе smile тут и так детали реализации скрыты - параметры командной строки, не более того smile
А вот в документации - как и в документации по коду - всё есть smile

Автор: bilbobagginz 10.2.2008, 03:01
Цитата(BSOD @  7.2.2008,  21:15 Найти цитируемый пост)
я раньше думал, что список пакетов должен храниться в какой-нить БД, что б там поиск быстрый и.т.д., а тут опа, текстовый файл простой.. хотя, может я что-то недопонимаю 

да. файловая система по сути тоже является базой данных.
для такого хранилища держать процесс в памяти - нецелесообразно.
всё что нужно для быстрого поиска - иметь индексацию.
т.е. по-любому нужна бд на основе файла/каталога.
И в принципе, вы что ли сидите целый день и всё ищете и ищете пакеты, устанавливаете, удаляете, ищите  smile ?
а потом такой вот случай в базе данных, и ищи свищи какая таблица по**рилась, чини, и т.д.

а тут всё в файлах,  всё просто.

принцип KISS = Keep It Stupid-Simple


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)