| SpiritBY @ 21-04-2008 12:52:29 |
Пытаюсь удалить Apache web server (httpd) - мне пишет, что файл повреждён! как удалить теперь приложение....?
|
| SpiritBY @ 21-04-2008 13:01:36 |
переустановка не помогла
|
| gLobster @ 21-04-2008 22:12:19 |
# sudo gainroot # dpkg --purge <package>
|
| SpiritBY @ 21-04-2008 22:56:36 |
вошел под рутом, набрал #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.
видимо, не так пишу комманду.....
|
| SpiritBY @ 21-04-2008 23:00:51 |
теперь сделал так: 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
не понимаю как удалить...... хелп плиз)
|
| SpiritBY @ 21-04-2008 23:09:04 |
а в ответ комманде 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
вот, я в тупике......
|
| Wall @ 21-04-2008 23:25:16 |
Попробуйте сначала apt-get install httpd --reinstall, потом уже dpkg -P httpd
У вас база dpkg сломана. Такое бывает, когда в консоли играются с dpkg не понимая что происходит.
|
| gLobster @ 21-04-2008 23:35:38 |
SpiritBY говорит:вошел под рутом, набрал #dpkg -purge httpd
пишет: dpkg: unknown option -k
видимо, не так пишу комманду.....
Скорее другое. Очень похоже на баг, связанный с тем, что шелл неправильно работает с UTF-8 шрифтами. Очень похоже, что вы где-то вставили русскую букву, а потом попытались её удалить забоем. На экране всё выглядело правильно, а в буфере комнады шела - по-другому. Надо, если случайно хоть одну букву ввели на кирилице - нажать ctrl+C и затем набрать заново. И ещё. В юниксовском шеле регистр букв имеет значение. Поэтому ключи -p и -P несут совершенно разный смысл.
И при порушенной установке пакета как раз ключ --purge (-P) и помогает.
|
| SpiritBY @ 22-04-2008 00:10:58 |
сделал все как вы сказали: 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.
что делать......
|
| ilya_dan @ 22-04-2008 00:23:19 |
А из какого источника ставился собственно пакет, который надо удалить (httpd)? Может пакет кривой?
|
| SpiritBY @ 22-04-2008 00:26:32 |
качал с garage.maemo.org.....
|
| ilya_dan @ 22-04-2008 00:37:53 |
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.
http://garage.maemo.org/frs/shownotes.p … se_id=1690 
|
| gLobster @ 22-04-2008 00:38:35 |
судя по ошибке у Вас грохнут сам архив пакета на локальной машине. Вообще, раз Вы работаете уже с локальным пакетом - apt-get не обязателен. Всё можно сделать dpkg.
установить принудительно с перезаписью : dpkg --force-overwrite -i /media/mmc2/install/apache/httpd.deb
|
| SpiritBY @ 22-04-2008 00:48:07 |
вот что получается... 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
|
| gLobster @ 22-04-2008 00:57:00 |
уже легче. У Вас пока не хватает файла /usr/bin/apachectl а что скажет
dpkg --unpack /media/mmc2/install/apache/httpd.deb ?
|
| SpiritBY @ 22-04-2008 00:59:52 |
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
|
| gLobster @ 22-04-2008 01:00:06 |
Вот ещё: попробуйте
dpkg -P --force-remove-reinstreq httpd
|
| ilya_dan @ 22-04-2008 01:00:43 |
SpiritBY говорит:вот что получается... Stopping httpd: /etc/init.d/httpd: line 31: /usr/bin/apachectl: not found
Гм. Я бы отредактировал 31 строку /etc/init.d/httpd так, чтобы /usr/bin/apachectl не вызывался. Это даст возможность prerm-у все-таки снести предыдущий пакет.
|
| gLobster @ 22-04-2008 01:02:44 |
Как вариант. Поставить вначале #
|
| SpiritBY @ 22-04-2008 01:09:10 |
# не помогла, а как в коде исправить я бес понятия....
также все предыдущие комманды выдают ту же ошибку...(
|
| gLobster @ 22-04-2008 01:13:08 |
На самом деле можно тупо удалить файл постинсталяции или перенести его: # sudo ganroot # mv /var/lib/dpkg/info/httpd.postinst /tmp
и попробовать # dpkg -P httpd
|
| SpiritBY @ 22-04-2008 01:18:31 |
mv /var/lib/dpkg/info/httpd.postinst /tmp mv: cannot rename '/var/lib/dpkg/info/httpd.postinst': No such file or directory
|
| gLobster @ 22-04-2008 01:23:01 |
Пардон. PreRemoval script...
# mv /var/lib/dpkg/info/httpd.prerm /tmp
|
| ilya_dan @ 22-04-2008 01:24:47 |
Посмотрел я этот пакет... Насколько я вижу из вывода 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 ЕСТЬ, может помочь...
|
| SpiritBY @ 22-04-2008 13:10:12 |
Спасибо ребята, получилось!!! сделал так:
пока ехал в метро, снёс через браузер файлик var/lib/dpkg/info/httpd.prerm. потом перегрузился. даллее dpkg -P --force-remove-reinstreq httpd и всё! больше его нет! всё стало нормально работать!!
ещё раз спасибо большое!!
|