вошел под рутом, набрал
#dpkg -purge httpd
пишет:
dpkg: unknown option -k
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
Nokia-N800-51-3:~# dpkg-deb
dpkg-deb: need an action option
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --help for help about installing and deinstalling packages.
видимо, не так пишу комманду.....
Неактивен
теперь сделал так:
dpkg -p httpd
ответ:
Package: httpd
Priority: extra
Section: user/internet
Installed-Size: 14480
Maintainer: Tony Green <tony@beermad.org.uk>
Architecture: armel
Version: 2.2.8-1
Depends: libc6 (>= 2.5.0-1), libexpat1 (>= 1.95.8), libsqlite3-0 (>= 3.4.1)
Size: 2925702
Description: the Apache webserver
не понимаю как удалить...... хелп плиз)
Неактивен
а в ответ комманде dpkg -r httpd
такой:
dpkg: error processing httpd (--remove):
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.
Errors were encountered while processing:
httpd
вот, я в тупике......
Неактивен
Попробуйте сначала apt-get install httpd --reinstall, потом уже dpkg -P httpd
У вас база dpkg сломана. Такое бывает, когда в консоли играются с dpkg не понимая что происходит.
Неактивен
SpiritBY говорит:
вошел под рутом, набрал
#dpkg -purge httpd
пишет:
dpkg: unknown option -k
видимо, не так пишу комманду.....
Скорее другое. Очень похоже на баг, связанный с тем, что шелл неправильно работает с UTF-8 шрифтами. Очень похоже, что вы где-то вставили русскую букву, а потом попытались её удалить забоем. На экране всё выглядело правильно, а в буфере комнады шела - по-другому. Надо, если случайно хоть одну букву ввели на кирилице - нажать ctrl+C и затем набрать заново.
И ещё. В юниксовском шеле регистр букв имеет значение. Поэтому ключи -p и -P несут совершенно разный смысл.
И при порушенной установке пакета как раз ключ --purge (-P) и помогает.
Неактивен
сделал все как вы сказали:
Nokia-N800-51-3:~# dpkg -P httpd
dpkg: error processing httpd (--purge):
Package is in a very bad inconsistent state - you should
reinstall it before attempting a removal.
Errors were encountered while processing:
httpd
пытался переинсталить пакет из консоли.... вот что получилось:
Nokia-N800-51-3:~# apt-get install /media/mmc2/install/apache/httpd.deb
Reading package lists... Done
Building dependency tree... Done
E: The package httpd needs to be reinstalled, but I can't find an archive for it.
что делать......
Неактивен
SpiritBY говорит:
качал с garage.maemo.org.....
Автор поправил инсталляционные скрипты, смотри что он пишет о последнем релизе:
Tony Green говорит:
Release Name: 2.2.8-1a
Notes: A few fixes to install/uninstall scripts plus I've added the rewrite module, mainly because I needed it myself.
Неактивен
судя по ошибке у Вас грохнут сам архив пакета на локальной машине.
Вообще, раз Вы работаете уже с локальным пакетом - apt-get не обязателен. Всё можно сделать dpkg.
установить принудительно с перезаписью :
dpkg --force-overwrite -i /media/mmc2/install/apache/httpd.deb
Неактивен
вот что получается...
Nokia-N800-51-3:~# dpkg --force-overwrite -i /media/mmc2/install/apache/httpd.deb
(Reading database ... 23302 files and directories currently installed.)
Preparing to replace httpd 2.2.8-1 (using .../mmc2/install/apache/httpd.deb) ...
Stopping httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
invoke-rc.d: initscript httpd, action "stop" failed.
dpkg: warning - old pre-removal script returned error exit status 127
dpkg - trying script from the new package instead ...
Stopping httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
invoke-rc.d: initscript httpd, action "stop" failed.
dpkg: error processing /media/mmc2/install/apache/httpd.deb (--install):
subprocess new pre-removal script returned error exit status 127
Starting httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
invoke-rc.d: initscript httpd, action "start" failed.
dpkg: error while cleaning up:
subprocess post-installation script returned error exit status 127
Errors were encountered while processing:
/media/mmc2/install/apache/httpd.deb
Неактивен
уже легче. У Вас пока не хватает файла /usr/bin/apachectl
а что скажет
dpkg --unpack /media/mmc2/install/apache/httpd.deb ?
Неактивен
Nokia-N800-51-3:~# dpkg --unpack /media/mmc2/install/apache/httpd.deb
Selecting previously deselected package httpd.
(Reading database ... 23302 files and directories currently installed.)
Preparing to replace httpd 2.2.8-1 (using .../mmc2/install/apache/httpd.deb) ...
Stopping httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
invoke-rc.d: initscript httpd, action "stop" failed.
dpkg: warning - old pre-removal script returned error exit status 127
dpkg - trying script from the new package instead ...
Stopping httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
invoke-rc.d: initscript httpd, action "stop" failed.
dpkg: error processing /media/mmc2/install/apache/httpd.deb (--unpack):
subprocess new pre-removal script returned error exit status 127
Starting httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
invoke-rc.d: initscript httpd, action "start" failed.
dpkg: error while cleaning up:
subprocess post-installation script returned error exit status 127
Errors were encountered while processing:
/media/mmc2/install/apache/httpd.deb
Неактивен
SpiritBY говорит:
вот что получается...
Stopping httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
Гм. Я бы отредактировал 31 строку /etc/init.d/httpd так, чтобы /usr/bin/apachectl не вызывался. Это даст возможность prerm-у все-таки снести предыдущий пакет.
Неактивен
На самом деле можно тупо удалить файл постинсталяции или перенести его:
# sudo ganroot
# mv /var/lib/dpkg/info/httpd.postinst /tmp
и попробовать
# dpkg -P httpd
Неактивен
mv /var/lib/dpkg/info/httpd.postinst /tmp
mv: cannot rename '/var/lib/dpkg/info/httpd.postinst': No such file or directory
Неактивен
Посмотрел я этот пакет... Насколько я вижу из вывода dpkg, он сначала пытается запустить apachectl из файловой системы, обламывается, а потом пытается запустить его же, но из содержимого пакета. Варианты:
1. Отредактировать /etc/init.d/httpd, поставив в начале exit 0:
#! /bin/sh
#
set -e
exit 0
case "$1"
....
и попробовать удалить dpkg --purge
2. Взять НОВЫЙ пакет 2.2.8-1a - там /usr/bin/apachectl ЕСТЬ, может помочь...
Неактивен
Спасибо ребята, получилось!!!
сделал так:
пока ехал в метро, снёс через браузер файлик var/lib/dpkg/info/httpd.prerm. потом перегрузился. даллее dpkg -P --force-remove-reinstreq httpd и всё! больше его нет! всё стало нормально работать!!
ещё раз спасибо большое!!
Неактивен